diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61f49b35619981955e3d76d68fd26d6ca861747d..67898607f367e6384ef5b3680ad7e040e9d14b68 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -154,7 +154,7 @@ checkpatch: - git clone --depth 1 git@github.com:tarantool/checkpatch.git - git fetch origin $CI_DEFAULT_BRANCH - COUNT_COMMIT=$(git log --pretty=oneline HEAD...origin/$CI_DEFAULT_BRANCH | wc -l) - - checkpatch/checkpatch.pl --color=always --git HEAD~${COUNT_COMMIT}..HEAD + - checkpatch/checkpatch.pl --ignore NEW_TYPEDEFS,ASSIGN_IN_IF --color=always --git HEAD~${COUNT_COMMIT}..HEAD rules: - if: $CI_COMMIT_BRANCH != $MAIN_BRANCH diff --git a/extra/addopcodes.sh b/extra/addopcodes.sh index 51acfe38ee7521c01b5033ee787ae818362cccc7..470b7418d456c10e5340c1624f26acaeab2d1267 100755 --- a/extra/addopcodes.sh +++ b/extra/addopcodes.sh @@ -42,6 +42,7 @@ extras=" \ COLUMN_REF \ AGG_FUNCTION \ AGG_COLUMN \ + WIN_COLUMN \ UMINUS \ UPLUS \ REGISTER \ diff --git a/extra/lempar.c b/extra/lempar.c index 3bf626c7c21dd3ae7a1714707152e46fd3f8d619..f58d7987346e2a8d022b0f3190330273f49b8264 100644 --- a/extra/lempar.c +++ b/extra/lempar.c @@ -87,6 +87,7 @@ /************* Begin control #defines *****************************************/ %% /************* End control #defines *******************************************/ +#define YY_NLOOKAHEAD ((int)lengthof(yy_lookahead)) /* Define the yytestcase() macro to be a no-op if is not already defined ** otherwise. @@ -457,22 +458,25 @@ static unsigned int yy_find_shift_action( i = yy_shift_ofst[stateno]; assert( iLookAhead!=YYNOCODE ); i += iLookAhead; - if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){ + if (i < 0 || i >= YY_ACTTAB_COUNT || i >= YY_NLOOKAHEAD || + yy_lookahead[i] != iLookAhead) { #ifdef YYFALLBACK - YYCODETYPE iFallback = -1; /* Fallback token */ - if( iLookAhead<sizeof(yyFallback)/sizeof(yyFallback[0]) - && (iFallback = yyFallback[iLookAhead])!=0 ){ + YYCODETYPE iFallback = -1; /* Fallback token */ + if (iLookAhead < lengthof(yyFallback) && + (iFallback = yyFallback[iLookAhead]) != 0) { #ifndef NDEBUG - if( yyTraceFILE ){ - fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", - yyTracePrompt, yyTokenName[iLookAhead], yyTokenName[iFallback]); - } -#endif - assert( yyFallback[iFallback]==0 ); /* Fallback loop must terminate */ - iLookAhead = iFallback; - continue; - } else if ( iFallback==0 ) { - pParser->is_fallback_failed = true; + if (yyTraceFILE) { + fprintf(yyTraceFILE, "%sFALLBACK %s => %s\n", + yyTracePrompt, yyTokenName[iLookAhead], + yyTokenName[iFallback]); + } +#endif + /* Fallback loop must terminate */ + assert(yyFallback[iFallback] == 0); + iLookAhead = iFallback; + continue; + } else if (iFallback == 0) { + pParser->is_fallback_failed = true; } #endif #ifdef YYWILDCARD @@ -949,3 +953,18 @@ void Parse( #endif return; } + +/* + * Return the fallback token corresponding to canonical token iToken, or + * 0 if iToken has no fallback. + */ +int +ParseFallback(int iToken) +{ +#ifdef YYFALLBACK + if ((unsigned long)iToken < lengthof(yyFallback)) { + return yyFallback[iToken]; + } +#endif + return 0; +} diff --git a/extra/mkkeywordhash.c b/extra/mkkeywordhash.c index 8c392e0edd760633b70a563b67e3afd1db4bfe8c..66ea3c599b5b2c596ea3a6a9b4a94306a06ee980 100644 --- a/extra/mkkeywordhash.c +++ b/extra/mkkeywordhash.c @@ -101,6 +101,8 @@ static Keyword aKeywordTable[] = { { "EXPLAIN", "TK_EXPLAIN", true }, { "FAIL", "TK_FAIL", false }, { "FALSE", "TK_FALSE", true }, + { "FILTER", "TK_FILTER", true }, + { "FOLLOWING", "TK_FOLLOWING", true }, { "FOR", "TK_FOR", true }, { "FOREIGN", "TK_FOREIGN", true }, { "FROM", "TK_FROM", true }, @@ -191,7 +193,7 @@ static Keyword aKeywordTable[] = { { "CHARACTER", "TK_ID", true }, { "CONDITION", "TK_STANDARD", true }, { "CONNECT", "TK_STANDARD", true }, - { "CURRENT", "TK_STANDARD", true }, + { "CURRENT", "TK_CURRENT", true }, { "CURRENT_USER", "TK_STANDARD", true }, { "CURSOR", "TK_STANDARD", true }, { "CURRENT_DATE", "TK_STANDARD", true }, @@ -225,11 +227,12 @@ static Keyword aKeywordTable[] = { { "NUM", "TK_STANDARD", true }, { "NUMERIC", "TK_STANDARD", true }, { "OUT", "TK_STANDARD", true }, - { "OVER", "TK_STANDARD", true }, - { "PARTITION", "TK_STANDARD", true }, + { "OVER", "TK_OVER", false }, + { "PARTITION", "TK_PARTITION", true }, + { "PRECEDING", "TK_PRECEDING", true }, { "PRECISION", "TK_STANDARD", true }, { "PROCEDURE", "TK_STANDARD", true }, - { "RANGE", "TK_STANDARD", true }, + { "RANGE", "TK_RANGE", true }, { "RANK", "TK_STANDARD", true }, { "READS", "TK_STANDARD", true }, { "REAL", "TK_STANDARD", true }, @@ -237,8 +240,7 @@ static Keyword aKeywordTable[] = { { "RESIGNAL", "TK_STANDARD", true }, { "RETURN", "TK_STANDARD", true }, { "REVOKE", "TK_STANDARD", true }, - { "ROWS", "TK_STANDARD", true }, - { "ROW_NUMBER", "TK_STANDARD", true }, + { "ROWS", "TK_ROWS", true }, { "SENSITIVE", "TK_STANDARD", true }, { "SIGNAL", "TK_STANDARD", true }, { "SMALLINT", "TK_ID", true }, @@ -246,9 +248,11 @@ static Keyword aKeywordTable[] = { { "SYSTEM", "TK_STANDARD", true }, { "SQL", "TK_STANDARD", true }, { "USER", "TK_STANDARD", true }, + { "UNBOUNDED", "TK_UNBOUNDED", true }, { "VARCHAR", "TK_VARCHAR", true }, { "WHENEVER", "TK_STANDARD", true }, { "WHILE", "TK_STANDARD", true }, + { "WINDOW", "TK_WINDOW", false }, { "TEXT", "TK_TEXT", true }, { "TRUNCATE", "TK_TRUNCATE", true }, { "TRIM", "TK_TRIM", true }, diff --git a/src/box/CMakeLists.txt b/src/box/CMakeLists.txt index 3ae6a13b3c313188d3e58ba1bf22fdb605633723..516127d4215f33ad2a58bbfcaec606adf30c2800 100644 --- a/src/box/CMakeLists.txt +++ b/src/box/CMakeLists.txt @@ -78,6 +78,7 @@ set(sql_sources sql/where.c sql/wherecode.c sql/whereexpr.c + sql/window.c ) add_custom_target(box_generate_lua_sources diff --git a/src/box/memtx_space.c b/src/box/memtx_space.c index 1944cb63a173f75dd0af3f66dd5e2b1eadf927e5..b41b8dbd7379b188dbb1efedebb68f70f4281eef 100644 --- a/src/box/memtx_space.c +++ b/src/box/memtx_space.c @@ -1510,7 +1510,7 @@ memtx_space_new(struct memtx_engine *memtx, tuple_format_unref(format); memtx_space->bsize = 0; - memtx_space->rowid = 0; + memtx_space->rowid = 1; memtx_space->replace = memtx_space_replace_no_keys; return (struct space *)memtx_space; } diff --git a/src/box/sql.c b/src/box/sql.c index 0da9c1e572f40228fb9a84be704ded2361d4c880..11790918ccf14d192980de9e2d3bc1969aa098ba 100644 --- a/src/box/sql.c +++ b/src/box/sql.c @@ -207,6 +207,10 @@ int tarantoolsqlNext(BtCursor *pCur, int *pRes) if (pCur->eState == CURSOR_INVALID) { *pRes = 1; return 0; + } else if (pCur->eState == CURSOR_SKIPNEXT) { + pCur->eState = CURSOR_VALID; + *pRes = 0; + return 0; } assert(iterator_direction(pCur->iter_type) > 0); return cursor_advance(pCur, pRes); @@ -222,6 +226,10 @@ int tarantoolsqlPrevious(BtCursor *pCur, int *pRes) if (pCur->eState == CURSOR_INVALID) { *pRes = 1; return 0; + } else if (pCur->eState == CURSOR_SKIPNEXT) { + pCur->eState = CURSOR_VALID; + *pRes = 0; + return 0; } assert(iterator_direction(pCur->iter_type) < 0); return cursor_advance(pCur, pRes); @@ -390,7 +398,10 @@ sql_ephemeral_space_new(const struct sql_space_info *info) parts[i].nullable_action = ON_CONFLICT_ACTION_NONE; parts[i].is_nullable = true; parts[i].exclude_null = false; - parts[i].sort_order = SORT_ORDER_ASC; + if (info->sort_orders) + parts[i].sort_order = info->sort_orders[i]; + else + parts[i].sort_order = SORT_ORDER_ASC; parts[i].path = NULL; enum field_type type = info->types[j]; parts[i].type = type; diff --git a/src/box/sql/build.c b/src/box/sql/build.c index 38c7e08cba43020b2680fbd061542b80f5ac56d9..dfed838a785f46ee7f450323cc014050382ac656 100644 --- a/src/box/sql/build.c +++ b/src/box/sql/build.c @@ -1452,7 +1452,6 @@ sql_create_view(struct Parse *parse_context) * Make sEnd point to the end. */ struct Token end = parse_context->sLastToken; - assert(end.z[0] != 0); if (end.z[0] != ';') end.z += end.n; end.n = 0; diff --git a/src/box/sql/cursor.c b/src/box/sql/cursor.c index 694fd9a7fb9101ceaf9376e56c6fcf6114d6156f..e6a1717b759a265bece401060bee1226ac1a8199 100644 --- a/src/box/sql/cursor.c +++ b/src/box/sql/cursor.c @@ -62,7 +62,8 @@ sql_cursor_close(struct BtCursor *cursor) assert(cursor->space != NULL); assert((cursor->curFlags & BTCF_TaCursor) || (cursor->curFlags & BTCF_TEphemCursor)); - if (cursor->curFlags & BTCF_TEphemCursor) + bool is_dup = cursor->hints & OPFLAG_EPH_DUP; + if (cursor->curFlags & BTCF_TEphemCursor && !is_dup) tarantoolsqlEphemeralDrop(cursor); sql_cursor_cleanup(cursor); } diff --git a/src/box/sql/cursor.h b/src/box/sql/cursor.h index b82d69e9c69a95888e487858da6d684936951536..5f96f910c7b222d6d70718850069e1240d4b55ec 100644 --- a/src/box/sql/cursor.h +++ b/src/box/sql/cursor.h @@ -97,8 +97,13 @@ int sqlCursorIsValidNN(BtCursor *); * CURSOR_VALID: * Cursor points to a valid entry. getPayload() etc. may be called. * + * CURSOR_SKIPNEXT: + * Cursor is valid except that the next call to sqlCursorNext() or + * sqlCursorPrevious() should be a no-op. + * */ #define CURSOR_INVALID 0 #define CURSOR_VALID 1 +#define CURSOR_SKIPNEXT 2 #endif /* SQL_CURSOR_H */ diff --git a/src/box/sql/expr.c b/src/box/sql/expr.c index c1226a151ae30e39f7bfdc5f7ee6799550f9a5ec..fca768d369cdfbb846f4490d9a1a5537144046d1 100644 --- a/src/box/sql/expr.c +++ b/src/box/sql/expr.c @@ -92,6 +92,9 @@ sql_expr_type(struct Expr *pExpr) case TK_CAST: assert(!ExprHasProperty(pExpr, EP_IntValue)); return pExpr->type; + case TK_WIN_COLUMN: + assert(pExpr->pLeft != NULL); + return sql_expr_type(pExpr->pLeft); case TK_AGG_COLUMN: case TK_COLUMN_REF: case TK_TRIGGER: @@ -297,6 +300,11 @@ sql_expr_coll(Parse *parse, Expr *p, bool *is_explicit_coll, uint32_t *coll_id, *is_explicit_coll = true; break; } + if (op == TK_WIN_COLUMN) { + assert(p->pLeft != NULL); + p = p->pLeft; + continue; + } if ((op == TK_AGG_COLUMN || op == TK_COLUMN_REF || op == TK_REGISTER || op == TK_TRIGGER) && p->space_def != NULL) { @@ -1329,7 +1337,6 @@ sqlExprDeleteNN(struct Expr *p) assert(!ExprHasProperty(p, EP_IntValue) || p->u.iValue >= 0); #ifdef SQL_DEBUG if (ExprHasProperty(p, EP_Leaf) && !ExprHasProperty(p, EP_TokenOnly)) { - assert(p->pLeft == 0); assert(p->pRight == 0); assert(p->x.pSelect == 0); } @@ -1345,6 +1352,9 @@ sqlExprDeleteNN(struct Expr *p) } else { sql_expr_list_delete(p->x.pList); } + if (!ExprHasProperty(p, EP_Reduced)) { + sqlWindowDelete(p->pWin); + } } if (ExprHasProperty(p, EP_MemToken)) sql_xfree(p->u.zToken); @@ -1416,7 +1426,7 @@ dupedExprStructSize(Expr * p, int flags) assert(flags == EXPRDUP_REDUCE || flags == 0); /* Only one flag value allowed */ assert(EXPR_FULLSIZE <= 0xfff); assert((0xfff & (EP_Reduced | EP_TokenOnly)) == 0); - if (0 == flags || p->op == TK_SELECT_COLUMN) { + if (flags == 0 || p->op == TK_SELECT_COLUMN || p->pWin) { nSize = EXPR_FULLSIZE; } else { assert(!ExprHasProperty(p, EP_TokenOnly | EP_Reduced)); @@ -1554,6 +1564,11 @@ sql_expr_dup(struct Expr *p, int flags, char **buffer) if (buffer != NULL) *buffer = zAlloc; } else { + if (ExprHasProperty(p, EP_Reduced | EP_TokenOnly)) { + pNew->pWin = 0; + } else { + pNew->pWin = sqlWindowDup(pNew, p->pWin); + } if (!ExprHasProperty(p, EP_TokenOnly | EP_Leaf)) { if (pNew->op == TK_SELECT_COLUMN) { pNew->pLeft = p->pLeft; @@ -1741,6 +1756,8 @@ sqlSelectDup(struct Select *p, int flags) pNew->addrOpenEphm[1] = -1; pNew->nSelectRow = p->nSelectRow; pNew->pWith = withDup(p->pWith); + pNew->pWin = 0; + pNew->pWinDefn = sqlWindowListDup(p->pWinDefn); sqlSelectSetName(pNew, p->zSelName); return pNew; } @@ -1987,6 +2004,7 @@ exprNodeIsConstant(Walker * pWalker, Expr * pExpr) case TK_COLUMN_REF: case TK_AGG_FUNCTION: case TK_AGG_COLUMN: + case TK_WIN_COLUMN: if (pWalker->eCode == 3 && pExpr->iTable == pWalker->u.iCur) { return WRC_Continue; } else { @@ -2154,6 +2172,9 @@ sqlExprCanBeNull(const Expr * p) case TK_FLOAT: case TK_BLOB: return 0; + case TK_WIN_COLUMN: + assert(p->pLeft); + return sqlExprCanBeNull(p->pLeft); case TK_COLUMN_REF: assert(p->space_def != 0); return ExprHasProperty(p, EP_CanBeNull) || @@ -3662,6 +3683,7 @@ sqlExprCodeTarget(Parse * pParse, Expr * pExpr, int target) */ FALLTHROUGH; } + case TK_WIN_COLUMN: case TK_COLUMN_REF:{ int iTab = pExpr->iTable; int col = pExpr->iColumn; @@ -3911,6 +3933,12 @@ sqlExprCodeTarget(Parse * pParse, Expr * pExpr, int target) int i; /* Loop counter */ struct coll *coll = NULL; + if (!ExprHasProperty(pExpr, + EP_TokenOnly | EP_Reduced) && + pExpr->pWin) { + return pExpr->pWin->regResult; + } + assert(!ExprHasProperty(pExpr, EP_xIsSelect)); if (ExprHasProperty(pExpr, EP_TokenOnly)) { pFarg = 0; diff --git a/src/box/sql/func.c b/src/box/sql/func.c index 8df4338400231df3747c036bd6c45493655245d3..e229c32c370859a427f644f5baa23dff1246d769 100644 --- a/src/box/sql/func.c +++ b/src/box/sql/func.c @@ -58,19 +58,56 @@ static struct mh_strnptr_t *built_in_functions = NULL; static struct func_sql_builtin **functions; +/* + * Implementation of built-in window function row_number(). Assumes that the + * window frame has been coerced to: + * + * ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + */ +static void +step_row_number(struct sql_context *ctx, int argc, const struct Mem *argv) +{ + assert(argc == 0); + (void)argc; + (void)argv; + if (mem_is_null(ctx->pOut)) + mem_set_int64(ctx->pOut, 0); + ++ctx->pOut->u.u; +} + /** Implementation of the SUM() function. */ static void step_sum(struct sql_context *ctx, int argc, const struct Mem *argv) { assert(argc == 1); (void)argc; - assert(mem_is_null(ctx->pOut) || mem_is_num(ctx->pOut)); + struct Mem *mem = ctx->pOut; + assert(mem_is_null(mem) || mem_is_num(mem)); if (mem_is_null(&argv[0])) return; - if (mem_is_null(ctx->pOut)) - return mem_copy_as_ephemeral(ctx->pOut, &argv[0]); - if (mem_add(ctx->pOut, &argv[0], ctx->pOut) != 0) + uint64_t count = mem_is_null(mem) ? 0 : mem->n; + if (mem_is_null(mem)) + mem_copy_as_ephemeral(mem, &argv[0]); + else if (mem_add(mem, &argv[0], mem) != 0) + ctx->is_aborted = true; + mem->n = count + 1; +} + +static void +inverse_sum(struct sql_context *ctx, int argc, const struct Mem *argv) +{ + assert(argc == 1); + (void)argc; + struct Mem *mem = ctx->pOut; + if (mem_is_null(&argv[0]) || mem_is_null(mem)) + return; + uint64_t count = mem->n == 0 ? 0 : mem->n - 1; + if (count == 0) + mem_set_null(mem); + else if (mem_sub(mem, &argv[0], mem) != 0) ctx->is_aborted = true; + mem->n = count; + } /** Implementation of the TOTAL() function. */ @@ -233,6 +270,25 @@ step_group_concat(struct sql_context *ctx, int argc, const struct Mem *argv) ctx->is_aborted = true; } +static void +inverse_group_concat(struct sql_context *ctx, int argc, const struct Mem *argv) +{ + assert(argc == 1 || argc == 2); + (void)argc; + if (mem_is_null(&argv[0]) || mem_is_null(ctx->pOut)) + return; + assert(mem_is_str(&argv[0]) || mem_is_bin(&argv[0])); + size_t n = argv[0].n; + if (argc == 2 && !mem_is_null(&argv[1])) + n += argv[1].n; + if (n >= ctx->pOut->n) { + mem_set_null(ctx->pOut); + } else { + ctx->pOut->n -= n; + memmove(ctx->pOut->z, &ctx->pOut->z[n], ctx->pOut->n); + } +} + /** Implementations of the ABS() function. */ #if ENABLE_UB_SANITIZER static void @@ -1820,10 +1876,10 @@ static struct sql_func_dictionary dictionaries[] = { {"LIKELY", 1, 1, SQL_FUNC_UNLIKELY, true, 0, NULL}, {"LOWER", 1, 1, SQL_FUNC_DERIVEDCOLL | SQL_FUNC_NEEDCOLL, true, 0, NULL}, - {"MAX", 1, 1, SQL_FUNC_MAX | SQL_FUNC_AGG | SQL_FUNC_NEEDCOLL, false, 0, - NULL}, - {"MIN", 1, 1, SQL_FUNC_MIN | SQL_FUNC_AGG | SQL_FUNC_NEEDCOLL, false, 0, - NULL}, + {"MAX", 1, 1, SQL_FUNC_MAX | SQL_FUNC_AGG | SQL_FUNC_NEEDCOLL, + false, 0, NULL}, + {"MIN", 1, 1, SQL_FUNC_MIN | SQL_FUNC_AGG | SQL_FUNC_NEEDCOLL, false, + 0, NULL}, {"NOW", 0, 0, 0, true, 0, NULL}, {"NULLIF", 2, 2, SQL_FUNC_NEEDCOLL, true, 0, NULL}, {"POSITION", 2, 2, SQL_FUNC_NEEDCOLL, true, 0, NULL}, @@ -1834,6 +1890,7 @@ static struct sql_func_dictionary dictionaries[] = { {"REPLACE", 3, 3, SQL_FUNC_DERIVEDCOLL, true, 0, NULL}, {"ROUND", 1, 2, 0, true, 0, NULL}, {"ROW_COUNT", 0, 0, 0, true, 0, NULL}, + {"ROW_NUMBER", 0, 0, SQL_FUNC_WINDOW, true, 0, NULL}, {"SOUNDEX", 1, 1, 0, true, 0, NULL}, {"SUBSTR", 2, 3, SQL_FUNC_DERIVEDCOLL, true, 0, NULL}, {"SUM", 1, 1, SQL_FUNC_AGG, false, 0, NULL}, @@ -1874,6 +1931,11 @@ struct sql_func_definition { void (*call)(sql_context *ctx, int argc, const struct Mem *argv); /** Call finalization function for this implementation. */ int (*finalize)(struct Mem *mem); + /** Current aggregated value. */ + int (*value)(struct Mem *mem); + /** Inverse aggregation step. */ + void (*inverse)(sql_context * ctx, int argc, const struct Mem *argv); + }; /** @@ -1882,201 +1944,233 @@ struct sql_func_definition { */ static struct sql_func_definition definitions[] = { {"ABS", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, func_abs_dec, - NULL}, + NULL, NULL, NULL}, {"ABS", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, func_abs_int, - NULL}, + NULL, NULL, NULL}, {"ABS", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, func_abs_double, - NULL}, - {"AVG", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_avg, fin_avg}, - {"AVG", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_avg, fin_avg}, - {"AVG", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_avg, fin_avg}, - {"CHAR", -1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_STRING, func_char, NULL}, + NULL, NULL, NULL}, + {"AVG", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_avg, fin_avg, + fin_avg, NULL}, + {"AVG", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_avg, fin_avg, + fin_avg, NULL}, + {"AVG", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_avg, fin_avg, + fin_avg, NULL}, + {"CHAR", -1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_STRING, func_char, NULL, + NULL, NULL}, {"CHAR_LENGTH", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_INTEGER, - func_char_length, NULL}, + func_char_length, NULL, NULL, NULL}, {"COALESCE", -1, {field_type_MAX}, FIELD_TYPE_SCALAR, sql_builtin_stub, - NULL}, - {"COUNT", 0, {}, FIELD_TYPE_INTEGER, step_count, fin_count}, + NULL, NULL, NULL}, + {"COUNT", 0, {}, FIELD_TYPE_INTEGER, step_count, fin_count, + fin_count, NULL}, {"COUNT", 1, {field_type_MAX}, FIELD_TYPE_INTEGER, step_count, - fin_count}, + fin_count, fin_count, NULL}, {"DATE_PART", 2, {FIELD_TYPE_STRING, FIELD_TYPE_DATETIME}, - FIELD_TYPE_INTEGER, func_date_part, NULL}, + FIELD_TYPE_INTEGER, func_date_part, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_NUMBER}, FIELD_TYPE_NUMBER, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_VARBINARY, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_UUID}, FIELD_TYPE_UUID, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GREATEST", -1, {FIELD_TYPE_SCALAR}, FIELD_TYPE_SCALAR, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"GROUP_CONCAT", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, - step_group_concat, NULL}, + step_group_concat, NULL, NULL, inverse_group_concat}, {"GROUP_CONCAT", 2, {FIELD_TYPE_STRING, FIELD_TYPE_STRING}, - FIELD_TYPE_STRING, step_group_concat, NULL}, + FIELD_TYPE_STRING, step_group_concat, NULL, NULL, + inverse_group_concat}, {"GROUP_CONCAT", 1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_VARBINARY, - step_group_concat, NULL}, + step_group_concat, NULL, NULL, inverse_group_concat}, {"GROUP_CONCAT", 2, {FIELD_TYPE_VARBINARY, FIELD_TYPE_VARBINARY}, - FIELD_TYPE_VARBINARY, step_group_concat, NULL}, + FIELD_TYPE_VARBINARY, step_group_concat, NULL, NULL, + inverse_group_concat}, - {"HEX", 1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_STRING, func_hex, NULL}, + {"HEX", 1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_STRING, func_hex, NULL, + NULL, NULL}, {"IFNULL", 2, {field_type_MAX, field_type_MAX}, FIELD_TYPE_SCALAR, - sql_builtin_stub, NULL}, + sql_builtin_stub, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_NUMBER}, FIELD_TYPE_NUMBER, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_VARBINARY, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_UUID}, FIELD_TYPE_UUID, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LEAST", -1, {FIELD_TYPE_SCALAR}, FIELD_TYPE_SCALAR, - func_greatest_least, NULL}, + func_greatest_least, NULL, NULL, NULL}, {"LENGTH", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_INTEGER, func_char_length, - NULL}, + NULL, NULL, NULL}, {"LENGTH", 1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_INTEGER, - func_octet_length, NULL}, + func_octet_length, NULL, NULL, NULL}, {"LIKE", 2, {FIELD_TYPE_STRING, FIELD_TYPE_STRING}, - FIELD_TYPE_BOOLEAN, likeFunc, NULL}, + FIELD_TYPE_BOOLEAN, likeFunc, NULL, NULL, NULL}, {"LIKE", 3, {FIELD_TYPE_STRING, FIELD_TYPE_STRING, FIELD_TYPE_STRING}, - FIELD_TYPE_BOOLEAN, likeFunc, NULL}, + FIELD_TYPE_BOOLEAN, likeFunc, NULL, NULL, NULL}, {"LIKELIHOOD", 2, {field_type_MAX, FIELD_TYPE_DOUBLE}, - FIELD_TYPE_BOOLEAN, sql_builtin_stub, NULL}, + FIELD_TYPE_BOOLEAN, sql_builtin_stub, NULL, NULL, NULL}, {"LIKELY", 1, {field_type_MAX}, FIELD_TYPE_BOOLEAN, sql_builtin_stub, - NULL}, + NULL, NULL, NULL}, {"LOWER", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, func_lower_upper, - NULL}, - - {"MAX", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_minmax, NULL}, - {"MAX", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_minmax, NULL}, - {"MAX", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_minmax, NULL}, - {"MAX", 1, {FIELD_TYPE_NUMBER}, FIELD_TYPE_NUMBER, step_minmax, NULL}, + NULL, NULL, NULL}, + + {"MAX", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_minmax, NULL, + NULL, NULL}, + {"MAX", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_minmax, NULL, + NULL, NULL}, + {"MAX", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_minmax, NULL, + NULL, NULL}, + {"MAX", 1, {FIELD_TYPE_NUMBER}, FIELD_TYPE_NUMBER, step_minmax, NULL, + NULL, NULL}, {"MAX", 1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_VARBINARY, step_minmax, - NULL}, - {"MAX", 1, {FIELD_TYPE_UUID}, FIELD_TYPE_UUID, step_minmax, NULL}, - {"MAX", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, step_minmax, NULL}, - {"MAX", 1, {FIELD_TYPE_SCALAR}, FIELD_TYPE_SCALAR, step_minmax, NULL}, - - {"MIN", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_minmax, NULL}, - {"MIN", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_minmax, NULL}, - {"MIN", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_minmax, NULL}, - {"MIN", 1, {FIELD_TYPE_NUMBER}, FIELD_TYPE_NUMBER, step_minmax, NULL}, + NULL, NULL, NULL}, + {"MAX", 1, {FIELD_TYPE_UUID}, FIELD_TYPE_UUID, step_minmax, NULL, + NULL, NULL}, + {"MAX", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, step_minmax, NULL, + NULL, NULL}, + {"MAX", 1, {FIELD_TYPE_SCALAR}, FIELD_TYPE_SCALAR, step_minmax, NULL, + NULL, NULL}, + + {"MIN", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_minmax, NULL, + NULL, NULL}, + {"MIN", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_minmax, NULL, + NULL, NULL}, + {"MIN", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_minmax, NULL, + NULL, NULL}, + {"MIN", 1, {FIELD_TYPE_NUMBER}, FIELD_TYPE_NUMBER, step_minmax, NULL, + NULL, NULL}, {"MIN", 1, {FIELD_TYPE_VARBINARY}, FIELD_TYPE_VARBINARY, step_minmax, - NULL}, - {"MIN", 1, {FIELD_TYPE_UUID}, FIELD_TYPE_UUID, step_minmax, NULL}, - {"MIN", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, step_minmax, NULL}, - {"MIN", 1, {FIELD_TYPE_SCALAR}, FIELD_TYPE_SCALAR, step_minmax, NULL}, - {"NOW", 0, {}, FIELD_TYPE_DATETIME, func_now, NULL}, + NULL, NULL, NULL}, + {"MIN", 1, {FIELD_TYPE_UUID}, FIELD_TYPE_UUID, step_minmax, NULL, + NULL, NULL}, + {"MIN", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, step_minmax, NULL, + NULL, NULL}, + {"MIN", 1, {FIELD_TYPE_SCALAR}, FIELD_TYPE_SCALAR, step_minmax, NULL, + NULL, NULL}, + {"NOW", 0, {}, FIELD_TYPE_DATETIME, func_now, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_SCALAR, field_type_MAX}, FIELD_TYPE_SCALAR, - func_nullif, NULL}, + func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_UNSIGNED, field_type_MAX}, - FIELD_TYPE_UNSIGNED, func_nullif, NULL}, + FIELD_TYPE_UNSIGNED, func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_STRING, field_type_MAX}, FIELD_TYPE_STRING, - func_nullif, NULL}, + func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_DOUBLE, field_type_MAX}, FIELD_TYPE_DOUBLE, - func_nullif, NULL}, + func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_INTEGER, field_type_MAX}, - FIELD_TYPE_INTEGER, func_nullif, NULL}, + FIELD_TYPE_INTEGER, func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_BOOLEAN, field_type_MAX}, - FIELD_TYPE_BOOLEAN, func_nullif, NULL}, + FIELD_TYPE_BOOLEAN, func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_VARBINARY, field_type_MAX}, - FIELD_TYPE_VARBINARY, func_nullif, NULL}, + FIELD_TYPE_VARBINARY, func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_DECIMAL, field_type_MAX}, - FIELD_TYPE_DECIMAL, func_nullif, NULL}, + FIELD_TYPE_DECIMAL, func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_UUID, field_type_MAX}, FIELD_TYPE_UUID, - func_nullif, NULL}, + func_nullif, NULL, NULL, NULL}, {"NULLIF", 2, {FIELD_TYPE_DATETIME, field_type_MAX}, - FIELD_TYPE_DATETIME, func_nullif, NULL}, + FIELD_TYPE_DATETIME, func_nullif, NULL, NULL, NULL}, {"POSITION", 2, {FIELD_TYPE_STRING, FIELD_TYPE_STRING}, - FIELD_TYPE_INTEGER, func_position_characters, NULL}, + FIELD_TYPE_INTEGER, func_position_characters, NULL, NULL, NULL}, {"POSITION", 2, {FIELD_TYPE_VARBINARY, FIELD_TYPE_VARBINARY}, - FIELD_TYPE_INTEGER, func_position_octets, NULL}, - {"PRINTF", -1, {field_type_MAX}, FIELD_TYPE_STRING, func_printf, NULL}, - {"QUOTE", 1, {field_type_MAX}, FIELD_TYPE_STRING, quoteFunc, NULL}, - {"RANDOM", 0, {}, FIELD_TYPE_INTEGER, func_random, NULL}, + FIELD_TYPE_INTEGER, func_position_octets, NULL, NULL, NULL}, + {"PRINTF", -1, {field_type_MAX}, FIELD_TYPE_STRING, func_printf, NULL, + NULL, NULL}, + {"QUOTE", 1, {field_type_MAX}, FIELD_TYPE_STRING, quoteFunc, NULL, + NULL, NULL}, + {"RANDOM", 0, {}, FIELD_TYPE_INTEGER, func_random, NULL, NULL, NULL}, {"RANDOMBLOB", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_VARBINARY, - func_randomblob, NULL}, + func_randomblob, NULL, NULL, NULL}, {"REPLACE", 3, {FIELD_TYPE_STRING, FIELD_TYPE_STRING, FIELD_TYPE_STRING}, - FIELD_TYPE_STRING, replaceFunc, NULL}, + FIELD_TYPE_STRING, replaceFunc, NULL, NULL, NULL}, {"REPLACE", 3, {FIELD_TYPE_VARBINARY, FIELD_TYPE_VARBINARY, FIELD_TYPE_VARBINARY}, - FIELD_TYPE_VARBINARY, replaceFunc, NULL}, + FIELD_TYPE_VARBINARY, replaceFunc, NULL, NULL, NULL}, {"ROUND", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, func_round_dec, - NULL}, + NULL, NULL, NULL}, {"ROUND", 2, {FIELD_TYPE_DECIMAL, FIELD_TYPE_INTEGER}, - FIELD_TYPE_DECIMAL, func_round_dec, NULL}, + FIELD_TYPE_DECIMAL, func_round_dec, NULL, NULL, NULL}, {"ROUND", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, func_round_double, - NULL}, + NULL, NULL, NULL}, {"ROUND", 2, {FIELD_TYPE_DOUBLE, FIELD_TYPE_INTEGER}, FIELD_TYPE_DOUBLE, - func_round_double, NULL}, + func_round_double, NULL, NULL, NULL}, {"ROUND", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, func_round_int, - NULL}, + NULL, NULL, NULL}, {"ROUND", 2, {FIELD_TYPE_INTEGER, FIELD_TYPE_INTEGER}, - FIELD_TYPE_INTEGER, func_round_int, NULL}, - {"ROW_COUNT", 0, {}, FIELD_TYPE_INTEGER, func_row_count, NULL}, + FIELD_TYPE_INTEGER, func_round_int, NULL, NULL, NULL}, + {"ROW_COUNT", 0, {}, FIELD_TYPE_INTEGER, func_row_count, NULL, + NULL, NULL}, + {"ROW_NUMBER", 0, {}, FIELD_TYPE_INTEGER, step_row_number, NULL, + NULL, NULL}, {"SOUNDEX", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, soundexFunc, - NULL}, + NULL, NULL, NULL}, {"SUBSTR", 2, {FIELD_TYPE_STRING, FIELD_TYPE_INTEGER}, - FIELD_TYPE_STRING, func_substr_characters, NULL}, + FIELD_TYPE_STRING, func_substr_characters, NULL, NULL, NULL}, {"SUBSTR", 3, {FIELD_TYPE_STRING, FIELD_TYPE_INTEGER, FIELD_TYPE_INTEGER}, - FIELD_TYPE_STRING, func_substr_characters, NULL}, + FIELD_TYPE_STRING, func_substr_characters, NULL, NULL, NULL}, {"SUBSTR", 2, {FIELD_TYPE_VARBINARY, FIELD_TYPE_INTEGER}, - FIELD_TYPE_VARBINARY, func_substr_octets, NULL}, + FIELD_TYPE_VARBINARY, func_substr_octets, NULL, NULL, NULL}, {"SUBSTR", 3, {FIELD_TYPE_VARBINARY, FIELD_TYPE_INTEGER, FIELD_TYPE_INTEGER}, - FIELD_TYPE_VARBINARY, func_substr_octets, NULL}, - {"SUM", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_sum, NULL}, - {"SUM", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_sum, NULL}, - {"SUM", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_sum, NULL}, + FIELD_TYPE_VARBINARY, func_substr_octets, NULL, NULL, NULL}, + {"SUM", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DECIMAL, step_sum, NULL, + NULL, inverse_sum}, + {"SUM", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_INTEGER, step_sum, NULL, + NULL, inverse_sum}, + {"SUM", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_sum, NULL, + NULL, inverse_sum}, {"TOTAL", 1, {FIELD_TYPE_DECIMAL}, FIELD_TYPE_DOUBLE, step_total, - fin_total}, + fin_total, fin_total, inverse_sum}, {"TOTAL", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_DOUBLE, step_total, - fin_total}, + fin_total, fin_total, inverse_sum}, {"TOTAL", 1, {FIELD_TYPE_DOUBLE}, FIELD_TYPE_DOUBLE, step_total, - fin_total}, + fin_total, fin_total, inverse_sum}, {"TRIM", 2, {FIELD_TYPE_STRING, FIELD_TYPE_INTEGER}, - FIELD_TYPE_STRING, func_trim_str, NULL}, + FIELD_TYPE_STRING, func_trim_str, NULL, NULL, NULL}, {"TRIM", 3, {FIELD_TYPE_STRING, FIELD_TYPE_INTEGER, FIELD_TYPE_STRING}, - FIELD_TYPE_STRING, func_trim_str, NULL}, + FIELD_TYPE_STRING, func_trim_str, NULL, NULL, NULL}, {"TRIM", 2, {FIELD_TYPE_VARBINARY, FIELD_TYPE_INTEGER}, - FIELD_TYPE_VARBINARY, func_trim_bin, NULL}, + FIELD_TYPE_VARBINARY, func_trim_bin, NULL, NULL, NULL}, {"TRIM", 3, {FIELD_TYPE_VARBINARY, FIELD_TYPE_INTEGER, FIELD_TYPE_VARBINARY}, - FIELD_TYPE_VARBINARY, func_trim_bin, NULL}, + FIELD_TYPE_VARBINARY, func_trim_bin, NULL, NULL, NULL}, - {"TYPEOF", 1, {field_type_MAX}, FIELD_TYPE_STRING, func_typeof, NULL}, + {"TYPEOF", 1, {field_type_MAX}, FIELD_TYPE_STRING, func_typeof, NULL, + NULL, NULL}, {"UNICODE", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_INTEGER, func_unicode, - NULL}, + NULL, NULL, NULL}, {"UNLIKELY", 1, {field_type_MAX}, FIELD_TYPE_BOOLEAN, sql_builtin_stub, - NULL}, + NULL, NULL, NULL}, {"UPPER", 1, {FIELD_TYPE_STRING}, FIELD_TYPE_STRING, func_lower_upper, - NULL}, - {"UUID", 0, {}, FIELD_TYPE_UUID, func_uuid, NULL}, - {"UUID", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_UUID, func_uuid, NULL}, - {"VERSION", 0, {}, FIELD_TYPE_STRING, func_version, NULL}, + NULL, NULL, NULL}, + {"UUID", 0, {}, FIELD_TYPE_UUID, func_uuid, NULL, NULL, NULL}, + {"UUID", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_UUID, func_uuid, NULL, + NULL, NULL}, + {"VERSION", 0, {}, FIELD_TYPE_STRING, func_version, NULL, NULL, NULL}, {"ZEROBLOB", 1, {FIELD_TYPE_INTEGER}, FIELD_TYPE_VARBINARY, - func_zeroblob, NULL}, + func_zeroblob, NULL, NULL, NULL}, }; static struct sql_func_dictionary * @@ -2330,6 +2424,8 @@ sql_built_in_functions_cache_init(void) func->flags = dict->flags; func->call = desc->call; func->finalize = desc->finalize; + func->value = desc->value; + func->inverse = desc->inverse; functions[i] = func; assert(dict->count == 0 || dict->functions != NULL); if (dict->functions == NULL) diff --git a/src/box/sql/mem.h b/src/box/sql/mem.h index a40b5c486e139a4a12b2ffaa8898c12c7ba7e12d..d9c7aa92fa3a99d5b2dc5c0a80377150a99c83c7 100644 --- a/src/box/sql/mem.h +++ b/src/box/sql/mem.h @@ -87,7 +87,11 @@ struct Mem { /** Type of the value this MEM contains. */ enum mem_type type; u32 flags; /* Some combination of MEM_Null, MEM_Str, MEM_Dyn, etc. */ - /* Size of variable length value. */ + /* + * Size of variable length value. Also used as an inverse counter for + * aggregates with non-allocated accumulators to distinguish between + * zero and NULL. + */ size_t n; char *z; /* String or BLOB value */ /* ShallowCopy only needs to copy the information above */ diff --git a/src/box/sql/parse.y b/src/box/sql/parse.y index 9ab7608a91a6ea8565d23284a2399b8a7f6d307b..e1965d6601e116bf567b9ceb19941f988aad781c 100644 --- a/src/box/sql/parse.y +++ b/src/box/sql/parse.y @@ -31,7 +31,6 @@ // %syntax_error { UNUSED_PARAMETER(yymajor); /* Silence some compiler warnings */ - assert( TOKEN.z[0] ); /* The tokenizer always gives us a token */ if (yypParser->is_fallback_failed && TOKEN.isReserved) { diag_set(ClientError, ER_SQL_KEYWORD_IS_RESERVED, pParse->line_count, pParse->line_pos, TOKEN.n, TOKEN.z, TOKEN.n, TOKEN.z); @@ -95,6 +94,8 @@ struct LimitVal { */ struct TrigEvent { int a; IdList * b; }; +struct FrameBound { int eType; Expr *pExpr; }; + /* ** Disable lookaside memory allocation for objects that might be ** shared across database connections. @@ -254,7 +255,7 @@ columnlist ::= tcons. ABORT ACTION ADD AFTER AUTOINCREMENT BEFORE CASCADE CONFLICT DEFERRED END ENGINE FAIL IGNORE INITIALLY INSTEAD NO MATCH PLAN - QUERY KEY OFFSET RAISE RELEASE REPLACE RESTRICT + QUERY KEY OFFSET RAISE RELEASE REPLACE RESTRICT ROWS RENAME CTIME_KW IF ENABLE DISABLE UUID . %wildcard WILDCARD. @@ -493,11 +494,18 @@ multiselect_op(A) ::= UNION ALL. {A = TK_ALL;} multiselect_op(A) ::= EXCEPT|INTERSECT(OP). {A = @OP; /*A-overwrites-OP*/} oneselect(A) ::= SELECT(S) distinct(D) selcollist(W) from(X) where_opt(Y) - groupby_opt(P) having_opt(Q) orderby_opt(Z) limit_opt(L). { + groupby_opt(P) having_opt(Q) + windowdefn_opt(R) + orderby_opt(Z) limit_opt(L). { #ifdef SQL_DEBUG Token s = S; /*A-overwrites-S*/ #endif A = sqlSelectNew(pParse,W,X,Y,P,Q,Z,D,L.pLimit,L.pOffset); + if( A ){ + A->pWinDefn = R; + }else{ + sqlWindowListDelete(R); + } #ifdef SQL_DEBUG /* Populate the Select.zSelName[] string that is used to help with ** query planner debugging, to differentiate between multiple Select @@ -1104,7 +1112,7 @@ trim_specification(A) ::= LEADING. { A = TRIM_LEADING; } trim_specification(A) ::= TRAILING. { A = TRIM_TRAILING; } trim_specification(A) ::= BOTH. { A = TRIM_BOTH; } -expr(A) ::= id(X) LP distinct(D) exprlist(Y) RP(E). { +expr(A) ::= id(X) LP distinct(D) exprlist(Y) RP(E) over_opt(Z). { if (Y != NULL && Y->nExpr > SQL_MAX_FUNCTION_ARG){ const char *err = tt_sprintf("Number of arguments to function %.*s", X.n, X.z); @@ -1114,6 +1122,7 @@ expr(A) ::= id(X) LP distinct(D) exprlist(Y) RP(E). { } A.pExpr = sqlExprFunction(pParse, Y, &X); spanSet(&A,&X,&E); + sqlWindowAttach(A.pExpr, Z); if( D==SF_Distinct && A.pExpr ){ A.pExpr->flags |= EP_Distinct; } @@ -1124,7 +1133,7 @@ expr(A) ::= id(X) LP distinct(D) exprlist(Y) RP(E). { * type_func(A) ::= DATETIME(A) . */ type_func(A) ::= CHAR(A) . -expr(A) ::= type_func(X) LP distinct(D) exprlist(Y) RP(E). { +expr(A) ::= type_func(X) LP distinct(D) exprlist(Y) RP(E) over_opt(Z). { if (Y != NULL && Y->nExpr > SQL_MAX_FUNCTION_ARG){ const char *err = tt_sprintf("Number of arguments to function %.*s", X.n, X.z); @@ -1134,14 +1143,16 @@ expr(A) ::= type_func(X) LP distinct(D) exprlist(Y) RP(E). { } A.pExpr = sqlExprFunction(pParse, Y, &X); spanSet(&A,&X,&E); + sqlWindowAttach(A.pExpr, Z); if( D==SF_Distinct && A.pExpr ){ A.pExpr->flags |= EP_Distinct; } } -expr(A) ::= id(X) LP STAR RP(E). { +expr(A) ::= id(X) LP STAR RP(E) over_opt(Z). { A.pExpr = sqlExprFunction(pParse, 0, &X); spanSet(&A,&X,&E); + sqlWindowAttach(A.pExpr, Z); } /* * term(A) ::= CTIME_KW(OP). { @@ -1801,3 +1812,84 @@ number_typedef(A) ::= DECIMAL . { A.type = FIELD_TYPE_DECIMAL; } * (void) C; *} */ + +//////////////////////// WINDOW FUNCTION EXPRESSIONS ///////////////////////// +// These must be at the end of this file. Specifically, the rules that +// introduce tokens WINDOW, OVER and FILTER must appear last. This causes +// the integer values assigned to these tokens to be larger than all other +// tokens that may be output by the tokenizer except TK_SPACE and TK_ILLEGAL. +// +%type windowdefn_list {Window*} +%destructor windowdefn_list {sqlWindowDelete($$);} +windowdefn_list(A) ::= windowdefn(Z). { A = Z; } +windowdefn_list(A) ::= windowdefn_list(Y) COMMA windowdefn(Z). { + if( Z ) Z->pNextWin = Y; + A = Z; +} +%type windowdefn {Window*} +%destructor windowdefn {sqlWindowDelete($$);} +windowdefn(A) ::= nm(X) AS window(Y). { + if( Y ){ + Y->zName = sql_xstrndup(X.z, X.n); + } + A = Y; +} +%type window {Window*} +%destructor window {sqlWindowDelete($$);} +%type frame_opt {Window*} +%destructor frame_opt {sqlWindowDelete($$);} +%type window_or_nm {Window*} +%destructor window_or_nm { +sqlWindowDelete($$);} +%type part_opt {ExprList*} +%destructor part_opt {sql_expr_list_delete($$);} +%type filter_opt {Expr*} +%destructor filter_opt {sql_expr_delete($$);} +%type range_or_rows {int} +%type frame_bound {struct FrameBound} +%destructor frame_bound {sql_expr_delete($$.pExpr);} +window_or_nm(A) ::= window(Z). {A = Z;} +window_or_nm(A) ::= nm(Z). { + A = (Window*)sql_xmalloc0(sizeof(Window)); + if( A ){ + A->zName = sql_xstrndup(Z.z, Z.n); + } +} +window(A) ::= LP part_opt(X) orderby_opt(Y) frame_opt(Z) RP. { + A = Z; + if( A ){ + A->pPartition = X; + A->pOrderBy = Y; + } +} +part_opt(A) ::= PARTITION BY exprlist(X). { A = X; } +part_opt(A) ::= . { A = 0; } +frame_opt(A) ::= . { + A = sqlWindowAlloc(TK_RANGE, TK_UNBOUNDED, 0, TK_CURRENT, 0); +} +frame_opt(A) ::= range_or_rows(X) frame_bound(Y). { + A = sqlWindowAlloc(X, Y.eType, Y.pExpr, TK_CURRENT, 0); +} +frame_opt(A) ::= range_or_rows(X) BETWEEN frame_bound(Y) AND frame_bound(Z). { + A = sqlWindowAlloc(X, Y.eType, Y.pExpr, Z.eType, Z.pExpr); +} +range_or_rows(A) ::= RANGE. { A = TK_RANGE; } +range_or_rows(A) ::= ROWS. { A = TK_ROWS; } +frame_bound(A) ::= UNBOUNDED PRECEDING. { A.eType = TK_UNBOUNDED; A.pExpr = 0; } +frame_bound(A) ::= expr(X) PRECEDING. { A.eType = TK_PRECEDING; A.pExpr = X.pExpr; } +frame_bound(A) ::= CURRENT ROW. { A.eType = TK_CURRENT ; A.pExpr = 0; } +frame_bound(A) ::= expr(X) FOLLOWING. { A.eType = TK_FOLLOWING; A.pExpr = X.pExpr; } +frame_bound(A) ::= UNBOUNDED FOLLOWING. { A.eType = TK_UNBOUNDED; A.pExpr = 0; } +%type windowdefn_opt {Window*} +%destructor windowdefn_opt {sqlWindowDelete($$);} +windowdefn_opt(A) ::= . { A = 0; } +windowdefn_opt(A) ::= WINDOW windowdefn_list(B). { A = B; } +%type over_opt {Window*} +%destructor over_opt {sqlWindowDelete($$);} +over_opt(A) ::= . { A = 0; } +over_opt(A) ::= filter_opt(W) OVER window_or_nm(Z). { + A = Z; + if( A ) A->pFilter = W; +} +filter_opt(A) ::= . { A = 0; } +filter_opt(A) ::= FILTER LP WHERE expr(X) RP. { A = X.pExpr; } diff --git a/src/box/sql/resolve.c b/src/box/sql/resolve.c index 6183f4ac946bd305b74fa85a4c27bef125673aea..cd895593dc24113cc3ade1a950eb7e4a968d901d 100644 --- a/src/box/sql/resolve.c +++ b/src/box/sql/resolve.c @@ -590,8 +590,10 @@ resolveExprStep(Walker * pWalker, Expr * pExpr) assert(!ExprHasProperty(pExpr, EP_xIsSelect)); zId = pExpr->u.zToken; nId = sqlStrlen30(zId); + uint32_t flags = sql_func_flags(zId); bool is_agg = (flags & SQL_FUNC_AGG) != 0; + bool is_window = (flags & SQL_FUNC_WINDOW) != 0; if ((flags & SQL_FUNC_UNLIKELY) != 0 && n == 2) { ExprSetProperty(pExpr, EP_Unlikely | EP_Skip); pExpr->iTable = @@ -614,40 +616,38 @@ resolveExprStep(Walker * pWalker, Expr * pExpr) pExpr->iTable = zId[0] == 'u' ? 8388608 : 125829120; } - if (is_agg && (pNC->ncFlags & NC_AllowAgg) == 0) { + if (!is_agg && !is_window && pExpr->pWin) { + const char *err = tt_sprintf( + "%.*s() may not be used as a window function", + nId, zId); + diag_set(ClientError, + ER_SQL_PARSER_GENERIC, err); + pParse->is_aborted = true; + pNC->nErr++; + } else if (((is_agg || is_window) && + (pNC->ncFlags & NC_AllowAgg) == 0) || + ((is_agg || is_window) && + pExpr->pWin && + (pNC->ncFlags & NC_AllowWin) == 0)) { + const char *zType = pExpr->pWin ? "window" + : "aggregate"; const char *err = - tt_sprintf("misuse of aggregate "\ - "function %.*s()", nId, zId); + tt_sprintf("misuse of %s function %.*s()", + zType, nId, zId); diag_set(ClientError, ER_SQL_PARSER_GENERIC, err); pParse->is_aborted = true; pNC->nErr++; is_agg = 0; + is_window = 0; + } + if (is_agg || is_window) { + pNC->ncFlags &= ~(pExpr->pWin ? + NC_AllowWin : NC_AllowAgg); } - if (is_agg) - pNC->ncFlags &= ~NC_AllowAgg; sqlWalkExprList(pWalker, pList); if (pParse->is_aborted) break; - if (is_agg) { - NameContext *pNC2 = pNC; - pExpr->op = TK_AGG_FUNCTION; - pExpr->op2 = 0; - while (pNC2 - && !sqlFunctionUsesThisSrc(pExpr, - pNC2-> - pSrcList)) - { - pExpr->op2++; - pNC2 = pNC2->pNext; - } - if (pNC2) { - pNC2->ncFlags |= NC_HasAgg; - if ((flags & (SQL_FUNC_MIN | - SQL_FUNC_MAX)) != 0) - pNC2->ncFlags |= NC_MinMaxAgg; - } - pNC->ncFlags |= NC_AllowAgg; - } + struct func *func = sql_func_find(pExpr); if (func == NULL) { pParse->is_aborted = true; @@ -671,6 +671,49 @@ resolveExprStep(Walker * pWalker, Expr * pExpr) (pNC->ncFlags & NC_IdxExpr) == 0); if (func->def->is_deterministic) ExprSetProperty(pExpr, EP_ConstFunc); + + if (is_agg || is_window) { + if (pExpr->pWin) { + Select *pSel = pNC->pWinSelect; + sqlWalkExprList( + pWalker, + pExpr->pWin->pPartition); + sqlWalkExprList(pWalker, + pExpr->pWin->pOrderBy); + sqlWalkExpr(pWalker, + pExpr->pWin->pFilter); + sqlWindowUpdate(pParse, pSel->pWinDefn, + pExpr->pWin, func); + if (pSel->pWin == 0 || + sqlWindowCompare(pSel->pWin, + pExpr->pWin) == + 0) { + pExpr->pWin->pNextWin = + pSel->pWin; + pSel->pWin = pExpr->pWin; + } + pNC->ncFlags |= NC_AllowWin; + } else { + NameContext *pNC2 = pNC; + pExpr->op = TK_AGG_FUNCTION; + pExpr->op2 = 0; + while (pNC2 && + !sqlFunctionUsesThisSrc( + pExpr, pNC2->pSrcList)) { + pExpr->op2++; + pNC2 = pNC2->pNext; + } + if (pNC2) { + pNC2->ncFlags |= NC_HasAgg; + bool is_minmax = (flags & + (SQL_FUNC_MIN | + SQL_FUNC_MAX)) != 0; + pNC2->ncFlags |= is_minmax ? + NC_MinMaxAgg : 0; + } + pNC->ncFlags |= NC_AllowAgg; + } + } return WRC_Prune; } case TK_SELECT: @@ -1132,6 +1175,7 @@ resolveSelectStep(Walker * pWalker, Select * p) nCompound = 0; pLeftmost = p; while (p) { + assert(p->pWin == 0); assert((p->selFlags & SF_Expanded) != 0); assert((p->selFlags & SF_Resolved) == 0); p->selFlags |= SF_Resolved; @@ -1141,6 +1185,7 @@ resolveSelectStep(Walker * pWalker, Select * p) */ memset(&sNC, 0, sizeof(sNC)); sNC.pParse = pParse; + sNC.pWinSelect = p; if (sqlResolveExprNames(&sNC, p->pLimit) || sqlResolveExprNames(&sNC, p->pOffset)) { return WRC_Abort; @@ -1196,7 +1241,7 @@ resolveSelectStep(Walker * pWalker, Select * p) * resolve the result-set expression list. */ bool is_all_select_agg = true; - sNC.ncFlags = NC_AllowAgg; + sNC.ncFlags = NC_AllowAgg | NC_AllowWin; sNC.pSrcList = p->pSrc; sNC.pNext = pOuterNC; struct ExprList_item *item = p->pEList->a; @@ -1223,6 +1268,7 @@ resolveSelectStep(Walker * pWalker, Select * p) if (sqlResolveExprNames(&sNC, item->pExpr) != 0) return WRC_Abort; } + sNC.ncFlags &= ~NC_AllowWin; /* * If there are no aggregate functions in the @@ -1303,7 +1349,7 @@ resolveSelectStep(Walker * pWalker, Select * p) * outer queries */ sNC.pNext = 0; - sNC.ncFlags |= NC_AllowAgg; + sNC.ncFlags |= NC_AllowAgg | NC_AllowWin; /* If this is a converted compound query, move the ORDER BY clause from * the sub-query back to the parent query. At this point each term @@ -1332,6 +1378,7 @@ resolveSelectStep(Walker * pWalker, Select * p) ) { return WRC_Abort; } + sNC.ncFlags &= ~NC_AllowWin; /* Resolve the GROUP BY clause. At the same time, make sure * the GROUP BY clause does not contain aggregate functions. @@ -1377,6 +1424,7 @@ resolveSelectStep(Walker * pWalker, Select * p) pParse->is_aborted = true; return WRC_Abort; } + /* Advance to the next term of the compound */ p = p->pPrior; diff --git a/src/box/sql/select.c b/src/box/sql/select.c index fecf59728cfd8cfe47cb4a3c680eb6562ef78550..c8bac882fcb1d36304c409bd57c26bb4127065ff 100644 --- a/src/box/sql/select.c +++ b/src/box/sql/select.c @@ -120,14 +120,14 @@ struct SortCtx { static inline uint32_t multi_select_coll_seq(struct Parse *parser, struct Select *p, int n); -static struct sql_space_info * +struct sql_space_info * sql_space_info_new_from_expr_list(struct Parse *parser, struct ExprList *list, bool has_rowid) { int n = list->nExpr; if (has_rowid) ++n; - struct sql_space_info *info = sql_space_info_new(n, 0); + struct sql_space_info *info = sql_space_info_new(n, n); if (info == NULL) return NULL; for (int i = 0; i < list->nExpr; ++i) { @@ -135,6 +135,7 @@ sql_space_info_new_from_expr_list(struct Parse *parser, struct ExprList *list, struct coll *coll; struct Expr *expr = list->a[i].pExpr; enum field_type type = sql_expr_type(expr); + enum sort_order sort = list->a[i].sort_order; /* * Type ANY could mean that field was unresolved. We have no way * but to set it as SCALAR, however this could lead to @@ -149,9 +150,15 @@ sql_space_info_new_from_expr_list(struct Parse *parser, struct ExprList *list, } info->types[i] = type; info->coll_ids[i] = coll_id; + info->parts[i] = (uint32_t)i; + info->sort_orders[i] = sort; } - if (has_rowid) + if (has_rowid) { info->types[list->nExpr] = FIELD_TYPE_INTEGER; + info->sort_orders[list->nExpr] = SORT_ORDER_ASC; + info->parts[list->nExpr] = (uint32_t)list->nExpr; + } + info->part_count = n; return info; } @@ -328,6 +335,8 @@ clearSelect(struct Select *p, int bFree) sql_expr_delete(p->pOffset); if (p->pWith) sqlWithDelete(p->pWith); + if (p->pWinDefn) + sqlWindowListDelete(p->pWinDefn); if (bFree) sql_xfree(p); p = pPrior; @@ -413,6 +422,8 @@ sqlSelectNew(Parse * pParse, /* Parsing context */ standin.pLimit = pLimit; standin.pOffset = pOffset; standin.pWith = 0; + standin.pWin = 0; + standin.pWinDefn = 0; assert(pOffset == NULL || pLimit != NULL || pParse->is_aborted); Select *pNew = sql_xmalloc(sizeof(*pNew)); assert(standin.pSrc != 0 || pParse->is_aborted); @@ -907,32 +918,6 @@ sqlProcessJoin(Parse * pParse, Select * p) return 0; } -/** - * Given an expression list, generate a key_info structure that - * records the collating sequence for each expression in that - * expression list. - * - * If the ExprList is an ORDER BY or GROUP BY clause then the - * resulting key_info structure is appropriate for initializing - * a virtual index to implement that clause. If the ExprList is - * the result set of a SELECT then the key_info structure is - * appropriate for initializing a virtual index to implement a - * DISTINCT test. - * - * Space to hold the key_info structure is obtained from malloc. - * The calling function is responsible for seeing that this - * structure is eventually freed. - * - * @param parse Parsing context. - * @param list Expression list. - * @param start No of leading parts to skip. - * - * @retval Allocated key_info, NULL in case of OOM. - */ -static struct sql_key_info * -sql_expr_list_to_key_info(struct Parse *parse, struct ExprList *list, int start); - - /* * Generate code that will push the record in registers regData * through regData+nData-1 onto the sorter. @@ -1660,7 +1645,7 @@ sql_key_info_to_key_def(struct sql_key_info *key_info) return key_info->key_def; } -static struct sql_key_info * +struct sql_key_info * sql_expr_list_to_key_info(struct Parse *parse, struct ExprList *list, int start) { int expr_count = list->nExpr; @@ -1913,6 +1898,66 @@ generateSortTail(Parse * pParse, /* Parsing context */ sqlVdbeResolveLabel(v, addrBreak); } +static void +generate_full_column_metadata(struct Parse *pParse, struct SrcList *pTabList, + struct ExprList *pEList) +{ + int i, j; + bool is_full_meta = (pParse->sql_flags & SQL_FullMetadata) != 0; + if (!is_full_meta) + return; + Vdbe *v = pParse->pVdbe; + for (i = 0; i < pEList->nExpr; i++) { + Expr *p; + p = pEList->a[i].pExpr; + if (NEVER(p == 0)) + continue; + enum field_type type = sql_expr_type(p); + if (type == FIELD_TYPE_STRING || type == FIELD_TYPE_SCALAR) { + bool unused; + uint32_t id = 0; + struct coll *coll = NULL; + /* + * If sql_expr_coll fails then it fails somewhere + * above the call stack. + */ + int rc = sql_expr_coll(pParse, p, &unused, &id, &coll); + assert(rc == 0); + (void)rc; + if (id != COLL_NONE) { + struct coll_id *coll_id = coll_by_id(id); + vdbe_metadata_set_col_collation( + v, i, coll_id->name, coll_id->name_len); + } + } + const char *span = pEList->a[i].zSpan; + if (p->op == TK_COLUMN_REF || p->op == TK_AGG_COLUMN) { + int iCol = p->iColumn; + for (j = 0; j < pTabList->nSrc; j++) { + if (pTabList->a[j].iCursor == p->iTable) + break; + } + /* Fast exit for rewritten windows. */ + if (j == pTabList->nSrc) + continue; + assert(j < pTabList->nSrc); + struct space *space = pTabList->a[j].space; + struct space_def *space_def = space->def; + bool is_nullable = + space_def->fields[iCol].is_nullable; + vdbe_metadata_set_col_nullability(v, i, + is_nullable); + if (space->sequence != NULL && + space->sequence_fieldno == (uint32_t)iCol) + vdbe_metadata_set_col_autoincrement(v, i); + if (span != NULL) + vdbe_metadata_set_col_span(v, i, span); + } else { + vdbe_metadata_set_col_span(v, i, span); + } + } +} + /** * Generate code that will tell the VDBE the names of columns * in the result set. This information is used to provide the @@ -1938,7 +1983,6 @@ generate_column_metadata(struct Parse *pParse, struct SrcList *pTabList, assert(v != 0); assert(pTabList != 0); pParse->colNamesSet = 1; - bool is_full_meta = (pParse->sql_flags & SQL_FullMetadata) != 0; sqlVdbeSetNumCols(v, pEList->nExpr); uint32_t var_count = 0; for (i = 0; i < pEList->nExpr; i++) { @@ -1950,28 +1994,8 @@ generate_column_metadata(struct Parse *pParse, struct SrcList *pTabList, var_count++; enum field_type type = sql_expr_type(p); vdbe_metadata_set_col_type(v, i, field_type_strs[type]); - if (is_full_meta && (type == FIELD_TYPE_STRING || - type == FIELD_TYPE_SCALAR)) { - bool unused; - uint32_t id = 0; - struct coll *coll = NULL; - /* - * If sql_expr_coll fails then it fails somewhere - * above the call stack. - */ - int rc = sql_expr_coll(pParse, p, &unused, &id, &coll); - assert(rc == 0); - (void) rc; - if (id != COLL_NONE) { - struct coll_id *coll_id = coll_by_id(id); - vdbe_metadata_set_col_collation(v, i, - coll_id->name, - coll_id->name_len); - } - } vdbe_metadata_set_col_nullability(v, i, -1); const char *colname = pEList->a[i].zName; - const char *span = pEList->a[i].zSpan; if (p->op == TK_COLUMN_REF || p->op == TK_AGG_COLUMN) { char *zCol; int iCol = p->iColumn; @@ -1996,17 +2020,6 @@ generate_column_metadata(struct Parse *pParse, struct SrcList *pTabList, } } vdbe_metadata_set_col_name(v, i, name); - if (is_full_meta) { - bool is_nullable = - space_def->fields[iCol].is_nullable; - vdbe_metadata_set_col_nullability(v, i, - is_nullable); - if (space->sequence != NULL && - space->sequence_fieldno == (uint32_t) iCol) - vdbe_metadata_set_col_autoincrement(v, i); - if (span != NULL) - vdbe_metadata_set_col_span(v, i, span); - } } else { const char *z = NULL; if (colname != NULL) { @@ -2016,8 +2029,6 @@ generate_column_metadata(struct Parse *pParse, struct SrcList *pTabList, z = sql_generate_column_name(idx); } vdbe_metadata_set_col_name(v, i, z); - if (is_full_meta) - vdbe_metadata_set_col_span(v, i, span); } } if (var_count == 0) @@ -2976,6 +2987,10 @@ multiSelect(Parse * pParse, /* Parsing context */ generate_column_metadata(pParse, pFirst->pSrc, pFirst->pEList); + generate_full_column_metadata( + pParse, + pFirst->pSrc, + pFirst->pEList); } iBreak = sqlVdbeMakeLabel(v); iCont = sqlVdbeMakeLabel(v); @@ -3070,6 +3085,9 @@ multiSelect(Parse * pParse, /* Parsing context */ generate_column_metadata(pParse, pFirst->pSrc, pFirst->pEList); + generate_full_column_metadata( + pParse, pFirst->pSrc, + pFirst->pEList); } iBreak = sqlVdbeMakeLabel(v); iCont = sqlVdbeMakeLabel(v); @@ -3684,6 +3702,8 @@ multiSelectOrderBy(Parse * pParse, /* Parsing context */ while (pFirst->pPrior) pFirst = pFirst->pPrior; generate_column_metadata(pParse, pFirst->pSrc, pFirst->pEList); + generate_full_column_metadata(pParse, pFirst->pSrc, + pFirst->pEList); } /* Reassembly the compound query so that it will be freed correctly @@ -3938,6 +3958,12 @@ substSelect(Parse * pParse, /* Report errors here */ * or max() functions. (Without this restriction, a query like: * "SELECT x FROM (SELECT max(y), x FROM t1)" would not necessarily * return the value X for which Y was maximal.) + */ +/* + * (25) If either the subquery or the parent query contains a window + * function in the select list or ORDER BY clause, flattening + * is not attempted. + * * * * In this routine, the "p" parameter is a pointer to the outer query. @@ -3980,6 +4006,8 @@ flattenSubquery(Parse * pParse, /* Parsing context */ iParent = pSubitem->iCursor; pSub = pSubitem->pSelect; assert(pSub != 0); + if (p->pWin || pSub->pWin) + return 0; /* Restrictions (25) */ if (subqueryIsAgg) { if (isAgg) return 0; /* Restriction (1) */ @@ -4369,9 +4397,10 @@ flattenSubquery(Parse * pParse, /* Parsing context */ * inner query. But they probably won't help there so do not bother.) * * (2) The inner query is the recursive part of a common table expression. - * + */ +/* * (3) The inner query has a LIMIT clause (since the changes to the WHERE - * close would change the meaning of the LIMIT). + * clause would change the meaning of the LIMIT). * * (4) The inner query is the right operand of a LEFT JOIN. (The caller * enforces this restriction since this routine does not have enough @@ -4380,6 +4409,10 @@ flattenSubquery(Parse * pParse, /* Parsing context */ * (5) The WHERE clause expression originates in the ON or USING clause * of a LEFT JOIN. * + * (6) The inner query features one or more window-functions (since + * changes to the WHERE clause of the inner query could change the + * window over which window functions are calculated). + * * Return 0 if no changes are made and non-zero if one or more WHERE clause * terms are duplicated into the subquery. */ @@ -4399,6 +4432,9 @@ pushDownWhereTerms(Parse * pParse, /* Parse context (for malloc() and error repo return 0; /* restrictions (1) and (2) */ } } + if (pSubq->pWin) { + return 0; /* restriction (6) */ + } if (pSubq->pLimit != 0) { return 0; /* restriction (3) */ } @@ -4815,6 +4851,31 @@ selectPopWith(Walker * pWalker, Select * p) } } +/* + * The SrcList_item structure passed as the second argument represents a + * sub-query in the FROM clause of a SELECT statement. This function + * allocates and populates the SrcList_item.space object. + */ +void +sqlExpandSubquery(Parse *pParse, struct SrcList_item *pFrom) +{ + Select *pSelect = pFrom->pSelect; + + const char *name = "subquery_DEADBEAFDEADBEAF"; + struct space *space = + sql_template_space_new(sqlParseToplevel(pParse), name); + /* + * Rewrite old name with correct pointer. + */ + name = tt_sprintf("subquery_%llX", (long long)space); + snprintf(space->def->name, strlen(space->def->name) + 1, "%s", name); + while (pSelect->pPrior) { + pSelect = pSelect->pPrior; + } + sqlColumnsFromExprList(pParse, pSelect->pEList, space->def); + pFrom->space = space; +} + /** * Determine whether to generate a name for @a expr or not. * @@ -4905,26 +4966,7 @@ selectExpander(Walker * pWalker, Select * p) assert(pFrom->space == NULL); if (sqlWalkSelect(pWalker, pSel)) return WRC_Abort; - /* - * Will be overwritten with pointer as - * unique identifier. - */ - const char *name = "sql_sq_DEADBEAFDEADBEAF"; - struct space *space = - sql_template_space_new(sqlParseToplevel(pParse), - name); - pFrom->space = space; - /* - * Rewrite old name with correct pointer. - */ - name = tt_sprintf("sql_sq_%llX", (long long)space); - snprintf(space->def->name, strlen(space->def->name) + 1, - "%s", name); - while (pSel->pPrior) { - pSel = pSel->pPrior; - } - sqlColumnsFromExprList(pParse, pSel->pEList, - space->def); + sqlExpandSubquery(pParse, pFrom); } else { /* * An ordinary table or view name in the @@ -5216,7 +5258,8 @@ selectAddSubqueryTypeInfo(Walker * pWalker, Select * p) struct SrcList_item *pFrom; assert(p->selFlags & SF_Resolved); - assert((p->selFlags & SF_HasTypeInfo) == 0); + if (p->selFlags & SF_HasTypeInfo) + return; p->selFlags |= SF_HasTypeInfo; pParse = pWalker->pParse; pTabList = p->pSrc; @@ -5554,7 +5597,7 @@ sqlSelect(Parse * pParse, /* The parser context */ Expr *pWhere; /* The WHERE clause. May be NULL */ ExprList *pGroupBy; /* The GROUP BY clause. May be NULL */ Expr *pHaving; /* The HAVING clause. May be NULL */ - int rc = 1; /* Value to return from this function */ + int rc = 0; /* Value to return from this function */ DistinctCtx sDistinct; /* Info on how to code the DISTINCT keyword */ SortCtx sSort; /* Info on how to code the ORDER BY clause */ AggInfo sAggInfo; /* Information used by aggregate queries */ @@ -5593,22 +5636,46 @@ sqlSelect(Parse * pParse, /* The parser context */ p->selFlags &= ~SF_Distinct; } sqlSelectPrep(pParse, p, 0); - memset(&sSort, 0, sizeof(sSort)); - sSort.pOrderBy = p->pOrderBy; - pTabList = p->pSrc; if (pParse->is_aborted) goto select_end; assert(p->pEList != 0); - isAgg = (p->selFlags & SF_Aggregate) != 0; #ifdef SQL_DEBUG if (sqlSelectTrace & 0x100) { SELECTTRACE(0x100, pParse, p, ("after name resolution:\n")); sqlTreeViewSelect(0, p, 0); } #endif + /* Get a pointer the VDBE under construction, allocating a new VDBE + * if one does not already exist + */ + v = sqlGetVdbe(pParse); +#if SQL_DEBUG + if (sqlSelectTrace & 0x108) { + SELECTTRACE(0x100, pParse, p, ("after window rewrite:\n")); + sqlTreeViewSelect(0, p, 0); + } +#endif + + /* Identify column names if results of the SELECT are to be output. + */ + Select *pFirst = p; + while (pFirst->pPrior) + pFirst = pFirst->pPrior; + if (rc == 0 && pDest->eDest == SRT_Output) { + generate_column_metadata(pParse, pFirst->pSrc, pFirst->pEList); + } + + if (sqlWindowRewrite(pParse, p)) { + goto select_end; + } + + isAgg = (p->selFlags & SF_Aggregate) != 0; + memset(&sSort, 0, sizeof(sSort)); + sSort.pOrderBy = p->pOrderBy; /* Try to flatten subqueries in the FROM clause up into the main query */ + pTabList = p->pSrc; for (i = 0; !p->pPrior && i < pTabList->nSrc; i++) { struct SrcList_item *pItem = &pTabList->a[i]; Select *pSub = pItem->pSelect; @@ -5643,11 +5710,6 @@ sqlSelect(Parse * pParse, /* The parser context */ } } - /* Get a pointer the VDBE under construction, allocating a new VDBE if one - * does not already exist - */ - v = sqlGetVdbe(pParse); - /* Handle compound SELECT statements using the separate multiSelect() * procedure. */ @@ -5669,6 +5731,15 @@ sqlSelect(Parse * pParse, /* The parser context */ return rc; } + /* + * We need first to flatten the sub-queries in views + * to get full metadata + */ + if (rc == 0 && pDest->eDest == SRT_Output) { + generate_full_column_metadata(pParse, pFirst->pSrc, + pFirst->pEList); + } + /* Generate code for all sub-queries in the FROM clause */ for (i = 0; i < pTabList->nSrc; i++) { @@ -5952,9 +6023,13 @@ sqlSelect(Parse * pParse, /* The parser context */ if (!isAgg && pGroupBy == 0) { /* No aggregate functions and no GROUP BY clause */ - u16 wctrlFlags = (sDistinct.isTnct ? WHERE_WANT_DISTINCT : 0); + u16 wctrlFlags = (sDistinct.isTnct ? WHERE_WANT_DISTINCT : 0) + | (p->selFlags & SF_FixedLimit); + Window *pWin = p->pWin; /* Master window object (or NULL) */ + if (pWin) { + sqlWindowCodeInit(pParse, pWin); + } assert(WHERE_USE_LIMIT == SF_FixedLimit); - wctrlFlags |= p->selFlags & SF_FixedLimit; /* Begin the database scan. */ pWInfo = @@ -5994,14 +6069,30 @@ sqlSelect(Parse * pParse, /* The parser context */ sqlVdbeChangeToNoop(v, sSort.addrSortIndex + 1); } - /* Use the standard inner loop. */ - selectInnerLoop(pParse, p, pEList, -1, &sSort, &sDistinct, - pDest, sqlWhereContinueLabel(pWInfo), - sqlWhereBreakLabel(pWInfo)); + if (pWin) { + int addrGosub = sqlVdbeMakeLabel(v); + int iCont = sqlVdbeMakeLabel(v); + int iBreak = sqlVdbeMakeLabel(v); + int regGosub = ++pParse->nMem; + sqlWindowCodeStep(pParse, p, pWInfo, regGosub, + addrGosub); + sqlVdbeAddOp2(v, OP_Goto, 0, iBreak); + sqlVdbeResolveLabel(v, addrGosub); + selectInnerLoop(pParse, p, p->pEList, -1, &sSort, + &sDistinct, pDest, iCont, iBreak); + sqlVdbeResolveLabel(v, iCont); + sqlVdbeAddOp1(v, OP_Return, regGosub); + sqlVdbeResolveLabel(v, iBreak); + } else { + /* Use the standard inner loop. */ + selectInnerLoop(pParse, p, p->pEList, -1, &sSort, + &sDistinct, pDest, + sqlWhereContinueLabel(pWInfo), + sqlWhereBreakLabel(pWInfo)); - /* End the database scan loop. - */ - sqlWhereEnd(pWInfo); + /* End the database scan loop. */ + sqlWhereEnd(pWInfo); + } } else { /* This case when there exist aggregate functions or a GROUP BY clause * or both @@ -6508,12 +6599,6 @@ sqlSelect(Parse * pParse, /* The parser context */ select_end: pParse->iSelectId = iRestoreSelectId; - /* Identify column names if results of the SELECT are to be output. - */ - if (rc == 0 && pDest->eDest == SRT_Output) { - generate_column_metadata(pParse, pTabList, pEList); - } - sql_xfree(sAggInfo.aCol); sql_xfree(sAggInfo.aFunc); #ifdef SQL_DEBUG @@ -6531,6 +6616,7 @@ sql_context_new(struct func *func, struct coll *coll) ctx->func = func; ctx->is_aborted = false; ctx->skipFlag = 0; + ctx->funcFlag = 0; ctx->coll = coll; return ctx; } diff --git a/src/box/sql/sqlInt.h b/src/box/sql/sqlInt.h index 6d90453396a939bd59bc6808eb92c0dfead50d21..99f6ea43a23fd8252b25aee1701a99f848504995 100644 --- a/src/box/sql/sqlInt.h +++ b/src/box/sql/sqlInt.h @@ -887,6 +887,7 @@ typedef struct TriggerStep TriggerStep; typedef struct UnpackedRecord UnpackedRecord; typedef struct Walker Walker; typedef struct WhereInfo WhereInfo; +typedef struct Window Window; typedef struct With With; /* A VList object records a mapping between parameters/variables/wildcards @@ -1090,6 +1091,12 @@ struct type_def { */ #define SQL_FUNC_DERIVEDCOLL 0x4000 +/** Built-in window-only function **/ +#define SQL_FUNC_WINDOW 0x8000 + +/** Use inverse function in sql_context **/ +#define SQL_CTX_INVERSE 0x0001 + /* * Trim side mask components. TRIM_LEADING means to trim left side * only. TRIM_TRAILING is to trim right side only. TRIM_BOTH is to @@ -1405,6 +1412,7 @@ struct Expr { AggInfo *pAggInfo; /* Used by TK_AGG_COLUMN and TK_AGG_FUNCTION */ /** Pointer for table relative definition. */ struct space_def *space_def; + Window *pWin; /* Window definition for window functions */ }; /* @@ -1705,6 +1713,7 @@ struct NameContext { int nRef; /* Number of names resolved by this context */ int nErr; /* Number of errors encountered while resolving names */ u16 ncFlags; /* Zero or more NC_* flags defined below */ + Select *pWinSelect; /* SELECT statement for any window functions */ }; /* @@ -1723,6 +1732,7 @@ struct NameContext { #define NC_MinMaxAgg 0x1000 /* min/max aggregates seen. See note above */ /** One or more identifiers are out of aggregate function. */ #define NC_HasUnaggregatedId 0x2000 +#define NC_AllowWin 0x4000 /* Window functions are allowed here */ /* * An instance of the following structure contains all information * needed to generate code for a single SELECT statement. @@ -1761,6 +1771,8 @@ struct Select { Expr *pLimit; /* LIMIT expression. NULL means not used. */ Expr *pOffset; /* OFFSET expression. NULL means not used. */ With *pWith; /* WITH clause attached to this select. Or NULL. */ + Window *pWin; /* List of window functions */ + Window *pWinDefn; /* List of named window definitions */ }; /* @@ -2107,30 +2119,59 @@ struct Parse { * OPFLAG_SAVEPOSITION == BTREE_SAVEPOSITION * OPFLAG_AUXDELETE == BTREE_AUXDELETE */ -#define OPFLAG_NCHANGE 0x01 /* OP_Insert: Set to update db->nChange */ - /* Also used in P2 (not P5) of OP_Delete */ -#define OPFLAG_EPHEM 0x01 /* OP_Column: Ephemeral output is ok */ -#define OPFLAG_OE_IGNORE 0x200 /* OP_IdxInsert: Ignore flag */ -#define OPFLAG_OE_FAIL 0x400 /* OP_IdxInsert: Fail flag */ -#define OPFLAG_OE_ROLLBACK 0x800 /* OP_IdxInsert: Rollback flag. */ -#define OPFLAG_LENGTHARG 0x40 /* OP_Column only used for length() */ -#define OPFLAG_TYPEOFARG 0x80 /* OP_Column only used for typeof() */ -#define OPFLAG_SEEKEQ 0x02 /* OP_Open** cursor uses EQ seek only */ -#define OPFLAG_FORDELETE 0x08 /* OP_Open should use BTREE_FORDELETE */ -#define OPFLAG_P2ISREG 0x10 /* P2 to OP_Open** is a register number */ -#define OPFLAG_PERMUTE 0x01 /* OP_Compare: use the permutation */ -#define OPFLAG_SAVEPOSITION 0x02 /* OP_Delete: keep cursor position */ -#define OPFLAG_AUXDELETE 0x04 /* OP_Delete: index in a DELETE op */ - -#define OPFLAG_SAME_FRAME 0x01 /* OP_FCopy: use same frame for source - * register - */ -#define OPFLAG_NOOP_IF_NULL 0x02 /* OP_FCopy: if source register is NULL - * then do nothing - */ -#define OPFLAG_SYSTEMSP 0x20 /* OP_Open**: set if space pointer - * points to system space. - */ + +/* OP_Insert: Set to update db->nChange + * Also used in P2 (not P5) of OP_Delete + */ +#define OPFLAG_NCHANGE 0x01 + +/* OP_Column: Ephemeral output is ok */ +#define OPFLAG_EPHEM 0x01 + +/* OP_IdxInsert: Ignore flag */ +#define OPFLAG_OE_IGNORE 0x200 + +/* OP_IdxInsert: Fail flag */ +#define OPFLAG_OE_FAIL 0x400 + +/* OP_IdxInsert: Rollback flag */ +#define OPFLAG_OE_ROLLBACK 0x800 + +/* OP_Column only used for length() */ +#define OPFLAG_LENGTHARG 0x40 + +/* OP_Column only used for typeof() */ +#define OPFLAG_TYPEOFARG 0x80 + +/* OP_Open** cursor uses EQ seek only */ +#define OPFLAG_SEEKEQ 0x02 + +/* OP_Open should use BTREE_FORDELETE */ +#define OPFLAG_FORDELETE 0x08 + +/* P2 to OP_Open** is a register number */ +#define OPFLAG_P2ISREG 0x10 + +/* OP_Compare: use the permutation */ +#define OPFLAG_PERMUTE 0x01 + +/* OP_Delete: keep cursor position */ +#define OPFLAG_SAVEPOSITION 0x02 + +/* OP_Delete: index in a DELETE op */ +#define OPFLAG_AUXDELETE 0x04 + +/* OP_FCopy: use same frame for source register */ +#define OPFLAG_SAME_FRAME 0x01 + +/* OP_FCopy: if source register is NULL then do nothing */ +#define OPFLAG_NOOP_IF_NULL 0x02 + +/* OP_Open**: set if space pointer points to system space */ +#define OPFLAG_SYSTEMSP 0x20 + +/* OP_IteratorOpen: duplicate ephemeral cursor */ +#define OPFLAG_EPH_DUP 0x40 /** * Prepare vdbe P5 flags for OP_{IdxInsert, IdxReplace, Update} @@ -2300,6 +2341,7 @@ struct Walker { int *aiCol; /* array of column indexes */ /** Space definition. */ struct space_def *space_def; + struct WindowRewrite *pRewrite; /* Window rewrite context */ } u; }; @@ -2345,6 +2387,84 @@ struct TreeView { }; #endif /* SQL_DEBUG */ +/* + * Object used to encode the OVER() clause attached to a window-function + * invocation. And some fields used while generating VM code for the same. + */ +struct Window { + char *zName; /* Name of window (may be NULL) */ + ExprList *pPartition; /* PARTITION BY clause */ + ExprList *pOrderBy; /* ORDER BY clause */ + u8 eType; /* TK_RANGE or TK_ROWS */ + u8 eStart; /* UNBOUNDED, CURRENT, PRECEDING or FOLLOWING */ + u8 eEnd; /* UNBOUNDED, CURRENT, PRECEDING or FOLLOWING */ + Expr *pStart; /* Expression for "<expr> PRECEDING" */ + Expr *pEnd; /* Expression for "<expr> FOLLOWING" */ + + Window *pNextWin; /* Next window function of this SELECT */ + + Expr *pFilter; /* Filter expression */ + struct func *pFunc; /* Function object */ + + int iEphCsr; /* Temp table cursor used by this window */ + int regEph; /* Register holding the window temp table */ + int regAccum; /* Register holding accumulator */ + int regResult; /* Register holding result of current row */ + + int csrApp; /* Function cursor (used by min/max) */ + int regAppCsr; /* Register holding the function cursor */ + int regApp; /* Function value register (+used by min/max) */ + + int regPart; /* Register holding partition */ + Expr *pOwner; /* Expr object this window is attached to */ + int nBufferCol; /* Number of columns in buffer table */ + int iArgCol; /* Offset of first argument for this function */ +}; + +void +sqlWindowDelete(Window *p); + +void +sqlWindowAttach(Expr *p, Window *pWin); + +void +sqlWindowListDelete(Window *p); + +Window * +sqlWindowAlloc(int eType, int eStart, Expr *pStart, int eEnd, Expr *pEnd); + +void +sqlWindowAttach(Expr *p, Window *pWin); + +int +sqlWindowCompare(Window *p1, Window *p2); + +void +sqlWindowCodeInit(Parse *pParse, Window *pMWin); + +void +sqlWindowCodeStep(Parse *pParse, Select *p, WhereInfo *pWInfo, + int regGosub, int addrGosub); + +int +sqlWindowRewrite(Parse *pParse, Select *p); + +void +sqlExpandSubquery(Parse *pParse, struct SrcList_item *pFrom); + +void +sqlWindowUpdate(Parse *pParse, Window *pList, Window *pWin, + struct func *pFunc); + +Window * +sqlWindowDup(Expr *pOwner, Window *p); + +Window * +sqlWindowListDup(Window *p); + +void +sqlWindowFunctions(void); + /* * The following macros mimic the standard library functions toupper(), * isspace(), isalnum(), isdigit() and isxdigit(), respectively. The @@ -3976,6 +4096,36 @@ sql_key_info_unref(struct sql_key_info *key_info); struct key_def * sql_key_info_to_key_def(struct sql_key_info *key_info); +/** + * Given an expression list, generate a key_info structure that + * records the collating sequence for each expression in that + * expression list. + * + * If the ExprList is an ORDER BY or GROUP BY clause then the + * resulting key_info structure is appropriate for initializing + * a virtual index to implement that clause. If the ExprList is + * the result set of a SELECT then the key_info structure is + * appropriate for initializing a virtual index to implement a + * DISTINCT test. + * + * Space to hold the key_info structure is obtained from malloc. + * The calling function is responsible for seeing that this + * structure is eventually freed. + * + * @param parse Parsing context. + * @param list Expression list. + * @param start No of leading parts to skip. + * + * @retval Allocated key_info, NULL in case of OOM. + */ +struct sql_key_info * +sql_expr_list_to_key_info(struct Parse *parse, struct ExprList *list, + int start); + +struct sql_space_info * +sql_space_info_new_from_expr_list(struct Parse *parser, struct ExprList *list, + bool has_rowid); + /** * Structure that is used to store information about ephemeral space field types * and fieldno of key parts. @@ -4118,8 +4268,12 @@ sqlStat4ProbeFree(struct UnpackedRecord *rec) void * sqlParserAlloc(void *(*)(size_t)); -void sqlParserFree(void *, void (*)(void *)); -void sqlParser(void *, int, Token, Parse *); +void +sqlParserFree(void *, void (*)(void *)); +void +sqlParser(void *, int, Token, Parse *); +int +sqlParserFallback(int); #ifdef YYTRACKMAXSTACKDEPTH int sqlParserStackPeak(void *); #endif @@ -4246,6 +4400,10 @@ struct func_sql_builtin { * (is valid only for aggregate function). */ int (*finalize)(struct Mem *mem); + int (*value)(struct Mem *mem); + void (*inverse)(struct sql_context *ctx, int argc, + const struct Mem *argv); + }; /** diff --git a/src/box/sql/tokenize.c b/src/box/sql/tokenize.c index 05291e340bddb87e89df7875bedca1dd87b25700..9d35493c937ea65841876a8475e9e3773bdce027 100644 --- a/src/box/sql/tokenize.c +++ b/src/box/sql/tokenize.c @@ -94,7 +94,7 @@ static const char sql_ascii_class[] = { /* x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf */ -/* 0x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 7, 28, 7, 7, 7, 27, 27, +/* 0x */ 28, 27, 27, 27, 27, 27, 27, 27, 27, 7, 28, 7, 7, 7, 27, 27, /* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, /* 2x */ 7, 15, 9, 5, 5, 22, 24, 8, 17, 18, 21, 20, 23, 11, 26, 16, /* 3x */ 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 19, 12, 14, 13, 6, @@ -136,6 +136,94 @@ static const char sql_ascii_class[] = { #define maybe_utf8(c) ((sqlCtypeMap[c] & 0x40) != 0) +/* + * Return the id of the next token in string (*pz). Before returning, set + * (*pz) to point to the byte following the parsed token. + */ +static int +getToken(const char **pz) +{ + const char *z = *pz; + int t; /* Token type to return */ + bool is_reserved; + do { + z += sql_token(z, &t, &is_reserved); + } while (t == TK_SPACE); + if (t == TK_ID || + t == TK_STRING || + t == TK_JOIN_KW || + t == TK_WINDOW || + t == TK_OVER || + sqlParserFallback(t) == TK_ID) { + t = TK_ID; + } + *pz = z; + return t; +} + +/* + * The following three functions are called immediately after the tokenizer + * reads the keywords WINDOW, OVER and FILTER, respectively, to determine + * whether the token should be treated as a keyword or an SQL identifier. + * This cannot be handled by the usual lemon %fallback method, due to + * the ambiguity in some constructions. e.g. + * + * SELECT sum(x) OVER ... + * + * In the above, "OVER" might be a keyword, or it might be an alias for the + * sum(x) expression. If a "%fallback ID OVER" directive were added to + * grammar, then SQLite would always treat "OVER" as an alias, making it + * impossible to call a window-function without a FILTER clause. + * + * WINDOW is treated as a keyword if: + * + * * the following token is an identifier, or a keyword that can fallback + * to being an identifier, and + * * the token after than one is TK_AS. + * + * OVER is a keyword if: + * + * * the previous token was TK_RP, and + * * the next token is either TK_LP or an identifier. + * + * FILTER is a keyword if: + * + * * the previous token was TK_RP, and + * * the next token is TK_LP. + */ +static int +analyzeWindowKeyword(const char *z) +{ + int t; + t = getToken(&z); + if (t != TK_ID) + return TK_ID; + t = getToken(&z); + if (t != TK_AS) + return TK_ID; + return TK_WINDOW; +} + +static int +analyzeOverKeyword(const char *z, int lastToken) +{ + if (lastToken == TK_RP) { + int t = getToken(&z); + if (t == TK_LP || t == TK_ID) + return TK_OVER; + } + return TK_ID; +} + +static int +analyzeFilterKeyword(const char *z, int lastToken) +{ + if (lastToken == TK_RP && getToken(&z) == TK_LP) { + return TK_FILTER; + } + return TK_ID; +} + /** * Return true if current symbol is space. * @@ -485,14 +573,15 @@ new_xmalloc(size_t n) int sqlRunParser(Parse * pParse, const char *zSql) { - int i; /* Loop counter */ + int n = 0; /* Length of the next token */ void *pEngine; /* The LEMON-generated LALR(1) parser */ int tokenType; /* type of the next token */ int lastTokenParsed = -1; /* type of the previous token */ + int mxSqlLen; /* Max length of an SQL string */ assert(zSql != 0); + mxSqlLen = SQL_MAX_SQL_LENGTH; pParse->zTail = zSql; - i = 0; /* sqlParserTrace(stdout, "parser: "); */ pEngine = sqlParserAlloc(new_xmalloc); assert(pParse->create_table_def.new_space == NULL); @@ -500,57 +589,70 @@ sqlRunParser(Parse * pParse, const char *zSql) assert(pParse->nVar == 0); assert(pParse->pVList == 0); while (1) { - assert(i >= 0); - if (zSql[i] != 0) { - pParse->sLastToken.z = &zSql[i]; - pParse->sLastToken.n = - sql_token(&zSql[i], &tokenType, - &pParse->sLastToken.isReserved); - i += pParse->sLastToken.n; - if (i > SQL_MAX_SQL_LENGTH) { - diag_set(ClientError, ER_SQL_PARSER_LIMIT, - "SQL command length", i, - SQL_MAX_SQL_LENGTH); - pParse->is_aborted = true; - break; - } - } else { - /* Upon reaching the end of input, call the parser two more times - * with tokens TK_SEMI and 0, in that order. - */ - if (lastTokenParsed == TK_SEMI) { - tokenType = 0; - } else if (lastTokenParsed == 0) { - break; - } else { - tokenType = TK_SEMI; - } + n = sql_token(zSql, &tokenType, + &pParse->sLastToken.isReserved); + mxSqlLen -= n; + if (mxSqlLen < 0) { + diag_set(ClientError, ER_SQL_PARSER_LIMIT, + "SQL command length", mxSqlLen, + SQL_MAX_SQL_LENGTH); + pParse->is_aborted = true; + break; } - if (tokenType >= TK_SPACE) { - assert(tokenType == TK_SPACE - || tokenType == TK_ILLEGAL); - if (tokenType == TK_ILLEGAL) { + if (tokenType >= TK_WINDOW) { + if (tokenType == TK_SPACE) { + zSql += n; + pParse->line_pos += n; + continue; + } + if (zSql[0] == 0) { + /* Upon reaching the end of input, call + * the parser two more times + * with tokens TK_SEMI and 0, in that order. + */ + if (lastTokenParsed == TK_SEMI) { + tokenType = 0; + } else if (lastTokenParsed == 0) { + break; + } else { + tokenType = TK_SEMI; + } + n = 0; + } else if (tokenType == TK_WINDOW) { + assert(n == 6); + tokenType = analyzeWindowKeyword(&zSql[6]); + } else if (tokenType == TK_OVER) { + assert(n == 4); + tokenType = analyzeOverKeyword( + &zSql[4], lastTokenParsed); + } else if (tokenType == TK_FILTER) { + assert(n == 6); + tokenType = analyzeFilterKeyword( + &zSql[6], lastTokenParsed); + } else if (tokenType == TK_LINEFEED) { + pParse->line_count++; + pParse->line_pos = 1; + zSql += n; + continue; + } else if (tokenType == TK_ILLEGAL) { diag_set(ClientError, ER_SQL_UNKNOWN_TOKEN, pParse->line_count, pParse->line_pos, - pParse->sLastToken.n, - pParse->sLastToken.z); + n, zSql); pParse->is_aborted = true; break; } - } else if (tokenType == TK_LINEFEED) { - pParse->line_count++; - pParse->line_pos = 1; - continue; - } else { - sqlParser(pEngine, tokenType, pParse->sLastToken, - pParse); - lastTokenParsed = tokenType; - if (pParse->is_aborted) - break; } + pParse->sLastToken.z = zSql; + pParse->sLastToken.n = n; + zSql += n; + sqlParser(pEngine, tokenType, pParse->sLastToken, + pParse); pParse->line_pos += pParse->sLastToken.n; + lastTokenParsed = tokenType; + if (pParse->is_aborted) + break; } - pParse->zTail = &zSql[i]; + pParse->zTail = zSql; sqlParserFree(pEngine, free); if (pParse->pVdbe != NULL && pParse->is_aborted) { sqlVdbeDelete(pParse->pVdbe); diff --git a/src/box/sql/vdbe.c b/src/box/sql/vdbe.c index e990a2e6afdc066836556bf891f0b865e6c956ef..d07eb7fc3cdf178e574dbd5948ee9b61901329ba 100644 --- a/src/box/sql/vdbe.c +++ b/src/box/sql/vdbe.c @@ -2373,11 +2373,12 @@ case OP_TTransaction: { /* Opcode: IteratorOpen P1 P2 P3 * P5 * Synopsis: index id = P2, space ptr = reg[P3] + * P5 = cursor hints (OPFLAG_SEEKEQ, OPFLAG_EPH_DUP) * * Open a cursor for a space specified by pointer in the register P3 and index * id in P2. Give the new cursor an identifier of P1. The P1 values need not be * contiguous but all P1 values should be small integers. It is an error for P1 - * to be negative. + * to be negative. P5 is a bitmask of cursor hints. */ case OP_IteratorOpen: { struct VdbeCursor *cur = p->apCsr[pOp->p1]; @@ -2409,10 +2410,10 @@ case OP_IteratorOpen: { bt_cur->space = space; bt_cur->index = index; bt_cur->eState = CURSOR_INVALID; + bt_cur->hints = pOp->p5; /* Key info still contains sorter order and collation. */ cur->key_def = index->def->key_def; cur->nullRow = 1; - cur->uc.pCursor->hints = pOp->p5 & OPFLAG_SEEKEQ; break; } @@ -3286,13 +3287,17 @@ case OP_Sort: { /* jump */ /* Fall through into OP_Rewind */ FALLTHROUGH; } -/* Opcode: Rewind P1 P2 * * * +/* Opcode: Rewind P1 P2 * * P5 * * The next use of the Column or Next instruction for P1 * will refer to the first entry in the database table or index. * If the table or index is empty, jump immediately to P2. - * If the table or index is not empty, fall through to the following - * instruction. + * If P2 is 0 or the table or index is not empty, pass through + * to the following instruction. + * + * If P5 is non-zero and the table is not empty, then the "skip-next" + * flag is set on the cursor so that the next OP_Next instruction + * executed on it is a no-op. * * This opcode leaves the cursor configured to move in forward order, * from the beginning toward the end. In other words, the cursor is @@ -3320,11 +3325,15 @@ case OP_Rewind: { /* jump */ assert(pCrsr); if (tarantoolsqlFirst(pCrsr, &res) != 0) goto abort_due_to_error; + if (pOp->p5) + pCrsr->eState = CURSOR_SKIPNEXT; pC->cacheStatus = CACHE_STALE; } pC->nullRow = (u8)res; - assert(pOp->p2>0 && pOp->p2<p->nOp); - if (res) goto jump_to_p2; + if (pOp->p2 > 0 && res) { + assert(pOp->p2 < p->nOp); + goto jump_to_p2; + } break; } @@ -4180,11 +4189,12 @@ case OP_DecrJumpZero: { /* jump, in1 */ /* Opcode: AggStep P1 P2 P3 P4 * * Synopsis: accum=r[P3] step(r[P2@P1]) + * pCtx & SQL_CTX_INVERSE: inverse() else: step() * - * Execute the step function for an aggregate. The - * function has P1 arguments. P4 is a pointer to an sql_context - * object that is used to run the function. Register P3 is - * as the accumulator. + * Execute the step or inverse (if SQL_CTX_INVERSE flag is set) function + * for an aggregate. The function has P1 arguments. P4 is a pointer to + * an sql_context object that is used to run the function. Register + * P3 is as the accumulator. * * The P1 arguments are taken from register P2 and its * successors. @@ -4211,7 +4221,13 @@ case OP_AggStep: { pCtx->skipFlag = 0; assert(pCtx->func->def->language == FUNC_LANGUAGE_SQL_BUILTIN); struct func_sql_builtin *func = (struct func_sql_builtin *)pCtx->func; - func->call(pCtx, argc, &aMem[pOp->p2]); + if (pCtx->funcFlag & SQL_CTX_INVERSE) { + /* Inverse function is called. */ + func->inverse(pCtx, argc, &aMem[pOp->p2]); + } else { + /* Step function is called. */ + func->call(pCtx, argc, &aMem[pOp->p2]); + } if (pCtx->is_aborted) goto abort_due_to_error; if (pCtx->skipFlag) { @@ -4222,22 +4238,39 @@ case OP_AggStep: { break; } -/* Opcode: AggFinal P1 * * P4 * +/* Opcode: AggFinal P1 * P3 P4 * * Synopsis: accum=r[P1] + * P3 == 0: finalize(), else: value() * * Execute the finalizer function for an aggregate. P1 is the memory location - * that is the accumulator for the aggregate. P4 is a pointer to the function. + * that is the accumulator for the aggregate or window function. If P3 is zero, + * then execute the finalizer function for an aggregate and store the result + * in P1. Or, if P3 is non-zero, invoke the value function and store the + * result in register P3. P4 is a pointer to the function. */ case OP_AggFinal: { assert(pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor)); struct func_sql_builtin *func = (struct func_sql_builtin *)pOp->p4.func; struct Mem *pIn1 = &aMem[pOp->p1]; - if (func->finalize != NULL && func->finalize(pIn1) != 0) + if (pOp->p3) { + struct Mem *pOut = &aMem[pOp->p3]; + + if (mem_copy(pOut, pIn1) != 0) + goto abort_due_to_error; + if (func->value != NULL && + func->value(pOut) != 0) + goto abort_due_to_error; + UPDATE_MAX_BLOBSIZE(pOut); + if (sqlVdbeMemTooBig(pOut) != 0) + goto too_big; + } else if (func->finalize != NULL && + func->finalize(pIn1) != 0) { goto abort_due_to_error; - UPDATE_MAX_BLOBSIZE(pIn1); - if (sqlVdbeMemTooBig(pIn1) != 0) - goto too_big; + UPDATE_MAX_BLOBSIZE(pIn1); + if (sqlVdbeMemTooBig(pIn1) != 0) + goto too_big; + } break; } diff --git a/src/box/sql/vdbeInt.h b/src/box/sql/vdbeInt.h index 0604e2602a48ed386f8b6c965b76f49c11ea47f9..711f2e91414c1972de0f4364bde13d456d898540 100644 --- a/src/box/sql/vdbeInt.h +++ b/src/box/sql/vdbeInt.h @@ -179,6 +179,7 @@ struct sql_context { */ bool is_aborted; u8 skipFlag; /* Skip accumulator loading if true */ + uint32_t funcFlag; }; /* A bitfield type for use inside of structures. Always follow with :N where diff --git a/src/box/sql/window.c b/src/box/sql/window.c new file mode 100644 index 0000000000000000000000000000000000000000..0e3e6f5d6d49bc93546b9bffc84011a85561bfcb --- /dev/null +++ b/src/box/sql/window.c @@ -0,0 +1,1764 @@ +/** + * Copyright (C) Picodata LLC - All Rights Reserved + * + * This source code is protected under international copyright law. All rights + * reserved and protected by the copyright holders. + * This file is confidential and only available to authorized individuals with + * the permission of the copyright holders. If you encounter this file and do + * not have permission, please contact the copyright holders and delete this + * file. + */ + +#include "sqlInt.h" +#include "vdbe.h" +#include "vdbeInt.h" +#include "box/sql.h" + +/* + * SELECT REWRITING + * + * Any SELECT statement that contains one or more window functions in + * either the select list or ORDER BY clause (the only two places window + * functions may be used) is transformed by function sqlWindowRewrite() + * in order to support window function processing. For example, with the + * schema: + * + * CREATE TABLE t1(a, b, c, d, e, f, g); + * + * the statement: + * + * SELECT a+1, max(b) OVER (PARTITION BY c ORDER BY d) FROM t1 ORDER BY e; + * + * is transformed to: + * + * SELECT a+1, max(b) OVER (PARTITION BY c ORDER BY d) FROM ( + * SELECT a, e, c, d, b FROM t1 ORDER BY c, d + * ) ORDER BY e; + * + * The flattening optimization is disabled when processing this transformed + * SELECT statement. This allows the implementation of the window function + * (in this case max()) to process rows sorted in order of (c, d), which + * makes things easier for obvious reasons. More generally: + * + * * FROM, WHERE, GROUP BY and HAVING clauses are all moved to + * the sub-query. + * + * * ORDER BY, LIMIT and OFFSET remain part of the parent query. + * + * * Terminals from each of the expression trees that make up the + * select-list and ORDER BY expressions in the parent query are + * selected by the sub-query. For the purposes of the transformation, + * terminals are column references and aggregate functions. + * + * If there is more than one window function in the SELECT that uses + * the same window declaration (the OVER bit), then a single scan may + * be used to process more than one window function. For example: + * + * SELECT max(b) OVER (PARTITION BY c ORDER BY d), + * min(e) OVER (PARTITION BY c ORDER BY d) + * FROM t1; + * + * is transformed in the same way as the example above. However: + * + * SELECT max(b) OVER (PARTITION BY c ORDER BY d), + * min(e) OVER (PARTITION BY a ORDER BY b) + * FROM t1; + * + * Must be transformed to: + * + * SELECT max(b) OVER (PARTITION BY c ORDER BY d) FROM ( + * SELECT e, min(e) OVER (PARTITION BY a ORDER BY b), c, d, b FROM + * SELECT a, e, c, d, b FROM t1 ORDER BY a, b + * ) ORDER BY c, d + * ) ORDER BY e; + * + * so that both min() and max() may process rows in the order defined by + * their respective window declarations. + * + * INTERFACE WITH SELECT.C + * + * When processing the rewritten SELECT statement, code in select.c calls + * sqlWhereBegin() to begin iterating through the results of the + * sub-query, which is always implemented as a co-routine. It then calls + * sqlWindowCodeStep() to process rows and finish the scan by calling + * sqlWhereEnd(). + * + * sqlWindowCodeStep() generates VM code so that, for each row returned + * by the sub-query a sub-routine (OP_Gosub) coded by select.c is invoked. + * When the sub-routine is invoked: + * + * * The results of all window-functions for the row are stored + * in the associated Window.regResult registers. + * + * * The required terminal values are stored in the current row of + * temp table Window.iEphCsr. + * + * In some cases, depending on the window frame and the specific window + * functions invoked, sqlWindowCodeStep() caches each entire partition + * in a temp table before returning any rows. In other cases it does not. + * This detail is encapsulated within this file, the code generated by + * select.c is the same in either case. + * + * BUILT-IN WINDOW FUNCTIONS + * + * This implementation features the following built-in window functions: + * + * row_number() + * + * Not implemented: + * rank() + * dense_rank() + * percent_rank() + * cume_dist() + * ntile(N) + * lead(expr [, offset [, default]]) + * lag(expr [, offset [, default]]) + * first_value(expr) + * last_value(expr) + * nth_value(expr, N) + * + * These are the same built-in window functions supported by Postgres. + * Although the behaviour of aggregate window functions (functions that + * can be used as either aggregates or window functions) allows them to + * be implemented using an API, built-in window functions are much more + * esoteric. Additionally, some window functions (e.g. nth_value()) + * may only be implemented by caching the entire partition in memory. + * As such, some built-in window functions use the same API as aggregate + * window functions and some are implemented directly using VDBE + * instructions. Additionally, for those functions that use the API, the + * window frame is sometimes modified before the SELECT statement is + * rewritten. For example, regardless of the specified window frame, the + * row_number() function always uses: + * + * ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * + * See sqlWindowUpdate() for details. + * + * As well as some of the built-in window functions, aggregate window + * functions min() and max() are implemented using VDBE instructions if + * the start of the window frame is declared as anything other than + * UNBOUNDED PRECEDING. + */ + +/* + * This function is called immediately after resolving the function name + * for a window function within a SELECT statement. Argument pList is a + * linked list of WINDOW definitions for the current SELECT statement. + * Argument pFunc is the function definition just resolved and pWin + * is the Window object representing the associated OVER clause. This + * function updates the contents of pWin as follows: + * + * * If the OVER clause referred to a named window (as in "max(x) OVER win"), + * search list pList for a matching WINDOW definition, and update pWin + * accordingly. If no such WINDOW clause can be found, leave an error + * in pParse. + * + * * If the function is a built-in window function that requires the + * window to be coerced (see "BUILT-IN WINDOW FUNCTIONS" at the top + * of this file), pWin is updated here. + */ +void +sqlWindowUpdate( + Parse *pParse, + Window *pList, /* List of named windows for this SELECT */ + Window *pWin, /* Window frame to update */ + struct func *pFunc) /* Window function definition */ +{ + if (pWin->zName && pWin->eType == 0) { + Window *p; + for (p = pList; p; p = p->pNextWin) { + if (sqlStrICmp(p->zName, pWin->zName) == 0) + break; + } + if (p == 0) { + const char *err_msg = tt_sprintf("no such window: %s", + pWin->zName); + diag_set(ClientError, ER_SQL_PARSER_GENERIC, err_msg); + pParse->is_aborted = true; + return; + } + pWin->pPartition = sql_expr_list_dup(p->pPartition, 0); + pWin->pOrderBy = sql_expr_list_dup(p->pOrderBy, 0); + pWin->pStart = sqlExprDup(p->pStart, 0); + pWin->pEnd = sqlExprDup(p->pEnd, 0); + pWin->eStart = p->eStart; + pWin->eEnd = p->eEnd; + pWin->eType = p->eType; + } + uint32_t flags = sql_func_flags(pFunc->def->name); + if ((flags & SQL_FUNC_WINDOW) != 0) { + if (pWin->pFilter) { + const char *err_msg; + err_msg = tt_sprintf("%s %s", + "FILTER clause may only be used", + "with aggregate window functions"); + diag_set(ClientError, ER_SQL_PARSER_GENERIC, err_msg); + pParse->is_aborted = true; + } else { + /* The only supported window function is row_number() */ + pWin->pStart = 0; + pWin->pEnd = 0; + pWin->eType = TK_ROWS; + pWin->eStart = TK_UNBOUNDED; + pWin->eEnd = TK_CURRENT; + } + } + pWin->pFunc = pFunc; +} + +/* + * Context object passed through sqlWalkExprList() to + * selectWindowRewriteExprCb() by selectWindowRewriteEList(). + */ +struct WindowRewrite { + /* Windows for this traversal */ + Window *pWin; + /* Rewritten expression list */ + ExprList *pSub; +}; + +/* + * Callback function used by selectWindowRewriteEList(). If necessary, + * this function appends to the output expression-list and updates + * expression (*ppExpr) in place. + */ +static int +selectWindowRewriteExprCb(Walker *pWalker, Expr *pExpr) +{ + struct WindowRewrite *p = pWalker->u.pRewrite; + ExprClearProperty(pExpr, EP_Resolved); + + switch (pExpr->op) { + case TK_FUNCTION: + if (pExpr->pWin == 0) { + break; + } + Window *pWin; + for (pWin = p->pWin; pWin; pWin = pWin->pNextWin) { + if (pExpr->pWin == pWin) { + assert(pWin->pOwner == pExpr); + return WRC_Prune; + } + } + FALLTHROUGH; + case TK_AGG_FUNCTION: + case TK_COLUMN_REF: { + Expr *pDup = sqlExprDup(pExpr, 0); + p->pSub = sql_expr_list_append(p->pSub, pDup); + if (p->pSub) { + assert(ExprHasProperty(pExpr, EP_Static) == 0); + ExprSetProperty(pExpr, EP_Static); + sql_expr_delete(pExpr); + ExprClearProperty(pExpr, EP_Static); + memset(pExpr, 0, sizeof(Expr)); + + pExpr->op = TK_WIN_COLUMN; + pExpr->pLeft = pDup; + /* + * We mark the window column EP_Leaf to be sure, + * that its left child is removed exactly once, + * when the p->pSub is freed. It also prevents + * us from recursion in the walker. + */ + ExprSetProperty(pExpr, EP_Leaf); + pExpr->iColumn = p->pSub->nExpr - 1; + pExpr->iTable = p->pWin->iEphCsr; + } + + break; + } + default: /* no-op */ + break; + } + return WRC_Continue; +} + +static int +selectWindowRewriteSelectCb(Walker *pWalker, Select *pSelect) +{ + (void)pWalker; + (void)pSelect; + return WRC_Prune; +} + +/* + * Iterate through each expression in expression-list pEList. For each: + * + * * TK_COLUMN_REF, + * * aggregate function, or + * * window function with a Window object that is not a member of the + * linked list passed as the second argument (pWin) + * + * Append the node to output expression-list (*ppSub). And replace it + * with a TK_COLUMN_REF that reads the (N-1)th element of table + * pWin->iEphCsr, where N is the number of elements in (*ppSub) after + * appending the new one. + */ +static void +selectWindowRewriteEList( + Parse *pParse, + Window *pWin, + ExprList *pEList, /* Rewrite expressions in this list */ + ExprList **ppSub) /* IN/OUT: Sub-select expression-list */ +{ + Walker sWalker; + struct WindowRewrite sRewrite; + + memset(&sWalker, 0, sizeof(Walker)); + memset(&sRewrite, 0, sizeof(struct WindowRewrite)); + + sRewrite.pSub = *ppSub; + sRewrite.pWin = pWin; + + sWalker.pParse = pParse; + sWalker.xExprCallback = selectWindowRewriteExprCb; + sWalker.xSelectCallback = selectWindowRewriteSelectCb; + sWalker.u.pRewrite = &sRewrite; + + (void)sqlWalkExprList(&sWalker, pEList); + + *ppSub = sRewrite.pSub; +} + +/* + * Append a copy of each expression in expression-list pAppend to + * expression list pList. Return a pointer to the result list. + */ +static ExprList * +exprListAppendList( + ExprList *pList, /* List to which to append. Might be NULL */ + ExprList *pAppend) /* List of values to append. Might be NULL */ +{ + if (pAppend) { + int i; + int nInit = pList ? pList->nExpr : 0; + for (i = 0; i < pAppend->nExpr; i++) { + Expr *pDup = sqlExprDup(pAppend->a[i].pExpr, 0); + pList = sql_expr_list_append(pList, pDup); + if (pList) + pList->a[nInit + i].sort_order = + pAppend->a[i].sort_order; + } + } + return pList; +} + +/* + * If the SELECT statement passed as the second argument does not invoke + * any SQL window functions, this function is a no-op. Otherwise, it + * rewrites the SELECT statement so that window function xStep functions + * are invoked in the correct order as described under "SELECT REWRITING" + * at the top of this file. + */ +int +sqlWindowRewrite(Parse *pParse, Select *p) +{ + int rc = 0; + if (p->pWin) { + Vdbe *v = sqlGetVdbe(pParse); + /* The subquery */ + Select *pSub = 0; + SrcList *pSrc = p->pSrc; + Expr *pWhere = p->pWhere; + ExprList *pGroupBy = p->pGroupBy; + Expr *pHaving = p->pHaving; + ExprList *pSort = 0; + + /* Expression list for sub-query */ + ExprList *pSublist = 0; + /* Master window object */ + Window *pMWin = p->pWin; + /* Window object iterator */ + Window *pWin; + + p->pSrc = 0; + p->pWhere = 0; + p->pGroupBy = 0; + p->pHaving = 0; + + /* + * Create the ORDER BY clause for the sub-select. + * This is the concatenation + * of the window PARTITION and ORDER BY clauses. + * Then, if this makes it redundant, + * remove the ORDER BY from the parent SELECT. + */ + pSort = sql_expr_list_dup(pMWin->pPartition, 0); + pSort = exprListAppendList(pSort, pMWin->pOrderBy); + if (pSort && p->pOrderBy) { + if (sqlExprListCompare(pSort, p->pOrderBy, -1) == 0) { + sql_expr_list_delete(p->pOrderBy); + p->pOrderBy = 0; + } + } + + /* + * Assign a cursor number + * for the ephemeral table used to buffer rows. + * The OpenTEphemeral instruction is coded later, + * after it is known how many columns the table will have. + */ + pMWin->iEphCsr = pParse->nTab++; + pMWin->regEph = ++pParse->nMem; + + selectWindowRewriteEList(pParse, pMWin, p->pEList, &pSublist); + selectWindowRewriteEList(pParse, pMWin, p->pOrderBy, &pSublist); + pMWin->nBufferCol = (pSublist ? pSublist->nExpr : 0); + + /* + * Append the PARTITION BY and ORDER BY expressions to the + * sub-select expression list. + * They are required to figure out where + * boundaries for partitions and sets of peer rows lie. + */ + pSublist = exprListAppendList(pSublist, pMWin->pPartition); + pSublist = exprListAppendList(pSublist, pMWin->pOrderBy); + + /* + * Append the arguments passed to each window function to the + * sub-select expression list. + * Also allocate two registers for each + * window function - one for the accumulator, + * another for interim results. + */ + for (pWin = pMWin; pWin; pWin = pWin->pNextWin) { + pWin->iArgCol = (pSublist ? pSublist->nExpr : 0); + pSublist = exprListAppendList(pSublist, + pWin->pOwner->x.pList); + if (pWin->pFilter) { + Expr *pFilter = sqlExprDup(pWin->pFilter, 0); + pSublist = sql_expr_list_append(pSublist, + pFilter); + } + pWin->regAccum = ++pParse->nMem; + pWin->regResult = ++pParse->nMem; + sqlVdbeAddOp2(v, OP_Null, 0, pWin->regAccum); + } + + /* If there is no ORDER BY or PARTITION BY clause, + * and the window function accepts zero arguments, + * and there are no other columns selected + * (e.g. "SELECT row_number() OVER () FROM t1"), it is possible + * that pSublist is still NULL here. + * Add a constant expression here to + * keep everything legal in this case. + */ + if (pSublist == 0) { + Token t; + sqlTokenInit(&t, "0"); + pSublist = sql_expr_list_append( + 0, + sql_expr_new(TK_INTEGER, &t)); + } + + pSub = sqlSelectNew(pParse, pSublist, pSrc, pWhere, pGroupBy, + pHaving, pSort, 0, 0, 0); + p->pSrc = sql_src_list_append(0, 0); + p->pSrc->a[0].pSelect = pSub; + sqlSrcListAssignCursors(pParse, p->pSrc); + sqlExpandSubquery(pParse, &p->pSrc->a[0]); + pSub->selFlags |= SF_Expanded; + p->selFlags &= ~SF_Aggregate; + sqlSelectPrep(pParse, pSub, 0); + + /* + * Ephemeral table requires PK, so append a rowid to the end + * of the list. + * Rowid acts as a primary key for the ephemeral table. + */ + struct sql_space_info *info; + info = sql_space_info_new_from_expr_list(pParse, pSublist, + true); + info->part_count = 1; + info->sort_orders[0] = SORT_ORDER_ASC; + info->parts[0] = pSublist->nExpr; + + sqlVdbeAddOp4(v, OP_OpenTEphemeral, pMWin->regEph, + 0, 0, (char *)info, P4_DYNAMIC); + sqlVdbeAddOp3(v, OP_IteratorOpen, pMWin->iEphCsr, + 0, pMWin->regEph); + } + + return rc; +} + +/* + * Free the Window object passed as the second argument. + */ +void +sqlWindowDelete(Window *p) +{ + if (p) { + sql_expr_delete(p->pFilter); + sql_expr_list_delete(p->pPartition); + sql_expr_list_delete(p->pOrderBy); + sql_expr_delete(p->pEnd); + sql_expr_delete(p->pStart); + sql_xfree(p->zName); + sql_xfree(p); + } +} + +/* + * Free the linked list of Window objects starting at the second argument. + */ +void +sqlWindowListDelete(Window *p) +{ + while (p) { + Window *pNext = p->pNextWin; + sqlWindowDelete(p); + p = pNext; + } +} + +/* + * Allocate and return a new Window object. + */ +Window * +sqlWindowAlloc( + int eType, + int eStart, Expr *pStart, + int eEnd, Expr *pEnd) +{ + Window *pWin = (Window *)sql_xmalloc0(sizeof(Window)); + pWin->eType = eType; + pWin->eStart = eStart; + pWin->eEnd = eEnd; + pWin->pEnd = pEnd; + pWin->pStart = pStart; + return pWin; +} + +/* + * Attach window object pWin to expression p. + */ +void +sqlWindowAttach(Expr *p, Window *pWin) +{ + if (p) { + p->pWin = pWin; + if (pWin) + pWin->pOwner = p; + } else { + sqlWindowDelete(pWin); + } +} + +/* + * Return 0 if the two window objects are identical, or non-zero otherwise. + * Identical window objects can be processed in a single scan. + */ +int +sqlWindowCompare(Window *p1, Window *p2) +{ + if (p1->eType != p2->eType) + return 1; + if (p1->eStart != p2->eStart) + return 1; + if (p1->eEnd != p2->eEnd) + return 1; + if (sqlExprCompare(p1->pStart, p2->pStart, -1)) + return 1; + if (sqlExprCompare(p1->pEnd, p2->pEnd, -1)) + return 1; + if (sqlExprListCompare(p1->pPartition, p2->pPartition, -1)) + return 1; + if (sqlExprListCompare(p1->pOrderBy, p2->pOrderBy, -1)) + return 1; + return 0; +} + +/* + * This is called by code in select.c before it calls sqlWhereBegin() + * to begin iterating through the sub-query results. It is used to allocate + * and initialize registers and cursors used by sqlWindowCodeStep(). + */ +void +sqlWindowCodeInit(Parse *pParse, Window *pMWin) +{ + Window *pWin; + Vdbe *v = sqlGetVdbe(pParse); + int nPart = (pMWin->pPartition ? pMWin->pPartition->nExpr : 0); + nPart += (pMWin->pOrderBy ? pMWin->pOrderBy->nExpr : 0); + if (nPart) { + pMWin->regPart = pParse->nMem + 1; + pParse->nMem += nPart; + sqlVdbeAddOp3(v, OP_Null, 0, pMWin->regPart, + pMWin->regPart + nPart - 1); + } + + for (pWin = pMWin; pWin; pWin = pWin->pNextWin) { + struct func *p = pWin->pFunc; + uint32_t flags = sql_func_flags(p->def->name); + bool is_minmax = (flags & SQL_FUNC_MIN) || + (flags & SQL_FUNC_MAX); + if (is_minmax && pWin->eStart != TK_UNBOUNDED) { + /* The inline versions of min() and max() + * require a single ephemeral table and 3 registers. + * The registers are used as follows: + * + * regApp+0: slot to copy min()/max() + * argument to for MakeRecord + * regApp+1: integer value used + * to ensure keys are unique + * regApp+2: output of MakeRecord + */ + ExprList *pList = pWin->pOwner->x.pList; + /* + * Ephemeral table requires PK, + * so append a rowid to the end + * of the list. Rowid acts as a primary key + * for the ephemeral table. + */ + struct sql_space_info *info; + info = sql_space_info_new_from_expr_list(pParse, + pList, true); + pWin->csrApp = pParse->nTab++; + pWin->regAppCsr = pParse->nMem + 1; + ++pParse->nMem; + pWin->regApp = pParse->nMem + 1; + pParse->nMem += 3; + + sqlVdbeAddOp4(v, OP_OpenTEphemeral, + pWin->regAppCsr, 0, 0, + (char *)info, P4_DYNAMIC); + sqlVdbeAddOp3(v, OP_IteratorOpen, pWin->csrApp, 0, + pWin->regAppCsr); + sqlVdbeAddOp2(v, OP_Integer, 0, pWin->regApp + 1); + } + } +} + +/* + * A "PRECEDING <expr>" (bEnd==0) or "FOLLOWING <expr>" (bEnd==1) has just + * been evaluated and the result left in register reg. This function generates + * VM code to check that the value is a non-negative integer and throws + * an exception if it is not. + */ +static void +windowCheckFrameValue(Parse *pParse, int reg, int bEnd) +{ + static const char *const azErr[] = { + "frame starting offset must be a non-negative integer", + "frame ending offset must be a non-negative integer" + }; + Vdbe *v = sqlGetVdbe(pParse); + int regZero = sqlGetTempReg(pParse); + sqlVdbeAddOp2(v, OP_Integer, 0, regZero); + sqlVdbeAddOp2(v, OP_MustBeInt, reg, sqlVdbeCurrentAddr(v) + 2); + sqlVdbeAddOp3(v, OP_Ge, regZero, sqlVdbeCurrentAddr(v) + 2, reg); + sqlVdbeAddOp2(v, OP_Halt, -1, ON_CONFLICT_ACTION_ABORT); + sqlVdbeAppendP4(v, (void *)azErr[bEnd], P4_STATIC); + sqlReleaseTempReg(pParse, regZero); +} + +/* + * Return the number of arguments passed to the window-function associated + * with the object passed as the only argument to this function. + */ +static int +windowArgCount(Window *pWin) +{ + ExprList *pList = pWin->pOwner->x.pList; + return pList ? pList->nExpr : 0; +} + +/* + * Generate VM code to invoke either xStep() (if bInverse is 0) or + * xInverse (if bInverse is non-zero) for each window function in the + * linked list starting at pMWin. Or, for built-in window functions + * that do not use the standard function API, generate the required + * inline VM code. + * + * If argument csr is greater than or equal to 0, then argument reg is + * the first register in an array of registers guaranteed to be large + * enough to hold the array of arguments for each function. In this case + * the arguments are extracted from the current row of csr into the + * array of registers before invoking OP_AggStep. + * + * Or, if csr is less than zero, then the array of registers at reg is + * already populated with all columns from the current row of the sub-query. + * + * If argument regPartSize is non-zero, then it is a register containing the + * number of rows in the current partition. + */ +static void +windowAggStep( + Parse *pParse, + Window *pMWin, /* Linked list of window functions */ + int csr, /* Read arguments from this cursor */ + int bInverse, /* True to invoke xInverse instead of xStep */ + int reg, /* Array of registers */ + int regPartSize) /* Register containing size of partition */ +{ + (void)regPartSize; + Vdbe *v = sqlGetVdbe(pParse); + Window *pWin; + int regHit = 0; + for (pWin = pMWin; pWin; pWin = pWin->pNextWin) { + uint32_t flags = sql_func_flags(pWin->pFunc->def->name); + int regArg; + int nArg = windowArgCount(pWin); + + if (csr >= 0) { + int i; + for (i = 0; i < nArg; i++) { + sqlVdbeAddOp3(v, OP_Column, csr, + pWin->iArgCol + i, reg + i); + } + regArg = reg; + } else { + regArg = reg + pWin->iArgCol; + } + + bool is_minmax = (flags & SQL_FUNC_MIN) || + (flags & SQL_FUNC_MAX); + if (is_minmax && pWin->eStart != TK_UNBOUNDED) { + if (bInverse == 0) { + sqlVdbeAddOp2(v, OP_AddImm, + pWin->regApp + 1, 1); + sqlVdbeAddOp2(v, OP_SCopy, + regArg, pWin->regApp); + sqlVdbeAddOp3(v, OP_MakeRecord, pWin->regApp, 2, + pWin->regApp + 2); + sqlVdbeChangeP5(v, 1); + sqlVdbeAddOp2(v, OP_IdxInsert, pWin->regApp + 2, + pWin->regAppCsr); + } else { + sqlVdbeAddOp4Int(v, OP_SeekGE, pWin->csrApp, 0, + regArg, 1); + sqlVdbeAddOp1(v, OP_Delete, pWin->csrApp); + sqlVdbeJumpHere(v, sqlVdbeCurrentAddr(v) - 2); + } + } else { + int addrIf = 0; + struct coll *coll = NULL; + if (pWin->pFilter) { + int regTmp; + assert(nArg == pWin->pOwner->x.pList->nExpr); + if (csr > 0) { + regTmp = sqlGetTempReg(pParse); + sqlVdbeAddOp3(v, OP_Column, csr, + pWin->iArgCol + nArg, + regTmp); + } else { + regTmp = regArg + nArg; + } + addrIf = sqlVdbeAddOp3(v, OP_IfNot, + regTmp, 0, 1); + if (csr > 0) { + sqlReleaseTempReg(pParse, regTmp); + } + } + if (flags &SQL_FUNC_NEEDCOLL) { + bool unused; + uint32_t id; + Expr *pExpr = pWin->pOwner->x.pList->a[0].pExpr; + if (sql_expr_coll(pParse, pExpr, &unused, &id, + &coll) != 0) { + coll = NULL; + } + if (regHit == 0) + regHit = ++pParse->nMem; + sqlVdbeAddOp1(v, OP_SkipLoad, regHit); + } + struct sql_context *ctx = sql_context_new(pWin->pFunc, + coll); + if (bInverse) + ctx->funcFlag |= SQL_CTX_INVERSE; + sqlVdbeAddOp3(v, OP_AggStep, nArg, regArg, + pWin->regAccum); + sqlVdbeAppendP4(v, ctx, P4_FUNCCTX); + if (addrIf) + sqlVdbeJumpHere(v, addrIf); + } + } +} + +/* + * Generate VM code to invoke either xValue() (bFinal==0) or xFinalize() + * (bFinal==1) for each window function in the linked list starting at + * pMWin. Or, for built-in window-functions that do not use the standard + * API, generate the equivalent VM code. + */ +static void +windowAggFinal(Parse *pParse, Window *pMWin, int bFinal) +{ + Vdbe *v = sqlGetVdbe(pParse); + Window *pWin; + + for (pWin = pMWin; pWin; pWin = pWin->pNextWin) { + uint32_t flags = sql_func_flags(pWin->pFunc->def->name); + bool is_minmax = (flags &SQL_FUNC_MIN) || + (flags &SQL_FUNC_MAX); + if (is_minmax && pWin->eStart != TK_UNBOUNDED) { + sqlVdbeAddOp2(v, OP_Null, 0, pWin->regResult); + if (flags &SQL_FUNC_MIN) + sqlVdbeAddOp3(v, OP_Rewind, pWin->csrApp, 0, 0); + else + sqlVdbeAddOp3(v, OP_Last, pWin->csrApp, 0, 0); + sqlVdbeAddOp3(v, OP_Column, pWin->csrApp, 0, + pWin->regResult); + sqlVdbeJumpHere(v, sqlVdbeCurrentAddr(v) - 2); + if (bFinal) { + sqlVdbeAddOp1(v, OP_ResetSorter, pWin->csrApp); + } + } else if (pWin->regApp) { + } else { + if (bFinal == 0) { + sqlVdbeAddOp2(v, OP_Null, 0, pWin->regResult); + } + sqlVdbeAddOp1(v, OP_AggFinal, pWin->regAccum); + sqlVdbeAppendP4(v, pWin->pFunc, P4_FUNC); + if (bFinal) { + sqlVdbeAddOp2(v, OP_Copy, pWin->regAccum, + pWin->regResult); + sqlVdbeAddOp2(v, OP_Null, 0, pWin->regAccum); + } else { + sqlVdbeChangeP3(v, -1, pWin->regResult); + } + } + } +} + +/* + * This function generates VM code to invoke the sub-routine at address + * lblFlushPart once for each partition with the entire partition cached in + * the Window.regEph temp table. + */ +static void +windowPartitionCache( + Parse *pParse, + Select *p, /* The rewritten SELECT statement */ + WhereInfo *pWInfo, /* WhereInfo to call WhereEnd() on */ + int regFlushPart, /* Register to use with Gosub lblFlushPart */ + int lblFlushPart, /* Subroutine to Gosub to */ + int *pRegSize) /* OUT: Register containing partition size */ +{ + Window *pMWin = p->pWin; + Vdbe *v = sqlGetVdbe(pParse); + int iSubCsr = p->pSrc->a[0].iCursor; + int nSub = p->pSrc->a[0].space->def->field_count; + int k; + + int reg = pParse->nMem + 1; + int regRowid = reg + nSub; + int regRecord = regRowid + 1; + + *pRegSize = regRowid; + pParse->nMem += nSub + 2; + + /* + * Martial the row returned by the sub-select into an array of + * registers. To make each record unique, a new rowid is generated + * and appended as the last column. + */ + for (k = 0; k < nSub; k++) { + sqlVdbeAddOp3(v, OP_Column, iSubCsr, k, reg + k); + } + sqlVdbeAddOp2(v, OP_NextIdEphemeral, pMWin->regEph, regRowid); + sqlVdbeAddOp3(v, OP_MakeRecord, reg, nSub + 1, regRecord); + sqlVdbeChangeP5(v, 1); + + /* + * Check if this is the start of a new partition. If so, call the + * flush_partition sub-routine. + */ + if (pMWin->pPartition) { + int addr; + struct sql_key_info *key_info; + ExprList *pPart = pMWin->pPartition; + int nPart = pPart->nExpr; + int regNewPart = reg + pMWin->nBufferCol; + key_info = sql_expr_list_to_key_info(pParse, pPart, 0); + addr = sqlVdbeAddOp3(v, OP_Compare, regNewPart, + pMWin->regPart, nPart); + sqlVdbeAppendP4(v, (void *)key_info, P4_KEYINFO); + sqlVdbeAddOp3(v, OP_Jump, addr + 2, addr + 4, addr + 2); + sqlVdbeAddOp3(v, OP_Copy, regNewPart, + pMWin->regPart, nPart - 1); + sqlVdbeAddOp2(v, OP_Gosub, regFlushPart, lblFlushPart); + } + + /* Buffer the current row in the ephemeral table. */ + sqlVdbeAddOp2(v, OP_IdxInsert, regRecord, pMWin->regEph); + + /* End of the input loop */ + sqlWhereEnd(pWInfo); + + /* Invoke "flush_partition" to deal with the final (or only) partition*/ + sqlVdbeAddOp2(v, OP_Gosub, regFlushPart, lblFlushPart); +} + +/* + * Invoke the sub-routine at regGosub (generated by code in select.c) to + * return the current row of Window.iEphCsr. If all window functions are + * aggregate window functions that use the standard API, a single + * OP_Gosub instruction is all that this routine generates. + */ +static void +windowReturnOneRow( + Parse *pParse, + Window *pMWin, + int regGosub, + int addrGosub) +{ + (void)pMWin; + Vdbe *v = sqlGetVdbe(pParse); + sqlVdbeAddOp2(v, OP_Gosub, regGosub, addrGosub); +} + +/* + * Invoke the code generated by windowReturnOneRow() and, optionally, the + * xInverse() function for each window function, for one or more rows + * from the Window.iEphCsr temp table. This routine generates VM code + * similar to: + * + * while( regCtr>0 ){ + * regCtr--; + * windowReturnOneRow() + * if( bInverse ){ + * AggStep (xInverse) + * } + * Next (Window.iEphCsr) + * } + */ +static void +windowReturnRows( + Parse *pParse, + Window *pMWin, /* List of window functions */ + int regCtr, /* Register containing number of rows */ + int regGosub, /* Register for Gosub addrGosub */ + int addrGosub, /* Address of sub-routine for ReturnOneRow */ + int regInvArg, /* Array of registers for xInverse args */ + int regInvSize) /* Register containing size of partition */ +{ + int addr; + Vdbe *v = sqlGetVdbe(pParse); + windowAggFinal(pParse, pMWin, 0); + addr = sqlVdbeAddOp3(v, OP_IfPos, regCtr, + sqlVdbeCurrentAddr(v) + 2, 1); + sqlVdbeAddOp2(v, OP_Goto, 0, 0); + windowReturnOneRow(pParse, pMWin, regGosub, addrGosub); + if (regInvArg) { + windowAggStep(pParse, pMWin, pMWin->iEphCsr, + 1, regInvArg, regInvSize); + } + sqlVdbeAddOp2(v, OP_Next, pMWin->iEphCsr, addr); + sqlVdbeJumpHere(v, addr + 1); /* The OP_Goto */ +} + +/* + * Generate code to set the accumulator register for each window function + * in the linked list passed as the second argument to NULL. And perform + * any equivalent initialization required by any built-in window functions + * in the list. + */ +static int +windowInitAccum(Parse *pParse, Window *pMWin) +{ + Vdbe *v = sqlGetVdbe(pParse); + int regArg; + int nArg = 0; + Window *pWin; + for (pWin = pMWin; pWin; pWin = pWin->pNextWin) { + uint32_t flags = sql_func_flags(pWin->pFunc->def->name); + sqlVdbeAddOp2(v, OP_Null, 0, pWin->regAccum); + nArg = MAX(nArg, windowArgCount(pWin)); + bool is_minmax = (flags &SQL_FUNC_MIN) || + (flags &SQL_FUNC_MAX); + if (is_minmax && pWin->csrApp) { + assert(pWin->eStart != TK_UNBOUNDED); + sqlVdbeAddOp1(v, OP_ResetSorter, pWin->csrApp); + sqlVdbeAddOp2(v, OP_Integer, 0, pWin->regApp + 1); + } + } + regArg = pParse->nMem + 1; + pParse->nMem += nArg; + return regArg; +} + +/* + * This function does the work of sqlWindowCodeStep() for all "ROWS" + * window frame types except for "BETWEEN UNBOUNDED PRECEDING AND CURRENT + * ROW". Pseudo-code for each follows. + * + * ROWS BETWEEN <expr1> PRECEDING AND <expr2> FOLLOWING + * + * ... + * if( new partition ){ + * Gosub flush_partition + * } + * Insert (record in eph-table) + * sqlWhereEnd() + * Gosub flush_partition + * + * flush_partition: + * Once { + * OpenDup (iEphCsr -> csrStart) + * OpenDup (iEphCsr -> csrEnd) + * } + * regStart = <expr1> // PRECEDING expression + * regEnd = <expr2> // FOLLOWING expression + * if( regStart<0 || regEnd<0 ){ error! } + * Rewind (csr,csrStart,csrEnd) // if EOF goto flush_partition_done + * Next(csrEnd) // if EOF skip aggregation step + * Aggstep (csrEnd) + * if( (regEnd--)<=0 ){ + * AggFinal (xValue) + * Gosub addrGosub + * Next(csr) // if EOF goto flush_partition_done + * if( (regStart--)<=0 ){ + * AggStep (csrStart, xInverse) + * Next(csrStart) + * } + * } + * flush_partition_done: + * ResetSorter (csr) + * Return + * + * ROWS BETWEEN <expr> PRECEDING AND CURRENT ROW + * ROWS BETWEEN CURRENT ROW AND <expr> FOLLOWING + * ROWS BETWEEN UNBOUNDED PRECEDING AND <expr> FOLLOWING + * + * These are similar to the above. For "CURRENT ROW", initialize the + * register to 0. For "UNBOUNDED PRECEDING" to infinity. + * + * ROWS BETWEEN <expr> PRECEDING AND UNBOUNDED FOLLOWING + * ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + * + * Rewind (csr,csrStart,csrEnd) // if EOF goto flush_partition_done + * while( 1 ){ + * Next(csrEnd) // Exit while(1) at EOF + * Aggstep (csrEnd) + * } + * while( 1 ){ + * AggFinal (xValue) + * Gosub addrGosub + * Next(csr) // if EOF goto flush_partition_done + * if( (regStart--)<=0 ){ + * AggStep (csrStart, xInverse) + * Next(csrStart) + * } + * } + * + * For the "CURRENT ROW AND UNBOUNDED FOLLOWING" case, the final if() + * condition is always true (as if regStart were initialized to 0). + * + * RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + * + * This is the only RANGE case handled by this routine. It modifies the + * second while( 1 ) loop in "ROWS BETWEEN CURRENT ... UNBOUNDED..." to + * be: + * + * while( 1 ){ + * AggFinal (xValue) + * while( 1 ){ + * regPeer++ + * Gosub addrGosub + * Next(csr) // if EOF goto flush_partition_done + * if( new peer ) break; + * } + * while( (regPeer--)>0 ){ + * AggStep (csrStart, xInverse) + * Next(csrStart) + * } + * } + * + * ROWS BETWEEN <expr> FOLLOWING AND <expr> FOLLOWING + * + * regEnd = regEnd - regStart + * Rewind (csr,csrStart,csrEnd) // if EOF goto flush_partition_done + * Aggstep (csrEnd) + * Next(csrEnd) // if EOF pass-through + * if( (regEnd--)<=0 ){ + * if( (regStart--)<=0 ){ + * AggFinal (xValue) + * Gosub addrGosub + * Next(csr) // if EOF goto flush_partition_done + * } + * AggStep (csrStart, xInverse) + * Next (csrStart) + * } + * + * ROWS BETWEEN <expr> PRECEDING AND <expr> PRECEDING + * + * Replace the bit after "Rewind" in the above with: + * + * if( (regEnd--)<=0 ){ + * AggStep (csrEnd) + * Next (csrEnd) + * } + * AggFinal (xValue) + * Gosub addrGosub + * Next(csr) // if EOF goto flush_partition_done + * if( (regStart--)<=0 ){ + * AggStep (csr2, xInverse) + * Next (csr2) + * } + * + */ +static void +windowCodeRowExprStep( + Parse *pParse, + Select *p, + WhereInfo *pWInfo, + int regGosub, + int addrGosub) +{ + Window *pMWin = p->pWin; + Vdbe *v = sqlGetVdbe(pParse); + int regFlushPart; /* Register for "Gosub flush_partition" */ + int lblFlushPart; /* Label for "Gosub flush_partition" */ + int lblFlushDone; /* Label for "Gosub flush_partition_done" */ + + int regArg; + int addr; + int csrStart = pParse->nTab++; + int csrEnd = pParse->nTab++; + int regStart; /* Value of <expr> PRECEDING */ + int regEnd; /* Value of <expr> FOLLOWING */ + int addrGoto; + int addrTop; + int addrIfPos1 = 0; + int addrIfPos2 = 0; + int regSize = 0; + + assert(pMWin->eStart == TK_PRECEDING || + pMWin->eStart == TK_CURRENT || + pMWin->eStart == TK_FOLLOWING || + pMWin->eStart == TK_UNBOUNDED); + assert(pMWin->eEnd == TK_FOLLOWING || + pMWin->eEnd == TK_CURRENT || + pMWin->eEnd == TK_UNBOUNDED || + pMWin->eEnd == TK_PRECEDING); + + /* Allocate register and label for the "flush_partition" sub-routine. */ + regFlushPart = ++pParse->nMem; + lblFlushPart = sqlVdbeMakeLabel(v); + lblFlushDone = sqlVdbeMakeLabel(v); + + regStart = ++pParse->nMem; + regEnd = ++pParse->nMem; + + windowPartitionCache(pParse, p, pWInfo, regFlushPart, + lblFlushPart, ®Size); + + addrGoto = sqlVdbeAddOp0(v, OP_Goto); + + /* Start of "flush_partition" */ + sqlVdbeResolveLabel(v, lblFlushPart); + sqlVdbeAddOp2(v, OP_Once, 0, sqlVdbeCurrentAddr(v) + 3); + sqlVdbeAddOp3(v, OP_IteratorOpen, csrStart, 0, pMWin->regEph); + sqlVdbeChangeP5(v, OPFLAG_EPH_DUP); + sqlVdbeAddOp3(v, OP_IteratorOpen, csrEnd, 0, pMWin->regEph); + sqlVdbeChangeP5(v, OPFLAG_EPH_DUP); + + /* If either regStart or regEnd are not non-negative integers, throw + * an exception. + */ + if (pMWin->pStart) { + sqlExprCode(pParse, pMWin->pStart, regStart); + windowCheckFrameValue(pParse, regStart, 0); + } + if (pMWin->pEnd) { + sqlExprCode(pParse, pMWin->pEnd, regEnd); + windowCheckFrameValue(pParse, regEnd, 1); + } + + /* If this is "ROWS <expr1> FOLLOWING AND ROWS <expr2> FOLLOWING", do: + * + * if( regEnd<regStart ){ + * // The frame always consists of 0 rows + * regStart = regSize; + * } + * regEnd = regEnd - regStart; + */ + if (pMWin->pEnd && pMWin->pStart && pMWin->eStart == TK_FOLLOWING) { + assert(pMWin->eEnd == TK_FOLLOWING); + sqlVdbeAddOp3(v, OP_Ge, regStart, + sqlVdbeCurrentAddr(v) + 2, regEnd); + sqlVdbeAddOp2(v, OP_Copy, regSize, regStart); + sqlVdbeAddOp3(v, OP_Subtract, regStart, regEnd, regEnd); + } + + if (pMWin->pEnd && pMWin->pStart && pMWin->eEnd == TK_PRECEDING) { + assert(pMWin->eStart == TK_PRECEDING); + sqlVdbeAddOp3(v, OP_Le, regStart, + sqlVdbeCurrentAddr(v) + 3, regEnd); + sqlVdbeAddOp2(v, OP_Copy, regSize, regStart); + sqlVdbeAddOp2(v, OP_Copy, regSize, regEnd); + } + + /* Initialize the accumulator register for each window function to NULL */ + regArg = windowInitAccum(pParse, pMWin); + + sqlVdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr, lblFlushDone); + sqlVdbeAddOp2(v, OP_Rewind, csrStart, lblFlushDone); + sqlVdbeChangeP5(v, 1); + sqlVdbeAddOp2(v, OP_Rewind, csrEnd, lblFlushDone); + sqlVdbeChangeP5(v, 1); + + /* Invoke AggStep function for each window function using the row that + * csrEnd currently points to. Or, if csrEnd is already at EOF, + * do nothing. + */ + addrTop = sqlVdbeCurrentAddr(v); + if (pMWin->eEnd == TK_PRECEDING) { + addrIfPos1 = sqlVdbeAddOp3(v, OP_IfPos, regEnd, 0, 1); + } + sqlVdbeAddOp2(v, OP_Next, csrEnd, sqlVdbeCurrentAddr(v) + 2); + addr = sqlVdbeAddOp0(v, OP_Goto); + windowAggStep(pParse, pMWin, csrEnd, 0, regArg, regSize); + if (pMWin->eEnd == TK_UNBOUNDED) { + sqlVdbeAddOp2(v, OP_Goto, 0, addrTop); + sqlVdbeJumpHere(v, addr); + addrTop = sqlVdbeCurrentAddr(v); + } else { + sqlVdbeJumpHere(v, addr); + if (pMWin->eEnd == TK_PRECEDING) { + sqlVdbeJumpHere(v, addrIfPos1); + } + } + + if (pMWin->eEnd == TK_FOLLOWING) { + addrIfPos1 = sqlVdbeAddOp3(v, OP_IfPos, regEnd, 0, 1); + } + if (pMWin->eStart == TK_FOLLOWING) { + addrIfPos2 = sqlVdbeAddOp3(v, OP_IfPos, regStart, 0, 1); + } + windowAggFinal(pParse, pMWin, 0); + windowReturnOneRow(pParse, pMWin, regGosub, addrGosub); + sqlVdbeAddOp2(v, OP_Next, pMWin->iEphCsr, sqlVdbeCurrentAddr(v) + 2); + sqlVdbeAddOp2(v, OP_Goto, 0, lblFlushDone); + if (pMWin->eStart == TK_FOLLOWING) { + sqlVdbeJumpHere(v, addrIfPos2); + } + + if (pMWin->eStart == TK_CURRENT || + pMWin->eStart == TK_PRECEDING || + pMWin->eStart == TK_FOLLOWING){ + int addrJumpHere = 0; + if (pMWin->eStart == TK_PRECEDING) { + addrJumpHere = sqlVdbeAddOp3(v, OP_IfPos, + regStart, 0, 1); + } + sqlVdbeAddOp2(v, OP_Next, csrStart, sqlVdbeCurrentAddr(v) + 1); + windowAggStep(pParse, pMWin, csrStart, 1, regArg, regSize); + if (addrJumpHere) { + sqlVdbeJumpHere(v, addrJumpHere); + } + } + if (pMWin->eEnd == TK_FOLLOWING) { + sqlVdbeJumpHere(v, addrIfPos1); + } + sqlVdbeAddOp2(v, OP_Goto, 0, addrTop); + + /* flush_partition_done: */ + sqlVdbeResolveLabel(v, lblFlushDone); + sqlVdbeAddOp1(v, OP_ResetSorter, pMWin->iEphCsr); + sqlVdbeAddOp1(v, OP_Return, regFlushPart); + + /* Jump to here to skip over flush_partition */ + sqlVdbeJumpHere(v, addrGoto); +} + +/* + * This function does the work of sqlWindowCodeStep() for cases that + * would normally be handled by windowCodeDefaultStep() when there are + * one or more built-in window-functions that require the entire partition + * to be cached in a temp table before any rows can be returned. Additionally. + * "RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING" is always handled by + * this function. + * + * Pseudo-code corresponding to the VM code generated by this function + * for each type of window follows. + * + * RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * + * flush_partition: + * Once { + * OpenDup (iEphCsr -> csrLead) + * } + * Integer ctr 0 + * foreach row (csrLead){ + * if( new peer ){ + * AggFinal (xValue) + * for(i=0; i<ctr; i++){ + * Gosub addrGosub + * Next iEphCsr + * } + * Integer ctr 0 + * } + * AggStep (csrLead) + * Incr ctr + * } + * + * AggFinal (xFinalize) + * for(i=0; i<ctr; i++){ + * Gosub addrGosub + * Next iEphCsr + * } + * + * ResetSorter (csr) + * Return + * + * ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * + * As above, except that the "if( new peer )" branch is always taken. + * + * RANGE BETWEEN CURRENT ROW AND CURRENT ROW + * + * As above, except that each of the for() loops becomes: + * + * for(i=0; i<ctr; i++){ + * Gosub addrGosub + * AggStep (xInverse, iEphCsr) + * Next iEphCsr + * } + * + * RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + * + * flush_partition: + * Once { + * OpenDup (iEphCsr -> csrLead) + * } + * foreach row (csrLead) { + * AggStep (csrLead) + * } + * foreach row (iEphCsr) { + * Gosub addrGosub + * } + * + * RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + * + * flush_partition: + * Once { + * OpenDup (iEphCsr -> csrLead) + * } + * foreach row (csrLead){ + * AggStep (csrLead) + * } + * Rewind (csrLead) + * Integer ctr 0 + * foreach row (csrLead){ + * if( new peer ){ + * AggFinal (xValue) + * for(i=0; i<ctr; i++){ + * Gosub addrGosub + * AggStep (xInverse, iEphCsr) + * Next iEphCsr + * } + * Integer ctr 0 + * } + * Incr ctr + * } + * + * AggFinal (xFinalize) + * for(i=0; i<ctr; i++){ + * Gosub addrGosub + * Next iEphCsr + * } + * + * ResetSorter (csr) + * Return + */ +static void +windowCodeCacheStep( + Parse *pParse, + Select *p, + WhereInfo *pWInfo, + int regGosub, + int addrGosub) +{ + Window *pMWin = p->pWin; + Vdbe *v = sqlGetVdbe(pParse); + int k; + int addr; + ExprList *pPart = pMWin->pPartition; + ExprList *pOrderBy = pMWin->pOrderBy; + int nPeer = pOrderBy ? pOrderBy->nExpr : 0; + int regNewPeer; + + int addrGoto; /* Address of Goto used to jump flush_par.. */ + int addrNext; /* Jump here for next iteration of loop */ + int regFlushPart; + int lblFlushPart; + int csrLead; + int regCtr; + int regArg; /* Register array to martial function args */ + int regSize; + int lblEmpty; + int bReverse = pMWin->pOrderBy && pMWin->eStart == TK_CURRENT && + pMWin->eEnd == TK_UNBOUNDED; + + assert((pMWin->eStart == TK_UNBOUNDED && pMWin->eEnd == TK_CURRENT) || + (pMWin->eStart == TK_UNBOUNDED && pMWin->eEnd == TK_UNBOUNDED) || + (pMWin->eStart == TK_CURRENT && pMWin->eEnd == TK_CURRENT) || + (pMWin->eStart == TK_CURRENT && + pMWin->eEnd == TK_UNBOUNDED)); + + lblEmpty = sqlVdbeMakeLabel(v); + regNewPeer = pParse->nMem + 1; + pParse->nMem += nPeer; + + /* Allocate register and label for the "flush_partition" sub-routine. */ + regFlushPart = ++pParse->nMem; + lblFlushPart = sqlVdbeMakeLabel(v); + + csrLead = pParse->nTab++; + regCtr = ++pParse->nMem; + + windowPartitionCache(pParse, p, pWInfo, + regFlushPart, lblFlushPart, ®Size); + addrGoto = sqlVdbeAddOp0(v, OP_Goto); + + /* Start of "flush_partition" */ + sqlVdbeResolveLabel(v, lblFlushPart); + sqlVdbeAddOp2(v, OP_Once, 0, sqlVdbeCurrentAddr(v) + 2); + sqlVdbeAddOp3(v, OP_IteratorOpen, csrLead, 0, pMWin->regEph); + sqlVdbeChangeP5(v, OPFLAG_EPH_DUP); + + /* Initialize the accumulator register for each window function to NULL */ + regArg = windowInitAccum(pParse, pMWin); + + sqlVdbeAddOp2(v, OP_Integer, 0, regCtr); + sqlVdbeAddOp2(v, OP_Rewind, csrLead, lblEmpty); + sqlVdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr, lblEmpty); + + if (bReverse) { + int addr = sqlVdbeCurrentAddr(v); + windowAggStep(pParse, pMWin, csrLead, 0, regArg, regSize); + sqlVdbeAddOp2(v, OP_Next, csrLead, addr); + sqlVdbeAddOp2(v, OP_Rewind, csrLead, lblEmpty); + } + addrNext = sqlVdbeCurrentAddr(v); + + if (pOrderBy && (pMWin->eEnd == TK_CURRENT || + pMWin->eStart == TK_CURRENT)) { + int bCurrent = (pMWin->eStart == TK_CURRENT); + int addrJump = 0; /* Address of OP_Jump below */ + if (pMWin->eType == TK_RANGE) { + int iOff = pMWin->nBufferCol + (pPart ? + pPart->nExpr : 0); + int regPeer = pMWin->regPart + (pPart ? + pPart->nExpr : 0); + struct sql_key_info *key_info; + key_info = sql_expr_list_to_key_info(pParse, + pOrderBy, 0); + for (k = 0; k < nPeer; k++) { + sqlVdbeAddOp3(v, OP_Column, csrLead, iOff + k, + regNewPeer + k); + } + addr = sqlVdbeAddOp3(v, OP_Compare, regNewPeer, + regPeer, nPeer); + sqlVdbeAppendP4(v, (void *)key_info, P4_KEYINFO); + addrJump = sqlVdbeAddOp3(v, OP_Jump, addr + 2, + 0, addr + 2); + sqlVdbeAddOp3(v, OP_Copy, regNewPeer, regPeer, + nPeer - 1); + } + + windowReturnRows(pParse, pMWin, regCtr, regGosub, addrGosub, + (bCurrent ? regArg : 0), + (bCurrent ? regSize : 0)); + if (addrJump) + sqlVdbeJumpHere(v, addrJump); + } + + if (bReverse == 0) { + windowAggStep(pParse, pMWin, csrLead, 0, regArg, regSize); + } + sqlVdbeAddOp2(v, OP_AddImm, regCtr, 1); + sqlVdbeAddOp2(v, OP_Next, csrLead, addrNext); + + windowReturnRows(pParse, pMWin, regCtr, regGosub, addrGosub, 0, 0); + + sqlVdbeResolveLabel(v, lblEmpty); + sqlVdbeAddOp1(v, OP_ResetSorter, pMWin->iEphCsr); + sqlVdbeAddOp1(v, OP_Return, regFlushPart); + + /* Jump to here to skip over flush_partition */ + sqlVdbeJumpHere(v, addrGoto); +} + +/* + * RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * + * ... + * if( new partition ){ + * AggFinal (xFinalize) + * Gosub addrGosub + * ResetSorter eph-table + * } + * else if( new peer ){ + * AggFinal (xValue) + * Gosub addrGosub + * ResetSorter eph-table + * } + * AggStep + * Insert (record into eph-table) + * sqlWhereEnd() + * AggFinal (xFinalize) + * Gosub addrGosub + * + * RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + * + * As above, except take no action for a "new peer". Invoke + * the sub-routine once only for each partition. + * + * RANGE BETWEEN CURRENT ROW AND CURRENT ROW + * + * As above, except that the "new peer" condition is handled in the + * same way as "new partition" (so there is no "else if" block). + * + * ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * + * As above, except assume every row is a "new peer". + */ +static void +windowCodeDefaultStep( + Parse *pParse, + Select *p, + WhereInfo *pWInfo, + int regGosub, + int addrGosub) +{ + Window *pMWin = p->pWin; + Vdbe *v = sqlGetVdbe(pParse); + int k; + int iSubCsr = p->pSrc->a[0].iCursor; + int nSub = p->pSrc->a[0].space->def->field_count; + int reg = pParse->nMem + 1; + int regRowid = reg + nSub; + int regRecord = regRowid + 1; + int addr; + ExprList *pPart = pMWin->pPartition; + ExprList *pOrderBy = pMWin->pOrderBy; + + assert(pMWin->eType == TK_RANGE || + (pMWin->eStart == TK_UNBOUNDED && pMWin->eEnd == TK_CURRENT)); + + assert((pMWin->eStart == TK_UNBOUNDED && pMWin->eEnd == TK_CURRENT) || + (pMWin->eStart == TK_UNBOUNDED && pMWin->eEnd == TK_UNBOUNDED) || + (pMWin->eStart == TK_CURRENT && pMWin->eEnd == TK_CURRENT) || + (pMWin->eStart == TK_CURRENT && pMWin->eEnd == TK_UNBOUNDED && + !pOrderBy)); + + if (pMWin->eEnd == TK_UNBOUNDED) { + pOrderBy = 0; + } + + pParse->nMem += nSub + 2; + + /* + * Martial the row returned by the sub-select into an array of + * registers. + */ + for (k = 0; k < nSub; k++) { + sqlVdbeAddOp3(v, OP_Column, iSubCsr, k, reg + k); + } + + /* Check if this is the start of a new partition or peer group. */ + if (pPart || pOrderBy) { + int nPart = (pPart ? pPart->nExpr : 0); + int addrGoto = 0; + int addrJump = 0; + int nPeer = (pOrderBy ? pOrderBy->nExpr : 0); + + if (pPart) { + int regNewPart = reg + pMWin->nBufferCol; + struct sql_key_info *key_info; + key_info = sql_expr_list_to_key_info(pParse, pPart, 0); + addr = sqlVdbeAddOp3(v, OP_Compare, regNewPart, + pMWin->regPart, nPart); + sqlVdbeAppendP4(v, (void *)key_info, P4_KEYINFO); + addrJump = sqlVdbeAddOp3(v, OP_Jump, addr + 2, + 0, addr + 2); + windowAggFinal(pParse, pMWin, 1); + if (pOrderBy) { + addrGoto = sqlVdbeAddOp0(v, OP_Goto); + } + } + + if (pOrderBy) { + int regNewPeer = reg + pMWin->nBufferCol + nPart; + int regPeer = pMWin->regPart + nPart; + + if (addrJump) + sqlVdbeJumpHere(v, addrJump); + if (pMWin->eType == TK_RANGE) { + struct sql_key_info *key_info; + key_info = sql_expr_list_to_key_info(pParse, + pOrderBy, + 0); + addr = sqlVdbeAddOp3(v, OP_Compare, regNewPeer, + regPeer, nPeer); + sqlVdbeAppendP4(v, (void *)key_info, + P4_KEYINFO); + addrJump = sqlVdbeAddOp3(v, OP_Jump, addr + 2, + 0, addr + 2); + } else { + addrJump = 0; + } + windowAggFinal(pParse, pMWin, + pMWin->eStart == TK_CURRENT); + if (addrGoto) + sqlVdbeJumpHere(v, addrGoto); + } + + sqlVdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr, + sqlVdbeCurrentAddr(v) + 3); + sqlVdbeAddOp2(v, OP_Gosub, regGosub, addrGosub); + sqlVdbeAddOp2(v, OP_Next, pMWin->iEphCsr, + sqlVdbeCurrentAddr(v) - 1); + + sqlVdbeAddOp1(v, OP_ResetSorter, pMWin->iEphCsr); + sqlVdbeAddOp3(v, OP_Copy, reg + pMWin->nBufferCol, + pMWin->regPart, nPart + nPeer - 1); + + if (addrJump) + sqlVdbeJumpHere(v, addrJump); + } + + /* Invoke step function for window functions */ + windowAggStep(pParse, pMWin, -1, 0, reg, 0); + + /* Buffer the current row in the ephemeral table. */ + sqlVdbeAddOp2(v, OP_NextIdEphemeral, pMWin->regEph, regRowid); + sqlVdbeAddOp3(v, OP_MakeRecord, reg, nSub + 1, regRecord); + sqlVdbeChangeP5(v, 1); + sqlVdbeAddOp2(v, OP_IdxInsert, regRecord, pMWin->regEph); + + /* End the database scan loop. */ + sqlWhereEnd(pWInfo); + + windowAggFinal(pParse, pMWin, 1); + sqlVdbeAddOp2(v, OP_Rewind, pMWin->iEphCsr, sqlVdbeCurrentAddr(v) + 3); + sqlVdbeAddOp2(v, OP_Gosub, regGosub, addrGosub); + sqlVdbeAddOp2(v, OP_Next, pMWin->iEphCsr, sqlVdbeCurrentAddr(v) - 1); +} + +/* + * Allocate and return a duplicate of the Window object indicated by the + * third argument. Set the Window.pOwner field of the new object to + * pOwner. + */ +Window * +sqlWindowDup(Expr *pOwner, Window *p) +{ + Window *pNew = 0; + if (p) { + pNew = sql_xmalloc0(sizeof(Window)); + pNew->zName = sql_xstrdup(p->zName); + pNew->pFilter = sqlExprDup(p->pFilter, 0); + pNew->pPartition = sql_expr_list_dup(p->pPartition, 0); + pNew->pOrderBy = sql_expr_list_dup(p->pOrderBy, 0); + pNew->eType = p->eType; + pNew->eEnd = p->eEnd; + pNew->eStart = p->eStart; + pNew->pStart = sqlExprDup(p->pStart, 0); + pNew->pEnd = sqlExprDup(p->pEnd, 0); + pNew->pOwner = pOwner; + } + return pNew; +} + +/* + * Return a copy of the linked list of Window objects passed as the + * second argument. + */ +Window * +sqlWindowListDup(Window *p) +{ + Window *pWin; + Window *pRet = 0; + Window **pp = &pRet; + + for (pWin = p; pWin; pWin = pWin->pNextWin) { + *pp = sqlWindowDup(0, pWin); + if (*pp == 0) + break; + pp = &((*pp)->pNextWin); + } + + return pRet; +} + +/* + * sqlWhereBegin() has already been called for the SELECT statement + * passed as the second argument when this function is invoked. It generates + * code to populate the Window.regResult register for each window function and + * invoke the sub-routine at instruction addrGosub once for each row. + * This function calls sqlWhereEnd() before returning. + */ +void +sqlWindowCodeStep( + Parse *pParse, /* Parse context */ + Select *p, /* Rewritten SELECT statement */ + WhereInfo *pWInfo, /* Context returned by sqlWhereBegin() */ + int regGosub, /* Register for OP_Gosub */ + int addrGosub) /* OP_Gosub here to return each row */ +{ + Window *pMWin = p->pWin; + + /* There are three different functions that may be used to do the work + * of this one, depending on the window frame and the specific built-in + * window functions used (if any). + * + * windowCodeRowExprStep() handles all "ROWS" window frames, except for: + * + * ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * + * The exception is because windowCodeRowExprStep() implements all + * window frame types by caching the entire partition in a temp table, + * and "ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW" is easy enough + * to implement without such a cache. + * + * windowCodeCacheStep() is used for: + * + * RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + * + * It is also used for anything not handled by windowCodeRowExprStep() + * that invokes a built-in window function that requires the entire + * partition to be cached in a temp table before any rows are returned + * (e.g. nth_value() or percent_rank()). + * + * Finally, assuming there is no built-in window function that requires + * the partition to be cached, windowCodeDefaultStep() is used for: + * + * RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + * RANGE BETWEEN CURRENT ROW AND CURRENT ROW + * ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + * + * windowCodeDefaultStep() is the only one of the three functions that + * does not cache each partition in a temp table before beginning to + * return rows. + */ + if (pMWin->eType == TK_ROWS && + (pMWin->eStart != TK_UNBOUNDED || + pMWin->eEnd != TK_CURRENT || + !pMWin->pOrderBy)) { + windowCodeRowExprStep(pParse, p, pWInfo, + regGosub, addrGosub); + } else { + /* True to use CacheStep() */ + int bCache = 0; + + if (pMWin->eStart == TK_CURRENT && + pMWin->eEnd == TK_UNBOUNDED) { + bCache = 1; + } + + /* Otherwise, call windowCodeDefaultStep(). */ + if (bCache) { + windowCodeCacheStep(pParse, p, pWInfo, + regGosub, addrGosub); + } else { + windowCodeDefaultStep(pParse, p, pWInfo, + regGosub, addrGosub); + } + } +} diff --git a/test/sql-luatest/gh_7063_dequote_test.lua b/test/sql-luatest/gh_7063_dequote_test.lua index 70f51530ad5da7f96a6c2570aa4a114644970138..8bfd88828adbdd91008e461dc8cce4be4fa11cc0 100644 --- a/test/sql-luatest/gh_7063_dequote_test.lua +++ b/test/sql-luatest/gh_7063_dequote_test.lua @@ -18,7 +18,7 @@ g.test_dequote = function() g.server:exec(function() box.execute([[CREATE TABLE "t"("a" INT PRIMARY KEY);]]) local sql = [[SELECT "t1"."a" FROM (SELECT "a" FROM "t") AS "t1";]] - t.assert_equals(box.execute(sql).metadata[1].name, 't1.a') + t.assert_equals(box.execute(sql).metadata[1].name, 'a') box.execute([[DROP TABLE "t";]]) end) end diff --git a/test/sql-luatest/sql_func_expr_test.lua b/test/sql-luatest/sql_func_expr_test.lua index 5fa1eb4f3595cee1df218c4900227482b9b24e96..4dc406bd98d667a3f1a2078f229dc4daf71f1cfe 100644 --- a/test/sql-luatest/sql_func_expr_test.lua +++ b/test/sql-luatest/sql_func_expr_test.lua @@ -66,13 +66,13 @@ g.test_sql_func_expr_2 = function() g.server:exec(function() local def = {language = 'SQL_EXPR', is_deterministic = true, body = ''} t.assert_error_msg_content_equals( - "Syntax error at line 1 near ' '", + "Syntax error at line 1 near ''", function() box.schema.func.create('a1', def) end ) def.body = ' ' t.assert_error_msg_content_equals( - "Syntax error at line 1 near ' '", + "Syntax error at line 1 near ''", function() box.schema.func.create('a1', def) end ) diff --git a/test/sql-tap/keyword1.test.lua b/test/sql-tap/keyword1.test.lua index f9a9c6865b6a4a8e0f53146f77ca62a90183dd18..3144577f671a1f1aa5b765730d341a53daa406b1 100755 --- a/test/sql-tap/keyword1.test.lua +++ b/test/sql-tap/keyword1.test.lua @@ -1,6 +1,6 @@ #!/usr/bin/env tarantool local test = require("sqltester") -test:plan(184) +test:plan(181) --!./tcltestrunner.lua -- 2009 January 29 @@ -168,7 +168,6 @@ local bannedkws = { "loop", "number", "out", - "over", "partition", "precision", "procedure", @@ -179,8 +178,6 @@ local bannedkws = { "resignal", "return", "revoke", - "rows", - "row_number", "sensitive", "signal", "smallint", diff --git a/test/sql-tap/select1.test.lua b/test/sql-tap/select1.test.lua index 189e0a590783b2c24626d4ff2d805d5e5958e8fb..f69c58bd85925421063393b6f823e9c0d09b8b95 100755 --- a/test/sql-tap/select1.test.lua +++ b/test/sql-tap/select1.test.lua @@ -1183,7 +1183,7 @@ test:do_test( ]] for i, tmp in ipairs(x) do if type(tmp) == "string" then - x[i] = tmp:gsub("sq_[0-9a-fA-F_]+", "subquery") + x[i] = tmp:gsub("subquery_[0-9a-fA-F_]+", "sql_subquery") end end return x @@ -1414,7 +1414,7 @@ test:do_catchsql_test( [[ SELECT f1 FROM test1 as "hi", test2 as]], { -- <select1-7.3> - 1, [[At line 1 at or near position 47: keyword 'as' is reserved. Please use double quotes if 'as' is an identifier.]] + 1, [[Syntax error at line 1 near '']] -- </select1-7.3> }) diff --git a/test/sql-tap/window1.test.lua b/test/sql-tap/window1.test.lua new file mode 100755 index 0000000000000000000000000000000000000000..1026e86a05f1e87073e66feb430526970ecaca79 --- /dev/null +++ b/test/sql-tap/window1.test.lua @@ -0,0 +1,719 @@ +#!/usr/bin/env tarantool +local test = require("sqltester") +test:plan(56) + +test:execsql( [[ + DROP TABLE IF EXISTS t1; + CREATE TABLE t1(a INT PRIMARY KEY, b INT, c INT, d INT); + INSERT INTO t1 VALUES(1, 2, 3, 4); + INSERT INTO t1 VALUES(5, 6, 7, 8); + INSERT INTO t1 VALUES(9, 10, 11, 12); +]]) + +test:do_execsql_test( + "window1-1.1", + [[ + SELECT sum(b) OVER () FROM t1; + ]], + { 18, 18, 18 }) + +test:do_execsql_test( + "window1-1.2", + [[ + SELECT a, sum(b) OVER () FROM t1; + ]], + { 1, 18, 5, 18, 9, 18 }) + +test:do_execsql_test( + "window1-1.3", + [[ + SELECT a, 4 + sum(b) OVER () FROM t1; + ]], + { 1, 22, 5, 22, 9, 22 }) + +test:do_execsql_test( + "window1-1.4", + [[ + SELECT a + 4 + sum(b) OVER () FROM t1; + ]], + { 23, 27, 31 }) + +test:do_execsql_test( + "window1-1.5", + [[ + SELECT a, sum(b) OVER (PARTITION BY c) FROM t1 + ]], + { 1, 2, 5, 6, 9, 10 }) + +test:do_execsql_test( + "window1-2.1", + [[ + SELECT sum(b) OVER (PARTITION BY c) FROM t1; + ]], + { 2, 6, 10 }) + +test:do_execsql_test( + "window1-2.2", + [[ + SELECT sum(b) OVER (ORDER BY c) FROM t1; + ]], + { 2, 8, 18 }) + +test:do_execsql_test( + "window1-2.3", + [[ + SELECT sum(b) OVER (PARTITION BY d ORDER BY c) FROM t1; + ]], + { 2, 6, 10 }) + +test:do_execsql_test( + "window1-2.4", + [[ + SELECT sum(b) FILTER (WHERE a>0) OVER (PARTITION BY d ORDER BY c) + FROM t1; + ]], + { 2, 6, 10 }) + +test:do_execsql_test( + "window1-2.5", + [[ + SELECT sum(b) OVER (ORDER BY c RANGE UNBOUNDED PRECEDING) FROM t1; + ]], + { 2, 8, 18 }) + +test:do_execsql_test( + "window1-2.6", + [[ + SELECT sum(b) OVER (ORDER BY c ROWS 45 PRECEDING) FROM t1; + ]], + { 2, 8, 18 }) + +test:do_execsql_test( + "window1-2.7", + [[ + SELECT sum(b) OVER (ORDER BY c RANGE CURRENT ROW) FROM t1; + ]], + { 2, 6, 10 }) + +test:do_execsql_test( + "window1-2.8", + [[ + SELECT sum(b) OVER (ORDER BY c RANGE BETWEEN UNBOUNDED PRECEDING + AND CURRENT ROW) FROM t1; + ]], + { 2, 8, 18 }) + +test:do_execsql_test( + "window1-2.9", + [[ + SELECT sum(b) OVER (ORDER BY c ROWS BETWEEN UNBOUNDED PRECEDING + AND UNBOUNDED FOLLOWING) FROM t1; + ]], + { 18, 18, 18 }) + +test:do_catchsql_test( + "window1-3.1", + [[ + SELECT * FROM t1 WHERE sum(b) OVER (); + ]], + {1, "misuse of window function SUM()"}) + +test:do_catchsql_test( + "window1-3.2", + [[ + SELECT * FROM t1 GROUP BY sum(b) OVER (); + ]], + {1, "misuse of window function SUM()"}) + +test:do_catchsql_test( + "window1-3.3", + [[ + SELECT * FROM t1 GROUP BY a HAVING sum(b) OVER (); + ]], + {1, "misuse of window function SUM()"}) + +test:execsql( [[ + DROP TABLE IF EXISTS t2; + CREATE TABLE t2(a INT PRIMARY KEY, b INT, c INT); + INSERT INTO t2 VALUES(0, 0, 0); + INSERT INTO t2 VALUES(1, 1, 1); + INSERT INTO t2 VALUES(2, 0, 2); + INSERT INTO t2 VALUES(3, 1, 0); + INSERT INTO t2 VALUES(4, 0, 1); + INSERT INTO t2 VALUES(5, 1, 2); + INSERT INTO t2 VALUES(6, 0, 0); +]]) + +test:do_execsql_test( + "window1-4.1", + [[ + SELECT a, sum(a) OVER (PARTITION BY b) FROM t2; + ]], + { 0, 12, 2, 12, 4, 12, 6, 12, 1, 9, 3, 9, 5, 9 }) + +test:do_execsql_test( + "window1-4.2", + [[ + SELECT a, sum(a) OVER (PARTITION BY b) FROM t2 ORDER BY a; + ]], + { 0, 12, 1, 9, 2, 12, 3, 9, 4, 12, 5, 9, 6, 12 }) + +test:do_execsql_test( + "window1-4.3", + [[ + SELECT a, sum(a) OVER () FROM t2 ORDER BY a; + ]], + { 0, 21, 1, 21, 2, 21, 3, 21, 4, 21, 5, 21, 6, 21 }) + +test:do_execsql_test( + "window1-4.4", + [[ + SELECT a, sum(a) OVER (ORDER BY a) FROM t2; + ]], + { 0, 0, 1, 1, 2, 3, 3, 6, 4, 10, 5, 15, 6, 21 }) + +test:do_execsql_test( + "window1-4.5", + [[ + SELECT a, sum(a) OVER (PARTITION BY b ORDER BY a) FROM t2 ORDER BY a; + ]], + { 0, 0, 1, 1, 2, 2, 3, 4, 4, 6, 5, 9, 6, 12 }) + +test:do_execsql_test( + "window1-4.6", + [[ + SELECT a, sum(a) OVER (PARTITION BY c ORDER BY a) FROM t2 ORDER BY a; + ]], + { 0, 0, 1, 1, 2, 2, 3, 3, 4, 5, 5, 7, 6, 9 }) + +test:do_execsql_test( + "window1-4.7", + [[ + SELECT a, sum(a) OVER (PARTITION BY b ORDER BY a DESC) FROM t2 + ORDER BY a; + ]], + { 0, 12, 1, 9, 2, 12, 3, 8, 4, 10, 5, 5, 6, 6 }) + +-- FIXME: This test returns wrong result in tarantool, +-- and crashes in sqlite3 (commit 9592320). +test:do_execsql_test( + "window1-4.8", + [[ + SELECT a, + sum(a) OVER (PARTITION BY b ORDER BY a DESC), + sum(a) OVER (PARTITION BY c ORDER BY a) + FROM t2 ORDER BY a + ]], { + 0, 12, 0, + 1, 9, 1, + 2, 12, 2, + 3, 8, 3, + 4, 10, 5, + 5, 5, 7, + 6, 6, 9 + }) + +test:do_execsql_test( + "window1-4.9", + [[ + SELECT a, + sum(a) OVER (ORDER BY a), + avg(cast(a as double)) OVER (ORDER BY a) + FROM t2 ORDER BY a; + ]], { + 0, 0, 0.0, + 1, 1, 0.5, + 2, 3, 1.0, + 3, 6, 1.5, + 4, 10, 2.0, + 5, 15, 2.5, + 6, 21, 3.0 + }) + +test:do_execsql_test( + "window1-4.10.1", + [[ + SELECT a, + count() OVER (ORDER BY a DESC), + group_concat(cast(a as text), '.') OVER (ORDER BY a DESC) + FROM t2 ORDER BY a DESC; + ]], { + 6, 1, '6', + 5, 2, '6.5', + 4, 3, '6.5.4', + 3, 4, '6.5.4.3', + 2, 5, '6.5.4.3.2', + 1, 6, '6.5.4.3.2.1', + 0, 7, '6.5.4.3.2.1.0' + }) + +test:do_execsql_test( + "window1-4.10.2", + [[ + SELECT a, + count(*) OVER (ORDER BY a DESC), + group_concat(cast(a as text), '.') OVER (ORDER BY a DESC) + FROM t2 ORDER BY a DESC; + ]], { + 6, 1, '6', + 5, 2, '6.5', + 4, 3, '6.5.4', + 3, 4, '6.5.4.3', + 2, 5, '6.5.4.3.2', + 1, 6, '6.5.4.3.2.1', + 0, 7, '6.5.4.3.2.1.0' + }) + +test:execsql( [[ + DROP TABLE IF EXISTS t1; + CREATE TABLE t1(x INT PRIMARY KEY); + INSERT INTO t1 VALUES(7), (6), (5), (4), (3), (2), (1); + + DROP TABLE IF EXISTS t2; + CREATE TABLE t2(x TEXT PRIMARY KEY); + INSERT INTO t2 VALUES('b'), ('a'); +]]) + +test:do_execsql_test( + "window1-6.1", + [[ + SELECT x, count(*) OVER (ORDER BY x) FROM t1; + ]], + { 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7 }) + +test:do_execsql_test( + "window1-6.2", + [[ + SELECT * FROM t2, (SELECT x, count(*) OVER (ORDER BY x) FROM t1); + ]], { + 'a', 1, 1, + 'b', 1, 1, + 'a', 2, 2, + 'b', 2, 2, + 'a', 3, 3, + 'b', 3, 3, + 'a', 4, 4, + 'b', 4, 4, + 'a', 5, 5, + 'b', 5, 5, + 'a', 6, 6, + 'b', 6, 6, + 'a', 7, 7, + 'b', 7, 7 + }) + +test:do_catchsql_test( + "window1-6.3", + [[ + SELECT x, row_number() FILTER (WHERE (x%2)=0) OVER w FROM t1 + WINDOW w AS (ORDER BY x) + ]], + {1, "FILTER clause may only be used with aggregate window functions"}) + +test:execsql( [[ + DROP TABLE IF EXISTS t1; + CREATE TABLE t1(x INT PRIMARY KEY, y INT); + INSERT INTO t1 VALUES(1, 2); + INSERT INTO t1 VALUES(3, 4); + INSERT INTO t1 VALUES(5, 6); + INSERT INTO t1 VALUES(7, 8); + INSERT INTO t1 VALUES(9, 10); +]]) + +test:do_catchsql_test( + "window1-7.1.2", + [[ + SELECT * FROM t1 WHERE row_number() OVER (ORDER BY y); + ]], + {1, "misuse of window function ROW_NUMBER()"}) + +test:do_catchsql_test( + "window1-7.1.3", + [[ + SELECT count(*) FROM t1 GROUP BY y HAVING row_number() + OVER (ORDER BY y); + ]], + {1, "misuse of window function ROW_NUMBER()"}) + +test:do_catchsql_test( + "window1-7.1.4", + [[ + SELECT count(*) FROM t1 GROUP BY row_number() OVER (ORDER BY y); + ]], + {1, "misuse of window function ROW_NUMBER()"}) + +test:do_catchsql_test( + "window1-7.1.5", + [[ + SELECT count(*) FROM t1 LIMIT row_number() OVER (); + ]], + {1, "misuse of window function ROW_NUMBER()"}) + +test:do_catchsql_test( + "window1-7.1.6", + [[ + SELECT f(x) OVER (ORDER BY y) FROM t1; + ]], + {1, "F() may not be used as a window function"}) + +test:do_catchsql_test( + "window1-7.1.7", + [[ + SELECT max(x) OVER abc FROM t1 WINDOW def AS (ORDER BY y); + ]], + {1, "no such window: abc"}) + +-- FIXME: This test returns wrong result in tarantool, +-- sum and max columns are swapped. +test:do_execsql_test( + "window1-7.2", + [[ + SELECT + row_number() OVER win, + sum(y) OVER win, + max(x) OVER win + FROM t1 + WINDOW win AS (ORDER BY x) + ]], { + 1, 2, 1, + 2, 6, 3, + 3, 12, 5, + 4, 20, 7, + 5, 30, 9 + }) + +test:do_execsql_test( + "window1-7.3", + [[ + SELECT row_number() OVER (ORDER BY x) FROM t1; + ]], + {1, 2, 3, 4, 5}) + +test:do_execsql_test( + "window1-7.4", + [[ + SELECT + row_number() OVER win, + sum(x) OVER win + FROM t1 + WINDOW win AS (ORDER BY x ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) + ]], { + 1, 1, + 2, 4, + 3, 9, + 4, 16, + 5, 25 + }) + +test:execsql( [[ + DROP TABLE IF EXISTS t3; + CREATE TABLE t3(a INT PRIMARY KEY, b INT, c INT); + + WITH s(i) AS (VALUES(1) UNION ALL SELECT i + 1 FROM s WHERE i < 6) + INSERT INTO t3 SELECT i, i, i FROM s; + + DROP VIEW IF EXISTS v1; + CREATE VIEW v1 AS SELECT + sum(b) OVER (ORDER BY c), + min(b) OVER (ORDER BY c), + max(b) OVER (ORDER BY c) + FROM t3; + + DROP VIEW IF EXISTS v2; + CREATE VIEW v2 AS SELECT + sum(b) OVER win, + min(b) OVER win, + max(b) OVER win + FROM t3 + WINDOW win AS (ORDER BY c); +]]) + +test:do_execsql_test( + "window1-8.1.1", + [[ + SELECT * FROM v1; + ]], { + 1, 1, 1, + 3, 1, 2, + 6, 1, 3, + 10, 1, 4, + 15, 1, 5, + 21, 1, 6 + }) + +test:do_execsql_test( + "window1-8.1.2", + [[ + SELECT * FROM v2; + ]], { + 1, 1, 1, + 3, 1, 2, + 6, 1, 3, + 10, 1, 4, + 15, 1, 5, + 21, 1, 6 + }) + +test:execsql( [[ + DROP TABLE IF EXISTS t4; + CREATE TABLE t4(x INT PRIMARY KEY, y TEXT); + INSERT INTO t4 VALUES(1, 'g'); + INSERT INTO t4 VALUES(2, 'i'); + INSERT INTO t4 VALUES(3, 'l'); + INSERT INTO t4 VALUES(4, 'g'); + INSERT INTO t4 VALUES(5, 'a'); + + DROP TABLE IF EXISTS t5; + CREATE TABLE t5(x INT PRIMARY KEY, y TEXT, m TEXT); + CREATE TRIGGER t4i AFTER INSERT ON t4 FOR EACH ROW BEGIN + DELETE FROM t5; + INSERT INTO t5 + SELECT x, y, max(y) OVER xyz FROM t4 + WINDOW xyz AS (PARTITION BY (x%2) ORDER BY x); + END; +]]) + +test:do_execsql_test( + "window1-9.1.1", + [[ + SELECT x, y, max(y) OVER xyz FROM t4 + WINDOW xyz AS (PARTITION BY (x%2) ORDER BY x) ORDER BY 1; + ]], { + 1, 'g', 'g', + 2, 'i', 'i', + 3, 'l', 'l', + 4, 'g', 'i', + 5, 'a', 'l' + }) + +test:execsql( [[ + INSERT INTO t4 VALUES(6, 'm'); +]]) + +test:do_execsql_test( + "window1-9.1.2", + [[ + SELECT x, y, max(y) OVER xyz FROM t4 + WINDOW xyz AS (PARTITION BY (x%2) ORDER BY x) ORDER BY 1; + ]], { + 1, 'g', 'g', + 2, 'i', 'i', + 3, 'l', 'l', + 4, 'g', 'i', + 5, 'a', 'l', + 6, 'm', 'm' + }) + +test:do_execsql_test( + "window1-9.1.3", + [[ + SELECT * FROM t5 ORDER BY 1; + ]], { + 1, 'g', 'g', + 2, 'i', 'i', + 3, 'l', 'l', + 4, 'g', 'i', + 5, 'a', 'l', + 6, 'm', 'm' + }) + +test:do_execsql_test( + "window1-9.2", + [[ + WITH aaa(x, y, z) AS ( + SELECT x, y, max(y) OVER xyz FROM t4 + WINDOW xyz AS (PARTITION BY (x%2) ORDER BY x) + ) + SELECT * FROM aaa ORDER BY 1; + ]], { + 1, 'g', 'g', + 2, 'i', 'i', + 3, 'l', 'l', + 4, 'g', 'i', + 5, 'a', 'l', + 6, 'm', 'm' + }) + +test:do_execsql_test( + "window1-9.3", + [[ + WITH aaa(x, y, z) AS ( + SELECT x, y, max(y) OVER xyz FROM t4 + WINDOW xyz AS (ORDER BY x) + ) + SELECT *, min(z) OVER (ORDER BY x) FROM aaa ORDER BY 1; + ]], { + 1, 'g', 'g', 'g', + 2, 'i', 'i', 'g', + 3, 'l', 'l', 'g', + 4, 'g', 'l', 'g', + 5, 'a', 'l', 'g', + 6, 'm', 'm', 'g' + }) + +test:execsql( [[ + DROP TABLE IF EXISTS sales; + CREATE TABLE sales(emp TEXT PRIMARY KEY, region TEXT, total INT); + INSERT INTO sales VALUES + ('Alice', 'North', 34), + ('Frank', 'South', 22), + ('Charles', 'North', 45), + ('Darrell', 'South', 8), + ('Grant', 'South', 23), + ('Brad' , 'North', 22), + ('Elizabeth', 'South', 99), + ('Horace', 'East', 1); +]]) + +test:do_execsql_test( + "window1-10.1", + [[ + SELECT emp, region, total FROM ( + SELECT + emp, region, total, + row_number() OVER ( + PARTITION BY region ORDER BY total DESC + ) AS "rank" + FROM sales + ) WHERE "rank" <= 2 ORDER BY region, total DESC + ]], { + 'Horace', 'East', 1, + 'Charles', 'North', 45, + 'Alice', 'North', 34, + 'Elizabeth', 'South', 99, + 'Grant', 'South', 23 + }) + +test:do_execsql_test( + "window1-10.2", + [[ + SELECT emp, region, sum(total) OVER win FROM sales + WINDOW win AS (PARTITION BY region ORDER BY total); + ]], { + 'Horace', 'East', 1, + 'Brad', 'North', 22, + 'Alice', 'North', 56, + 'Charles', 'North', 101, + 'Darrell', 'South', 8, + 'Frank', 'South', 30, + 'Grant', 'South', 53, + 'Elizabeth', 'South', 152 + }) + +test:do_execsql_test( + "window1-10.3", + [[ + SELECT emp, region, sum(total) OVER win FROM sales + WINDOW win AS (PARTITION BY region ORDER BY total) + LIMIT 5; + ]], { + 'Horace', 'East', 1, + 'Brad', 'North', 22, + 'Alice', 'North', 56, + 'Charles', 'North', 101, + 'Darrell', 'South', 8 + }) + +test:do_execsql_test( + "window1-10.4", + [[ + SELECT emp, region, sum(total) OVER win FROM sales + WINDOW win AS (PARTITION BY region ORDER BY total) + LIMIT 5 OFFSET 2 + ]], { + 'Alice', 'North', 56, + 'Charles', 'North', 101, + 'Darrell', 'South', 8, + 'Frank', 'South', 30, + 'Grant', 'South', 53 + }) + +test:do_execsql_test( + "window1-10.5", + [[ + SELECT emp, region, sum(total) OVER win FROM sales + WINDOW win AS ( + PARTITION BY region ORDER BY total + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) + ]], { + 'Horace', 'East', 1, + 'Brad', 'North', 101, + 'Alice', 'North', 79, + 'Charles', 'North', 45, + 'Darrell', 'South', 152, + 'Frank', 'South', 144, + 'Grant', 'South', 122, + 'Elizabeth', 'South', 99 + }) + +test:do_execsql_test( + "window1-10.6", + [[ + SELECT emp, region, sum(total) OVER win FROM sales + WINDOW win AS ( + PARTITION BY region ORDER BY total + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) LIMIT 5 OFFSET 2 + ]], { + 'Alice', 'North', 79, + 'Charles', 'North', 45, + 'Darrell', 'South', 152, + 'Frank', 'South', 144, + 'Grant', 'South', 122 + }) + +test:do_execsql_test( + "window1-10.7", + [[ + SELECT emp, region, CAST(( + SELECT sum(total) OVER ( + ORDER BY total RANGE BETWEEN UNBOUNDED PRECEDING + AND UNBOUNDED FOLLOWING + ) FROM sales LIMIT 1 + ) AS TEXT) || emp FROM sales AS "outer"; + ]], { + "Alice","North","254Alice", + "Brad","North","254Brad", + "Charles","North","254Charles", + "Darrell","South","254Darrell", + "Elizabeth","South","254Elizabeth", + "Frank","South","254Frank", + "Grant","South","254Grant", + "Horace","East","254Horace" + }) + +test:do_execsql_test( + "window1-10.8", + [[ + SELECT emp, region, ( + SELECT sum(total) FILTER (WHERE sales.emp != "outer".emp) OVER ( + ORDER BY total RANGE BETWEEN UNBOUNDED PRECEDING + AND UNBOUNDED FOLLOWING + ) FROM sales LIMIT 1 + ) FROM sales AS "outer"; + ]], { + 'Alice', 'North', 220, + 'Brad', 'North', 232, + 'Charles', 'North', 209, + 'Darrell', 'South', 246, + 'Elizabeth', 'South', 155, + 'Frank', 'South', 232, + 'Grant', 'South', 231, + 'Horace', 'East', 253 + }) + +test:execsql( [[ + DROP TABLE IF EXISTS t6; + CREATE TABLE t6(a INT PRIMARY KEY, b INT, c INT); +]]) + +-- FIXME: This test returns a non-descriptive error message in tarantool. +test:do_catchsql_test( + "window1-11.1", + [[ + CREATE INDEX t6i ON t6(a) WHERE sum(b) OVER (); + ]], + -- {1, "misuse of window function SUM()"}) + {1, "At line 1 at or near position 35: keyword 'WHERE' is reserved. Please use double quotes if 'WHERE' is an identifier."}) +test:finish_test() diff --git a/test/sql-tap/window2.test.lua b/test/sql-tap/window2.test.lua new file mode 100755 index 0000000000000000000000000000000000000000..8341ebd3bc7a814feb7c66b0b1b5f469a03c0a95 --- /dev/null +++ b/test/sql-tap/window2.test.lua @@ -0,0 +1,4159 @@ +#!/usr/bin/env tarantool +local test = require("sqltester") +test:plan(52) + +test:execsql( [[ + DROP TABLE IF EXISTS t1; + CREATE TABLE t1(a INTEGER PRIMARY KEY, b TEXT, c TEXT, d INTEGER); + INSERT INTO t1 VALUES(1, 'odd', 'one', 1); + INSERT INTO t1 VALUES(2, 'even', 'two', 2); + INSERT INTO t1 VALUES(3, 'odd', 'three', 3); + INSERT INTO t1 VALUES(4, 'even', 'four', 4); + INSERT INTO t1 VALUES(5, 'odd', 'five', 5); + INSERT INTO t1 VALUES(6, 'even', 'six', 6); +]]) + +test:do_execsql_test( + "window2-1.1", + [[ + SELECT c, sum(d) OVER (PARTITION BY b ORDER BY c) FROM t1; + ]], { + 'four', 4, + 'six', 10, + 'two', 12, + 'five', 5, + 'one', 6, + 'three', 9 + }) + +test:do_execsql_test( + "window2-1.2", + [[ + SELECT sum(d) OVER () FROM t1; + ]], + {21, 21, 21, 21, 21, 21}) + +test:do_execsql_test( + "window2-1.3", + [[ + SELECT sum(d) OVER (PARTITION BY b) FROM t1; + ]], + {12, 12, 12, 9, 9, 9}) + +test:do_execsql_test( + "window2-2.1", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 1000 PRECEDING AND 1 FOLLOWING + ) FROM t1 + ]], { + 1, 3, + 2, 6, + 3, 10, + 4, 15, + 5, 21, + 6, 21 + }) + +test:do_execsql_test( + "window2-2.2", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 1000 PRECEDING AND 1000 FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 21, + 3, 21, + 4, 21, + 5, 21, + 6, 21 + }) + +test:do_execsql_test( + "window2-2.3", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 1 PRECEDING AND 1000 FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 21, + 3, 20, + 4, 18, + 5, 15, + 6, 11 + }) + +test:do_execsql_test( + "window2-2.4", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING + ) FROM t1 + ]], { + 1, 3, + 2, 6, + 3, 9, + 4, 12, + 5, 15, + 6, 11 + }) + +test:do_execsql_test( + "window2-2.5", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING + ) FROM t1 + ]], { + 1, 1, + 2, 3, + 3, 5, + 4, 7, + 5, 9, + 6, 11 + }) + +test:do_execsql_test( + "window2-2.6", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN 1 PRECEDING AND 1 FOLLOWING + ) FROM t1 + ]], { + 2, 6, + 4, 12, + 6, 10, + 1, 4, + 3, 9, + 5, 8 + }) + +test:do_execsql_test( + "window2-2.7", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN 0 PRECEDING AND 0 FOLLOWING + ) FROM t1 + ]], { + 2, 2, + 4, 4, + 6, 6, + 1, 1, + 3, 3, + 5, 5 + }) + +test:do_execsql_test( + "window2-2.8", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING + ) FROM t1 + ]], { + 1, 6, + 2, 9, + 3, 12, + 4, 15, + 5, 11, + 6, 6 + }) + +test:do_execsql_test( + "window2-2.9", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN UNBOUNDED PRECEDING AND 2 FOLLOWING + ) FROM t1 + ]], { + 1, 6, + 2, 10, + 3, 15, + 4, 21, + 5, 21, + 6, 21 + }) + +test:do_execsql_test( + "window2-2.10", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN CURRENT ROW AND 2 FOLLOWING + ) FROM t1 + ]], { + 1, 6, + 2, 9, + 3, 12, + 4, 15, + 5, 11, + 6, 6 + }) + +test:do_execsql_test( + "window2-2.11", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 2 PRECEDING AND CURRENT ROW + ) FROM t1 + ]], { + 1, 1, + 2, 3, + 3, 6, + 4, 9, + 5, 12, + 6, 15 + }) + +test:do_execsql_test( + "window2-2.13", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 2 PRECEDING AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 21, + 3, 21, + 4, 20, + 5, 18, + 6, 15 + }) + +test:do_execsql_test( + "window2-2.14", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 3 PRECEDING AND 1 PRECEDING + ) FROM t1 + ]], { + 1, "", + 2, 1, + 3, 3, + 4, 6, + 5, 9, + 6, 12 + }) + +test:do_execsql_test( + "window2-2.15", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN 1 PRECEDING AND 0 PRECEDING + ) FROM t1 + ]], { + 2, 2, + 4, 6, + 6, 10, + 1, 1, + 3, 4, + 5, 8 + }) + +test:do_execsql_test( + "window2-2.16", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING + ) FROM t1 + ]], { + 2, "", + 4, 2, + 6, 4, + 1, "", + 3, 1, + 5, 3 + }) + +test:do_execsql_test( + "window2-2.17", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN 1 PRECEDING AND 2 PRECEDING + ) FROM t1 + ]], { + 2, "", + 4, "", + 6, "", + 1, "", + 3, "", + 5, "" + }) + +test:do_execsql_test( + "window2-2.18", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN UNBOUNDED PRECEDING AND 2 PRECEDING + ) FROM t1 + ]], { + 2, "", + 4, "", + 6, 2, + 1, "", + 3, "", + 5, 1 + }) + +test:do_execsql_test( + "window2-2.19", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN 1 FOLLOWING AND 3 FOLLOWING + ) FROM t1 + ]], { + 2, 10, + 4, 6, + 6, "", + 1, 8, + 3, 5, + 5, "" + }) + +test:do_execsql_test( + "window2-2.20", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 1 FOLLOWING AND 2 FOLLOWING + ) FROM t1 + ]], { + 1, 5, + 2, 7, + 3, 9, + 4, 11, + 5, 6, + 6, "" + }) + +test:do_execsql_test( + "window2-2.21", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 1, 20, + 2, 18, + 3, 15, + 4, 11, + 5, 6, + 6, "" + }) + +test:do_execsql_test( + "window2-2.22", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 2, 10, + 4, 6, + 6, "", + 1, 8, + 3, 5, + 5, "" + }) + +test:do_execsql_test( + "window2-2.23", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 20, + 3, 18, + 4, 15, + 5, 11, + 6, 6 + }) + +test:do_execsql_test( + "window2-2.24", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY a % 2 + ORDER BY d + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 2, 12, + 4, 10, + 6, 6, + 1, 9, + 3, 8, + 5, 5 + }) + +test:do_execsql_test( + "window2-2.25", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 21, + 3, 21, + 4, 21, + 5, 21, + 6, 21 + }) + +test:do_execsql_test( + "window2-2.26", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 2, 12, + 4, 12, + 6, 12, + 1, 9, + 3, 9, + 5, 9 + }) + +test:do_execsql_test( + "window2-2.27", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN CURRENT ROW AND CURRENT ROW + ) FROM t1 + ]], { + 1, 1, + 2, 2, + 3, 3, + 4, 4, + 5, 5, + 6, 6 + }) + +test:do_execsql_test( + "window2-2.28", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b + ORDER BY d + ROWS BETWEEN CURRENT ROW AND CURRENT ROW + ) FROM t1 + ]], { + 2, 2, + 4, 4, + 6, 6, + 1, 1, + 3, 3, + 5, 5 + }) + +test:do_execsql_test( + "window2-2.29", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 20, + 3, 18, + 4, 15, + 5, 11, + 6, 6 + }) + +test:do_execsql_test( + "window2-2.30", + [[ + SELECT a, sum(d) OVER ( + ORDER BY b + RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 2, 21, + 4, 21, + 6, 21, + 1, 9, + 3, 9, + 5, 9 + }) + +test:do_execsql_test( + "window2-3.1", + [[ + SELECT a, sum(d) OVER ( + PARTITION BY b ORDER BY d + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 2, 12, + 4, 10, + 6, 6, + 1, 9, + 3, 8, + 5, 5 + }) + +test:do_execsql_test( + "window2-3.3", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d + RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 20, + 3, 18, + 4, 15, + 5, 11, + 6, 6 + }) + +test:do_execsql_test( + "window2-3.4", + [[ + SELECT a, sum(d) OVER ( + ORDER BY d / 2 + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t1 + ]], { + 1, 21, + 2, 20, + 3, 18, + 4, 15, + 5, 11, + 6, 6 + }) + +test:execsql( [[ + DROP TABLE IF EXISTS t2; + CREATE TABLE t2(a INTEGER PRIMARY KEY, b INTEGER); + INSERT INTO t2(a, b) VALUES + (1,0), (2,74), (3,41), (4,74), (5,23), (6,99), (7,26), (8,33), (9,2), + (10,89), (11,81), (12,96), (13,59), (14,38), (15,68), (16,39), (17,62), + (18,91), (19,46), (20,6), (21,99), (22,97), (23,27), (24,46), (25,78), + (26,54), (27,97), (28,8), (29,67), (30,29), (31,93), (32,84), (33,77), + (34,23), (35,16), (36,16), (37,93), (38,65), (39,35), (40,47), (41,7), + (42,86), (43,74), (44,61), (45,91), (46,85), (47,24), (48,85), (49,43), + (50,59), (51,12), (52,32), (53,56), (54,3), (55,91), (56,22), (57,90), + (58,55), (59,15), (60,28), (61,89), (62,25), (63,47), (64,1), (65,56), + (66,40), (67,43), (68,56), (69,16), (70,75), (71,36), (72,89), (73,98), + (74,76), (75,81), (76,4), (77,94), (78,42), (79,30), (80,78), (81,33), + (82,29), (83,53), (84,63), (85,2), (86,87), (87,37), (88,80), (89,84), + (90,72), (91,41), (92,9), (93,61), (94,73), (95,95), (96,65), (97,13), + (98,58), (99,96), (100,98), (101,1), (102,21), (103,74), (104,65), (105,35), + (106,5), (107,73), (108,11), (109,51), (110,87), (111,41), (112,12), (113,8), + (114,20), (115,31), (116,31), (117,15), (118,95), (119,22), (120,73), + (121,79), (122,88), (123,34), (124,8), (125,11), (126,49), (127,34), + (128,90), (129,59), (130,96), (131,60), (132,55), (133,75), (134,77), + (135,44), (136,2), (137,7), (138,85), (139,57), (140,74), (141,29), (142,70), + (143,59), (144,19), (145,39), (146,26), (147,26), (148,47), (149,80), + (150,90), (151,36), (152,58), (153,47), (154,9), (155,72), (156,72), (157,66), + (158,33), (159,93), (160,75), (161,64), (162,81), (163,9), (164,23), (165,37), + (166,13), (167,12), (168,14), (169,62), (170,91), (171,36), (172,91), + (173,33), (174,15), (175,34), (176,36), (177,99), (178,3), (179,95), (180,69), + (181,58), (182,52), (183,30), (184,50), (185,84), (186,10), (187,84), + (188,33), (189,21), (190,39), (191,44), (192,58), (193,30), (194,38), + (195,34), (196,83), (197,27), (198,82), (199,17), (200,7); +]]) + +test:do_execsql_test( + "window2-4.1", + [[ + SELECT a, sum(b) OVER ( + PARTITION BY (b%10) + ORDER BY b + ) FROM t2 ORDER BY a; + ]], { + 1, 0, + 2, 754, + 3, 251, + 4, 754, + 5, 101, + 6, 1247, + 7, 132, + 8, 266, + 9, 6, + 10, 950, + 11, 667, + 12, 1052, + 13, 535, + 14, 128, + 15, 428, + 16, 250, + 17, 336, + 18, 1122, + 19, 368, + 20, 6, + 21, 1247, + 22, 1000, + 23, 92, + 24, 368, + 25, 584, + 26, 320, + 27, 1000, + 28, 24, + 29, 478, + 30, 133, + 31, 1049, + 32, 1090, + 33, 632, + 34, 101, + 35, 54, + 36, 54, + 37, 1049, + 38, 450, + 39, 145, + 40, 354, + 41, 21, + 42, 764, + 43, 754, + 44, 424, + 45, 1122, + 46, 930, + 47, 42, + 48, 930, + 49, 352, + 50, 535, + 51, 42, + 52, 118, + 53, 536, + 54, 6, + 55, 1122, + 56, 86, + 57, 770, + 58, 255, + 59, 50, + 60, 52, + 61, 950, + 62, 75, + 63, 354, + 64, 2, + 65, 536, + 66, 160, + 67, 352, + 68, 536, + 69, 54, + 70, 675, + 71, 276, + 72, 950, + 73, 868, + 74, 678, + 75, 667, + 76, 4, + 77, 1184, + 78, 160, + 79, 120, + 80, 584, + 81, 266, + 82, 133, + 83, 405, + 84, 468, + 85, 6, + 86, 806, + 87, 166, + 88, 500, + 89, 1090, + 90, 552, + 91, 251, + 92, 27, + 93, 424, + 94, 687, + 95, 1215, + 96, 450, + 97, 32, + 98, 360, + 99, 1052, + 100, 868, + 101, 2, + 102, 66, + 103, 754, + 104, 450, + 105, 145, + 106, 5, + 107, 687, + 108, 24, + 109, 302, + 110, 806, + 111, 251, + 112, 42, + 113, 24, + 114, 30, + 115, 128, + 116, 128, + 117, 50, + 118, 1215, + 119, 86, + 120, 687, + 121, 683, + 122, 672, + 123, 178, + 124, 24, + 125, 24, + 126, 299, + 127, 178, + 128, 770, + 129, 535, + 130, 1052, + 131, 270, + 132, 255, + 133, 675, + 134, 632, + 135, 266, + 136, 6, + 137, 21, + 138, 930, + 139, 411, + 140, 754, + 141, 133, + 142, 340, + 143, 535, + 144, 46, + 145, 250, + 146, 132, + 147, 132, + 148, 354, + 149, 500, + 150, 770, + 151, 276, + 152, 360, + 153, 354, + 154, 27, + 155, 552, + 156, 552, + 157, 602, + 158, 266, + 159, 1049, + 160, 675, + 161, 384, + 162, 667, + 163, 27, + 164, 101, + 165, 166, + 166, 32, + 167, 42, + 168, 18, + 169, 336, + 170, 1122, + 171, 276, + 172, 1122, + 173, 266, + 174, 50, + 175, 178, + 176, 276, + 177, 1247, + 178, 6, + 179, 1215, + 180, 604, + 181, 360, + 182, 212, + 183, 120, + 184, 210, + 185, 1090, + 186, 10, + 187, 1090, + 188, 266, + 189, 66, + 190, 250, + 191, 266, + 192, 360, + 193, 120, + 194, 128, + 195, 178, + 196, 770, + 197, 92, + 198, 634, + 199, 38, + 200, 21 + }) + +test:do_execsql_test( + "window2-4.2", + [[ + SELECT a, sum(b) OVER ( + PARTITION BY (b % 10) + ORDER BY b + RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) FROM t2 ORDER BY a; + ]], { + 1, 0, + 2, 754, + 3, 251, + 4, 754, + 5, 101, + 6, 1247, + 7, 132, + 8, 266, + 9, 6, + 10, 950, + 11, 667, + 12, 1052, + 13, 535, + 14, 128, + 15, 428, + 16, 250, + 17, 336, + 18, 1122, + 19, 368, + 20, 6, + 21, 1247, + 22, 1000, + 23, 92, + 24, 368, + 25, 584, + 26, 320, + 27, 1000, + 28, 24, + 29, 478, + 30, 133, + 31, 1049, + 32, 1090, + 33, 632, + 34, 101, + 35, 54, + 36, 54, + 37, 1049, + 38, 450, + 39, 145, + 40, 354, + 41, 21, + 42, 764, + 43, 754, + 44, 424, + 45, 1122, + 46, 930, + 47, 42, + 48, 930, + 49, 352, + 50, 535, + 51, 42, + 52, 118, + 53, 536, + 54, 6, + 55, 1122, + 56, 86, + 57, 770, + 58, 255, + 59, 50, + 60, 52, + 61, 950, + 62, 75, + 63, 354, + 64, 2, + 65, 536, + 66, 160, + 67, 352, + 68, 536, + 69, 54, + 70, 675, + 71, 276, + 72, 950, + 73, 868, + 74, 678, + 75, 667, + 76, 4, + 77, 1184, + 78, 160, + 79, 120, + 80, 584, + 81, 266, + 82, 133, + 83, 405, + 84, 468, + 85, 6, + 86, 806, + 87, 166, + 88, 500, + 89, 1090, + 90, 552, + 91, 251, + 92, 27, + 93, 424, + 94, 687, + 95, 1215, + 96, 450, + 97, 32, + 98, 360, + 99, 1052, + 100, 868, + 101, 2, + 102, 66, + 103, 754, + 104, 450, + 105, 145, + 106, 5, + 107, 687, + 108, 24, + 109, 302, + 110, 806, + 111, 251, + 112, 42, + 113, 24, + 114, 30, + 115, 128, + 116, 128, + 117, 50, + 118, 1215, + 119, 86, + 120, 687, + 121, 683, + 122, 672, + 123, 178, + 124, 24, + 125, 24, + 126, 299, + 127, 178, + 128, 770, + 129, 535, + 130, 1052, + 131, 270, + 132, 255, + 133, 675, + 134, 632, + 135, 266, + 136, 6, + 137, 21, + 138, 930, + 139, 411, + 140, 754, + 141, 133, + 142, 340, + 143, 535, + 144, 46, + 145, 250, + 146, 132, + 147, 132, + 148, 354, + 149, 500, + 150, 770, + 151, 276, + 152, 360, + 153, 354, + 154, 27, + 155, 552, + 156, 552, + 157, 602, + 158, 266, + 159, 1049, + 160, 675, + 161, 384, + 162, 667, + 163, 27, + 164, 101, + 165, 166, + 166, 32, + 167, 42, + 168, 18, + 169, 336, + 170, 1122, + 171, 276, + 172, 1122, + 173, 266, + 174, 50, + 175, 178, + 176, 276, + 177, 1247, + 178, 6, + 179, 1215, + 180, 604, + 181, 360, + 182, 212, + 183, 120, + 184, 210, + 185, 1090, + 186, 10, + 187, 1090, + 188, 266, + 189, 66, + 190, 250, + 191, 266, + 192, 360, + 193, 120, + 194, 128, + 195, 178, + 196, 770, + 197, 92, + 198, 634, + 199, 38, + 200, 21 + }) + +test:do_execsql_test( + "window2-4.3", + [[ + SELECT b, sum(b) OVER ( + ORDER BY b + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) FROM t2 ORDER BY b; + ]], { + 0, 0, + 1, 1, + 1, 2, + 2, 4, + 2, 6, + 2, 8, + 3, 11, + 3, 14, + 4, 18, + 5, 23, + 6, 29, + 7, 36, + 7, 43, + 7, 50, + 8, 58, + 8, 66, + 8, 74, + 9, 83, + 9, 92, + 9, 101, + 10, 111, + 11, 122, + 11, 133, + 12, 145, + 12, 157, + 12, 169, + 13, 182, + 13, 195, + 14, 209, + 15, 224, + 15, 239, + 15, 254, + 16, 270, + 16, 286, + 16, 302, + 17, 319, + 19, 338, + 20, 358, + 21, 379, + 21, 400, + 22, 422, + 22, 444, + 23, 467, + 23, 490, + 23, 513, + 24, 537, + 25, 562, + 26, 588, + 26, 614, + 26, 640, + 27, 667, + 27, 694, + 28, 722, + 29, 751, + 29, 780, + 29, 809, + 30, 839, + 30, 869, + 30, 899, + 31, 930, + 31, 961, + 32, 993, + 33, 1026, + 33, 1059, + 33, 1092, + 33, 1125, + 33, 1158, + 34, 1192, + 34, 1226, + 34, 1260, + 34, 1294, + 35, 1329, + 35, 1364, + 36, 1400, + 36, 1436, + 36, 1472, + 36, 1508, + 37, 1545, + 37, 1582, + 38, 1620, + 38, 1658, + 39, 1697, + 39, 1736, + 39, 1775, + 40, 1815, + 41, 1856, + 41, 1897, + 41, 1938, + 42, 1980, + 43, 2023, + 43, 2066, + 44, 2110, + 44, 2154, + 46, 2200, + 46, 2246, + 47, 2293, + 47, 2340, + 47, 2387, + 47, 2434, + 49, 2483, + 50, 2533, + 51, 2584, + 52, 2636, + 53, 2689, + 54, 2743, + 55, 2798, + 55, 2853, + 56, 2909, + 56, 2965, + 56, 3021, + 57, 3078, + 58, 3136, + 58, 3194, + 58, 3252, + 58, 3310, + 59, 3369, + 59, 3428, + 59, 3487, + 59, 3546, + 60, 3606, + 61, 3667, + 61, 3728, + 62, 3790, + 62, 3852, + 63, 3915, + 64, 3979, + 65, 4044, + 65, 4109, + 65, 4174, + 66, 4240, + 67, 4307, + 68, 4375, + 69, 4444, + 70, 4514, + 72, 4586, + 72, 4658, + 72, 4730, + 73, 4803, + 73, 4876, + 73, 4949, + 74, 5023, + 74, 5097, + 74, 5171, + 74, 5245, + 74, 5319, + 75, 5394, + 75, 5469, + 75, 5544, + 76, 5620, + 77, 5697, + 77, 5774, + 78, 5852, + 78, 5930, + 79, 6009, + 80, 6089, + 80, 6169, + 81, 6250, + 81, 6331, + 81, 6412, + 82, 6494, + 83, 6577, + 84, 6661, + 84, 6745, + 84, 6829, + 84, 6913, + 85, 6998, + 85, 7083, + 85, 7168, + 86, 7254, + 87, 7341, + 87, 7428, + 88, 7516, + 89, 7605, + 89, 7694, + 89, 7783, + 90, 7873, + 90, 7963, + 90, 8053, + 91, 8144, + 91, 8235, + 91, 8326, + 91, 8417, + 91, 8508, + 93, 8601, + 93, 8694, + 93, 8787, + 94, 8881, + 95, 8976, + 95, 9071, + 95, 9166, + 96, 9262, + 96, 9358, + 96, 9454, + 97, 9551, + 97, 9648, + 98, 9746, + 98, 9844, + 99, 9943, + 99, 10042, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.4", + [[ + SELECT b, sum(b) OVER ( + ORDER BY b + RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + ) FROM t2 ORDER BY b; + ]], { + 0, 10141, + 1, 10141, + 1, 10141, + 2, 10141, + 2, 10141, + 2, 10141, + 3, 10141, + 3, 10141, + 4, 10141, + 5, 10141, + 6, 10141, + 7, 10141, + 7, 10141, + 7, 10141, + 8, 10141, + 8, 10141, + 8, 10141, + 9, 10141, + 9, 10141, + 9, 10141, + 10, 10141, + 11, 10141, + 11, 10141, + 12, 10141, + 12, 10141, + 12, 10141, + 13, 10141, + 13, 10141, + 14, 10141, + 15, 10141, + 15, 10141, + 15, 10141, + 16, 10141, + 16, 10141, + 16, 10141, + 17, 10141, + 19, 10141, + 20, 10141, + 21, 10141, + 21, 10141, + 22, 10141, + 22, 10141, + 23, 10141, + 23, 10141, + 23, 10141, + 24, 10141, + 25, 10141, + 26, 10141, + 26, 10141, + 26, 10141, + 27, 10141, + 27, 10141, + 28, 10141, + 29, 10141, + 29, 10141, + 29, 10141, + 30, 10141, + 30, 10141, + 30, 10141, + 31, 10141, + 31, 10141, + 32, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 35, 10141, + 35, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 37, 10141, + 37, 10141, + 38, 10141, + 38, 10141, + 39, 10141, + 39, 10141, + 39, 10141, + 40, 10141, + 41, 10141, + 41, 10141, + 41, 10141, + 42, 10141, + 43, 10141, + 43, 10141, + 44, 10141, + 44, 10141, + 46, 10141, + 46, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 49, 10141, + 50, 10141, + 51, 10141, + 52, 10141, + 53, 10141, + 54, 10141, + 55, 10141, + 55, 10141, + 56, 10141, + 56, 10141, + 56, 10141, + 57, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 60, 10141, + 61, 10141, + 61, 10141, + 62, 10141, + 62, 10141, + 63, 10141, + 64, 10141, + 65, 10141, + 65, 10141, + 65, 10141, + 66, 10141, + 67, 10141, + 68, 10141, + 69, 10141, + 70, 10141, + 72, 10141, + 72, 10141, + 72, 10141, + 73, 10141, + 73, 10141, + 73, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 75, 10141, + 75, 10141, + 75, 10141, + 76, 10141, + 77, 10141, + 77, 10141, + 78, 10141, + 78, 10141, + 79, 10141, + 80, 10141, + 80, 10141, + 81, 10141, + 81, 10141, + 81, 10141, + 82, 10141, + 83, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 85, 10141, + 85, 10141, + 85, 10141, + 86, 10141, + 87, 10141, + 87, 10141, + 88, 10141, + 89, 10141, + 89, 10141, + 89, 10141, + 90, 10141, + 90, 10141, + 90, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 93, 10141, + 93, 10141, + 93, 10141, + 94, 10141, + 95, 10141, + 95, 10141, + 95, 10141, + 96, 10141, + 96, 10141, + 96, 10141, + 97, 10141, + 97, 10141, + 98, 10141, + 98, 10141, + 99, 10141, + 99, 10141, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.5", + [[ + SELECT b, sum(b) OVER ( + ORDER BY b + RANGE BETWEEN CURRENT ROW AND CURRENT ROW + ) FROM t2 ORDER BY b; + ]], { + 0, 0, + 1, 2, + 1, 2, + 2, 6, + 2, 6, + 2, 6, + 3, 6, + 3, 6, + 4, 4, + 5, 5, + 6, 6, + 7, 21, + 7, 21, + 7, 21, + 8, 24, + 8, 24, + 8, 24, + 9, 27, + 9, 27, + 9, 27, + 10, 10, + 11, 22, + 11, 22, + 12, 36, + 12, 36, + 12, 36, + 13, 26, + 13, 26, + 14, 14, + 15, 45, + 15, 45, + 15, 45, + 16, 48, + 16, 48, + 16, 48, + 17, 17, + 19, 19, + 20, 20, + 21, 42, + 21, 42, + 22, 44, + 22, 44, + 23, 69, + 23, 69, + 23, 69, + 24, 24, + 25, 25, + 26, 78, + 26, 78, + 26, 78, + 27, 54, + 27, 54, + 28, 28, + 29, 87, + 29, 87, + 29, 87, + 30, 90, + 30, 90, + 30, 90, + 31, 62, + 31, 62, + 32, 32, + 33, 165, + 33, 165, + 33, 165, + 33, 165, + 33, 165, + 34, 136, + 34, 136, + 34, 136, + 34, 136, + 35, 70, + 35, 70, + 36, 144, + 36, 144, + 36, 144, + 36, 144, + 37, 74, + 37, 74, + 38, 76, + 38, 76, + 39, 117, + 39, 117, + 39, 117, + 40, 40, + 41, 123, + 41, 123, + 41, 123, + 42, 42, + 43, 86, + 43, 86, + 44, 88, + 44, 88, + 46, 92, + 46, 92, + 47, 188, + 47, 188, + 47, 188, + 47, 188, + 49, 49, + 50, 50, + 51, 51, + 52, 52, + 53, 53, + 54, 54, + 55, 110, + 55, 110, + 56, 168, + 56, 168, + 56, 168, + 57, 57, + 58, 232, + 58, 232, + 58, 232, + 58, 232, + 59, 236, + 59, 236, + 59, 236, + 59, 236, + 60, 60, + 61, 122, + 61, 122, + 62, 124, + 62, 124, + 63, 63, + 64, 64, + 65, 195, + 65, 195, + 65, 195, + 66, 66, + 67, 67, + 68, 68, + 69, 69, + 70, 70, + 72, 216, + 72, 216, + 72, 216, + 73, 219, + 73, 219, + 73, 219, + 74, 370, + 74, 370, + 74, 370, + 74, 370, + 74, 370, + 75, 225, + 75, 225, + 75, 225, + 76, 76, + 77, 154, + 77, 154, + 78, 156, + 78, 156, + 79, 79, + 80, 160, + 80, 160, + 81, 243, + 81, 243, + 81, 243, + 82, 82, + 83, 83, + 84, 336, + 84, 336, + 84, 336, + 84, 336, + 85, 255, + 85, 255, + 85, 255, + 86, 86, + 87, 174, + 87, 174, + 88, 88, + 89, 267, + 89, 267, + 89, 267, + 90, 270, + 90, 270, + 90, 270, + 91, 455, + 91, 455, + 91, 455, + 91, 455, + 91, 455, + 93, 279, + 93, 279, + 93, 279, + 94, 94, + 95, 285, + 95, 285, + 95, 285, + 96, 288, + 96, 288, + 96, 288, + 97, 194, + 97, 194, + 98, 196, + 98, 196, + 99, 297, + 99, 297, + 99, 297 + }) + +test:do_execsql_test( + "window2-4.6.1", + [[ + SELECT b, sum(b) OVER ( + RANGE BETWEEN CURRENT ROW AND CURRENT ROW + ) FROM t2 ORDER BY b; + ]], { + 0, 10141, + 1, 10141, + 1, 10141, + 2, 10141, + 2, 10141, + 2, 10141, + 3, 10141, + 3, 10141, + 4, 10141, + 5, 10141, + 6, 10141, + 7, 10141, + 7, 10141, + 7, 10141, + 8, 10141, + 8, 10141, + 8, 10141, + 9, 10141, + 9, 10141, + 9, 10141, + 10, 10141, + 11, 10141, + 11, 10141, + 12, 10141, + 12, 10141, + 12, 10141, + 13, 10141, + 13, 10141, + 14, 10141, + 15, 10141, + 15, 10141, + 15, 10141, + 16, 10141, + 16, 10141, + 16, 10141, + 17, 10141, + 19, 10141, + 20, 10141, + 21, 10141, + 21, 10141, + 22, 10141, + 22, 10141, + 23, 10141, + 23, 10141, + 23, 10141, + 24, 10141, + 25, 10141, + 26, 10141, + 26, 10141, + 26, 10141, + 27, 10141, + 27, 10141, + 28, 10141, + 29, 10141, + 29, 10141, + 29, 10141, + 30, 10141, + 30, 10141, + 30, 10141, + 31, 10141, + 31, 10141, + 32, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 35, 10141, + 35, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 37, 10141, + 37, 10141, + 38, 10141, + 38, 10141, + 39, 10141, + 39, 10141, + 39, 10141, + 40, 10141, + 41, 10141, + 41, 10141, + 41, 10141, + 42, 10141, + 43, 10141, + 43, 10141, + 44, 10141, + 44, 10141, + 46, 10141, + 46, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 49, 10141, + 50, 10141, + 51, 10141, + 52, 10141, + 53, 10141, + 54, 10141, + 55, 10141, + 55, 10141, + 56, 10141, + 56, 10141, + 56, 10141, + 57, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 60, 10141, + 61, 10141, + 61, 10141, + 62, 10141, + 62, 10141, + 63, 10141, + 64, 10141, + 65, 10141, + 65, 10141, + 65, 10141, + 66, 10141, + 67, 10141, + 68, 10141, + 69, 10141, + 70, 10141, + 72, 10141, + 72, 10141, + 72, 10141, + 73, 10141, + 73, 10141, + 73, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 75, 10141, + 75, 10141, + 75, 10141, + 76, 10141, + 77, 10141, + 77, 10141, + 78, 10141, + 78, 10141, + 79, 10141, + 80, 10141, + 80, 10141, + 81, 10141, + 81, 10141, + 81, 10141, + 82, 10141, + 83, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 85, 10141, + 85, 10141, + 85, 10141, + 86, 10141, + 87, 10141, + 87, 10141, + 88, 10141, + 89, 10141, + 89, 10141, + 89, 10141, + 90, 10141, + 90, 10141, + 90, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 93, 10141, + 93, 10141, + 93, 10141, + 94, 10141, + 95, 10141, + 95, 10141, + 95, 10141, + 96, 10141, + 96, 10141, + 96, 10141, + 97, 10141, + 97, 10141, + 98, 10141, + 98, 10141, + 99, 10141, + 99, 10141, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.6.2", + [[ + SELECT b, sum(b) OVER () FROM t2 ORDER BY b; + ]], { + 0, 10141, + 1, 10141, + 1, 10141, + 2, 10141, + 2, 10141, + 2, 10141, + 3, 10141, + 3, 10141, + 4, 10141, + 5, 10141, + 6, 10141, + 7, 10141, + 7, 10141, + 7, 10141, + 8, 10141, + 8, 10141, + 8, 10141, + 9, 10141, + 9, 10141, + 9, 10141, + 10, 10141, + 11, 10141, + 11, 10141, + 12, 10141, + 12, 10141, + 12, 10141, + 13, 10141, + 13, 10141, + 14, 10141, + 15, 10141, + 15, 10141, + 15, 10141, + 16, 10141, + 16, 10141, + 16, 10141, + 17, 10141, + 19, 10141, + 20, 10141, + 21, 10141, + 21, 10141, + 22, 10141, + 22, 10141, + 23, 10141, + 23, 10141, + 23, 10141, + 24, 10141, + 25, 10141, + 26, 10141, + 26, 10141, + 26, 10141, + 27, 10141, + 27, 10141, + 28, 10141, + 29, 10141, + 29, 10141, + 29, 10141, + 30, 10141, + 30, 10141, + 30, 10141, + 31, 10141, + 31, 10141, + 32, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 35, 10141, + 35, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 37, 10141, + 37, 10141, + 38, 10141, + 38, 10141, + 39, 10141, + 39, 10141, + 39, 10141, + 40, 10141, + 41, 10141, + 41, 10141, + 41, 10141, + 42, 10141, + 43, 10141, + 43, 10141, + 44, 10141, + 44, 10141, + 46, 10141, + 46, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 49, 10141, + 50, 10141, + 51, 10141, + 52, 10141, + 53, 10141, + 54, 10141, + 55, 10141, + 55, 10141, + 56, 10141, + 56, 10141, + 56, 10141, + 57, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 60, 10141, + 61, 10141, + 61, 10141, + 62, 10141, + 62, 10141, + 63, 10141, + 64, 10141, + 65, 10141, + 65, 10141, + 65, 10141, + 66, 10141, + 67, 10141, + 68, 10141, + 69, 10141, + 70, 10141, + 72, 10141, + 72, 10141, + 72, 10141, + 73, 10141, + 73, 10141, + 73, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 75, 10141, + 75, 10141, + 75, 10141, + 76, 10141, + 77, 10141, + 77, 10141, + 78, 10141, + 78, 10141, + 79, 10141, + 80, 10141, + 80, 10141, + 81, 10141, + 81, 10141, + 81, 10141, + 82, 10141, + 83, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 85, 10141, + 85, 10141, + 85, 10141, + 86, 10141, + 87, 10141, + 87, 10141, + 88, 10141, + 89, 10141, + 89, 10141, + 89, 10141, + 90, 10141, + 90, 10141, + 90, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 93, 10141, + 93, 10141, + 93, 10141, + 94, 10141, + 95, 10141, + 95, 10141, + 95, 10141, + 96, 10141, + 96, 10141, + 96, 10141, + 97, 10141, + 97, 10141, + 98, 10141, + 98, 10141, + 99, 10141, + 99, 10141, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.6.3", + [[ + SELECT b, sum(b) OVER ( + RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + ) FROM t2 ORDER BY b; + ]], { + 0, 10141, + 1, 10141, + 1, 10141, + 2, 10141, + 2, 10141, + 2, 10141, + 3, 10141, + 3, 10141, + 4, 10141, + 5, 10141, + 6, 10141, + 7, 10141, + 7, 10141, + 7, 10141, + 8, 10141, + 8, 10141, + 8, 10141, + 9, 10141, + 9, 10141, + 9, 10141, + 10, 10141, + 11, 10141, + 11, 10141, + 12, 10141, + 12, 10141, + 12, 10141, + 13, 10141, + 13, 10141, + 14, 10141, + 15, 10141, + 15, 10141, + 15, 10141, + 16, 10141, + 16, 10141, + 16, 10141, + 17, 10141, + 19, 10141, + 20, 10141, + 21, 10141, + 21, 10141, + 22, 10141, + 22, 10141, + 23, 10141, + 23, 10141, + 23, 10141, + 24, 10141, + 25, 10141, + 26, 10141, + 26, 10141, + 26, 10141, + 27, 10141, + 27, 10141, + 28, 10141, + 29, 10141, + 29, 10141, + 29, 10141, + 30, 10141, + 30, 10141, + 30, 10141, + 31, 10141, + 31, 10141, + 32, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 35, 10141, + 35, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 37, 10141, + 37, 10141, + 38, 10141, + 38, 10141, + 39, 10141, + 39, 10141, + 39, 10141, + 40, 10141, + 41, 10141, + 41, 10141, + 41, 10141, + 42, 10141, + 43, 10141, + 43, 10141, + 44, 10141, + 44, 10141, + 46, 10141, + 46, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 49, 10141, + 50, 10141, + 51, 10141, + 52, 10141, + 53, 10141, + 54, 10141, + 55, 10141, + 55, 10141, + 56, 10141, + 56, 10141, + 56, 10141, + 57, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 60, 10141, + 61, 10141, + 61, 10141, + 62, 10141, + 62, 10141, + 63, 10141, + 64, 10141, + 65, 10141, + 65, 10141, + 65, 10141, + 66, 10141, + 67, 10141, + 68, 10141, + 69, 10141, + 70, 10141, + 72, 10141, + 72, 10141, + 72, 10141, + 73, 10141, + 73, 10141, + 73, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 75, 10141, + 75, 10141, + 75, 10141, + 76, 10141, + 77, 10141, + 77, 10141, + 78, 10141, + 78, 10141, + 79, 10141, + 80, 10141, + 80, 10141, + 81, 10141, + 81, 10141, + 81, 10141, + 82, 10141, + 83, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 85, 10141, + 85, 10141, + 85, 10141, + 86, 10141, + 87, 10141, + 87, 10141, + 88, 10141, + 89, 10141, + 89, 10141, + 89, 10141, + 90, 10141, + 90, 10141, + 90, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 93, 10141, + 93, 10141, + 93, 10141, + 94, 10141, + 95, 10141, + 95, 10141, + 95, 10141, + 96, 10141, + 96, 10141, + 96, 10141, + 97, 10141, + 97, 10141, + 98, 10141, + 98, 10141, + 99, 10141, + 99, 10141, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.6.4", + [[ + SELECT b, sum(b) OVER ( + RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t2 ORDER BY b; + ]], { + 0, 10141, + 1, 10141, + 1, 10141, + 2, 10141, + 2, 10141, + 2, 10141, + 3, 10141, + 3, 10141, + 4, 10141, + 5, 10141, + 6, 10141, + 7, 10141, + 7, 10141, + 7, 10141, + 8, 10141, + 8, 10141, + 8, 10141, + 9, 10141, + 9, 10141, + 9, 10141, + 10, 10141, + 11, 10141, + 11, 10141, + 12, 10141, + 12, 10141, + 12, 10141, + 13, 10141, + 13, 10141, + 14, 10141, + 15, 10141, + 15, 10141, + 15, 10141, + 16, 10141, + 16, 10141, + 16, 10141, + 17, 10141, + 19, 10141, + 20, 10141, + 21, 10141, + 21, 10141, + 22, 10141, + 22, 10141, + 23, 10141, + 23, 10141, + 23, 10141, + 24, 10141, + 25, 10141, + 26, 10141, + 26, 10141, + 26, 10141, + 27, 10141, + 27, 10141, + 28, 10141, + 29, 10141, + 29, 10141, + 29, 10141, + 30, 10141, + 30, 10141, + 30, 10141, + 31, 10141, + 31, 10141, + 32, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 35, 10141, + 35, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 37, 10141, + 37, 10141, + 38, 10141, + 38, 10141, + 39, 10141, + 39, 10141, + 39, 10141, + 40, 10141, + 41, 10141, + 41, 10141, + 41, 10141, + 42, 10141, + 43, 10141, + 43, 10141, + 44, 10141, + 44, 10141, + 46, 10141, + 46, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 49, 10141, + 50, 10141, + 51, 10141, + 52, 10141, + 53, 10141, + 54, 10141, + 55, 10141, + 55, 10141, + 56, 10141, + 56, 10141, + 56, 10141, + 57, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 60, 10141, + 61, 10141, + 61, 10141, + 62, 10141, + 62, 10141, + 63, 10141, + 64, 10141, + 65, 10141, + 65, 10141, + 65, 10141, + 66, 10141, + 67, 10141, + 68, 10141, + 69, 10141, + 70, 10141, + 72, 10141, + 72, 10141, + 72, 10141, + 73, 10141, + 73, 10141, + 73, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 75, 10141, + 75, 10141, + 75, 10141, + 76, 10141, + 77, 10141, + 77, 10141, + 78, 10141, + 78, 10141, + 79, 10141, + 80, 10141, + 80, 10141, + 81, 10141, + 81, 10141, + 81, 10141, + 82, 10141, + 83, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 85, 10141, + 85, 10141, + 85, 10141, + 86, 10141, + 87, 10141, + 87, 10141, + 88, 10141, + 89, 10141, + 89, 10141, + 89, 10141, + 90, 10141, + 90, 10141, + 90, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 93, 10141, + 93, 10141, + 93, 10141, + 94, 10141, + 95, 10141, + 95, 10141, + 95, 10141, + 96, 10141, + 96, 10141, + 96, 10141, + 97, 10141, + 97, 10141, + 98, 10141, + 98, 10141, + 99, 10141, + 99, 10141, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.7.1", + [[ + SELECT b, sum(b) OVER ( + ROWS BETWEEN CURRENT ROW AND CURRENT ROW + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 0, + 1, 1, + 1, 1, + 2, 2, + 2, 2, + 2, 2, + 3, 3, + 3, 3, + 4, 4, + 5, 5, + 6, 6, + 7, 7, + 7, 7, + 7, 7, + 8, 8, + 8, 8, + 8, 8, + 9, 9, + 9, 9, + 9, 9, + 10, 10, + 11, 11, + 11, 11, + 12, 12, + 12, 12, + 12, 12, + 13, 13, + 13, 13, + 14, 14, + 15, 15, + 15, 15, + 15, 15, + 16, 16, + 16, 16, + 16, 16, + 17, 17, + 19, 19, + 20, 20, + 21, 21, + 21, 21, + 22, 22, + 22, 22, + 23, 23, + 23, 23, + 23, 23, + 24, 24, + 25, 25, + 26, 26, + 26, 26, + 26, 26, + 27, 27, + 27, 27, + 28, 28, + 29, 29, + 29, 29, + 29, 29, + 30, 30, + 30, 30, + 30, 30, + 31, 31, + 31, 31, + 32, 32, + 33, 33, + 33, 33, + 33, 33, + 33, 33, + 33, 33, + 34, 34, + 34, 34, + 34, 34, + 34, 34, + 35, 35, + 35, 35, + 36, 36, + 36, 36, + 36, 36, + 36, 36, + 37, 37, + 37, 37, + 38, 38, + 38, 38, + 39, 39, + 39, 39, + 39, 39, + 40, 40, + 41, 41, + 41, 41, + 41, 41, + 42, 42, + 43, 43, + 43, 43, + 44, 44, + 44, 44, + 46, 46, + 46, 46, + 47, 47, + 47, 47, + 47, 47, + 47, 47, + 49, 49, + 50, 50, + 51, 51, + 52, 52, + 53, 53, + 54, 54, + 55, 55, + 55, 55, + 56, 56, + 56, 56, + 56, 56, + 57, 57, + 58, 58, + 58, 58, + 58, 58, + 58, 58, + 59, 59, + 59, 59, + 59, 59, + 59, 59, + 60, 60, + 61, 61, + 61, 61, + 62, 62, + 62, 62, + 63, 63, + 64, 64, + 65, 65, + 65, 65, + 65, 65, + 66, 66, + 67, 67, + 68, 68, + 69, 69, + 70, 70, + 72, 72, + 72, 72, + 72, 72, + 73, 73, + 73, 73, + 73, 73, + 74, 74, + 74, 74, + 74, 74, + 74, 74, + 74, 74, + 75, 75, + 75, 75, + 75, 75, + 76, 76, + 77, 77, + 77, 77, + 78, 78, + 78, 78, + 79, 79, + 80, 80, + 80, 80, + 81, 81, + 81, 81, + 81, 81, + 82, 82, + 83, 83, + 84, 84, + 84, 84, + 84, 84, + 84, 84, + 85, 85, + 85, 85, + 85, 85, + 86, 86, + 87, 87, + 87, 87, + 88, 88, + 89, 89, + 89, 89, + 89, 89, + 90, 90, + 90, 90, + 90, 90, + 91, 91, + 91, 91, + 91, 91, + 91, 91, + 91, 91, + 93, 93, + 93, 93, + 93, 93, + 94, 94, + 95, 95, + 95, 95, + 95, 95, + 96, 96, + 96, 96, + 96, 96, + 97, 97, + 97, 97, + 98, 98, + 98, 98, + 99, 99, + 99, 99, + 99, 99 + }) + +test:do_execsql_test( + "window2-4.7.2", + [[ + SELECT b, sum(b) OVER ( + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 0, + 1, 3379, + 1, 5443, + 2, 372, + 2, 4473, + 2, 7074, + 3, 2916, + 3, 9096, + 4, 4049, + 5, 5643, + 6, 1047, + 7, 2205, + 7, 7081, + 7, 10141, + 8, 1553, + 8, 5926, + 8, 6422, + 9, 4883, + 9, 7932, + 9, 8497, + 10, 9544, + 11, 5727, + 11, 6433, + 12, 2825, + 12, 5918, + 12, 8582, + 13, 5190, + 13, 8570, + 14, 8596, + 15, 3189, + 15, 6023, + 15, 8924, + 16, 1942, + 16, 1958, + 16, 3590, + 17, 10134, + 19, 7474, + 20, 5946, + 21, 5464, + 21, 9682, + 22, 3029, + 22, 6140, + 23, 212, + 23, 1926, + 23, 8520, + 24, 2626, + 25, 3331, + 26, 337, + 26, 7539, + 26, 7565, + 27, 1270, + 27, 10035, + 28, 3217, + 29, 1649, + 29, 4355, + 29, 7326, + 30, 4215, + 30, 9400, + 30, 9853, + 31, 5977, + 31, 6008, + 32, 2857, + 33, 370, + 33, 4326, + 33, 8175, + 33, 8909, + 33, 9661, + 34, 6414, + 34, 6516, + 34, 8958, + 34, 9925, + 35, 2151, + 35, 5638, + 36, 3701, + 36, 7818, + 36, 8785, + 36, 8994, + 37, 4597, + 37, 8557, + 38, 735, + 38, 9891, + 39, 842, + 39, 7513, + 39, 9721, + 40, 3475, + 41, 115, + 41, 4874, + 41, 5906, + 42, 4185, + 43, 2754, + 43, 3518, + 44, 7072, + 44, 9765, + 46, 1041, + 46, 1316, + 47, 2198, + 47, 3378, + 47, 7612, + 47, 7923, + 49, 6482, + 50, 9450, + 51, 5778, + 52, 9370, + 53, 4408, + 54, 1448, + 55, 3174, + 55, 6876, + 56, 2913, + 56, 3435, + 56, 3574, + 57, 7223, + 58, 5248, + 58, 7876, + 58, 9318, + 58, 9823, + 59, 697, + 59, 2813, + 59, 6665, + 59, 7455, + 60, 6821, + 61, 2426, + 61, 4944, + 62, 904, + 62, 8658, + 63, 4471, + 64, 8407, + 65, 2116, + 65, 5177, + 65, 5603, + 66, 8142, + 67, 1620, + 68, 803, + 69, 9260, + 70, 7396, + 72, 4833, + 72, 8004, + 72, 8076, + 73, 5017, + 73, 5716, + 73, 6213, + 74, 74, + 74, 189, + 74, 2365, + 74, 5538, + 74, 7297, + 75, 3665, + 75, 6951, + 75, 8343, + 76, 3964, + 77, 1903, + 77, 7028, + 78, 1394, + 78, 4293, + 79, 6292, + 80, 4677, + 80, 7692, + 81, 542, + 81, 4045, + 81, 8488, + 82, 10117, + 83, 10008, + 84, 1826, + 84, 4761, + 84, 9534, + 84, 9628, + 85, 2602, + 85, 2711, + 85, 7166, + 86, 2291, + 87, 4560, + 87, 5865, + 88, 6380, + 89, 461, + 89, 3306, + 89, 3790, + 90, 3119, + 90, 6606, + 90, 7782, + 91, 995, + 91, 2517, + 91, 3007, + 91, 8749, + 91, 8876, + 93, 1742, + 93, 2051, + 93, 8268, + 94, 4143, + 95, 5112, + 95, 6118, + 95, 9191, + 96, 638, + 96, 5344, + 96, 6761, + 97, 1243, + 97, 1545, + 98, 3888, + 98, 5442, + 99, 311, + 99, 1146, + 99, 9093 + }) + +test:do_execsql_test( + "window2-4.7.3", + [[ + SELECT b, sum(b) OVER ( + ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 10141, + 1, 10141, + 1, 10141, + 2, 10141, + 2, 10141, + 2, 10141, + 3, 10141, + 3, 10141, + 4, 10141, + 5, 10141, + 6, 10141, + 7, 10141, + 7, 10141, + 7, 10141, + 8, 10141, + 8, 10141, + 8, 10141, + 9, 10141, + 9, 10141, + 9, 10141, + 10, 10141, + 11, 10141, + 11, 10141, + 12, 10141, + 12, 10141, + 12, 10141, + 13, 10141, + 13, 10141, + 14, 10141, + 15, 10141, + 15, 10141, + 15, 10141, + 16, 10141, + 16, 10141, + 16, 10141, + 17, 10141, + 19, 10141, + 20, 10141, + 21, 10141, + 21, 10141, + 22, 10141, + 22, 10141, + 23, 10141, + 23, 10141, + 23, 10141, + 24, 10141, + 25, 10141, + 26, 10141, + 26, 10141, + 26, 10141, + 27, 10141, + 27, 10141, + 28, 10141, + 29, 10141, + 29, 10141, + 29, 10141, + 30, 10141, + 30, 10141, + 30, 10141, + 31, 10141, + 31, 10141, + 32, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 35, 10141, + 35, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 37, 10141, + 37, 10141, + 38, 10141, + 38, 10141, + 39, 10141, + 39, 10141, + 39, 10141, + 40, 10141, + 41, 10141, + 41, 10141, + 41, 10141, + 42, 10141, + 43, 10141, + 43, 10141, + 44, 10141, + 44, 10141, + 46, 10141, + 46, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 49, 10141, + 50, 10141, + 51, 10141, + 52, 10141, + 53, 10141, + 54, 10141, + 55, 10141, + 55, 10141, + 56, 10141, + 56, 10141, + 56, 10141, + 57, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 60, 10141, + 61, 10141, + 61, 10141, + 62, 10141, + 62, 10141, + 63, 10141, + 64, 10141, + 65, 10141, + 65, 10141, + 65, 10141, + 66, 10141, + 67, 10141, + 68, 10141, + 69, 10141, + 70, 10141, + 72, 10141, + 72, 10141, + 72, 10141, + 73, 10141, + 73, 10141, + 73, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 75, 10141, + 75, 10141, + 75, 10141, + 76, 10141, + 77, 10141, + 77, 10141, + 78, 10141, + 78, 10141, + 79, 10141, + 80, 10141, + 80, 10141, + 81, 10141, + 81, 10141, + 81, 10141, + 82, 10141, + 83, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 85, 10141, + 85, 10141, + 85, 10141, + 86, 10141, + 87, 10141, + 87, 10141, + 88, 10141, + 89, 10141, + 89, 10141, + 89, 10141, + 90, 10141, + 90, 10141, + 90, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 93, 10141, + 93, 10141, + 93, 10141, + 94, 10141, + 95, 10141, + 95, 10141, + 95, 10141, + 96, 10141, + 96, 10141, + 96, 10141, + 97, 10141, + 97, 10141, + 98, 10141, + 98, 10141, + 99, 10141, + 99, 10141, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.7.4", + [[ + SELECT b, sum(b) OVER ( + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 10141, + 1, 4699, + 1, 6763, + 2, 3069, + 2, 5670, + 2, 9771, + 3, 1048, + 3, 7228, + 4, 6096, + 5, 4503, + 6, 9100, + 7, 7, + 7, 3067, + 7, 7943, + 8, 3727, + 8, 4223, + 8, 8596, + 9, 1653, + 9, 2218, + 9, 5267, + 10, 607, + 11, 3719, + 11, 4425, + 12, 1571, + 12, 4235, + 12, 7328, + 13, 1584, + 13, 4964, + 14, 1559, + 15, 1232, + 15, 4133, + 15, 6967, + 16, 6567, + 16, 8199, + 16, 8215, + 17, 24, + 19, 2686, + 20, 4215, + 21, 480, + 21, 4698, + 22, 4023, + 22, 7134, + 23, 1644, + 23, 8238, + 23, 9952, + 24, 7539, + 25, 6835, + 26, 2602, + 26, 2628, + 26, 9830, + 27, 133, + 27, 8898, + 28, 6952, + 29, 2844, + 29, 5815, + 29, 8521, + 30, 318, + 30, 771, + 30, 5956, + 31, 4164, + 31, 4195, + 32, 7316, + 33, 513, + 33, 1265, + 33, 1999, + 33, 5848, + 33, 9804, + 34, 250, + 34, 1217, + 34, 3659, + 34, 3761, + 35, 4538, + 35, 8025, + 36, 1183, + 36, 1392, + 36, 2359, + 36, 6476, + 37, 1621, + 37, 5581, + 38, 288, + 38, 9444, + 39, 459, + 39, 2667, + 39, 9338, + 40, 6706, + 41, 4276, + 41, 5308, + 41, 10067, + 42, 5998, + 43, 6666, + 43, 7430, + 44, 420, + 44, 3113, + 46, 8871, + 46, 9146, + 47, 2265, + 47, 2576, + 47, 6810, + 47, 7990, + 49, 3708, + 50, 741, + 51, 4414, + 52, 823, + 53, 5786, + 54, 8747, + 55, 3320, + 55, 7022, + 56, 6623, + 56, 6762, + 56, 7284, + 57, 2975, + 58, 376, + 58, 881, + 58, 2323, + 58, 4951, + 59, 2745, + 59, 3535, + 59, 7387, + 59, 9503, + 60, 3380, + 61, 5258, + 61, 7776, + 62, 1545, + 62, 9299, + 63, 5733, + 64, 1798, + 65, 4603, + 65, 5029, + 65, 8090, + 66, 2065, + 67, 8588, + 68, 9406, + 69, 950, + 70, 2815, + 72, 2137, + 72, 2209, + 72, 5380, + 73, 4001, + 73, 4498, + 73, 5197, + 74, 2918, + 74, 4677, + 74, 7850, + 74, 10026, + 74, 10141, + 75, 1873, + 75, 3265, + 75, 6551, + 76, 6253, + 77, 3190, + 77, 8315, + 78, 5926, + 78, 8825, + 79, 3928, + 80, 2529, + 80, 5544, + 81, 1734, + 81, 6177, + 81, 9680, + 82, 106, + 83, 216, + 84, 597, + 84, 691, + 84, 5464, + 84, 8399, + 85, 3060, + 85, 7515, + 85, 7624, + 86, 7936, + 87, 4363, + 87, 5668, + 88, 3849, + 89, 6440, + 89, 6924, + 89, 9769, + 90, 2449, + 90, 3625, + 90, 7112, + 91, 1356, + 91, 1483, + 91, 7225, + 91, 7715, + 91, 9237, + 93, 1966, + 93, 8183, + 93, 8492, + 94, 6092, + 95, 1045, + 95, 4118, + 95, 5124, + 96, 3476, + 96, 4893, + 96, 9599, + 97, 8693, + 97, 8995, + 98, 4797, + 98, 6351, + 99, 1147, + 99, 9094, + 99, 9929 + }) + +test:do_execsql_test( + "window2-4.8.1", + [[ + SELECT b, sum(b) OVER ( + ORDER BY a + ROWS BETWEEN CURRENT ROW AND CURRENT ROW + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 0, + 1, 1, + 1, 1, + 2, 2, + 2, 2, + 2, 2, + 3, 3, + 3, 3, + 4, 4, + 5, 5, + 6, 6, + 7, 7, + 7, 7, + 7, 7, + 8, 8, + 8, 8, + 8, 8, + 9, 9, + 9, 9, + 9, 9, + 10, 10, + 11, 11, + 11, 11, + 12, 12, + 12, 12, + 12, 12, + 13, 13, + 13, 13, + 14, 14, + 15, 15, + 15, 15, + 15, 15, + 16, 16, + 16, 16, + 16, 16, + 17, 17, + 19, 19, + 20, 20, + 21, 21, + 21, 21, + 22, 22, + 22, 22, + 23, 23, + 23, 23, + 23, 23, + 24, 24, + 25, 25, + 26, 26, + 26, 26, + 26, 26, + 27, 27, + 27, 27, + 28, 28, + 29, 29, + 29, 29, + 29, 29, + 30, 30, + 30, 30, + 30, 30, + 31, 31, + 31, 31, + 32, 32, + 33, 33, + 33, 33, + 33, 33, + 33, 33, + 33, 33, + 34, 34, + 34, 34, + 34, 34, + 34, 34, + 35, 35, + 35, 35, + 36, 36, + 36, 36, + 36, 36, + 36, 36, + 37, 37, + 37, 37, + 38, 38, + 38, 38, + 39, 39, + 39, 39, + 39, 39, + 40, 40, + 41, 41, + 41, 41, + 41, 41, + 42, 42, + 43, 43, + 43, 43, + 44, 44, + 44, 44, + 46, 46, + 46, 46, + 47, 47, + 47, 47, + 47, 47, + 47, 47, + 49, 49, + 50, 50, + 51, 51, + 52, 52, + 53, 53, + 54, 54, + 55, 55, + 55, 55, + 56, 56, + 56, 56, + 56, 56, + 57, 57, + 58, 58, + 58, 58, + 58, 58, + 58, 58, + 59, 59, + 59, 59, + 59, 59, + 59, 59, + 60, 60, + 61, 61, + 61, 61, + 62, 62, + 62, 62, + 63, 63, + 64, 64, + 65, 65, + 65, 65, + 65, 65, + 66, 66, + 67, 67, + 68, 68, + 69, 69, + 70, 70, + 72, 72, + 72, 72, + 72, 72, + 73, 73, + 73, 73, + 73, 73, + 74, 74, + 74, 74, + 74, 74, + 74, 74, + 74, 74, + 75, 75, + 75, 75, + 75, 75, + 76, 76, + 77, 77, + 77, 77, + 78, 78, + 78, 78, + 79, 79, + 80, 80, + 80, 80, + 81, 81, + 81, 81, + 81, 81, + 82, 82, + 83, 83, + 84, 84, + 84, 84, + 84, 84, + 84, 84, + 85, 85, + 85, 85, + 85, 85, + 86, 86, + 87, 87, + 87, 87, + 88, 88, + 89, 89, + 89, 89, + 89, 89, + 90, 90, + 90, 90, + 90, 90, + 91, 91, + 91, 91, + 91, 91, + 91, 91, + 91, 91, + 93, 93, + 93, 93, + 93, 93, + 94, 94, + 95, 95, + 95, 95, + 95, 95, + 96, 96, + 96, 96, + 96, 96, + 97, 97, + 97, 97, + 98, 98, + 98, 98, + 99, 99, + 99, 99, + 99, 99 + }) + +test:do_execsql_test( + "window2-4.8.2", + [[ + SELECT b, sum(b) OVER ( + ORDER BY a + ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 0, + 1, 3379, + 1, 5443, + 2, 372, + 2, 4473, + 2, 7074, + 3, 2916, + 3, 9096, + 4, 4049, + 5, 5643, + 6, 1047, + 7, 2205, + 7, 7081, + 7, 10141, + 8, 1553, + 8, 5926, + 8, 6422, + 9, 4883, + 9, 7932, + 9, 8497, + 10, 9544, + 11, 5727, + 11, 6433, + 12, 2825, + 12, 5918, + 12, 8582, + 13, 5190, + 13, 8570, + 14, 8596, + 15, 3189, + 15, 6023, + 15, 8924, + 16, 1942, + 16, 1958, + 16, 3590, + 17, 10134, + 19, 7474, + 20, 5946, + 21, 5464, + 21, 9682, + 22, 3029, + 22, 6140, + 23, 212, + 23, 1926, + 23, 8520, + 24, 2626, + 25, 3331, + 26, 337, + 26, 7539, + 26, 7565, + 27, 1270, + 27, 10035, + 28, 3217, + 29, 1649, + 29, 4355, + 29, 7326, + 30, 4215, + 30, 9400, + 30, 9853, + 31, 5977, + 31, 6008, + 32, 2857, + 33, 370, + 33, 4326, + 33, 8175, + 33, 8909, + 33, 9661, + 34, 6414, + 34, 6516, + 34, 8958, + 34, 9925, + 35, 2151, + 35, 5638, + 36, 3701, + 36, 7818, + 36, 8785, + 36, 8994, + 37, 4597, + 37, 8557, + 38, 735, + 38, 9891, + 39, 842, + 39, 7513, + 39, 9721, + 40, 3475, + 41, 115, + 41, 4874, + 41, 5906, + 42, 4185, + 43, 2754, + 43, 3518, + 44, 7072, + 44, 9765, + 46, 1041, + 46, 1316, + 47, 2198, + 47, 3378, + 47, 7612, + 47, 7923, + 49, 6482, + 50, 9450, + 51, 5778, + 52, 9370, + 53, 4408, + 54, 1448, + 55, 3174, + 55, 6876, + 56, 2913, + 56, 3435, + 56, 3574, + 57, 7223, + 58, 5248, + 58, 7876, + 58, 9318, + 58, 9823, + 59, 697, + 59, 2813, + 59, 6665, + 59, 7455, + 60, 6821, + 61, 2426, + 61, 4944, + 62, 904, + 62, 8658, + 63, 4471, + 64, 8407, + 65, 2116, + 65, 5177, + 65, 5603, + 66, 8142, + 67, 1620, + 68, 803, + 69, 9260, + 70, 7396, + 72, 4833, + 72, 8004, + 72, 8076, + 73, 5017, + 73, 5716, + 73, 6213, + 74, 74, + 74, 189, + 74, 2365, + 74, 5538, + 74, 7297, + 75, 3665, + 75, 6951, + 75, 8343, + 76, 3964, + 77, 1903, + 77, 7028, + 78, 1394, + 78, 4293, + 79, 6292, + 80, 4677, + 80, 7692, + 81, 542, + 81, 4045, + 81, 8488, + 82, 10117, + 83, 10008, + 84, 1826, + 84, 4761, + 84, 9534, + 84, 9628, + 85, 2602, + 85, 2711, + 85, 7166, + 86, 2291, + 87, 4560, + 87, 5865, + 88, 6380, + 89, 461, + 89, 3306, + 89, 3790, + 90, 3119, + 90, 6606, + 90, 7782, + 91, 995, + 91, 2517, + 91, 3007, + 91, 8749, + 91, 8876, + 93, 1742, + 93, 2051, + 93, 8268, + 94, 4143, + 95, 5112, + 95, 6118, + 95, 9191, + 96, 638, + 96, 5344, + 96, 6761, + 97, 1243, + 97, 1545, + 98, 3888, + 98, 5442, + 99, 311, + 99, 1146, + 99, 9093 + }) + +test:do_execsql_test( + "window2-4.8.3", + [[ + SELECT b, sum(b) OVER ( + ORDER BY a + ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 10141, + 1, 10141, + 1, 10141, + 2, 10141, + 2, 10141, + 2, 10141, + 3, 10141, + 3, 10141, + 4, 10141, + 5, 10141, + 6, 10141, + 7, 10141, + 7, 10141, + 7, 10141, + 8, 10141, + 8, 10141, + 8, 10141, + 9, 10141, + 9, 10141, + 9, 10141, + 10, 10141, + 11, 10141, + 11, 10141, + 12, 10141, + 12, 10141, + 12, 10141, + 13, 10141, + 13, 10141, + 14, 10141, + 15, 10141, + 15, 10141, + 15, 10141, + 16, 10141, + 16, 10141, + 16, 10141, + 17, 10141, + 19, 10141, + 20, 10141, + 21, 10141, + 21, 10141, + 22, 10141, + 22, 10141, + 23, 10141, + 23, 10141, + 23, 10141, + 24, 10141, + 25, 10141, + 26, 10141, + 26, 10141, + 26, 10141, + 27, 10141, + 27, 10141, + 28, 10141, + 29, 10141, + 29, 10141, + 29, 10141, + 30, 10141, + 30, 10141, + 30, 10141, + 31, 10141, + 31, 10141, + 32, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 33, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 34, 10141, + 35, 10141, + 35, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 36, 10141, + 37, 10141, + 37, 10141, + 38, 10141, + 38, 10141, + 39, 10141, + 39, 10141, + 39, 10141, + 40, 10141, + 41, 10141, + 41, 10141, + 41, 10141, + 42, 10141, + 43, 10141, + 43, 10141, + 44, 10141, + 44, 10141, + 46, 10141, + 46, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 47, 10141, + 49, 10141, + 50, 10141, + 51, 10141, + 52, 10141, + 53, 10141, + 54, 10141, + 55, 10141, + 55, 10141, + 56, 10141, + 56, 10141, + 56, 10141, + 57, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 58, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 59, 10141, + 60, 10141, + 61, 10141, + 61, 10141, + 62, 10141, + 62, 10141, + 63, 10141, + 64, 10141, + 65, 10141, + 65, 10141, + 65, 10141, + 66, 10141, + 67, 10141, + 68, 10141, + 69, 10141, + 70, 10141, + 72, 10141, + 72, 10141, + 72, 10141, + 73, 10141, + 73, 10141, + 73, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 74, 10141, + 75, 10141, + 75, 10141, + 75, 10141, + 76, 10141, + 77, 10141, + 77, 10141, + 78, 10141, + 78, 10141, + 79, 10141, + 80, 10141, + 80, 10141, + 81, 10141, + 81, 10141, + 81, 10141, + 82, 10141, + 83, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 84, 10141, + 85, 10141, + 85, 10141, + 85, 10141, + 86, 10141, + 87, 10141, + 87, 10141, + 88, 10141, + 89, 10141, + 89, 10141, + 89, 10141, + 90, 10141, + 90, 10141, + 90, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 91, 10141, + 93, 10141, + 93, 10141, + 93, 10141, + 94, 10141, + 95, 10141, + 95, 10141, + 95, 10141, + 96, 10141, + 96, 10141, + 96, 10141, + 97, 10141, + 97, 10141, + 98, 10141, + 98, 10141, + 99, 10141, + 99, 10141, + 99, 10141 + }) + +test:do_execsql_test( + "window2-4.8.4", + [[ + SELECT b, sum(b) OVER ( + ORDER BY a + ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING + ) FROM t2 ORDER BY 1, 2; + ]], { + 0, 10141, + 1, 4699, + 1, 6763, + 2, 3069, + 2, 5670, + 2, 9771, + 3, 1048, + 3, 7228, + 4, 6096, + 5, 4503, + 6, 9100, + 7, 7, + 7, 3067, + 7, 7943, + 8, 3727, + 8, 4223, + 8, 8596, + 9, 1653, + 9, 2218, + 9, 5267, + 10, 607, + 11, 3719, + 11, 4425, + 12, 1571, + 12, 4235, + 12, 7328, + 13, 1584, + 13, 4964, + 14, 1559, + 15, 1232, + 15, 4133, + 15, 6967, + 16, 6567, + 16, 8199, + 16, 8215, + 17, 24, + 19, 2686, + 20, 4215, + 21, 480, + 21, 4698, + 22, 4023, + 22, 7134, + 23, 1644, + 23, 8238, + 23, 9952, + 24, 7539, + 25, 6835, + 26, 2602, + 26, 2628, + 26, 9830, + 27, 133, + 27, 8898, + 28, 6952, + 29, 2844, + 29, 5815, + 29, 8521, + 30, 318, + 30, 771, + 30, 5956, + 31, 4164, + 31, 4195, + 32, 7316, + 33, 513, + 33, 1265, + 33, 1999, + 33, 5848, + 33, 9804, + 34, 250, + 34, 1217, + 34, 3659, + 34, 3761, + 35, 4538, + 35, 8025, + 36, 1183, + 36, 1392, + 36, 2359, + 36, 6476, + 37, 1621, + 37, 5581, + 38, 288, + 38, 9444, + 39, 459, + 39, 2667, + 39, 9338, + 40, 6706, + 41, 4276, + 41, 5308, + 41, 10067, + 42, 5998, + 43, 6666, + 43, 7430, + 44, 420, + 44, 3113, + 46, 8871, + 46, 9146, + 47, 2265, + 47, 2576, + 47, 6810, + 47, 7990, + 49, 3708, + 50, 741, + 51, 4414, + 52, 823, + 53, 5786, + 54, 8747, + 55, 3320, + 55, 7022, + 56, 6623, + 56, 6762, + 56, 7284, + 57, 2975, + 58, 376, + 58, 881, + 58, 2323, + 58, 4951, + 59, 2745, + 59, 3535, + 59, 7387, + 59, 9503, + 60, 3380, + 61, 5258, + 61, 7776, + 62, 1545, + 62, 9299, + 63, 5733, + 64, 1798, + 65, 4603, + 65, 5029, + 65, 8090, + 66, 2065, + 67, 8588, + 68, 9406, + 69, 950, + 70, 2815, + 72, 2137, + 72, 2209, + 72, 5380, + 73, 4001, + 73, 4498, + 73, 5197, + 74, 2918, + 74, 4677, + 74, 7850, + 74, 10026, + 74, 10141, + 75, 1873, + 75, 3265, + 75, 6551, + 76, 6253, + 77, 3190, + 77, 8315, + 78, 5926, + 78, 8825, + 79, 3928, + 80, 2529, + 80, 5544, + 81, 1734, + 81, 6177, + 81, 9680, + 82, 106, + 83, 216, + 84, 597, + 84, 691, + 84, 5464, + 84, 8399, + 85, 3060, + 85, 7515, + 85, 7624, + 86, 7936, + 87, 4363, + 87, 5668, + 88, 3849, + 89, 6440, + 89, 6924, + 89, 9769, + 90, 2449, + 90, 3625, + 90, 7112, + 91, 1356, + 91, 1483, + 91, 7225, + 91, 7715, + 91, 9237, + 93, 1966, + 93, 8183, + 93, 8492, + 94, 6092, + 95, 1045, + 95, 4118, + 95, 5124, + 96, 3476, + 96, 4893, + 96, 9599, + 97, 8693, + 97, 8995, + 98, 4797, + 98, 6351, + 99, 1147, + 99, 9094, + 99, 9929 + }) + +test:finish_test() diff --git a/test/sql-tap/window3.test.lua b/test/sql-tap/window3.test.lua new file mode 100755 index 0000000000000000000000000000000000000000..d33c60b9f7a6b6712e248731dd797257e99db797 --- /dev/null +++ b/test/sql-tap/window3.test.lua @@ -0,0 +1,31298 @@ +#!/usr/bin/env tarantool +local test = require("sqltester") +test:plan(255) + +test:execsql( [[ + DROP TABLE IF EXISTS t2; + CREATE TABLE t2(a INTEGER PRIMARY KEY, b INTEGER); + INSERT INTO t2(a, b) VALUES + (1,0), (2,74), (3,41), (4,74), (5,23), (6,99), (7,26), (8,33), (9,2), + (10,89), (11,81), (12,96), (13,59), (14,38), (15,68), (16,39), (17,62), + (18,91), (19,46), (20,6), (21,99), (22,97), (23,27), (24,46), (25,78), + (26,54), (27,97), (28,8), (29,67), (30,29), (31,93), (32,84), (33,77), + (34,23), (35,16), (36,16), (37,93), (38,65), (39,35), (40,47), (41,7), + (42,86), (43,74), (44,61), (45,91), (46,85), (47,24), (48,85), (49,43), + (50,59), (51,12), (52,32), (53,56), (54,3), (55,91), (56,22), (57,90), + (58,55), (59,15), (60,28), (61,89), (62,25), (63,47), (64,1), (65,56), + (66,40), (67,43), (68,56), (69,16), (70,75), (71,36), (72,89), (73,98), + (74,76), (75,81), (76,4), (77,94), (78,42), (79,30), (80,78), (81,33), + (82,29), (83,53), (84,63), (85,2), (86,87), (87,37), (88,80), (89,84), + (90,72), (91,41), (92,9), (93,61), (94,73), (95,95), (96,65), (97,13), + (98,58), (99,96), (100,98), (101,1), (102,21), (103,74), (104,65), + (105,35), (106,5), (107,73), (108,11), (109,51), (110,87), (111,41), + (112,12), (113,8), (114,20), (115,31), (116,31), (117,15), (118,95), + (119,22), (120,73), (121,79), (122,88), (123,34), (124,8), (125,11), + (126,49), (127,34), (128,90), (129,59), (130,96), (131,60), (132,55), + (133,75), (134,77), (135,44), (136,2), (137,7), (138,85), (139,57), + (140,74), (141,29), (142,70), (143,59), (144,19), (145,39), (146,26), + (147,26), (148,47), (149,80), (150,90), (151,36), (152,58), (153,47), + (154,9), (155,72), (156,72), (157,66), (158,33), (159,93), (160,75), + (161,64), (162,81), (163,9), (164,23), (165,37), (166,13), (167,12), + (168,14), (169,62), (170,91), (171,36), (172,91), (173,33), (174,15), + (175,34), (176,36), (177,99), (178,3), (179,95), (180,69), (181,58), + (182,52), (183,30), (184,50), (185,84), (186,10), (187,84), (188,33), + (189,21), (190,39), (191,44), (192,58), (193,30), (194,38), (195,34), + (196,83), (197,27), (198,82), (199,17), (200,7); +]]) + +test:do_execsql_test( + "1.1", + [[ +SELECT max(b) OVER ( +ORDER BY a +) FROM t2 + ]], { + 0, 74, 74, 74, 74, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99 +}) + +test:do_execsql_test( + "1.1.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 0, 74, 74, 74, 74, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99 +}) + +test:do_execsql_test( + "1.1.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}) + +test:do_execsql_test( + "1.1.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.1.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.1.3.3", + [[ +SELECT row_number() OVER ( RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.1.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.1.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.1.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.1.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.1.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.1.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.1.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.1.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.1.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.1.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.1.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.1.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.1.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.1.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 76, 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, +-- 109, 65, 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, +-- 110, 57, 51, 52, 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, +-- 133, 92, 109, 63, 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, +-- 110, 65, 121, 106, 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, +-- 171, 120, 109, 158, 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, +-- 132, 101, 154, 167, 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, +-- 140, 111, 180, 119, 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, +-- 141, 193, 200, 210, 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, +-- 208, 211, 179, 138, 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, +-- 173, 195, 229, 240, 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, +-- 225, 243, 172, 187, 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, +-- 209, 212, 276, 181, 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, +-- 210, 229, 235, 250, 223, 232, 229, 279, 224, 280, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.1.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.1.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 65, 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, +-- 132, 101, 163, 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, +-- 132, 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, +-- 71, 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, +-- 147, 84, 41, 114, 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, +-- 187, 207, 212, 124, 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, +-- 120, 92, 110, 179, 235, 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, +-- 136, 80, 113, 187, 109, 121, 124, 196, 156, 210, 239, 250, 72, 109, +-- 188, 202, 191, 105, 154, 79, 231, 147, 225, 103, 161, 169, 223, 96, +-- 83, 249, 212, 162, 227, 228, 167, 180, 193, 76, 78, 117, 177, 214, +-- 145, 208, 235, 150, 110, 211, 103, 158, 200, 168, 229, 92, 156, 243, +-- 280, 279, 116, 173, 269, 271, 131, 133, 223, 128, 173, 197, 210, 99, +-- 150, 161, 147, 218, 240, 109, 136, 146, 261, 263, 124, 130, 252, 171, +-- 190, 213, 274, 108, 195, 226, 119, 124, 171, 198, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.1.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 196, 134, 109, 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, +-- 240, 65, 102, 119, 136, 123, 210, 146, 147, 44, 132, 152, 160, 105, +-- 154, 92, 156, 243, 109, 136, 146, 261, 263, 11, 87, 138, 63, 124, 179, +-- 78, 141, 84, 120, 234, 79, 231, 162, 227, 228, 280, 57, 181, 110, 179, +-- 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, +-- 279, 124, 130, 252, 80, 182, 71, 157, 161, 209, 229, 179, 235, 80, +-- 225, 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 111, 74, 132, +-- 189, 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, +-- 223, 190, 213, 274, 26, 51, 52, 85, 33, 172, 173, 107, 187, 207, 212, +-- 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 48, 144, 207, +-- 216, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, +-- 197, 119, 124, 36, 121, 132, 88, 52, 232, 156, 210, 239, 250, 83, 103, +-- 158, 210, 171, 198, 101, 163, 172, 163, 59, 111, 170, 55, 184, 229, +-- 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.1.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.1.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.1.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 41, "", "", "", "", "", "", "", "", "", +-- "", 26, "", "", "", "", "", "", "", 2, "", 29, "", "", "", 46, 62, 62, +-- "", "", 16, "", 33, "", "", "", "", "", 78, "", 61, "", 59, 77, "", +-- 74, "", 27, "", 22, 39, 67, "", 54, 85, 74, 90, 7, 61, 90, 62, "", 93, +-- "", "", "", "", 23, "", 74, 93, 30, 23, 29, 3, 1, 41, "", 65, 33, 2, +-- 98, 86, 89, 25, 76, "", 40, 38, 15, 13, 96, 74, 97, 81, 40, 16, 99, +-- 76, 96, 32, 80, 86, 59, 2, 99, 84, 84, 39, 65, 27, 76, 78, 84, 16, 2, +-- 96, 59, 16, 41, 28, 13, 89, 22, 4, 42, 91, 41, 33, 87, 55, 81, 29, 36, +-- 28, 6, 47, 97, 97, 85, 33, 41, 93, 15, 85, 89, 98, 98, 43, 23, 73, 4, +-- 56, 29, 89, 46, 65, 38, 59, 68, 47, 9, 93, 9, 23, 39, 16, 93, 98, 74, +-- 65, 75, 15, 56, 93, 12, 2, 81, 2, 23, 97, 47, 91, 15, 93, 35, 16, 63, +-- 8, 53, 91, 33 +-- }) + +-- test:do_execsql_test( +-- "1.1.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 81, "", "", "", 81, "", 21, "", "", "", "", 21, "", "", +-- "", 21, "", "", "", "", "", "", 12, "", "", "", 12, "", "", 72, "", +-- "", "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", +-- "", "", "", 73, "", 23, "", "", "", "", "", "", "", "", 74, "", "", +-- "", "", "", "", "", "", 64, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 15, "", "", "", "", "", "", 55, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, +-- "", "", "", "", "", 27, 47, "", "", "", "", "", "", "", "", "", 98, +-- "", 98, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 29, +-- "", "", "", "", "", "", "", 29, 29, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 7, 7, +-- 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 11, 11, 11, 11, 12, 12, +-- 12, 12, 12, 13, 13, 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 19, 19, 19, 19, 20, +-- 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 25, 25, +-- 26, 26, 26, 26, 26, 27, 27, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, +-- 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, 33, 33, +-- 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, +-- 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40, +-- 40, 40, 41, 41, 41, 41, 41, 41, 42, 43, 43, 43, 43, 43, 43, 44, 44, +-- 44, 44, 44, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, +-- 49, 49, 49 +-- }) + +-- test:do_execsql_test( +-- "1.1.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 90, "", "", "", 90, 1, 30, "", "", "", 31, 30, "", "", "", +-- 1, 40, "", 50, 11, 81, 42, 40, "", 50, 81, 40, "", "", 50, "", 52, "", +-- 41, 81, "", 41, "", 2, 30, 2, 81, 82, 53, "", 10, "", "", 81, "", 41, +-- 10, 81, 30, 81, "", 3, 3, 23, "", 3, 61, 80, "", 94, 3, 91, 91, 72, 3, +-- 63, 30, 91, 94, 94, 72, 91, 73, 91, 84, 84, 33, 41, 1, 33, 84, 73, 73, +-- 91, 20, 41, 84, 33, 33, 84, 33, 41, 84, 21, 44, 22, 90, 22, 81, 81, +-- 74, 93, 93, 93, 81, 21, 83, 44, 44, 21, 21, 21, 13, 21, 21, 34, 11, +-- 34, 73, 74, 2, 60, 2, 34, 2, 34, 74, 60, 23, 2, 2, 2, 11, 91, 60, 62, +-- 73, 74, 70, 51, 65, 74, 93, 65, 70, 34, 70, 93, 93, 93, 62, 35, 44, +-- 43, 12, 35, 41, 43, 44, 44, 41, 80, 54, 72, 43, 41, 43, 91, 12, 80, +-- 80, 35, 33, 12 +-- }) + +-- test:do_execsql_test( +-- "1.1.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.1.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, +-- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, +-- 74, 74, 74, 74, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, +-- 65, 65, 65, 65, 65, 65, 65, 65, 26, 26, 26, 26, 26, 26, 26, 26, 26, +-- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 97, 97, 97, 97, +-- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.1.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.1.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +-- }) + +-- test:do_execsql_test( +-- "1.1.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.1.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.1.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.1.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.1.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.1.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.1.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.1.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "0", "0.74", "0.74.41", "0.74.41.74", "0.74.41.74.23", + "0.74.41.74.23.99", "0.74.41.74.23.99.26", "0.74.41.74.23.99.26.33", + "0.74.41.74.23.99.26.33.2", "0.74.41.74.23.99.26.33.2.89", + "0.74.41.74.23.99.26.33.2.89.81", "0.74.41.74.23.99.26.33.2.89.81.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7" +}) + +test:do_execsql_test( + "1.1.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", + "0.90.40.30.80.20", "0.90.40.30.80.20.90", "0.90.40.30.80.20.90.60", + "0.90.40.30.80.20.90.60.70", "0.90.40.30.80.20.90.60.70.80", + "0.90.40.30.80.20.90.60.70.80.90", "0.90.40.30.80.20.90.60.70.80.90.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", "41", "41.81", "41.81.91", + "41.81.91.61", "41.81.91.61.91", "41.81.91.61.91.91", + "41.81.91.61.91.91.1", "41.81.91.61.91.91.1.81", + "41.81.91.61.91.91.1.81.41", "41.81.91.61.91.91.1.81.41.61", + "41.81.91.61.91.91.1.81.41.61.1", "41.81.91.61.91.91.1.81.41.61.1.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", "2", + "2.62", "2.62.12", "2.62.12.32", "2.62.12.32.22", "2.62.12.32.22.42", + "2.62.12.32.22.42.2", "2.62.12.32.22.42.2.72", + "2.62.12.32.22.42.2.72.12", "2.62.12.32.22.42.2.72.12.22", + "2.62.12.32.22.42.2.72.12.22.2", "2.62.12.32.22.42.2.72.12.22.2.72", + "2.62.12.32.22.42.2.72.12.22.2.72.72", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", "23", "23.33", + "23.33.93", "23.33.93.23", "23.33.93.23.93", "23.33.93.23.93.43", + "23.33.93.23.93.43.3", "23.33.93.23.93.43.3.43", + "23.33.93.23.93.43.3.43.33", "23.33.93.23.93.43.3.43.33.53", + "23.33.93.23.93.43.3.43.33.53.63", "23.33.93.23.93.43.3.43.33.53.63.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "74", "74.74", "74.74.54", "74.74.54.84", "74.74.54.84.74", + "74.74.54.84.74.24", "74.74.54.84.74.24.4", "74.74.54.84.74.24.4.94", + "74.74.54.84.74.24.4.94.84", "74.74.54.84.74.24.4.94.84.74", + "74.74.54.84.74.24.4.94.84.74.34", "74.74.54.84.74.24.4.94.84.74.34.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", "65", + "65.35", "65.35.85", "65.35.85.85", "65.35.85.85.55", + "65.35.85.85.55.15", "65.35.85.85.55.15.25", "65.35.85.85.55.15.25.75", + "65.35.85.85.55.15.25.75.95", "65.35.85.85.55.15.25.75.95.65", + "65.35.85.85.55.15.25.75.95.65.65", + "65.35.85.85.55.15.25.75.95.65.65.35", + "65.35.85.85.55.15.25.75.95.65.65.35.5", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", "26", + "26.96", "26.96.46", "26.96.46.6", "26.96.46.6.46", "26.96.46.6.46.16", + "26.96.46.6.46.16.16", "26.96.46.6.46.16.16.86", + "26.96.46.6.46.16.16.86.56", "26.96.46.6.46.16.16.86.56.56", + "26.96.46.6.46.16.16.86.56.56.56", "26.96.46.6.46.16.16.86.56.56.56.16", + "26.96.46.6.46.16.16.86.56.56.56.16.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", "97", + "97.27", "97.27.97", "97.27.97.67", "97.27.97.67.77", + "97.27.97.67.77.47", "97.27.97.67.77.47.7", "97.27.97.67.77.47.7.47", + "97.27.97.67.77.47.7.47.87", "97.27.97.67.77.47.7.47.87.37", + "97.27.97.67.77.47.7.47.87.37.87", "97.27.97.67.77.47.7.47.87.37.87.77", + "97.27.97.67.77.47.7.47.87.37.87.77.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", "38", + "38.68", "38.68.78", "38.68.78.8", "38.68.78.8.28", "38.68.78.8.28.98", + "38.68.78.8.28.98.78", "38.68.78.8.28.98.78.58", + "38.68.78.8.28.98.78.58.98", "38.68.78.8.28.98.78.58.98.8", + "38.68.78.8.28.98.78.58.98.8.88", "38.68.78.8.28.98.78.58.98.8.88.8", + "38.68.78.8.28.98.78.58.98.8.88.8.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", "99", "99.89", + "99.89.59", "99.89.59.39", "99.89.59.39.99", "99.89.59.39.99.29", + "99.89.59.39.99.29.59", "99.89.59.39.99.29.59.89", + "99.89.59.39.99.29.59.89.89", "99.89.59.39.99.29.59.89.89.29", + "99.89.59.39.99.29.59.89.89.29.9", "99.89.59.39.99.29.59.89.89.29.9.79", + "99.89.59.39.99.29.59.89.89.29.9.79.49", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.1.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.1", "0.1.1", "0.1.1.2", "0.1.1.2.2", "0.1.1.2.2.2", + "0.1.1.2.2.2.3", "0.1.1.2.2.2.3.3", "0.1.1.2.2.2.3.3.4", + "0.1.1.2.2.2.3.3.4.5", "0.1.1.2.2.2.3.3.4.5.6", + "0.1.1.2.2.2.3.3.4.5.6.7", "0.1.1.2.2.2.3.3.4.5.6.7.7", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99" +}) + +test:do_execsql_test( + "1.1.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.10", "0.10.20", "0.10.20.30", "0.10.20.30.30", + "0.10.20.30.30.30", "0.10.20.30.30.30.40", "0.10.20.30.30.30.40.50", + "0.10.20.30.30.30.40.50.60", "0.10.20.30.30.30.40.50.60.70", + "0.10.20.30.30.30.40.50.60.70.80", "0.10.20.30.30.30.40.50.60.70.80.80", + "0.10.20.30.30.30.40.50.60.70.80.80.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", "1", "1.1", "1.1.11", + "1.1.11.11", "1.1.11.11.21", "1.1.11.11.21.21", "1.1.11.11.21.21.31", + "1.1.11.11.21.21.31.31", "1.1.11.11.21.21.31.31.41", + "1.1.11.11.21.21.31.31.41.41", "1.1.11.11.21.21.31.31.41.41.41", + "1.1.11.11.21.21.31.31.41.41.41.51", + "1.1.11.11.21.21.31.31.41.41.41.51.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", "2", + "2.2", "2.2.2", "2.2.2.12", "2.2.2.12.12", "2.2.2.12.12.12", + "2.2.2.12.12.12.22", "2.2.2.12.12.12.22.22", "2.2.2.12.12.12.22.22.32", + "2.2.2.12.12.12.22.22.32.42", "2.2.2.12.12.12.22.22.32.42.52", + "2.2.2.12.12.12.22.22.32.42.52.62", + "2.2.2.12.12.12.22.22.32.42.52.62.62", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", "3", "3.3", "3.3.13", + "3.3.13.13", "3.3.13.13.23", "3.3.13.13.23.23", "3.3.13.13.23.23.23", + "3.3.13.13.23.23.23.33", "3.3.13.13.23.23.23.33.33", + "3.3.13.13.23.23.23.33.33.33", "3.3.13.13.23.23.23.33.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33.33.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "4", "4.14", "4.14.24", "4.14.24.34", "4.14.24.34.34", + "4.14.24.34.34.34", "4.14.24.34.34.34.34", "4.14.24.34.34.34.34.44", + "4.14.24.34.34.34.34.44.44", "4.14.24.34.34.34.34.44.44.54", + "4.14.24.34.34.34.34.44.44.54.64", "4.14.24.34.34.34.34.44.44.54.64.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", "5", + "5.15", "5.15.15", "5.15.15.15", "5.15.15.15.25", "5.15.15.15.25.35", + "5.15.15.15.25.35.35", "5.15.15.15.25.35.35.55", + "5.15.15.15.25.35.35.55.55", "5.15.15.15.25.35.35.55.55.65", + "5.15.15.15.25.35.35.55.55.65.65", "5.15.15.15.25.35.35.55.55.65.65.65", + "5.15.15.15.25.35.35.55.55.65.65.65.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", "6", + "6.16", "6.16.16", "6.16.16.16", "6.16.16.16.26", "6.16.16.16.26.26", + "6.16.16.16.26.26.26", "6.16.16.16.26.26.26.36", + "6.16.16.16.26.26.26.36.36", "6.16.16.16.26.26.26.36.36.36", + "6.16.16.16.26.26.26.36.36.36.36", "6.16.16.16.26.26.26.36.36.36.36.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", "7", + "7.7", "7.7.7", "7.7.7.17", "7.7.7.17.27", "7.7.7.17.27.27", + "7.7.7.17.27.27.37", "7.7.7.17.27.27.37.37", "7.7.7.17.27.27.37.37.47", + "7.7.7.17.27.27.37.37.47.47", "7.7.7.17.27.27.37.37.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47.57", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", "8", "8.8", + "8.8.8", "8.8.8.28", "8.8.8.28.38", "8.8.8.28.38.38", + "8.8.8.28.38.38.58", "8.8.8.28.38.38.58.58", "8.8.8.28.38.38.58.58.58", + "8.8.8.28.38.38.58.58.58.58", "8.8.8.28.38.38.58.58.58.58.68", + "8.8.8.28.38.38.58.58.58.58.68.78", + "8.8.8.28.38.38.58.58.58.58.68.78.78", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", "9", "9.9", "9.9.9", + "9.9.9.19", "9.9.9.19.29", "9.9.9.19.29.29", "9.9.9.19.29.29.29", + "9.9.9.19.29.29.29.39", "9.9.9.19.29.29.29.39.39", + "9.9.9.19.29.29.29.39.39.39", "9.9.9.19.29.29.29.39.39.39.49", + "9.9.9.19.29.29.29.39.39.39.49.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99" +}) + +test:do_execsql_test( + "1.1.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", + "0.90.40.30.80.20", "0.90.40.30.80.20.90", "0.90.40.30.80.20.90.60", + "0.90.40.30.80.20.90.60.70", "0.90.40.30.80.20.90.60.70.80", + "0.90.40.30.80.20.90.60.70.80.90", "0.90.40.30.80.20.90.60.70.80.90.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.1.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.1.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "", "74", "74", "74.74", "74.74", "74.74.99", "74.74.99", "74.74.99.33", + "74.74.99.33", "74.74.99.33.89", "74.74.99.33.89", "74.74.99.33.89.96", + "74.74.99.33.89.96", "74.74.99.33.89.96.38", "74.74.99.33.89.96.38", + "74.74.99.33.89.96.38.39", "74.74.99.33.89.96.38.39", + "74.74.99.33.89.96.38.39.91", "74.74.99.33.89.96.38.39.91", + "74.74.99.33.89.96.38.39.91.6", "74.74.99.33.89.96.38.39.91.6", + "74.74.99.33.89.96.38.39.91.6.97", "74.74.99.33.89.96.38.39.91.6.97", + "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7" +}) + +test:do_execsql_test( + "1.1.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.1.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.1.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "89", "89.6", "89.6.29", "89.6.29.47", "89.6.29.47.59", + "89.6.29.47.59.28", "89.6.29.47.59.28.75", "89.6.29.47.59.28.75.78", + "89.6.29.47.59.28.75.78.72", "89.6.29.47.59.28.75.78.72.98", + "89.6.29.47.59.28.75.78.72.98.87", "89.6.29.47.59.28.75.78.72.98.87.73", + "89.6.29.47.59.28.75.78.72.98.87.73.96", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "74", + "74.96", "74.96.97", "74.96.97.84", "74.96.97.84.86", + "74.96.97.84.86.32", "74.96.97.84.86.32.25", "74.96.97.84.86.32.25.89", + "74.96.97.84.86.32.25.89.29", "74.96.97.84.86.32.25.89.29.9", + "74.96.97.84.86.32.25.89.29.9.21", "74.96.97.84.86.32.25.89.29.9.21.12", + "74.96.97.84.86.32.25.89.29.9.21.12.88", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "74", + "74.38", "74.38.46", "74.38.46.23", "74.38.46.23.61", "74.38.46.23.61.3", + "74.38.46.23.61.3.1", "74.38.46.23.61.3.1.76", + "74.38.46.23.61.3.1.76.63", "74.38.46.23.61.3.1.76.63.73", + "74.38.46.23.61.3.1.76.63.73.65", "74.38.46.23.61.3.1.76.63.73.65.20", + "74.38.46.23.61.3.1.76.63.73.65.20.8", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "99", + "99.39", "99.39.54", "99.39.54.16", "99.39.54.16.85", + "99.39.54.16.85.22", "99.39.54.16.85.22.40", "99.39.54.16.85.22.40.4", + "99.39.54.16.85.22.40.4.87", "99.39.54.16.85.22.40.4.87.65", + "99.39.54.16.85.22.40.4.87.65.5", "99.39.54.16.85.22.40.4.87.65.5.31", + "99.39.54.16.85.22.40.4.87.65.5.31.49", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "33", + "33.91", "33.91.8", "33.91.8.65", "33.91.8.65.85", "33.91.8.65.85.55", + "33.91.8.65.85.55.56", "33.91.8.65.85.55.56.42", + "33.91.8.65.85.55.56.42.80", "33.91.8.65.85.55.56.42.80.58", + "33.91.8.65.85.55.56.42.80.58.11", "33.91.8.65.85.55.56.42.80.58.11.95", + "33.91.8.65.85.55.56.42.80.58.11.95.90", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.2.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99 +}) + +test:do_execsql_test( + "1.2.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}) + +test:do_execsql_test( + "1.2.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.2.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.2.3.3", + [[ +SELECT row_number() OVER ( RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.2.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.2.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.2.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.2.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.2.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.2.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.2.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.2.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.2.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.2.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.2.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.2.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.2.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.2.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.2.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, +-- 223, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, +-- 210, 210, 210, 210, 210, 210, 210, 210, 210, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 212, 212, 212, 212, 212, 212, 212, +-- 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, +-- 212, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 232, 232, 232, 232, 232, 232, 232, +-- 232, 232, 232, 232, 232, 232, 232, 232, 232, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.2.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.2.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, +-- 240, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, +-- 263, 263, 263, 263, 263, 263, 263, 263, 263, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 171, 171, 171, 171, 171, 171, 171, +-- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 226, 226, 226, 226, 226, 226, 226, +-- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, +-- 226, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, +-- 124, 124, 124, 124, 124, 124, 124, 198, 198, 198, 198, 198, 198, 198, +-- 198, 198, 198, 198, 198, 198, 198, 198, 198, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.2.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.2.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.2.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 81, 86, 81, 46, 98, 97, 23, 41, 72, 29, 13, 28, 35, 16, 47, 47, 9, +-- 24, 26, 98, 58, 8, 24, 30, 91, 58, 2, 56, 29, 73, 2, 42, 46, 62, 62, +-- 73, 40, 16, 85, 33, 37, 81, 25, 9, 87, 78, 87, 61, 28, 59, 77, 90, 74, +-- 9, 27, 41, 22, 39, 67, 72, 54, 85, 74, 90, 7, 61, 90, 62, 4, 93, 72, +-- 96, 94, 29, 23, 95, 74, 93, 30, 23, 29, 3, 1, 41, 80, 65, 33, 2, 98, +-- 86, 89, 25, 76, 65, 40, 38, 15, 13, 96, 74, 97, 81, 40, 16, 99, 76, +-- 96, 32, 80, 86, 59, 2, 99, 84, 84, 39, 65, 27, 76, 78, 84, 16, 2, 96, +-- 59, 16, 41, 28, 13, 89, 22, 4, 42, 91, 41, 33, 87, 55, 81, 29, 36, 28, +-- 6, 47, 97, 97, 85, 33, 41, 93, 15, 85, 89, 98, 98, 43, 23, 73, 4, 56, +-- 29, 89, 46, 65, 38, 59, 68, 47, 9, 93, 9, 23, 39, 16, 93, 98, 74, 65, +-- 75, 15, 56, 93, 12, 2, 81, 2, 23, 97, 47, 91, 15, 93, 35, 16, 63, 8, +-- 53, 91, 33 +-- }) + +-- test:do_execsql_test( +-- "1.2.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 81, "", "", "", 81, 21, 21, "", "", "", "", 21, "", "", +-- "", 21, 12, "", 72, "", "", "", 12, "", 72, "", 12, "", "", 72, "", +-- "", "", "", "", "", "", "", "", 23, "", "", "", "", "", 73, "", "", +-- "", "", "", 73, "", 23, "", "", "", "", "", "", "", "", 74, "", "", +-- "", "", "", "", "", "", 64, "", "", "", "", "", "", "", "", "", "", +-- 55, "", "", "", "", "", "", 15, 55, "", "", "", "", "", 55, "", "", +-- "", "", 16, "", 26, 26, "", "", "", "", 26, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 47, "", "", "", "", "", 47, +-- "", "", "", "", "", 27, 47, "", "", "", 98, "", "", "", "", "", 98, +-- "", 98, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 29, +-- "", "", "", "", "", 9, "", 29, 29, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 7, 7, +-- 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 11, 11, 11, 11, 12, 12, +-- 12, 12, 12, 13, 13, 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 19, 19, 19, 19, 20, +-- 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 25, 25, +-- 26, 26, 26, 26, 26, 27, 27, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, +-- 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, 33, 33, +-- 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, +-- 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40, +-- 40, 40, 41, 41, 41, 41, 41, 41, 42, 43, 43, 43, 43, 43, 43, 44, 44, +-- 44, 44, 44, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, +-- 49, 49, 49 +-- }) + +-- test:do_execsql_test( +-- "1.2.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 1, 51, +-- 51, 91, 91, "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 2, 2, 62, 62, 62, "", "", "", "", "", "", "", "", "", "", +-- "", 13, 13, 43, 43, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 85, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 66, +-- 66, 66, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 37, 37, 87, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 58, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 39, 39, 89, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 74, 32, 31, 84, 91, 74, 3, 93, 84, 74, 31, 12, 90, 31, 22, 74, 64, +-- 43, 64, 64, 90, 74, 22, 43, 90, 1, 30, 62, 22, 31, 31, 30, 74, 64, 64, +-- 1, 40, 33, 50, 11, 81, 42, 40, 13, 50, 81, 40, 13, 13, 50, 33, 52, 24, +-- 41, 81, 34, 41, 34, 2, 30, 2, 81, 82, 53, 33, 10, 33, 33, 81, 34, 41, +-- 10, 81, 30, 81, 4, 3, 3, 23, 94, 3, 61, 80, 84, 94, 3, 91, 91, 72, 3, +-- 63, 30, 91, 94, 94, 72, 91, 73, 91, 84, 84, 33, 41, 1, 33, 84, 73, 73, +-- 91, 20, 41, 84, 33, 33, 84, 33, 41, 84, 21, 44, 22, 90, 22, 81, 81, +-- 74, 93, 93, 93, 81, 21, 83, 44, 44, 21, 21, 21, 13, 21, 21, 34, 11, +-- 34, 73, 74, 2, 60, 2, 34, 2, 34, 74, 60, 23, 2, 2, 2, 11, 91, 60, 62, +-- 73, 74, 70, 51, 65, 74, 93, 65, 70, 34, 70, 93, 93, 93, 62, 35, 44, +-- 43, 12, 35, 41, 43, 44, 44, 41, 80, 54, 72, 43, 41, 43, 91, 12, 80, +-- 80, 35, 33, 12 +-- }) + +-- test:do_execsql_test( +-- "1.2.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.2.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, +-- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, +-- 74, 74, 74, 74, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, +-- 65, 65, 65, 65, 65, 65, 65, 65, 26, 26, 26, 26, 26, 26, 26, 26, 26, +-- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 97, 97, 97, 97, +-- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.2.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.2.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +-- }) + +-- test:do_execsql_test( +-- "1.2.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.2.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.2.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.2.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.2.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.2.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.2.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.2.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7" +}) + +test:do_execsql_test( + "1.2.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.2.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99" +}) + +test:do_execsql_test( + "1.2.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99" +}) + +test:do_execsql_test( + "1.2.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.2.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.2.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7" +}) + +test:do_execsql_test( + "1.2.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.2.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.2.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.3.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, 46, + 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, 93, 65, + 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, 91, 22, 90, + 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, 98, 76, 81, 4, + 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, 41, 9, 61, 73, 95, + 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, 51, 87, 41, 12, 8, 20, + 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, 34, 90, 59, 96, 60, 55, + 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, + 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, + 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, + 21, 39, 44, 58, 30, 38, 34, 83, 27, 82, 17, 7 +}) + +test:do_execsql_test( + "1.3.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, 46, + 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, 93, 65, + 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, 91, 22, 90, + 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, 98, 76, 81, 4, + 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, 41, 9, 61, 73, 95, + 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, 51, 87, 41, 12, 8, 20, + 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, 34, 90, 59, 96, 60, 55, + 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, + 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, + 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, + 21, 39, 44, 58, 30, 38, 34, 83, 27, 82, 17, 7 +}) + +test:do_execsql_test( + "1.3.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.3.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.3.3.3", + [[ +SELECT row_number() OVER ( RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.3.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.3.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.3.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.3.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.3.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.3.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.3.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.3.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.3.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.3.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.3.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.3.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.3.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.3.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 76, 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, +-- 109, 65, 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, +-- 110, 57, 51, 52, 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, +-- 133, 92, 109, 63, 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, +-- 110, 65, 121, 106, 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, +-- 171, 120, 109, 158, 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, +-- 132, 101, 154, 167, 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, +-- 140, 111, 180, 119, 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, +-- 141, 193, 200, 210, 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, +-- 208, 211, 179, 138, 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, +-- 173, 195, 229, 240, 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, +-- 225, 243, 172, 187, 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, +-- 209, 212, 276, 181, 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, +-- 210, 229, 235, 250, 223, 232, 229, 279, 224, 280, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.3.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.3.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 65, 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, +-- 132, 101, 163, 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, +-- 132, 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, +-- 71, 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, +-- 147, 84, 41, 114, 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, +-- 187, 207, 212, 124, 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, +-- 120, 92, 110, 179, 235, 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, +-- 136, 80, 113, 187, 109, 121, 124, 196, 156, 210, 239, 250, 72, 109, +-- 188, 202, 191, 105, 154, 79, 231, 147, 225, 103, 161, 169, 223, 96, +-- 83, 249, 212, 162, 227, 228, 167, 180, 193, 76, 78, 117, 177, 214, +-- 145, 208, 235, 150, 110, 211, 103, 158, 200, 168, 229, 92, 156, 243, +-- 280, 279, 116, 173, 269, 271, 131, 133, 223, 128, 173, 197, 210, 99, +-- 150, 161, 147, 218, 240, 109, 136, 146, 261, 263, 124, 130, 252, 171, +-- 190, 213, 274, 108, 195, 226, 119, 124, 171, 198, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.3.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 196, 134, 109, 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, +-- 240, 65, 102, 119, 136, 123, 210, 146, 147, 44, 132, 152, 160, 105, +-- 154, 92, 156, 243, 109, 136, 146, 261, 263, 11, 87, 138, 63, 124, 179, +-- 78, 141, 84, 120, 234, 79, 231, 162, 227, 228, 280, 57, 181, 110, 179, +-- 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, +-- 279, 124, 130, 252, 80, 182, 71, 157, 161, 209, 229, 179, 235, 80, +-- 225, 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 111, 74, 132, +-- 189, 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, +-- 223, 190, 213, 274, 26, 51, 52, 85, 33, 172, 173, 107, 187, 207, 212, +-- 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 48, 144, 207, +-- 216, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, +-- 197, 119, 124, 36, 121, 132, 88, 52, 232, 156, 210, 239, 250, 83, 103, +-- 158, 210, 171, 198, 101, 163, 172, 163, 59, 111, 170, 55, 184, 229, +-- 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.3.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.3.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.3.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, +-- 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, +-- 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, +-- 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, +-- 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, +-- 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, +-- 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, +-- 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, +-- 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, +-- 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, +-- 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, 83, 27, +-- 82, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.3.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.3.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 11, +-- 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, +-- 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, 62, 62, +-- 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, 73, 74, +-- 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, +-- 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, 89, 89, +-- 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, 96, 96, +-- 96, 97, 97, 98, 98, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.3.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 80, 90, 90, 90, 1, 1, 11, +-- 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 91, 91, +-- 91, 91, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 72, 72, 72, +-- 82, 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, +-- 73, 73, 83, 93, 93, 93, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, +-- 74, 74, 74, 74, 84, 84, 84, 84, 94, 5, 15, 15, 15, 25, 35, 35, 55, 55, +-- 65, 65, 65, 75, 75, 75, 85, 85, 85, 95, 95, 95, 6, 16, 16, 16, 26, 26, +-- 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, 86, 96, 96, 96, 7, 7, +-- 7, 17, 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, 87, 87, 97, 97, +-- 8, 8, 8, 28, 38, 38, 58, 58, 58, 58, 68, 78, 78, 88, 98, 98, 9, 9, 9, +-- 19, 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, 59, 69, 79, 89, 89, 89, +-- 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.3.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.3.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.3.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.3.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.3.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.3.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.3.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.3.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "0", "74", "41", "74", "23", "99", "26", "33", "2", "89", "81", "96", + "59", "38", "68", "39", "62", "91", "46", "6", "99", "97", "27", "46", + "78", "54", "97", "8", "67", "29", "93", "84", "77", "23", "16", "16", + "93", "65", "35", "47", "7", "86", "74", "61", "91", "85", "24", "85", + "43", "59", "12", "32", "56", "3", "91", "22", "90", "55", "15", "28", + "89", "25", "47", "1", "56", "40", "43", "56", "16", "75", "36", "89", + "98", "76", "81", "4", "94", "42", "30", "78", "33", "29", "53", "63", + "2", "87", "37", "80", "84", "72", "41", "9", "61", "73", "95", "65", + "13", "58", "96", "98", "1", "21", "74", "65", "35", "5", "73", "11", + "51", "87", "41", "12", "8", "20", "31", "31", "15", "95", "22", "73", + "79", "88", "34", "8", "11", "49", "34", "90", "59", "96", "60", "55", + "75", "77", "44", "2", "7", "85", "57", "74", "29", "70", "59", "19", + "39", "26", "26", "47", "80", "90", "36", "58", "47", "9", "72", "72", + "66", "33", "93", "75", "64", "81", "9", "23", "37", "13", "12", "14", + "62", "91", "36", "91", "33", "15", "34", "36", "99", "3", "95", "69", + "58", "52", "30", "50", "84", "10", "84", "33", "21", "39", "44", "58", + "30", "38", "34", "83", "27", "82", "17", "7" +}) + +test:do_execsql_test( + "1.3.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "0", "90", "40", "30", "80", "20", "90", "60", "70", "80", "90", "30", + "50", "10", "30", "41", "81", "91", "61", "91", "91", "1", "81", "41", + "61", "1", "21", "11", "51", "41", "31", "31", "11", "81", "91", "91", + "21", "2", "62", "12", "32", "22", "42", "2", "72", "12", "22", "2", + "72", "72", "12", "62", "52", "82", "23", "33", "93", "23", "93", "43", + "3", "43", "33", "53", "63", "73", "13", "73", "73", "33", "93", "23", + "13", "33", "3", "33", "83", "74", "74", "54", "84", "74", "24", "4", + "94", "84", "74", "34", "34", "44", "74", "64", "14", "34", "84", "84", + "44", "34", "65", "35", "85", "85", "55", "15", "25", "75", "95", "65", + "65", "35", "5", "15", "95", "55", "75", "85", "75", "15", "95", "26", + "96", "46", "6", "46", "16", "16", "86", "56", "56", "56", "16", "36", + "76", "96", "96", "26", "26", "36", "66", "36", "36", "97", "27", "97", + "67", "77", "47", "7", "47", "87", "37", "87", "77", "7", "57", "47", + "47", "37", "27", "17", "7", "38", "68", "78", "8", "28", "98", "78", + "58", "98", "8", "88", "8", "58", "58", "58", "38", "99", "89", "59", + "39", "99", "29", "59", "89", "89", "29", "9", "79", "49", "59", "29", + "59", "19", "39", "9", "9", "99", "69", "39" +}) + +test:do_execsql_test( + "1.3.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + "0", "1", "1", "2", "2", "2", "3", "3", "4", "5", "6", "7", "7", "7", + "8", "8", "8", "9", "9", "9", "10", "11", "11", "12", "12", "12", "13", + "13", "14", "15", "15", "15", "16", "16", "16", "17", "19", "20", "21", + "21", "22", "22", "23", "23", "23", "24", "25", "26", "26", "26", "27", + "27", "28", "29", "29", "29", "30", "30", "30", "31", "31", "32", "33", + "33", "33", "33", "33", "34", "34", "34", "34", "35", "35", "36", "36", + "36", "36", "37", "37", "38", "38", "39", "39", "39", "40", "41", "41", + "41", "42", "43", "43", "44", "44", "46", "46", "47", "47", "47", "47", + "49", "50", "51", "52", "53", "54", "55", "55", "56", "56", "56", "57", + "58", "58", "58", "58", "59", "59", "59", "59", "60", "61", "61", "62", + "62", "63", "64", "65", "65", "65", "66", "67", "68", "69", "70", "72", + "72", "72", "73", "73", "73", "74", "74", "74", "74", "74", "75", "75", + "75", "76", "77", "77", "78", "78", "79", "80", "80", "81", "81", "81", + "82", "83", "84", "84", "84", "84", "85", "85", "85", "86", "87", "87", + "88", "89", "89", "89", "90", "90", "90", "91", "91", "91", "91", "91", + "93", "93", "93", "94", "95", "95", "95", "96", "96", "96", "97", "97", + "98", "98", "99", "99", "99" +}) + +test:do_execsql_test( + "1.3.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + "0", "10", "20", "30", "30", "30", "40", "50", "60", "70", "80", "80", + "90", "90", "90", "1", "1", "11", "11", "21", "21", "31", "31", "41", + "41", "41", "51", "61", "61", "81", "81", "81", "91", "91", "91", "91", + "91", "2", "2", "2", "12", "12", "12", "22", "22", "32", "42", "52", + "62", "62", "72", "72", "72", "82", "3", "3", "13", "13", "23", "23", + "23", "33", "33", "33", "33", "33", "43", "43", "53", "63", "73", "73", + "73", "83", "93", "93", "93", "4", "14", "24", "34", "34", "34", "34", + "44", "44", "54", "64", "74", "74", "74", "74", "74", "84", "84", "84", + "84", "94", "5", "15", "15", "15", "25", "35", "35", "55", "55", "65", + "65", "65", "75", "75", "75", "85", "85", "85", "95", "95", "95", "6", + "16", "16", "16", "26", "26", "26", "36", "36", "36", "36", "46", "46", + "56", "56", "56", "66", "76", "86", "96", "96", "96", "7", "7", "7", + "17", "27", "27", "37", "37", "47", "47", "47", "47", "57", "67", "77", + "77", "87", "87", "97", "97", "8", "8", "8", "28", "38", "38", "58", + "58", "58", "58", "68", "78", "78", "88", "98", "98", "9", "9", "9", + "19", "29", "29", "29", "39", "39", "39", "49", "59", "59", "59", "59", + "69", "79", "89", "89", "89", "99", "99", "99" +}) + +test:do_execsql_test( + "1.3.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + "0", "90", "40", "30", "80", "20", "90", "60", "70", "80", "90", "30", + "50", "10", "30", "41", "81", "91", "61", "91", "91", "1", "81", "41", + "61", "1", "21", "11", "51", "41", "31", "31", "11", "81", "91", "91", + "21", "2", "62", "12", "32", "22", "42", "2", "72", "12", "22", "2", + "72", "72", "12", "62", "52", "82", "23", "33", "93", "23", "93", "43", + "3", "43", "33", "53", "63", "73", "13", "73", "73", "33", "93", "23", + "13", "33", "3", "33", "83", "74", "74", "54", "84", "74", "24", "4", + "94", "84", "74", "34", "34", "44", "74", "64", "14", "34", "84", "84", + "44", "34", "65", "35", "85", "85", "55", "15", "25", "75", "95", "65", + "65", "35", "5", "15", "95", "55", "75", "85", "75", "15", "95", "26", + "96", "46", "6", "46", "16", "16", "86", "56", "56", "56", "16", "36", + "76", "96", "96", "26", "26", "36", "66", "36", "36", "97", "27", "97", + "67", "77", "47", "7", "47", "87", "37", "87", "77", "7", "57", "47", + "47", "37", "27", "17", "7", "38", "68", "78", "8", "28", "98", "78", + "58", "98", "8", "88", "8", "58", "58", "58", "38", "99", "89", "59", + "39", "99", "29", "59", "89", "89", "29", "9", "79", "49", "59", "29", + "59", "19", "39", "9", "9", "99", "69", "39" +}) + +test:do_execsql_test( + "1.3.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.3.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "", "74", "", "74", "", "99", "", "33", "", "89", "", "96", "", "38", "", + "39", "", "91", "", "6", "", "97", "", "46", "", "54", "", "8", "", "29", + "", "84", "", "23", "", "16", "", "65", "", "47", "", "86", "", "61", "", + "85", "", "85", "", "59", "", "32", "", "3", "", "22", "", "55", "", + "28", "", "25", "", "1", "", "40", "", "56", "", "75", "", "89", "", + "76", "", "4", "", "42", "", "78", "", "29", "", "63", "", "87", "", + "80", "", "72", "", "9", "", "73", "", "65", "", "58", "", "98", "", + "21", "", "65", "", "5", "", "11", "", "87", "", "12", "", "20", "", + "31", "", "95", "", "73", "", "88", "", "8", "", "49", "", "90", "", + "96", "", "55", "", "77", "", "2", "", "85", "", "74", "", "70", "", + "19", "", "26", "", "47", "", "90", "", "58", "", "9", "", "72", "", + "33", "", "75", "", "81", "", "23", "", "13", "", "14", "", "91", "", + "91", "", "15", "", "36", "", "3", "", "69", "", "52", "", "50", "", + "10", "", "33", "", "39", "", "58", "", "38", "", "83", "", "82", "", "7" +}) + +test:do_execsql_test( + "1.3.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.3.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.3.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "89", "6", "29", "47", "59", "28", "75", "78", "72", "98", "87", "73", + "96", "74", "90", "75", "91", "69", "39", "7", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "74", "96", "97", + "84", "86", "32", "25", "89", "29", "9", "21", "12", "88", "55", "70", + "58", "81", "91", "52", "58", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "74", "38", "46", "23", "61", "3", + "1", "76", "63", "73", "65", "20", "8", "77", "19", "9", "23", "15", + "50", "38", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "99", "39", "54", "16", "85", "22", "40", "4", "87", + "65", "5", "31", "49", "2", "26", "72", "13", "36", "10", "83", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33", "91", "8", "65", "85", "55", "56", "42", "80", "58", "11", "95", + "90", "85", "47", "33", "14", "3", "33", "82", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +-- test:do_execsql_test( +-- "1.4.2.1", +-- [[ +-- SELECT max(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 95, 95, 84, +-- 84, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, +-- 17, 7 +-- }) + +test:do_execsql_test( + "1.4.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7 +}) + +test:do_execsql_test( + "1.4.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.4.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.4.3.3", + [[ +SELECT row_number() OVER ( RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.4.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.4.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.4.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.4.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.4.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.4.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.4.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.4.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.4.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.4.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.4.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.4.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.4.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.4.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.4.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, +-- 223, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, +-- 210, 210, 210, 210, 210, 210, 210, 210, 210, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 212, 212, 212, 212, 212, 212, 212, +-- 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, +-- 212, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 232, 232, 232, 232, 232, 232, 232, +-- 232, 232, 232, 232, 232, 232, 232, 232, 232, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.4.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.4.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, +-- 240, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, +-- 263, 263, 263, 263, 263, 263, 263, 263, 263, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 171, 171, 171, 171, 171, 171, 171, +-- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 226, 226, 226, 226, 226, 226, 226, +-- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, +-- 226, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, +-- 124, 124, 124, 124, 124, 124, 124, 198, 198, 198, 198, 198, 198, 198, +-- 198, 198, 198, 198, 198, 198, 198, 198, 198, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.4.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.4.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.4.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, +-- 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, +-- 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, +-- 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, +-- 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, +-- 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, +-- 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, +-- 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, +-- 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, +-- 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, +-- 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, 83, 27, +-- 82, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.4.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.4.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 11, +-- 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, +-- 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, 62, 62, +-- 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, 73, 74, +-- 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, +-- 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, 89, 89, +-- 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, 96, 96, +-- 96, 97, 97, 98, 98, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.4.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 80, 90, 90, 90, 1, 1, 11, +-- 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 91, 91, +-- 91, 91, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 72, 72, 72, +-- 82, 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, +-- 73, 73, 83, 93, 93, 93, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, +-- 74, 74, 74, 74, 84, 84, 84, 84, 94, 5, 15, 15, 15, 25, 35, 35, 55, 55, +-- 65, 65, 65, 75, 75, 75, 85, 85, 85, 95, 95, 95, 6, 16, 16, 16, 26, 26, +-- 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, 86, 96, 96, 96, 7, 7, +-- 7, 17, 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, 87, 87, 97, 97, +-- 8, 8, 8, 28, 38, 38, 58, 58, 58, 58, 68, 78, 78, 88, 98, 98, 9, 9, 9, +-- 19, 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, 59, 69, 79, 89, 89, 89, +-- 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.4.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.4.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.4.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.4.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.4.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.4.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.4.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.4.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.39.44.58.30.38.34.83.27.82.17.7", "39.44.58.30.38.34.83.27.82.17.7", + "44.58.30.38.34.83.27.82.17.7", "58.30.38.34.83.27.82.17.7", + "30.38.34.83.27.82.17.7", "38.34.83.27.82.17.7", "34.83.27.82.17.7", + "83.27.82.17.7", "27.82.17.7", "82.17.7", "17.7", "7" +}) + +test:do_execsql_test( + "1.4.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "40.30.80.20.90.60.70.80.90.30.50.10.30", + "30.80.20.90.60.70.80.90.30.50.10.30", + "80.20.90.60.70.80.90.30.50.10.30", "20.90.60.70.80.90.30.50.10.30", + "90.60.70.80.90.30.50.10.30", "60.70.80.90.30.50.10.30", + "70.80.90.30.50.10.30", "80.90.30.50.10.30", "90.30.50.10.30", + "30.50.10.30", "50.10.30", "10.30", "30", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.21.11.51.41.31.31.11.81.91.91.21", "21.11.51.41.31.31.11.81.91.91.21", + "11.51.41.31.31.11.81.91.91.21", "51.41.31.31.11.81.91.91.21", + "41.31.31.11.81.91.91.21", "31.31.11.81.91.91.21", "31.11.81.91.91.21", + "11.81.91.91.21", "81.91.91.21", "91.91.21", "91.21", "21", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "22.42.2.72.12.22.2.72.72.12.62.52.82", + "42.2.72.12.22.2.72.72.12.62.52.82", "2.72.12.22.2.72.72.12.62.52.82", + "72.12.22.2.72.72.12.62.52.82", "12.22.2.72.72.12.62.52.82", + "22.2.72.72.12.62.52.82", "2.72.72.12.62.52.82", "72.72.12.62.52.82", + "72.12.62.52.82", "12.62.52.82", "62.52.82", "52.82", "82", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "63.73.13.73.73.33.93.23.13.33.3.33.83", + "73.13.73.73.33.93.23.13.33.3.33.83", "13.73.73.33.93.23.13.33.3.33.83", + "73.73.33.93.23.13.33.3.33.83", "73.33.93.23.13.33.3.33.83", + "33.93.23.13.33.3.33.83", "93.23.13.33.3.33.83", "23.13.33.3.33.83", + "13.33.3.33.83", "33.3.33.83", "3.33.83", "33.83", "83", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.34.34.44.74.64.14.34.84.84.44.34", + "34.34.44.74.64.14.34.84.84.44.34", "34.44.74.64.14.34.84.84.44.34", + "44.74.64.14.34.84.84.44.34", "74.64.14.34.84.84.44.34", + "64.14.34.84.84.44.34", "14.34.84.84.44.34", "34.84.84.44.34", + "84.84.44.34", "84.44.34", "44.34", "34", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.65.35.5.15.95.55.75.85.75.15.95", "65.35.5.15.95.55.75.85.75.15.95", + "35.5.15.95.55.75.85.75.15.95", "5.15.95.55.75.85.75.15.95", + "15.95.55.75.85.75.15.95", "95.55.75.85.75.15.95", "55.75.85.75.15.95", + "75.85.75.15.95", "85.75.15.95", "75.15.95", "15.95", "95", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.16.36.76.96.96.26.26.36.66.36.36", + "16.36.76.96.96.26.26.36.66.36.36", "36.76.96.96.26.26.36.66.36.36", + "76.96.96.26.26.36.66.36.36", "96.96.26.26.36.66.36.36", + "96.26.26.36.66.36.36", "26.26.36.66.36.36", "26.36.66.36.36", + "36.66.36.36", "66.36.36", "36.36", "36", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.87.37.87.77.7.57.47.47.37.27.17.7", + "87.37.87.77.7.57.47.47.37.27.17.7", "37.87.77.7.57.47.47.37.27.17.7", + "87.77.7.57.47.47.37.27.17.7", "77.7.57.47.47.37.27.17.7", + "7.57.47.47.37.27.17.7", "57.47.47.37.27.17.7", "47.47.37.27.17.7", + "47.37.27.17.7", "37.27.17.7", "27.17.7", "17.7", "7", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "8.28.98.78.58.98.8.88.8.58.58.58.38", + "28.98.78.58.98.8.88.8.58.58.58.38", "98.78.58.98.8.88.8.58.58.58.38", + "78.58.98.8.88.8.58.58.58.38", "58.98.8.88.8.58.58.58.38", + "98.8.88.8.58.58.58.38", "8.88.8.58.58.58.38", "88.8.58.58.58.38", + "8.58.58.58.38", "58.58.58.38", "58.58.38", "58.38", "38", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39", "9.99.69.39", "99.69.39", "69.39", "39" +}) + +test:do_execsql_test( + "1.4.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.96.96.96.97.97.98.98.99.99.99", + "95.96.96.96.97.97.98.98.99.99.99", "96.96.96.97.97.98.98.99.99.99", + "96.96.97.97.98.98.99.99.99", "96.97.97.98.98.99.99.99", + "97.97.98.98.99.99.99", "97.98.98.99.99.99", "98.98.99.99.99", + "98.99.99.99", "99.99.99", "99.99", "99" +}) + +test:do_execsql_test( + "1.4.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "20.30.30.30.40.50.60.70.80.80.90.90.90", + "30.30.30.40.50.60.70.80.80.90.90.90", + "30.30.40.50.60.70.80.80.90.90.90", "30.40.50.60.70.80.80.90.90.90", + "40.50.60.70.80.80.90.90.90", "50.60.70.80.80.90.90.90", + "60.70.80.80.90.90.90", "70.80.80.90.90.90", "80.80.90.90.90", + "80.90.90.90", "90.90.90", "90.90", "90", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.51.61.61.81.81.81.91.91.91.91.91", + "51.61.61.81.81.81.91.91.91.91.91", "61.61.81.81.81.91.91.91.91.91", + "61.81.81.81.91.91.91.91.91", "81.81.81.91.91.91.91.91", + "81.81.91.91.91.91.91", "81.91.91.91.91.91", "91.91.91.91.91", + "91.91.91.91", "91.91.91", "91.91", "91", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.22.22.32.42.52.62.62.72.72.72.82", + "22.22.32.42.52.62.62.72.72.72.82", "22.32.42.52.62.62.72.72.72.82", + "32.42.52.62.62.72.72.72.82", "42.52.62.62.72.72.72.82", + "52.62.62.72.72.72.82", "62.62.72.72.72.82", "62.72.72.72.82", + "72.72.72.82", "72.72.82", "72.82", "82", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.43.43.53.63.73.73.73.83.93.93.93", + "43.43.53.63.73.73.73.83.93.93.93", "43.53.63.73.73.73.83.93.93.93", + "53.63.73.73.73.83.93.93.93", "63.73.73.73.83.93.93.93", + "73.73.73.83.93.93.93", "73.73.83.93.93.93", "73.83.93.93.93", + "83.93.93.93", "93.93.93", "93.93", "93", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.54.64.74.74.74.74.74.84.84.84.84.94", + "54.64.74.74.74.74.74.84.84.84.84.94", + "64.74.74.74.74.74.84.84.84.84.94", "74.74.74.74.74.84.84.84.84.94", + "74.74.74.74.84.84.84.84.94", "74.74.74.84.84.84.84.94", + "74.74.84.84.84.84.94", "74.84.84.84.84.94", "84.84.84.84.94", + "84.84.84.94", "84.84.94", "84.94", "94", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.75.75.75.85.85.85.95.95.95", "65.75.75.75.85.85.85.95.95.95", + "75.75.75.85.85.85.95.95.95", "75.75.85.85.85.95.95.95", + "75.85.85.85.95.95.95", "85.85.85.95.95.95", "85.85.95.95.95", + "85.95.95.95", "95.95.95", "95.95", "95", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.46.46.56.56.56.66.76.86.96.96.96", + "46.46.56.56.56.66.76.86.96.96.96", "46.56.56.56.66.76.86.96.96.96", + "56.56.56.66.76.86.96.96.96", "56.56.66.76.86.96.96.96", + "56.66.76.86.96.96.96", "66.76.86.96.96.96", "76.86.96.96.96", + "86.96.96.96", "96.96.96", "96.96", "96", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.57.67.77.77.87.87.97.97", "47.47.57.67.77.77.87.87.97.97", + "47.57.67.77.77.87.87.97.97", "57.67.77.77.87.87.97.97", + "67.77.77.87.87.97.97", "77.77.87.87.97.97", "77.87.87.97.97", + "87.87.97.97", "87.97.97", "97.97", "97", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "28.38.38.58.58.58.58.68.78.78.88.98.98", + "38.38.58.58.58.58.68.78.78.88.98.98", + "38.58.58.58.58.68.78.78.88.98.98", "58.58.58.58.68.78.78.88.98.98", + "58.58.58.68.78.78.88.98.98", "58.58.68.78.78.88.98.98", + "58.68.78.78.88.98.98", "68.78.78.88.98.98", "78.78.88.98.98", + "78.88.98.98", "88.98.98", "98.98", "98", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "49.59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.69.79.89.89.89.99.99.99", "59.59.69.79.89.89.89.99.99.99", + "59.69.79.89.89.89.99.99.99", "69.79.89.89.89.99.99.99", + "79.89.89.89.99.99.99", "89.89.89.99.99.99", "89.89.99.99.99", + "89.99.99.99", "99.99.99", "99.99", "99" +}) + +test:do_execsql_test( + "1.4.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39", "9.99.69.39", "99.69.39", "69.39", "39" +}) + +test:do_execsql_test( + "1.4.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.4.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.69.52.50.10.33.39.58.38.83.82.7", "3.69.52.50.10.33.39.58.38.83.82.7", + "69.52.50.10.33.39.58.38.83.82.7", "69.52.50.10.33.39.58.38.83.82.7", + "52.50.10.33.39.58.38.83.82.7", "52.50.10.33.39.58.38.83.82.7", + "50.10.33.39.58.38.83.82.7", "50.10.33.39.58.38.83.82.7", + "10.33.39.58.38.83.82.7", "10.33.39.58.38.83.82.7", + "33.39.58.38.83.82.7", "33.39.58.38.83.82.7", "39.58.38.83.82.7", + "39.58.38.83.82.7", "58.38.83.82.7", "58.38.83.82.7", "38.83.82.7", + "38.83.82.7", "83.82.7", "83.82.7", "82.7", "82.7", "7", "7" +}) + +test:do_execsql_test( + "1.4.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.4.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.4.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a RANGE BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "78.72.98.87.73.96.74.90.75.91.69.39.7", + "72.98.87.73.96.74.90.75.91.69.39.7", "98.87.73.96.74.90.75.91.69.39.7", + "87.73.96.74.90.75.91.69.39.7", "73.96.74.90.75.91.69.39.7", + "96.74.90.75.91.69.39.7", "74.90.75.91.69.39.7", "90.75.91.69.39.7", + "75.91.69.39.7", "91.69.39.7", "69.39.7", "39.7", "7", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "89.29.9.21.12.88.55.70.58.81.91.52.58", + "29.9.21.12.88.55.70.58.81.91.52.58", "9.21.12.88.55.70.58.81.91.52.58", + "21.12.88.55.70.58.81.91.52.58", "12.88.55.70.58.81.91.52.58", + "88.55.70.58.81.91.52.58", "55.70.58.81.91.52.58", "70.58.81.91.52.58", + "58.81.91.52.58", "81.91.52.58", "91.52.58", "52.58", "58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "76.63.73.65.20.8.77.19.9.23.15.50.38", + "63.73.65.20.8.77.19.9.23.15.50.38", "73.65.20.8.77.19.9.23.15.50.38", + "65.20.8.77.19.9.23.15.50.38", "20.8.77.19.9.23.15.50.38", + "8.77.19.9.23.15.50.38", "77.19.9.23.15.50.38", "19.9.23.15.50.38", + "9.23.15.50.38", "23.15.50.38", "15.50.38", "50.38", "38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "4.87.65.5.31.49.2.26.72.13.36.10.83", + "87.65.5.31.49.2.26.72.13.36.10.83", "65.5.31.49.2.26.72.13.36.10.83", + "5.31.49.2.26.72.13.36.10.83", "31.49.2.26.72.13.36.10.83", + "49.2.26.72.13.36.10.83", "2.26.72.13.36.10.83", "26.72.13.36.10.83", + "72.13.36.10.83", "13.36.10.83", "36.10.83", "10.83", "83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "42.80.58.11.95.90.85.47.33.14.3.33.82", + "80.58.11.95.90.85.47.33.14.3.33.82", "58.11.95.90.85.47.33.14.3.33.82", + "11.95.90.85.47.33.14.3.33.82", "95.90.85.47.33.14.3.33.82", + "90.85.47.33.14.3.33.82", "85.47.33.14.3.33.82", "47.33.14.3.33.82", + "33.14.3.33.82", "14.3.33.82", "3.33.82", "33.82", "82", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.5.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + "", "", "", "", 0, 74, 74, 74, 74, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99 +}) + +test:do_execsql_test( + "1.5.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0 +}) + +test:do_execsql_test( + "1.5.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.5.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.5.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.5.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.5.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.5.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.5.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.5.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.5.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.5.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.5.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.5.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.5.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.5.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.5.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.5.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.5.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 1, 76, 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, +-- 52, 83, 55, 79, 109, 65, 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, +-- 59, 124, 116, 110, 57, 51, 52, 130, 103, 74, 87, 48, 128, 117, 105, +-- 136, 131, 71, 133, 92, 109, 63, 84, 109, 57, 146, 78, 147, 113, 74, +-- 88, 150, 87, 110, 65, 121, 106, 110, 124, 85, 145, 107, 161, 171, 150, +-- 156, 80, 171, 120, 109, 158, 114, 111, 136, 147, 87, 173, 124, 168, +-- 173, 162, 132, 101, 154, 167, 190, 161, 110, 156, 195, 198, 102, 123, +-- 177, 169, 140, 111, 180, 119, 160, 197, 152, 124, 121, 134, 146, 147, +-- 132, 213, 141, 193, 200, 210, 157, 132, 136, 175, 161, 218, 188, 226, +-- 191, 187, 208, 211, 179, 138, 144, 223, 196, 214, 170, 212, 202, 163, +-- 184, 172, 173, 195, 229, 240, 187, 210, 200, 163, 227, 228, 223, 191, +-- 252, 235, 225, 243, 172, 187, 202, 179, 179, 182, 231, 261, 207, 263, +-- 206, 189, 209, 212, 276, 181, 274, 249, 239, 234, 213, 234, 269, 196, +-- 271, 221, 210, 229, 235, 250, 223, 232, 229, 279 +-- }) + +-- test:do_execsql_test( +-- "1.5.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, +-- "", "", "", "", 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, +-- 123, 119, 160, 152, 146, 147, 136, "", "", "", "", 11, 79, 63, 84, 78, +-- 120, 87, 162, 124, 141, 138, 227, 228, "", "", "", "", 28, 41, 124, +-- 57, 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, +-- 187, 179, "", "", "", "", 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, "", "", "", "", 103, 74, 131, 133, +-- 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, "", "", +-- "", "", 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, 85, 107, 150, +-- 195, 226, 172, 173, "", "", "", "", 119, 50, 124, 96, 110, 87, 48, +-- 110, 173, 124, 197, 211, 144, 196, 195, 200, "", "", "", "", 52, 83, +-- 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, "", "", "", "", 105, +-- 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, 200, 175, 188, 170, 202, +-- 163, 184, 163 +-- }) + +-- test:do_execsql_test( +-- "1.5.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 1, 65, 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, +-- 144, 207, 36, 121, 132, 101, 163, 172, 196, 119, 136, 63, 124, 179, +-- 110, 179, 182, 74, 132, 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, +-- 141, 28, 57, 187, 71, 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, +-- 109, 213, 223, 146, 147, 84, 41, 114, 191, 206, 221, 157, 161, 209, +-- 229, 74, 140, 107, 187, 207, 212, 124, 202, 52, 232, 55, 184, 229, +-- 106, 44, 132, 152, 120, 92, 110, 179, 235, 65, 70, 87, 110, 195, 200, +-- 175, 234, 160, 234, 136, 80, 113, 187, 109, 121, 124, 196, 156, 210, +-- 239, 250, 72, 109, 188, 202, 191, 105, 154, 79, 231, 147, 225, 103, +-- 161, 169, 223, 96, 83, 249, 212, 162, 227, 228, 167, 180, 193, 76, 78, +-- 117, 177, 214, 145, 208, 235, 150, 110, 211, 103, 158, 200, 168, 229, +-- 92, 156, 243, 280, 279, 116, 173, 269, 271, 131, 133, 223, 128, 173, +-- 197, 210, 99, 150, 161, 147, 218, 240, 109, 136, 146, 261, 263, 124, +-- 130, 252, 171, 190, 213, 274, 108, 195, 226, 119, 124, 171 +-- }) + +-- test:do_execsql_test( +-- "1.5.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 1, 196, 134, 109, 213, 223, 106, 234, 191, 212, 168, +-- "", "", "", "", 65, 102, 119, 136, 123, 210, 146, 147, 44, 132, 152, +-- 160, 105, 154, 92, 156, 243, 109, "", "", "", "", 11, 87, 138, 63, +-- 124, 179, 78, 141, 84, 120, 234, 79, 231, "", "", "", "", 57, 181, +-- 110, 179, 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, +-- 180, 193, "", "", "", "", 80, 182, 71, 157, 161, 209, 229, 179, 235, +-- 80, 225, 76, 78, 117, 177, 214, 116, "", "", "", "", 111, 74, 132, +-- 189, 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, +-- "", "", "", "", 26, 51, 52, 85, 33, 172, 173, 107, 187, 207, 212, 65, +-- 70, 109, 121, 124, 223, 150, "", "", "", "", 48, 144, 207, 216, 50, +-- 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, "", "", "", "", +-- 36, 121, 132, 88, 52, 232, 156, 210, 239, 250, 83, 103, "", "", "", +-- "", 101, 163, 172, 163, 59, 111, 170, 55, 184, 229, 175, 72, 109, 188, +-- 202, 249, 200, 99, 150 +-- }) + +-- test:do_execsql_test( +-- "1.5.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, +-- 213, 234, 196, 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, +-- 102, 123, 119, 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, +-- 63, 84, 78, 120, 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, +-- 28, 41, 124, 57, 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, +-- 191, 252, 187, 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, +-- 171, 173, 177, 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, +-- 103, 74, 131, 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, +-- 213, 187, 208, 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, +-- 109, 121, 124, 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, +-- 119, 50, 124, 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, +-- 200, 202, 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, +-- 210, 132, 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, +-- 111, 101, 200, 175, 188, 170, 202, 163, 184, 163 +-- }) + +-- test:do_execsql_test( +-- "1.5.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", 41, "", "", "", "", "", "", "", "", +-- "", "", 26, "", "", "", "", "", "", "", 2, "", "", "", "", "", 46, 62, +-- 62, "", "", "", "", 33, "", "", "", "", "", 78, "", 61, "", 59, 77, +-- "", 74, "", 27, "", "", 39, 67, "", 54, 85, 74, 90, 7, 61, 90, 62, "", +-- 93, "", "", "", "", 23, "", 74, 93, "", 23, 29, 3, 1, 41, "", 65, 33, +-- 2, 98, 86, 89, 25, 76, "", 40, 38, 15, "", "", 74, 97, 81, 40, 16, 99, +-- 76, 96, 32, 80, 86, 59, 2, 99, 84, 84, 39, 65, 27, 76, 78, 84, 16, 2, +-- 96, 59, 16, 41, 28, 13, 89, 22, 4, 42, 91, 41, 33, 87, 55, 81, 29, 36, +-- 28, 6, 47, 97, 97, 85, 33, 41, 93, 15, 85, 89, 98, 98, 43, 23, 73, 4, +-- 56, 29, 89, 46, 65, 38, 59, 68, 47, 9, 93, 9, 23, 39, 16, 93, 98, 74, +-- 65, 75, 15, 56, 93, 12, 2, 81, 2, 23, 97, 47, 91, 15, 93, 35, 16, 63, +-- 8, 53, 91, 33 +-- }) + +-- test:do_execsql_test( +-- "1.5.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 81, "", "", "", 81, "", "", "", "", "", "", 21, "", +-- "", "", "", "", "", "", "", "", "", 12, "", "", "", 12, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 73, "", 23, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", 15, "", "", "", "", "", "", 55, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 47, "", "", "", "", "", "", 47, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", 29, 29, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, +-- 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 11, 11, 11, 11, +-- 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, +-- 15, 15, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 19, 19, 19, +-- 19, 20, 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, +-- 25, 25, 26, 26, 26, 26, 26, 27, 27, 28, 29, 29, 29, 29, 30, 30, 30, +-- 30, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, +-- 33, 33, 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, +-- 36, 36, 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 39, 39, 39, 39, 39, +-- 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 42, 43, 43, 43, 43, 43, 43, +-- 44, 44, 44, 44, 44, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, +-- 47, 47, 49, 49, 49 +-- }) + +-- test:do_execsql_test( +-- "1.5.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 90, "", "", "", 90, 1, 30, "", "", "", "", 30, "", "", +-- "", 1, 40, "", 50, 11, 81, "", 40, "", 50, 81, 40, "", "", 50, "", "", +-- "", 41, 81, "", 41, "", 2, 30, 2, 81, 82, "", "", 10, "", "", 81, "", +-- 41, 10, 81, 30, 81, "", "", 3, 23, "", 3, 61, 80, "", "", 3, 91, 91, +-- 72, 3, 63, 30, 91, 94, 94, 72, 91, 73, 91, 84, 84, 33, 41, 1, 33, 84, +-- 73, 73, 91, 20, 41, 84, 33, 33, 84, 33, 41, 84, 21, 44, 22, 90, 22, +-- 81, 81, 74, 93, 93, 93, 81, 21, 83, 44, 44, 21, 21, 21, 13, 21, 21, +-- 34, 11, 34, 73, 74, 2, 60, 2, 34, 2, 34, 74, 60, 23, 2, 2, 2, 11, 91, +-- 60, 62, 73, 74, 70, 51, 65, 74, 93, 65, 70, 34, 70, 93, 93, 93, 62, +-- 35, 44, 43, 12, 35, 41, 43, 44, 44, 41, 80, 54, 72, 43, 41, 43, 91, +-- 12, 80, 80, 35, 33, 12 +-- }) + +-- test:do_execsql_test( +-- "1.5.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.5.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", "", "", 41, +-- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, +-- "", "", "", "", 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, "", "", "", "", +-- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, "", "", "", "", 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, +-- 74, 74, 74, 74, 74, 74, "", "", "", "", 65, 65, 65, 65, 65, 65, 65, +-- 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, "", "", "", "", 26, 26, 26, +-- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, "", "", +-- "", "", 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, +-- 97, "", "", "", "", 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, +-- "", "", "", "", 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.5.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.5.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", "", "", "", 1, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, "", "", "", "", 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, "", "", "", "", 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, "", "", "", "", 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, "", "", "", "", 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, "", "", "", "", 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, "", "", "", "", 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 7, 7, 7, 7, 7, "", "", "", "", 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 8, 8, "", "", "", "", 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, +-- 9, 9, 9 +-- }) + +-- test:do_execsql_test( +-- "1.5.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.5.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.5.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.5.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.5.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.5.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.5.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 + ]], { + "", "", "", "", "0", "0.74", "0.74.41", "0.74.41.74", "0.74.41.74.23", + "0.74.41.74.23.99", "0.74.41.74.23.99.26", "0.74.41.74.23.99.26.33", + "0.74.41.74.23.99.26.33.2", "0.74.41.74.23.99.26.33.2.89", + "0.74.41.74.23.99.26.33.2.89.81", "0.74.41.74.23.99.26.33.2.89.81.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83" +}) + +test:do_execsql_test( + "1.5.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 + ]], { + "", "", "", "", "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", + "0.90.40.30.80.20", "0.90.40.30.80.20.90", "0.90.40.30.80.20.90.60", + "0.90.40.30.80.20.90.60.70", "0.90.40.30.80.20.90.60.70.80", + "0.90.40.30.80.20.90.60.70.80.90", "", "", "", "", "41", "41.81", + "41.81.91", "41.81.91.61", "41.81.91.61.91", "41.81.91.61.91.91", + "41.81.91.61.91.91.1", "41.81.91.61.91.91.1.81", + "41.81.91.61.91.91.1.81.41", "41.81.91.61.91.91.1.81.41.61", + "41.81.91.61.91.91.1.81.41.61.1", "41.81.91.61.91.91.1.81.41.61.1.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", "", "", "", "", + "2", "2.62", "2.62.12", "2.62.12.32", "2.62.12.32.22", + "2.62.12.32.22.42", "2.62.12.32.22.42.2", "2.62.12.32.22.42.2.72", + "2.62.12.32.22.42.2.72.12", "2.62.12.32.22.42.2.72.12.22", + "2.62.12.32.22.42.2.72.12.22.2", "2.62.12.32.22.42.2.72.12.22.2.72", + "2.62.12.32.22.42.2.72.12.22.2.72.72", "", "", "", "", "23", "23.33", + "23.33.93", "23.33.93.23", "23.33.93.23.93", "23.33.93.23.93.43", + "23.33.93.23.93.43.3", "23.33.93.23.93.43.3.43", + "23.33.93.23.93.43.3.43.33", "23.33.93.23.93.43.3.43.33.53", + "23.33.93.23.93.43.3.43.33.53.63", "23.33.93.23.93.43.3.43.33.53.63.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", "", "", "", + "", "74", "74.74", "74.74.54", "74.74.54.84", "74.74.54.84.74", + "74.74.54.84.74.24", "74.74.54.84.74.24.4", "74.74.54.84.74.24.4.94", + "74.74.54.84.74.24.4.94.84", "74.74.54.84.74.24.4.94.84.74", + "74.74.54.84.74.24.4.94.84.74.34", "74.74.54.84.74.24.4.94.84.74.34.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", "", "", "", "", + "65", "65.35", "65.35.85", "65.35.85.85", "65.35.85.85.55", + "65.35.85.85.55.15", "65.35.85.85.55.15.25", "65.35.85.85.55.15.25.75", + "65.35.85.85.55.15.25.75.95", "65.35.85.85.55.15.25.75.95.65", + "65.35.85.85.55.15.25.75.95.65.65", + "65.35.85.85.55.15.25.75.95.65.65.35", + "65.35.85.85.55.15.25.75.95.65.65.35.5", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", "", "", "", "", + "26", "26.96", "26.96.46", "26.96.46.6", "26.96.46.6.46", + "26.96.46.6.46.16", "26.96.46.6.46.16.16", "26.96.46.6.46.16.16.86", + "26.96.46.6.46.16.16.86.56", "26.96.46.6.46.16.16.86.56.56", + "26.96.46.6.46.16.16.86.56.56.56", "26.96.46.6.46.16.16.86.56.56.56.16", + "26.96.46.6.46.16.16.86.56.56.56.16.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", "", "", "", "", + "97", "97.27", "97.27.97", "97.27.97.67", "97.27.97.67.77", + "97.27.97.67.77.47", "97.27.97.67.77.47.7", "97.27.97.67.77.47.7.47", + "97.27.97.67.77.47.7.47.87", "97.27.97.67.77.47.7.47.87.37", + "97.27.97.67.77.47.7.47.87.37.87", "97.27.97.67.77.47.7.47.87.37.87.77", + "97.27.97.67.77.47.7.47.87.37.87.77.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", "", "", "", "", "38", + "38.68", "38.68.78", "38.68.78.8", "38.68.78.8.28", "38.68.78.8.28.98", + "38.68.78.8.28.98.78", "38.68.78.8.28.98.78.58", + "38.68.78.8.28.98.78.58.98", "38.68.78.8.28.98.78.58.98.8", + "38.68.78.8.28.98.78.58.98.8.88", "38.68.78.8.28.98.78.58.98.8.88.8", "", + "", "", "", "99", "99.89", "99.89.59", "99.89.59.39", "99.89.59.39.99", + "99.89.59.39.99.29", "99.89.59.39.99.29.59", "99.89.59.39.99.29.59.89", + "99.89.59.39.99.29.59.89.89", "99.89.59.39.99.29.59.89.89.29", + "99.89.59.39.99.29.59.89.89.29.9", "99.89.59.39.99.29.59.89.89.29.9.79", + "99.89.59.39.99.29.59.89.89.29.9.79.49", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9" +}) + +test:do_execsql_test( + "1.5.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + "", "", "", "", "0", "0.1", "0.1.1", "0.1.1.2", "0.1.1.2.2", + "0.1.1.2.2.2", "0.1.1.2.2.2.3", "0.1.1.2.2.2.3.3", "0.1.1.2.2.2.3.3.4", + "0.1.1.2.2.2.3.3.4.5", "0.1.1.2.2.2.3.3.4.5.6", + "0.1.1.2.2.2.3.3.4.5.6.7", "0.1.1.2.2.2.3.3.4.5.6.7.7", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98" +}) + +test:do_execsql_test( + "1.5.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + "", "", "", "", "0", "0.10", "0.10.20", "0.10.20.30", "0.10.20.30.30", + "0.10.20.30.30.30", "0.10.20.30.30.30.40", "0.10.20.30.30.30.40.50", + "0.10.20.30.30.30.40.50.60", "0.10.20.30.30.30.40.50.60.70", + "0.10.20.30.30.30.40.50.60.70.80", "", "", "", "", "1", "1.1", "1.1.11", + "1.1.11.11", "1.1.11.11.21", "1.1.11.11.21.21", "1.1.11.11.21.21.31", + "1.1.11.11.21.21.31.31", "1.1.11.11.21.21.31.31.41", + "1.1.11.11.21.21.31.31.41.41", "1.1.11.11.21.21.31.31.41.41.41", + "1.1.11.11.21.21.31.31.41.41.41.51", + "1.1.11.11.21.21.31.31.41.41.41.51.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91", "", "", "", "", + "2", "2.2", "2.2.2", "2.2.2.12", "2.2.2.12.12", "2.2.2.12.12.12", + "2.2.2.12.12.12.22", "2.2.2.12.12.12.22.22", "2.2.2.12.12.12.22.22.32", + "2.2.2.12.12.12.22.22.32.42", "2.2.2.12.12.12.22.22.32.42.52", + "2.2.2.12.12.12.22.22.32.42.52.62", + "2.2.2.12.12.12.22.22.32.42.52.62.62", "", "", "", "", "3", "3.3", + "3.3.13", "3.3.13.13", "3.3.13.13.23", "3.3.13.13.23.23", + "3.3.13.13.23.23.23", "3.3.13.13.23.23.23.33", + "3.3.13.13.23.23.23.33.33", "3.3.13.13.23.23.23.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33", "3.3.13.13.23.23.23.33.33.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33.33.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73", "", "", "", "", + "4", "4.14", "4.14.24", "4.14.24.34", "4.14.24.34.34", + "4.14.24.34.34.34", "4.14.24.34.34.34.34", "4.14.24.34.34.34.34.44", + "4.14.24.34.34.34.34.44.44", "4.14.24.34.34.34.34.44.44.54", + "4.14.24.34.34.34.34.44.44.54.64", "4.14.24.34.34.34.34.44.44.54.64.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84", "", "", "", "", "5", + "5.15", "5.15.15", "5.15.15.15", "5.15.15.15.25", "5.15.15.15.25.35", + "5.15.15.15.25.35.35", "5.15.15.15.25.35.35.55", + "5.15.15.15.25.35.35.55.55", "5.15.15.15.25.35.35.55.55.65", + "5.15.15.15.25.35.35.55.55.65.65", "5.15.15.15.25.35.35.55.55.65.65.65", + "5.15.15.15.25.35.35.55.55.65.65.65.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85", "", "", "", "", "6", + "6.16", "6.16.16", "6.16.16.16", "6.16.16.16.26", "6.16.16.16.26.26", + "6.16.16.16.26.26.26", "6.16.16.16.26.26.26.36", + "6.16.16.16.26.26.26.36.36", "6.16.16.16.26.26.26.36.36.36", + "6.16.16.16.26.26.26.36.36.36.36", "6.16.16.16.26.26.26.36.36.36.36.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76", "", "", "", "", + "7", "7.7", "7.7.7", "7.7.7.17", "7.7.7.17.27", "7.7.7.17.27.27", + "7.7.7.17.27.27.37", "7.7.7.17.27.27.37.37", "7.7.7.17.27.27.37.37.47", + "7.7.7.17.27.27.37.37.47.47", "7.7.7.17.27.27.37.37.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47.57", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77", "", "", "", "", "8", + "8.8", "8.8.8", "8.8.8.28", "8.8.8.28.38", "8.8.8.28.38.38", + "8.8.8.28.38.38.58", "8.8.8.28.38.38.58.58", "8.8.8.28.38.38.58.58.58", + "8.8.8.28.38.38.58.58.58.58", "8.8.8.28.38.38.58.58.58.58.68", + "8.8.8.28.38.38.58.58.58.58.68.78", "", "", "", "", "9", "9.9", "9.9.9", + "9.9.9.19", "9.9.9.19.29", "9.9.9.19.29.29", "9.9.9.19.29.29.29", + "9.9.9.19.29.29.29.39", "9.9.9.19.29.29.29.39.39", + "9.9.9.19.29.29.29.39.39.39", "9.9.9.19.29.29.29.39.39.39.49", + "9.9.9.19.29.29.29.39.39.39.49.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89" +}) + +test:do_execsql_test( + "1.5.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING ) FROM t2 + ]], { + "", "", "", "", "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", + "0.90.40.30.80.20", "0.90.40.30.80.20.90", "0.90.40.30.80.20.90.60", + "0.90.40.30.80.20.90.60.70", "0.90.40.30.80.20.90.60.70.80", + "0.90.40.30.80.20.90.60.70.80.90", "0.90.40.30.80.20.90.60.70.80.90.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9" +}) + +test:do_execsql_test( + "1.5.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.5.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 + ]], { + "", "", "", "", "", "74", "74", "74.74", "74.74", "74.74.99", "74.74.99", + "74.74.99.33", "74.74.99.33", "74.74.99.33.89", "74.74.99.33.89", + "74.74.99.33.89.96", "74.74.99.33.89.96", "74.74.99.33.89.96.38", + "74.74.99.33.89.96.38", "74.74.99.33.89.96.38.39", + "74.74.99.33.89.96.38.39", "74.74.99.33.89.96.38.39.91", + "74.74.99.33.89.96.38.39.91", "74.74.99.33.89.96.38.39.91.6", + "74.74.99.33.89.96.38.39.91.6", "74.74.99.33.89.96.38.39.91.6.97", + "74.74.99.33.89.96.38.39.91.6.97", "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83" +}) + +test:do_execsql_test( + "1.5.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.5.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.5.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 PRECEDING) FROM t2 + ]], { + "", "", "", "", "89", "89.6", "89.6.29", "89.6.29.47", "89.6.29.47.59", + "89.6.29.47.59.28", "89.6.29.47.59.28.75", "89.6.29.47.59.28.75.78", + "89.6.29.47.59.28.75.78.72", "89.6.29.47.59.28.75.78.72.98", + "89.6.29.47.59.28.75.78.72.98.87", "89.6.29.47.59.28.75.78.72.98.87.73", + "89.6.29.47.59.28.75.78.72.98.87.73.96", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74", "74.96", "74.96.97", "74.96.97.84", "74.96.97.84.86", + "74.96.97.84.86.32", "74.96.97.84.86.32.25", "74.96.97.84.86.32.25.89", + "74.96.97.84.86.32.25.89.29", "74.96.97.84.86.32.25.89.29.9", + "74.96.97.84.86.32.25.89.29.9.21", "74.96.97.84.86.32.25.89.29.9.21.12", + "74.96.97.84.86.32.25.89.29.9.21.12.88", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74", "74.38", "74.38.46", "74.38.46.23", "74.38.46.23.61", + "74.38.46.23.61.3", "74.38.46.23.61.3.1", "74.38.46.23.61.3.1.76", + "74.38.46.23.61.3.1.76.63", "74.38.46.23.61.3.1.76.63.73", + "74.38.46.23.61.3.1.76.63.73.65", "74.38.46.23.61.3.1.76.63.73.65.20", + "74.38.46.23.61.3.1.76.63.73.65.20.8", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "99", "99.39", "99.39.54", "99.39.54.16", "99.39.54.16.85", + "99.39.54.16.85.22", "99.39.54.16.85.22.40", "99.39.54.16.85.22.40.4", + "99.39.54.16.85.22.40.4.87", "99.39.54.16.85.22.40.4.87.65", + "99.39.54.16.85.22.40.4.87.65.5", "99.39.54.16.85.22.40.4.87.65.5.31", + "99.39.54.16.85.22.40.4.87.65.5.31.49", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33", "33.91", "33.91.8", "33.91.8.65", "33.91.8.65.85", + "33.91.8.65.85.55", "33.91.8.65.85.55.56", "33.91.8.65.85.55.56.42", + "33.91.8.65.85.55.56.42.80", "33.91.8.65.85.55.56.42.80.58", + "33.91.8.65.85.55.56.42.80.58.11", "33.91.8.65.85.55.56.42.80.58.11.95", + "33.91.8.65.85.55.56.42.80.58.11.95.90", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.6.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + "", "", 0, 74, 74, 74, 74, 99, 99, 99, 33, 89, 89, 96, 96, 96, 68, 68, + 68, 91, 91, 91, 99, 99, 99, 97, 78, 78, 97, 97, 97, 67, 93, 93, 93, 84, + 77, 23, 93, 93, 93, 65, 47, 86, 86, 86, 91, 91, 91, 85, 85, 85, 59, 59, + 56, 56, 91, 91, 91, 90, 90, 55, 89, 89, 89, 47, 56, 56, 56, 56, 56, 75, + 75, 89, 98, 98, 98, 81, 94, 94, 94, 78, 78, 78, 53, 63, 63, 87, 87, 87, + 84, 84, 84, 72, 61, 73, 95, 95, 95, 65, 96, 98, 98, 98, 74, 74, 74, 65, + 73, 73, 73, 87, 87, 87, 41, 20, 31, 31, 31, 95, 95, 95, 79, 88, 88, 88, + 34, 49, 49, 90, 90, 96, 96, 96, 75, 77, 77, 77, 44, 85, 85, 85, 74, 74, + 70, 70, 59, 39, 39, 47, 80, 90, 90, 90, 58, 58, 72, 72, 72, 72, 93, 93, + 93, 81, 81, 81, 37, 37, 37, 14, 62, 91, 91, 91, 91, 91, 34, 36, 99, 99, + 99, 95, 95, 69, 58, 52, 84, 84, 84, 84, 84, 39, 44, 58, 58, 58, 38, 83, + 83, 83 +}) + +test:do_execsql_test( + "1.6.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + "", "", 0, 0, 0, 41, 23, 23, 23, 26, 2, 2, 2, 81, 59, 38, 38, 38, 39, 39, + 46, 6, 6, 6, 27, 27, 27, 46, 54, 8, 8, 8, 29, 29, 77, 23, 16, 16, 16, 16, + 35, 35, 7, 7, 7, 61, 61, 61, 24, 24, 24, 43, 12, 12, 12, 3, 3, 3, 22, 22, + 15, 15, 15, 25, 25, 1, 1, 1, 40, 40, 16, 16, 16, 36, 36, 76, 76, 4, 4, 4, + 30, 30, 30, 29, 29, 29, 2, 2, 2, 37, 37, 72, 41, 9, 9, 9, 61, 65, 13, 13, + 13, 58, 1, 1, 1, 21, 35, 5, 5, 5, 11, 11, 41, 12, 8, 8, 8, 20, 15, 15, + 15, 22, 22, 73, 34, 8, 8, 8, 11, 34, 34, 59, 59, 55, 55, 55, 44, 2, 2, 2, + 7, 57, 29, 29, 29, 19, 19, 19, 26, 26, 26, 47, 36, 36, 36, 9, 9, 9, 66, + 33, 33, 33, 64, 64, 9, 9, 9, 13, 12, 12, 12, 14, 36, 36, 33, 15, 15, 15, + 34, 3, 3, 3, 58, 52, 30, 30, 30, 10, 10, 10, 21, 21, 21, 39, 30, 30, 30, + 34, 27, 27 +}) + +test:do_execsql_test( + "1.6.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.6.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.6.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.6.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.6.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.6.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.6.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.6.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.6.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.6.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.6.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.6.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.6.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.6.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.6.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.6.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.6.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 1, 76, 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, +-- 55, 79, 109, 65, 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, +-- 116, 110, 57, 51, 52, 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, +-- 71, 133, 92, 109, 63, 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, +-- 110, 65, 121, 106, 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, +-- 171, 120, 109, 158, 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, +-- 132, 101, 154, 167, 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, +-- 140, 111, 180, 119, 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, +-- 141, 193, 200, 210, 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, +-- 208, 211, 179, 138, 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, +-- 173, 195, 229, 240, 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, +-- 225, 243, 172, 187, 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, +-- 209, 212, 276, 181, 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, +-- 210, 229, 235, 250, 223, 232, 229, 279, 224, 280 +-- }) + +-- test:do_execsql_test( +-- "1.6.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, +-- "", "", 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, "", "", 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, "", "", 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, "", "", 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, "", "", 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, "", "", 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, 85, +-- 107, 150, 195, 226, 172, 173, 187, 223, "", "", 119, 50, 124, 96, 110, +-- 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, 224, "", "", +-- 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, 210, 239, "", +-- "", 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, 200, 175, 188, +-- 170, 202, 163, 184, 163, 172, 276 +-- }) + +-- test:do_execsql_test( +-- "1.6.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 1, 65, 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, +-- 36, 121, 132, 101, 163, 172, 196, 119, 136, 63, 124, 179, 110, 179, +-- 182, 74, 132, 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, 141, 28, +-- 57, 187, 71, 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, 109, 213, +-- 223, 146, 147, 84, 41, 114, 191, 206, 221, 157, 161, 209, 229, 74, +-- 140, 107, 187, 207, 212, 124, 202, 52, 232, 55, 184, 229, 106, 44, +-- 132, 152, 120, 92, 110, 179, 235, 65, 70, 87, 110, 195, 200, 175, 234, +-- 160, 234, 136, 80, 113, 187, 109, 121, 124, 196, 156, 210, 239, 250, +-- 72, 109, 188, 202, 191, 105, 154, 79, 231, 147, 225, 103, 161, 169, +-- 223, 96, 83, 249, 212, 162, 227, 228, 167, 180, 193, 76, 78, 117, 177, +-- 214, 145, 208, 235, 150, 110, 211, 103, 158, 200, 168, 229, 92, 156, +-- 243, 280, 279, 116, 173, 269, 271, 131, 133, 223, 128, 173, 197, 210, +-- 99, 150, 161, 147, 218, 240, 109, 136, 146, 261, 263, 124, 130, 252, +-- 171, 190, 213, 274, 108, 195, 226, 119, 124, 171, 198, 105 +-- }) + +-- test:do_execsql_test( +-- "1.6.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 1, 196, 134, 109, 213, 223, 106, 234, 191, 212, 168, 229, 147, +-- "", "", 65, 102, 119, 136, 123, 210, 146, 147, 44, 132, 152, 160, 105, +-- 154, 92, 156, 243, 109, 136, 146, "", "", 11, 87, 138, 63, 124, 179, +-- 78, 141, 84, 120, 234, 79, 231, 162, 227, "", "", 57, 181, 110, 179, +-- 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, +-- 279, 124, "", "", 80, 182, 71, 157, 161, 209, 229, 179, 235, 80, 225, +-- 76, 78, 117, 177, 214, 116, 173, 269, "", "", 111, 74, 132, 189, 87, +-- 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, 223, 190, +-- "", "", 26, 51, 52, 85, 33, 172, 173, 107, 187, 207, 212, 65, 70, 109, +-- 121, 124, 223, 150, 128, 108, "", "", 48, 144, 207, 216, 50, 224, 124, +-- 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, 197, "", "", 36, 121, +-- 132, 88, 52, 232, 156, 210, 239, 250, 83, 103, 158, 210, "", "", 101, +-- 163, 172, 163, 59, 111, 170, 55, 184, 229, 175, 72, 109, 188, 202, +-- 249, 200, 99, 150, 161, 105 +-- }) + +-- test:do_execsql_test( +-- "1.6.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, +-- 196, 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, +-- 119, 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, +-- 120, 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, +-- 124, 57, 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, +-- 252, 187, 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, +-- 173, 177, 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, +-- 74, 131, 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, +-- 187, 208, 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, +-- 121, 124, 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, +-- 50, 124, 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, +-- 202, 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, +-- 132, 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, +-- 101, 200, 175, 188, 170, 202, 163, 184, 163, 172, 276 +-- }) + +-- test:do_execsql_test( +-- "1.6.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 53, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 58, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 77, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 61, "", "", "", 81, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", 22, "", "", "", 12, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", 1, 2, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 61, "", "", "", 81, "", "", "", "", "", "", "", "", +-- "", "", "", 91, "", "", "", "", "", 22, "", "", "", 12, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- "", "", 0, 0, 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, +-- 68, 39, 62, 91, 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, +-- 77, 23, 16, 16, 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, +-- 12, 32, 56, 3, 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, +-- 16, 75, 36, 89, 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, +-- 37, 80, 84, 72, 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, +-- 35, 5, 73, 11, 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, +-- 34, 8, 11, 49, 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, +-- 29, 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, +-- 93, 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, +-- 99, 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, +-- 34, 83 +-- }) + +-- test:do_execsql_test( +-- "1.6.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- "", "", 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, "", "", 41, +-- 41, 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, +-- 11, "", "", 2, 2, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, "", +-- "", 23, 23, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, +-- 33, 93, 23, 13, "", "", 74, 74, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, +-- 34, 34, 44, 74, 64, 14, 34, "", "", 65, 65, 65, 35, 85, 85, 55, 15, +-- 25, 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, "", "", 26, 26, 26, 96, 46, +-- 6, 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, "", "", 97, +-- 97, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, "", +-- "", 38, 38, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, "", "", 99, +-- 99, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, +-- 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.6.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, +-- 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, +-- 20, 21, 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, +-- 29, 29, 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, +-- 35, 35, 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, +-- 42, 43, 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, +-- 55, 55, 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, +-- 62, 62, 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, +-- 73, 74, 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, +-- 81, 81, 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, +-- 89, 89, 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, +-- 96, 96, 96, 97, 97, 98 +-- }) + +-- test:do_execsql_test( +-- "1.6.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 0, 0, 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, "", "", 1, 1, +-- 1, 1, 11, 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, +-- "", "", 2, 2, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, "", "", +-- 3, 3, 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, +-- 73, 73, 73, "", "", 4, 4, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, +-- 74, 74, 74, 74, 74, 84, "", "", 5, 5, 5, 15, 15, 15, 25, 35, 35, 55, +-- 55, 65, 65, 65, 75, 75, 75, 85, 85, "", "", 6, 6, 6, 16, 16, 16, 26, +-- 26, 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, "", "", 7, 7, 7, +-- 7, 7, 17, 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, "", "", 8, +-- 8, 8, 8, 8, 28, 38, 38, 58, 58, 58, 58, 68, 78, "", "", 9, 9, 9, 9, 9, +-- 19, 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, 59, 69, 79, 89, 89 +-- }) + +-- test:do_execsql_test( +-- "1.6.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- "", "", 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, +-- 30, 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, +-- 11, 81, 91, 91, 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, +-- 12, 62, 52, 82, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, +-- 73, 33, 93, 23, 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, +-- 74, 34, 34, 44, 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, +-- 15, 25, 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, +-- 46, 6, 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, +-- 36, 36, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, +-- 37, 27, 17, 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, +-- 58, 38, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, +-- 19, 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.6.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.6.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.6.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.6.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.6.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 PRECEDING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.6.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING) FROM t2 + ]], { + "", "", "0", "0.74", "0.74.41", "74.41.74", "41.74.23", "74.23.99", + "23.99.26", "99.26.33", "26.33.2", "33.2.89", "2.89.81", "89.81.96", + "81.96.59", "96.59.38", "59.38.68", "38.68.39", "68.39.62", "39.62.91", + "62.91.46", "91.46.6", "46.6.99", "6.99.97", "99.97.27", "97.27.46", + "27.46.78", "46.78.54", "78.54.97", "54.97.8", "97.8.67", "8.67.29", + "67.29.93", "29.93.84", "93.84.77", "84.77.23", "77.23.16", "23.16.16", + "16.16.93", "16.93.65", "93.65.35", "65.35.47", "35.47.7", "47.7.86", + "7.86.74", "86.74.61", "74.61.91", "61.91.85", "91.85.24", "85.24.85", + "24.85.43", "85.43.59", "43.59.12", "59.12.32", "12.32.56", "32.56.3", + "56.3.91", "3.91.22", "91.22.90", "22.90.55", "90.55.15", "55.15.28", + "15.28.89", "28.89.25", "89.25.47", "25.47.1", "47.1.56", "1.56.40", + "56.40.43", "40.43.56", "43.56.16", "56.16.75", "16.75.36", "75.36.89", + "36.89.98", "89.98.76", "98.76.81", "76.81.4", "81.4.94", "4.94.42", + "94.42.30", "42.30.78", "30.78.33", "78.33.29", "33.29.53", "29.53.63", + "53.63.2", "63.2.87", "2.87.37", "87.37.80", "37.80.84", "80.84.72", + "84.72.41", "72.41.9", "41.9.61", "9.61.73", "61.73.95", "73.95.65", + "95.65.13", "65.13.58", "13.58.96", "58.96.98", "96.98.1", "98.1.21", + "1.21.74", "21.74.65", "74.65.35", "65.35.5", "35.5.73", "5.73.11", + "73.11.51", "11.51.87", "51.87.41", "87.41.12", "41.12.8", "12.8.20", + "8.20.31", "20.31.31", "31.31.15", "31.15.95", "15.95.22", "95.22.73", + "22.73.79", "73.79.88", "79.88.34", "88.34.8", "34.8.11", "8.11.49", + "11.49.34", "49.34.90", "34.90.59", "90.59.96", "59.96.60", "96.60.55", + "60.55.75", "55.75.77", "75.77.44", "77.44.2", "44.2.7", "2.7.85", + "7.85.57", "85.57.74", "57.74.29", "74.29.70", "29.70.59", "70.59.19", + "59.19.39", "19.39.26", "39.26.26", "26.26.47", "26.47.80", "47.80.90", + "80.90.36", "90.36.58", "36.58.47", "58.47.9", "47.9.72", "9.72.72", + "72.72.66", "72.66.33", "66.33.93", "33.93.75", "93.75.64", "75.64.81", + "64.81.9", "81.9.23", "9.23.37", "23.37.13", "37.13.12", "13.12.14", + "12.14.62", "14.62.91", "62.91.36", "91.36.91", "36.91.33", "91.33.15", + "33.15.34", "15.34.36", "34.36.99", "36.99.3", "99.3.95", "3.95.69", + "95.69.58", "69.58.52", "58.52.30", "52.30.50", "30.50.84", "50.84.10", + "84.10.84", "10.84.33", "84.33.21", "33.21.39", "21.39.44", "39.44.58", + "44.58.30", "58.30.38", "30.38.34", "38.34.83", "34.83.27", "83.27.82" +}) + +test:do_execsql_test( + "1.6.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING) FROM t2 + ]], { + "", "", "0", "0.90", "0.90.40", "90.40.30", "40.30.80", "30.80.20", + "80.20.90", "20.90.60", "90.60.70", "60.70.80", "70.80.90", "80.90.30", + "90.30.50", "", "", "41", "41.81", "41.81.91", "81.91.61", "91.61.91", + "61.91.91", "91.91.1", "91.1.81", "1.81.41", "81.41.61", "41.61.1", + "61.1.21", "1.21.11", "21.11.51", "11.51.41", "51.41.31", "41.31.31", + "31.31.11", "31.11.81", "11.81.91", "", "", "2", "2.62", "2.62.12", + "62.12.32", "12.32.22", "32.22.42", "22.42.2", "42.2.72", "2.72.12", + "72.12.22", "12.22.2", "22.2.72", "2.72.72", "72.72.12", "72.12.62", "", + "", "23", "23.33", "23.33.93", "33.93.23", "93.23.93", "23.93.43", + "93.43.3", "43.3.43", "3.43.33", "43.33.53", "33.53.63", "53.63.73", + "63.73.13", "73.13.73", "13.73.73", "73.73.33", "73.33.93", "33.93.23", + "93.23.13", "23.13.33", "13.33.3", "", "", "74", "74.74", "74.74.54", + "74.54.84", "54.84.74", "84.74.24", "74.24.4", "24.4.94", "4.94.84", + "94.84.74", "84.74.34", "74.34.34", "34.34.44", "34.44.74", "44.74.64", + "74.64.14", "64.14.34", "14.34.84", "34.84.84", "", "", "65", "65.35", + "65.35.85", "35.85.85", "85.85.55", "85.55.15", "55.15.25", "15.25.75", + "25.75.95", "75.95.65", "95.65.65", "65.65.35", "65.35.5", "35.5.15", + "5.15.95", "15.95.55", "95.55.75", "55.75.85", "75.85.75", "", "", "26", + "26.96", "26.96.46", "96.46.6", "46.6.46", "6.46.16", "46.16.16", + "16.16.86", "16.86.56", "86.56.56", "56.56.56", "56.56.16", "56.16.36", + "16.36.76", "36.76.96", "76.96.96", "96.96.26", "96.26.26", "26.26.36", + "26.36.66", "", "", "97", "97.27", "97.27.97", "27.97.67", "97.67.77", + "67.77.47", "77.47.7", "47.7.47", "7.47.87", "47.87.37", "87.37.87", + "37.87.77", "87.77.7", "77.7.57", "7.57.47", "57.47.47", "47.47.37", + "47.37.27", "", "", "38", "38.68", "38.68.78", "68.78.8", "78.8.28", + "8.28.98", "28.98.78", "98.78.58", "78.58.98", "58.98.8", "98.8.88", + "8.88.8", "88.8.58", "8.58.58", "", "", "99", "99.89", "99.89.59", + "89.59.39", "59.39.99", "39.99.29", "99.29.59", "29.59.89", "59.89.89", + "89.89.29", "89.29.9", "29.9.79", "9.79.49", "79.49.59", "49.59.29", + "59.29.59", "29.59.19", "59.19.39", "19.39.9", "39.9.9", "9.9.99" +}) + +test:do_execsql_test( + "1.6.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + "", "", "0", "0.1", "0.1.1", "1.1.2", "1.2.2", "2.2.2", "2.2.3", "2.3.3", + "3.3.4", "3.4.5", "4.5.6", "5.6.7", "6.7.7", "7.7.7", "7.7.8", "7.8.8", + "8.8.8", "8.8.9", "8.9.9", "9.9.9", "9.9.10", "9.10.11", "10.11.11", + "11.11.12", "11.12.12", "12.12.12", "12.12.13", "12.13.13", "13.13.14", + "13.14.15", "14.15.15", "15.15.15", "15.15.16", "15.16.16", "16.16.16", + "16.16.17", "16.17.19", "17.19.20", "19.20.21", "20.21.21", "21.21.22", + "21.22.22", "22.22.23", "22.23.23", "23.23.23", "23.23.24", "23.24.25", + "24.25.26", "25.26.26", "26.26.26", "26.26.27", "26.27.27", "27.27.28", + "27.28.29", "28.29.29", "29.29.29", "29.29.30", "29.30.30", "30.30.30", + "30.30.31", "30.31.31", "31.31.32", "31.32.33", "32.33.33", "33.33.33", + "33.33.33", "33.33.33", "33.33.34", "33.34.34", "34.34.34", "34.34.34", + "34.34.35", "34.35.35", "35.35.36", "35.36.36", "36.36.36", "36.36.36", + "36.36.37", "36.37.37", "37.37.38", "37.38.38", "38.38.39", "38.39.39", + "39.39.39", "39.39.40", "39.40.41", "40.41.41", "41.41.41", "41.41.42", + "41.42.43", "42.43.43", "43.43.44", "43.44.44", "44.44.46", "44.46.46", + "46.46.47", "46.47.47", "47.47.47", "47.47.47", "47.47.49", "47.49.50", + "49.50.51", "50.51.52", "51.52.53", "52.53.54", "53.54.55", "54.55.55", + "55.55.56", "55.56.56", "56.56.56", "56.56.57", "56.57.58", "57.58.58", + "58.58.58", "58.58.58", "58.58.59", "58.59.59", "59.59.59", "59.59.59", + "59.59.60", "59.60.61", "60.61.61", "61.61.62", "61.62.62", "62.62.63", + "62.63.64", "63.64.65", "64.65.65", "65.65.65", "65.65.66", "65.66.67", + "66.67.68", "67.68.69", "68.69.70", "69.70.72", "70.72.72", "72.72.72", + "72.72.73", "72.73.73", "73.73.73", "73.73.74", "73.74.74", "74.74.74", + "74.74.74", "74.74.74", "74.74.75", "74.75.75", "75.75.75", "75.75.76", + "75.76.77", "76.77.77", "77.77.78", "77.78.78", "78.78.79", "78.79.80", + "79.80.80", "80.80.81", "80.81.81", "81.81.81", "81.81.82", "81.82.83", + "82.83.84", "83.84.84", "84.84.84", "84.84.84", "84.84.85", "84.85.85", + "85.85.85", "85.85.86", "85.86.87", "86.87.87", "87.87.88", "87.88.89", + "88.89.89", "89.89.89", "89.89.90", "89.90.90", "90.90.90", "90.90.91", + "90.91.91", "91.91.91", "91.91.91", "91.91.91", "91.91.93", "91.93.93", + "93.93.93", "93.93.94", "93.94.95", "94.95.95", "95.95.95", "95.95.96", + "95.96.96", "96.96.96", "96.96.97", "96.97.97", "97.97.98", "97.98.98", + "98.98.99" +}) + +test:do_execsql_test( + "1.6.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + "", "", "0", "0.10", "0.10.20", "10.20.30", "20.30.30", "30.30.30", + "30.30.40", "30.40.50", "40.50.60", "50.60.70", "60.70.80", "70.80.80", + "80.80.90", "", "", "1", "1.1", "1.1.11", "1.11.11", "11.11.21", + "11.21.21", "21.21.31", "21.31.31", "31.31.41", "31.41.41", "41.41.41", + "41.41.51", "41.51.61", "51.61.61", "61.61.81", "61.81.81", "81.81.81", + "81.81.91", "81.91.91", "91.91.91", "", "", "2", "2.2", "2.2.2", + "2.2.12", "2.12.12", "12.12.12", "12.12.22", "12.22.22", "22.22.32", + "22.32.42", "32.42.52", "42.52.62", "52.62.62", "62.62.72", "62.72.72", + "", "", "3", "3.3", "3.3.13", "3.13.13", "13.13.23", "13.23.23", + "23.23.23", "23.23.33", "23.33.33", "33.33.33", "33.33.33", "33.33.33", + "33.33.43", "33.43.43", "43.43.53", "43.53.63", "53.63.73", "63.73.73", + "73.73.73", "73.73.83", "73.83.93", "", "", "4", "4.14", "4.14.24", + "14.24.34", "24.34.34", "34.34.34", "34.34.34", "34.34.44", "34.44.44", + "44.44.54", "44.54.64", "54.64.74", "64.74.74", "74.74.74", "74.74.74", + "74.74.74", "74.74.84", "74.84.84", "84.84.84", "", "", "5", "5.15", + "5.15.15", "15.15.15", "15.15.25", "15.25.35", "25.35.35", "35.35.55", + "35.55.55", "55.55.65", "55.65.65", "65.65.65", "65.65.75", "65.75.75", + "75.75.75", "75.75.85", "75.85.85", "85.85.85", "85.85.95", "", "", "6", + "6.16", "6.16.16", "16.16.16", "16.16.26", "16.26.26", "26.26.26", + "26.26.36", "26.36.36", "36.36.36", "36.36.36", "36.36.46", "36.46.46", + "46.46.56", "46.56.56", "56.56.56", "56.56.66", "56.66.76", "66.76.86", + "76.86.96", "", "", "7", "7.7", "7.7.7", "7.7.17", "7.17.27", "17.27.27", + "27.27.37", "27.37.37", "37.37.47", "37.47.47", "47.47.47", "47.47.47", + "47.47.57", "47.57.67", "57.67.77", "67.77.77", "77.77.87", "77.87.87", + "", "", "8", "8.8", "8.8.8", "8.8.28", "8.28.38", "28.38.38", "38.38.58", + "38.58.58", "58.58.58", "58.58.58", "58.58.68", "58.68.78", "68.78.78", + "78.78.88", "", "", "9", "9.9", "9.9.9", "9.9.19", "9.19.29", "19.29.29", + "29.29.29", "29.29.39", "29.39.39", "39.39.39", "39.39.49", "39.49.59", + "49.59.59", "59.59.59", "59.59.59", "59.59.69", "59.69.79", "69.79.89", + "79.89.89", "89.89.89", "89.89.99" +}) + +test:do_execsql_test( + "1.6.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING ) FROM t2 + ]], { + "", "", "0", "0.90", "0.90.40", "90.40.30", "40.30.80", "30.80.20", + "80.20.90", "20.90.60", "90.60.70", "60.70.80", "70.80.90", "80.90.30", + "90.30.50", "30.50.10", "50.10.30", "10.30.41", "30.41.81", "41.81.91", + "81.91.61", "91.61.91", "61.91.91", "91.91.1", "91.1.81", "1.81.41", + "81.41.61", "41.61.1", "61.1.21", "1.21.11", "21.11.51", "11.51.41", + "51.41.31", "41.31.31", "31.31.11", "31.11.81", "11.81.91", "81.91.91", + "91.91.21", "91.21.2", "21.2.62", "2.62.12", "62.12.32", "12.32.22", + "32.22.42", "22.42.2", "42.2.72", "2.72.12", "72.12.22", "12.22.2", + "22.2.72", "2.72.72", "72.72.12", "72.12.62", "12.62.52", "62.52.82", + "52.82.23", "82.23.33", "23.33.93", "33.93.23", "93.23.93", "23.93.43", + "93.43.3", "43.3.43", "3.43.33", "43.33.53", "33.53.63", "53.63.73", + "63.73.13", "73.13.73", "13.73.73", "73.73.33", "73.33.93", "33.93.23", + "93.23.13", "23.13.33", "13.33.3", "33.3.33", "3.33.83", "33.83.74", + "83.74.74", "74.74.54", "74.54.84", "54.84.74", "84.74.24", "74.24.4", + "24.4.94", "4.94.84", "94.84.74", "84.74.34", "74.34.34", "34.34.44", + "34.44.74", "44.74.64", "74.64.14", "64.14.34", "14.34.84", "34.84.84", + "84.84.44", "84.44.34", "44.34.65", "34.65.35", "65.35.85", "35.85.85", + "85.85.55", "85.55.15", "55.15.25", "15.25.75", "25.75.95", "75.95.65", + "95.65.65", "65.65.35", "65.35.5", "35.5.15", "5.15.95", "15.95.55", + "95.55.75", "55.75.85", "75.85.75", "85.75.15", "75.15.95", "15.95.26", + "95.26.96", "26.96.46", "96.46.6", "46.6.46", "6.46.16", "46.16.16", + "16.16.86", "16.86.56", "86.56.56", "56.56.56", "56.56.16", "56.16.36", + "16.36.76", "36.76.96", "76.96.96", "96.96.26", "96.26.26", "26.26.36", + "26.36.66", "36.66.36", "66.36.36", "36.36.97", "36.97.27", "97.27.97", + "27.97.67", "97.67.77", "67.77.47", "77.47.7", "47.7.47", "7.47.87", + "47.87.37", "87.37.87", "37.87.77", "87.77.7", "77.7.57", "7.57.47", + "57.47.47", "47.47.37", "47.37.27", "37.27.17", "27.17.7", "17.7.38", + "7.38.68", "38.68.78", "68.78.8", "78.8.28", "8.28.98", "28.98.78", + "98.78.58", "78.58.98", "58.98.8", "98.8.88", "8.88.8", "88.8.58", + "8.58.58", "58.58.58", "58.58.38", "58.38.99", "38.99.89", "99.89.59", + "89.59.39", "59.39.99", "39.99.29", "99.29.59", "29.59.89", "59.89.89", + "89.89.29", "89.29.9", "29.9.79", "9.79.49", "79.49.59", "49.59.29", + "59.29.59", "29.59.19", "59.19.39", "19.39.9", "39.9.9", "9.9.99" +}) + +test:do_execsql_test( + "1.6.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.6.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING) FROM t2 + ]], { + "", "", "", "74", "74", "74.74", "74", "74.99", "99", "99.33", "33", + "33.89", "89", "89.96", "96", "96.38", "38", "38.39", "39", "39.91", + "91", "91.6", "6", "6.97", "97", "97.46", "46", "46.54", "54", "54.8", + "8", "8.29", "29", "29.84", "84", "84.23", "23", "23.16", "16", "16.65", + "65", "65.47", "47", "47.86", "86", "86.61", "61", "61.85", "85", + "85.85", "85", "85.59", "59", "59.32", "32", "32.3", "3", "3.22", "22", + "22.55", "55", "55.28", "28", "28.25", "25", "25.1", "1", "1.40", "40", + "40.56", "56", "56.75", "75", "75.89", "89", "89.76", "76", "76.4", "4", + "4.42", "42", "42.78", "78", "78.29", "29", "29.63", "63", "63.87", "87", + "87.80", "80", "80.72", "72", "72.9", "9", "9.73", "73", "73.65", "65", + "65.58", "58", "58.98", "98", "98.21", "21", "21.65", "65", "65.5", "5", + "5.11", "11", "11.87", "87", "87.12", "12", "12.20", "20", "20.31", "31", + "31.95", "95", "95.73", "73", "73.88", "88", "88.8", "8", "8.49", "49", + "49.90", "90", "90.96", "96", "96.55", "55", "55.77", "77", "77.2", "2", + "2.85", "85", "85.74", "74", "74.70", "70", "70.19", "19", "19.26", "26", + "26.47", "47", "47.90", "90", "90.58", "58", "58.9", "9", "9.72", "72", + "72.33", "33", "33.75", "75", "75.81", "81", "81.23", "23", "23.13", + "13", "13.14", "14", "14.91", "91", "91.91", "91", "91.15", "15", + "15.36", "36", "36.3", "3", "3.69", "69", "69.52", "52", "52.50", "50", + "50.10", "10", "10.33", "33", "33.39", "39", "39.58", "58", "58.38", + "38", "38.83", "83", "83.82" +}) + +test:do_execsql_test( + "1.6.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.6.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.6.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 PRECEDING) FROM t2 + ]], { + "", "", "89", "89.6", "89.6.29", "6.29.47", "29.47.59", "47.59.28", + "59.28.75", "28.75.78", "75.78.72", "78.72.98", "72.98.87", "98.87.73", + "87.73.96", "73.96.74", "96.74.90", "74.90.75", "90.75.91", "75.91.69", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "74", "74.96", "74.96.97", "96.97.84", "97.84.86", + "84.86.32", "86.32.25", "32.25.89", "25.89.29", "89.29.9", "29.9.21", + "9.21.12", "21.12.88", "12.88.55", "88.55.70", "55.70.58", "70.58.81", + "58.81.91", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "74", "74.38", "74.38.46", "38.46.23", + "46.23.61", "23.61.3", "61.3.1", "3.1.76", "1.76.63", "76.63.73", + "63.73.65", "73.65.20", "65.20.8", "20.8.77", "8.77.19", "77.19.9", + "19.9.23", "9.23.15", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "99", "99.39", "99.39.54", + "39.54.16", "54.16.85", "16.85.22", "85.22.40", "22.40.4", "40.4.87", + "4.87.65", "87.65.5", "65.5.31", "5.31.49", "31.49.2", "49.2.26", + "2.26.72", "26.72.13", "72.13.36", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "33", "33.91", + "33.91.8", "91.8.65", "8.65.85", "65.85.55", "85.55.56", "55.56.42", + "56.42.80", "42.80.58", "80.58.11", "58.11.95", "11.95.90", "95.90.85", + "90.85.47", "85.47.33", "47.33.14", "33.14.3", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.7.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 0, 74, 74, 74, 74, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99 +}) + +test:do_execsql_test( + "1.7.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}) + +test:do_execsql_test( + "1.7.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.7.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.7.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.7.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.7.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.7.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.7.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.7.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.7.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.7.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.7.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.7.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.7.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.7.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.7.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.7.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.7.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 76, 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, +-- 109, 65, 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, +-- 110, 57, 51, 52, 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, +-- 133, 92, 109, 63, 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, +-- 110, 65, 121, 106, 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, +-- 171, 120, 109, 158, 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, +-- 132, 101, 154, 167, 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, +-- 140, 111, 180, 119, 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, +-- 141, 193, 200, 210, 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, +-- 208, 211, 179, 138, 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, +-- 173, 195, 229, 240, 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, +-- 225, 243, 172, 187, 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, +-- 209, 212, 276, 181, 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, +-- 210, 229, 235, 250, 223, 232, 229, 279, 224, 280, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.7.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.7.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 65, 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, +-- 132, 101, 163, 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, +-- 132, 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, +-- 71, 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, +-- 147, 84, 41, 114, 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, +-- 187, 207, 212, 124, 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, +-- 120, 92, 110, 179, 235, 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, +-- 136, 80, 113, 187, 109, 121, 124, 196, 156, 210, 239, 250, 72, 109, +-- 188, 202, 191, 105, 154, 79, 231, 147, 225, 103, 161, 169, 223, 96, +-- 83, 249, 212, 162, 227, 228, 167, 180, 193, 76, 78, 117, 177, 214, +-- 145, 208, 235, 150, 110, 211, 103, 158, 200, 168, 229, 92, 156, 243, +-- 280, 279, 116, 173, 269, 271, 131, 133, 223, 128, 173, 197, 210, 99, +-- 150, 161, 147, 218, 240, 109, 136, 146, 261, 263, 124, 130, 252, 171, +-- 190, 213, 274, 108, 195, 226, 119, 124, 171, 198, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.7.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 196, 134, 109, 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, +-- 240, 65, 102, 119, 136, 123, 210, 146, 147, 44, 132, 152, 160, 105, +-- 154, 92, 156, 243, 109, 136, 146, 261, 263, 11, 87, 138, 63, 124, 179, +-- 78, 141, 84, 120, 234, 79, 231, 162, 227, 228, 280, 57, 181, 110, 179, +-- 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, +-- 279, 124, 130, 252, 80, 182, 71, 157, 161, 209, 229, 179, 235, 80, +-- 225, 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 111, 74, 132, +-- 189, 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, +-- 223, 190, 213, 274, 26, 51, 52, 85, 33, 172, 173, 107, 187, 207, 212, +-- 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 48, 144, 207, +-- 216, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, +-- 197, 119, 124, 36, 121, 132, 88, 52, 232, 156, 210, 239, 250, 83, 103, +-- 158, 210, 171, 198, 101, 163, 172, 163, 59, 111, 170, 55, 184, 229, +-- 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.7.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.7.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.7.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 41, "", "", "", "", "", "", "", "", "", +-- "", 26, "", "", "", "", "", "", "", 2, "", 29, "", "", "", 46, 62, 62, +-- "", "", 16, "", 33, "", "", "", "", "", 78, "", 61, "", 59, 77, "", +-- 74, "", 27, "", 22, 39, 67, "", 54, 85, 74, 90, 7, 61, 90, 62, "", 93, +-- "", "", "", "", 23, "", 74, 93, 30, 23, 29, 3, 1, 41, "", 65, 33, 2, +-- 98, 86, 89, 25, 76, "", 40, 38, 15, 13, 96, 74, 97, 81, 40, 16, 99, +-- 76, 96, 32, 80, 86, 59, 2, 99, 84, 84, 39, 65, 27, 76, 78, 84, 16, 2, +-- 96, 59, 16, 41, 28, 13, 89, 22, 4, 42, 91, 41, 33, 87, 55, 81, 29, 36, +-- 28, 6, 47, 97, 97, 85, 33, 41, 93, 15, 85, 89, 98, 98, 43, 23, 73, 4, +-- 56, 29, 89, 46, 65, 38, 59, 68, 47, 9, 93, 9, 23, 39, 16, 93, 98, 74, +-- 65, 75, 15, 56, 93, 12, 2, 81, 2, 23, 97, 47, 91, 15, 93, 35, 16, 63, +-- 8, 53, 91, 33 +-- }) + +-- test:do_execsql_test( +-- "1.7.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 81, "", "", "", 81, "", 21, "", "", "", "", 21, "", "", +-- "", 21, "", "", "", "", "", "", 12, "", "", "", 12, "", "", 72, "", +-- "", "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", +-- "", "", "", 73, "", 23, "", "", "", "", "", "", "", "", 74, "", "", +-- "", "", "", "", "", "", 64, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 15, "", "", "", "", "", "", 55, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, +-- "", "", "", "", "", 27, 47, "", "", "", "", "", "", "", "", "", 98, +-- "", 98, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 29, +-- "", "", "", "", "", "", "", 29, 29, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 7, 7, +-- 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 11, 11, 11, 11, 12, 12, +-- 12, 12, 12, 13, 13, 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 19, 19, 19, 19, 20, +-- 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 25, 25, +-- 26, 26, 26, 26, 26, 27, 27, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, +-- 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, 33, 33, +-- 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, +-- 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40, +-- 40, 40, 41, 41, 41, 41, 41, 41, 42, 43, 43, 43, 43, 43, 43, 44, 44, +-- 44, 44, 44, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, +-- 49, 49, 49 +-- }) + +-- test:do_execsql_test( +-- "1.7.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 90, "", "", "", 90, 1, 30, "", "", "", 31, 30, "", "", "", +-- 1, 40, "", 50, 11, 81, 42, 40, "", 50, 81, 40, "", "", 50, "", 52, "", +-- 41, 81, "", 41, "", 2, 30, 2, 81, 82, 53, "", 10, "", "", 81, "", 41, +-- 10, 81, 30, 81, "", 3, 3, 23, "", 3, 61, 80, "", 94, 3, 91, 91, 72, 3, +-- 63, 30, 91, 94, 94, 72, 91, 73, 91, 84, 84, 33, 41, 1, 33, 84, 73, 73, +-- 91, 20, 41, 84, 33, 33, 84, 33, 41, 84, 21, 44, 22, 90, 22, 81, 81, +-- 74, 93, 93, 93, 81, 21, 83, 44, 44, 21, 21, 21, 13, 21, 21, 34, 11, +-- 34, 73, 74, 2, 60, 2, 34, 2, 34, 74, 60, 23, 2, 2, 2, 11, 91, 60, 62, +-- 73, 74, 70, 51, 65, 74, 93, 65, 70, 34, 70, 93, 93, 93, 62, 35, 44, +-- 43, 12, 35, 41, 43, 44, 44, 41, 80, 54, 72, 43, 41, 43, 91, 12, 80, +-- 80, 35, 33, 12 +-- }) + +-- test:do_execsql_test( +-- "1.7.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.7.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, +-- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, +-- 74, 74, 74, 74, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, +-- 65, 65, 65, 65, 65, 65, 65, 65, 26, 26, 26, 26, 26, 26, 26, 26, 26, +-- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 97, 97, 97, 97, +-- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.7.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.7.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +-- }) + +-- test:do_execsql_test( +-- "1.7.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.7.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.7.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.7.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.7.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.7.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.7.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.7.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "0", "0.74", "0.74.41", "0.74.41.74", "0.74.41.74.23", + "0.74.41.74.23.99", "0.74.41.74.23.99.26", "0.74.41.74.23.99.26.33", + "0.74.41.74.23.99.26.33.2", "0.74.41.74.23.99.26.33.2.89", + "0.74.41.74.23.99.26.33.2.89.81", "0.74.41.74.23.99.26.33.2.89.81.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7" +}) + +test:do_execsql_test( + "1.7.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", + "0.90.40.30.80.20", "0.90.40.30.80.20.90", "0.90.40.30.80.20.90.60", + "0.90.40.30.80.20.90.60.70", "0.90.40.30.80.20.90.60.70.80", + "0.90.40.30.80.20.90.60.70.80.90", "0.90.40.30.80.20.90.60.70.80.90.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", "41", "41.81", "41.81.91", + "41.81.91.61", "41.81.91.61.91", "41.81.91.61.91.91", + "41.81.91.61.91.91.1", "41.81.91.61.91.91.1.81", + "41.81.91.61.91.91.1.81.41", "41.81.91.61.91.91.1.81.41.61", + "41.81.91.61.91.91.1.81.41.61.1", "41.81.91.61.91.91.1.81.41.61.1.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", "2", + "2.62", "2.62.12", "2.62.12.32", "2.62.12.32.22", "2.62.12.32.22.42", + "2.62.12.32.22.42.2", "2.62.12.32.22.42.2.72", + "2.62.12.32.22.42.2.72.12", "2.62.12.32.22.42.2.72.12.22", + "2.62.12.32.22.42.2.72.12.22.2", "2.62.12.32.22.42.2.72.12.22.2.72", + "2.62.12.32.22.42.2.72.12.22.2.72.72", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", "23", "23.33", + "23.33.93", "23.33.93.23", "23.33.93.23.93", "23.33.93.23.93.43", + "23.33.93.23.93.43.3", "23.33.93.23.93.43.3.43", + "23.33.93.23.93.43.3.43.33", "23.33.93.23.93.43.3.43.33.53", + "23.33.93.23.93.43.3.43.33.53.63", "23.33.93.23.93.43.3.43.33.53.63.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "74", "74.74", "74.74.54", "74.74.54.84", "74.74.54.84.74", + "74.74.54.84.74.24", "74.74.54.84.74.24.4", "74.74.54.84.74.24.4.94", + "74.74.54.84.74.24.4.94.84", "74.74.54.84.74.24.4.94.84.74", + "74.74.54.84.74.24.4.94.84.74.34", "74.74.54.84.74.24.4.94.84.74.34.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", "65", + "65.35", "65.35.85", "65.35.85.85", "65.35.85.85.55", + "65.35.85.85.55.15", "65.35.85.85.55.15.25", "65.35.85.85.55.15.25.75", + "65.35.85.85.55.15.25.75.95", "65.35.85.85.55.15.25.75.95.65", + "65.35.85.85.55.15.25.75.95.65.65", + "65.35.85.85.55.15.25.75.95.65.65.35", + "65.35.85.85.55.15.25.75.95.65.65.35.5", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", "26", + "26.96", "26.96.46", "26.96.46.6", "26.96.46.6.46", "26.96.46.6.46.16", + "26.96.46.6.46.16.16", "26.96.46.6.46.16.16.86", + "26.96.46.6.46.16.16.86.56", "26.96.46.6.46.16.16.86.56.56", + "26.96.46.6.46.16.16.86.56.56.56", "26.96.46.6.46.16.16.86.56.56.56.16", + "26.96.46.6.46.16.16.86.56.56.56.16.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", "97", + "97.27", "97.27.97", "97.27.97.67", "97.27.97.67.77", + "97.27.97.67.77.47", "97.27.97.67.77.47.7", "97.27.97.67.77.47.7.47", + "97.27.97.67.77.47.7.47.87", "97.27.97.67.77.47.7.47.87.37", + "97.27.97.67.77.47.7.47.87.37.87", "97.27.97.67.77.47.7.47.87.37.87.77", + "97.27.97.67.77.47.7.47.87.37.87.77.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", "38", + "38.68", "38.68.78", "38.68.78.8", "38.68.78.8.28", "38.68.78.8.28.98", + "38.68.78.8.28.98.78", "38.68.78.8.28.98.78.58", + "38.68.78.8.28.98.78.58.98", "38.68.78.8.28.98.78.58.98.8", + "38.68.78.8.28.98.78.58.98.8.88", "38.68.78.8.28.98.78.58.98.8.88.8", + "38.68.78.8.28.98.78.58.98.8.88.8.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", "99", "99.89", + "99.89.59", "99.89.59.39", "99.89.59.39.99", "99.89.59.39.99.29", + "99.89.59.39.99.29.59", "99.89.59.39.99.29.59.89", + "99.89.59.39.99.29.59.89.89", "99.89.59.39.99.29.59.89.89.29", + "99.89.59.39.99.29.59.89.89.29.9", "99.89.59.39.99.29.59.89.89.29.9.79", + "99.89.59.39.99.29.59.89.89.29.9.79.49", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.7.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.1", "0.1.1", "0.1.1.2", "0.1.1.2.2", "0.1.1.2.2.2", + "0.1.1.2.2.2.3", "0.1.1.2.2.2.3.3", "0.1.1.2.2.2.3.3.4", + "0.1.1.2.2.2.3.3.4.5", "0.1.1.2.2.2.3.3.4.5.6", + "0.1.1.2.2.2.3.3.4.5.6.7", "0.1.1.2.2.2.3.3.4.5.6.7.7", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99" +}) + +test:do_execsql_test( + "1.7.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.10", "0.10.20", "0.10.20.30", "0.10.20.30.30", + "0.10.20.30.30.30", "0.10.20.30.30.30.40", "0.10.20.30.30.30.40.50", + "0.10.20.30.30.30.40.50.60", "0.10.20.30.30.30.40.50.60.70", + "0.10.20.30.30.30.40.50.60.70.80", "0.10.20.30.30.30.40.50.60.70.80.80", + "0.10.20.30.30.30.40.50.60.70.80.80.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", "1", "1.1", "1.1.11", + "1.1.11.11", "1.1.11.11.21", "1.1.11.11.21.21", "1.1.11.11.21.21.31", + "1.1.11.11.21.21.31.31", "1.1.11.11.21.21.31.31.41", + "1.1.11.11.21.21.31.31.41.41", "1.1.11.11.21.21.31.31.41.41.41", + "1.1.11.11.21.21.31.31.41.41.41.51", + "1.1.11.11.21.21.31.31.41.41.41.51.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", "2", + "2.2", "2.2.2", "2.2.2.12", "2.2.2.12.12", "2.2.2.12.12.12", + "2.2.2.12.12.12.22", "2.2.2.12.12.12.22.22", "2.2.2.12.12.12.22.22.32", + "2.2.2.12.12.12.22.22.32.42", "2.2.2.12.12.12.22.22.32.42.52", + "2.2.2.12.12.12.22.22.32.42.52.62", + "2.2.2.12.12.12.22.22.32.42.52.62.62", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", "3", "3.3", "3.3.13", + "3.3.13.13", "3.3.13.13.23", "3.3.13.13.23.23", "3.3.13.13.23.23.23", + "3.3.13.13.23.23.23.33", "3.3.13.13.23.23.23.33.33", + "3.3.13.13.23.23.23.33.33.33", "3.3.13.13.23.23.23.33.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33.33.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "4", "4.14", "4.14.24", "4.14.24.34", "4.14.24.34.34", + "4.14.24.34.34.34", "4.14.24.34.34.34.34", "4.14.24.34.34.34.34.44", + "4.14.24.34.34.34.34.44.44", "4.14.24.34.34.34.34.44.44.54", + "4.14.24.34.34.34.34.44.44.54.64", "4.14.24.34.34.34.34.44.44.54.64.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", "5", + "5.15", "5.15.15", "5.15.15.15", "5.15.15.15.25", "5.15.15.15.25.35", + "5.15.15.15.25.35.35", "5.15.15.15.25.35.35.55", + "5.15.15.15.25.35.35.55.55", "5.15.15.15.25.35.35.55.55.65", + "5.15.15.15.25.35.35.55.55.65.65", "5.15.15.15.25.35.35.55.55.65.65.65", + "5.15.15.15.25.35.35.55.55.65.65.65.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", "6", + "6.16", "6.16.16", "6.16.16.16", "6.16.16.16.26", "6.16.16.16.26.26", + "6.16.16.16.26.26.26", "6.16.16.16.26.26.26.36", + "6.16.16.16.26.26.26.36.36", "6.16.16.16.26.26.26.36.36.36", + "6.16.16.16.26.26.26.36.36.36.36", "6.16.16.16.26.26.26.36.36.36.36.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", "7", + "7.7", "7.7.7", "7.7.7.17", "7.7.7.17.27", "7.7.7.17.27.27", + "7.7.7.17.27.27.37", "7.7.7.17.27.27.37.37", "7.7.7.17.27.27.37.37.47", + "7.7.7.17.27.27.37.37.47.47", "7.7.7.17.27.27.37.37.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47.57", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", "8", "8.8", + "8.8.8", "8.8.8.28", "8.8.8.28.38", "8.8.8.28.38.38", + "8.8.8.28.38.38.58", "8.8.8.28.38.38.58.58", "8.8.8.28.38.38.58.58.58", + "8.8.8.28.38.38.58.58.58.58", "8.8.8.28.38.38.58.58.58.58.68", + "8.8.8.28.38.38.58.58.58.58.68.78", + "8.8.8.28.38.38.58.58.58.58.68.78.78", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", "9", "9.9", "9.9.9", + "9.9.9.19", "9.9.9.19.29", "9.9.9.19.29.29", "9.9.9.19.29.29.29", + "9.9.9.19.29.29.29.39", "9.9.9.19.29.29.29.39.39", + "9.9.9.19.29.29.29.39.39.39", "9.9.9.19.29.29.29.39.39.39.49", + "9.9.9.19.29.29.29.39.39.39.49.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99" +}) + +test:do_execsql_test( + "1.7.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", + "0.90.40.30.80.20", "0.90.40.30.80.20.90", "0.90.40.30.80.20.90.60", + "0.90.40.30.80.20.90.60.70", "0.90.40.30.80.20.90.60.70.80", + "0.90.40.30.80.20.90.60.70.80.90", "0.90.40.30.80.20.90.60.70.80.90.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.7.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.7.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "", "74", "74", "74.74", "74.74", "74.74.99", "74.74.99", "74.74.99.33", + "74.74.99.33", "74.74.99.33.89", "74.74.99.33.89", "74.74.99.33.89.96", + "74.74.99.33.89.96", "74.74.99.33.89.96.38", "74.74.99.33.89.96.38", + "74.74.99.33.89.96.38.39", "74.74.99.33.89.96.38.39", + "74.74.99.33.89.96.38.39.91", "74.74.99.33.89.96.38.39.91", + "74.74.99.33.89.96.38.39.91.6", "74.74.99.33.89.96.38.39.91.6", + "74.74.99.33.89.96.38.39.91.6.97", "74.74.99.33.89.96.38.39.91.6.97", + "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7" +}) + +test:do_execsql_test( + "1.7.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.7.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.7.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM t2 + ]], { + "89", "89.6", "89.6.29", "89.6.29.47", "89.6.29.47.59", + "89.6.29.47.59.28", "89.6.29.47.59.28.75", "89.6.29.47.59.28.75.78", + "89.6.29.47.59.28.75.78.72", "89.6.29.47.59.28.75.78.72.98", + "89.6.29.47.59.28.75.78.72.98.87", "89.6.29.47.59.28.75.78.72.98.87.73", + "89.6.29.47.59.28.75.78.72.98.87.73.96", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "74", + "74.96", "74.96.97", "74.96.97.84", "74.96.97.84.86", + "74.96.97.84.86.32", "74.96.97.84.86.32.25", "74.96.97.84.86.32.25.89", + "74.96.97.84.86.32.25.89.29", "74.96.97.84.86.32.25.89.29.9", + "74.96.97.84.86.32.25.89.29.9.21", "74.96.97.84.86.32.25.89.29.9.21.12", + "74.96.97.84.86.32.25.89.29.9.21.12.88", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "74", + "74.38", "74.38.46", "74.38.46.23", "74.38.46.23.61", "74.38.46.23.61.3", + "74.38.46.23.61.3.1", "74.38.46.23.61.3.1.76", + "74.38.46.23.61.3.1.76.63", "74.38.46.23.61.3.1.76.63.73", + "74.38.46.23.61.3.1.76.63.73.65", "74.38.46.23.61.3.1.76.63.73.65.20", + "74.38.46.23.61.3.1.76.63.73.65.20.8", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "99", + "99.39", "99.39.54", "99.39.54.16", "99.39.54.16.85", + "99.39.54.16.85.22", "99.39.54.16.85.22.40", "99.39.54.16.85.22.40.4", + "99.39.54.16.85.22.40.4.87", "99.39.54.16.85.22.40.4.87.65", + "99.39.54.16.85.22.40.4.87.65.5", "99.39.54.16.85.22.40.4.87.65.5.31", + "99.39.54.16.85.22.40.4.87.65.5.31.49", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "33", + "33.91", "33.91.8", "33.91.8.65", "33.91.8.65.85", "33.91.8.65.85.55", + "33.91.8.65.85.55.56", "33.91.8.65.85.55.56.42", + "33.91.8.65.85.55.56.42.80", "33.91.8.65.85.55.56.42.80.58", + "33.91.8.65.85.55.56.42.80.58.11", "33.91.8.65.85.55.56.42.80.58.11.95", + "33.91.8.65.85.55.56.42.80.58.11.95.90", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.8.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + 0, 74, 74, 74, 74, 99, 99, 99, 99, 99, 89, 96, 96, 96, 96, 96, 68, 91, + 91, 91, 99, 99, 99, 99, 99, 97, 97, 97, 97, 97, 97, 93, 93, 93, 93, 84, + 93, 93, 93, 93, 93, 86, 86, 86, 91, 91, 91, 91, 91, 85, 85, 85, 59, 59, + 91, 91, 91, 91, 91, 90, 90, 89, 89, 89, 89, 56, 56, 56, 56, 75, 75, 89, + 98, 98, 98, 98, 98, 94, 94, 94, 94, 78, 78, 78, 63, 87, 87, 87, 87, 87, + 84, 84, 84, 73, 95, 95, 95, 95, 96, 98, 98, 98, 98, 98, 74, 74, 74, 73, + 73, 87, 87, 87, 87, 87, 41, 31, 31, 95, 95, 95, 95, 95, 88, 88, 88, 88, + 49, 90, 90, 96, 96, 96, 96, 96, 77, 77, 77, 85, 85, 85, 85, 85, 74, 74, + 70, 70, 59, 47, 80, 90, 90, 90, 90, 90, 72, 72, 72, 72, 93, 93, 93, 93, + 93, 81, 81, 81, 37, 37, 62, 91, 91, 91, 91, 91, 91, 91, 99, 99, 99, 99, + 99, 95, 95, 69, 84, 84, 84, 84, 84, 84, 84, 58, 58, 58, 58, 83, 83, 83, + 83, 83 +}) + +test:do_execsql_test( + "1.8.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 23, 23, 23, 2, 2, 2, 2, 2, 38, 38, 38, 38, 38, 39, 6, 6, + 6, 6, 6, 27, 27, 27, 8, 8, 8, 8, 8, 29, 23, 16, 16, 16, 16, 16, 16, 7, 7, + 7, 7, 7, 61, 24, 24, 24, 24, 12, 12, 12, 3, 3, 3, 3, 3, 15, 15, 15, 15, + 15, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 36, 36, 4, 4, 4, 4, 4, 30, 29, 29, + 29, 2, 2, 2, 2, 2, 37, 37, 9, 9, 9, 9, 9, 13, 13, 13, 13, 1, 1, 1, 1, 1, + 5, 5, 5, 5, 5, 11, 11, 8, 8, 8, 8, 8, 15, 15, 15, 15, 22, 22, 8, 8, 8, 8, + 8, 11, 34, 34, 55, 55, 55, 44, 2, 2, 2, 2, 2, 7, 29, 29, 19, 19, 19, 19, + 19, 26, 26, 26, 36, 36, 9, 9, 9, 9, 9, 33, 33, 33, 33, 9, 9, 9, 9, 9, 12, + 12, 12, 12, 14, 33, 15, 15, 15, 15, 3, 3, 3, 3, 3, 30, 30, 30, 10, 10, + 10, 10, 10, 21, 21, 21, 30, 30, 30, 27, 27, 17, 7 +}) + +test:do_execsql_test( + "1.8.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.8.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.8.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.8.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.8.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.8.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.8.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.8.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.8.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.8.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.8.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.8.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.8.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.8.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.8.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.8.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.8.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 76, 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, +-- 109, 65, 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, +-- 110, 57, 51, 52, 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, +-- 133, 92, 109, 63, 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, +-- 110, 65, 121, 106, 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, +-- 171, 120, 109, 158, 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, +-- 132, 101, 154, 167, 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, +-- 140, 111, 180, 119, 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, +-- 141, 193, 200, 210, 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, +-- 208, 211, 179, 138, 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, +-- 173, 195, 229, 240, 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, +-- 225, 243, 172, 187, 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, +-- 209, 212, 276, 181, 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, +-- 210, 229, 235, 250, 223, 232, 229, 279, 224, 280, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.8.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.8.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 65, 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, +-- 132, 101, 163, 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, +-- 132, 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, +-- 71, 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, +-- 147, 84, 41, 114, 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, +-- 187, 207, 212, 124, 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, +-- 120, 92, 110, 179, 235, 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, +-- 136, 80, 113, 187, 109, 121, 124, 196, 156, 210, 239, 250, 72, 109, +-- 188, 202, 191, 105, 154, 79, 231, 147, 225, 103, 161, 169, 223, 96, +-- 83, 249, 212, 162, 227, 228, 167, 180, 193, 76, 78, 117, 177, 214, +-- 145, 208, 235, 150, 110, 211, 103, 158, 200, 168, 229, 92, 156, 243, +-- 280, 279, 116, 173, 269, 271, 131, 133, 223, 128, 173, 197, 210, 99, +-- 150, 161, 147, 218, 240, 109, 136, 146, 261, 263, 124, 130, 252, 171, +-- 190, 213, 274, 108, 195, 226, 119, 124, 171, 198, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.8.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 196, 134, 109, 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, +-- 240, 65, 102, 119, 136, 123, 210, 146, 147, 44, 132, 152, 160, 105, +-- 154, 92, 156, 243, 109, 136, 146, 261, 263, 11, 87, 138, 63, 124, 179, +-- 78, 141, 84, 120, 234, 79, 231, 162, 227, 228, 280, 57, 181, 110, 179, +-- 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, +-- 279, 124, 130, 252, 80, 182, 71, 157, 161, 209, 229, 179, 235, 80, +-- 225, 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 111, 74, 132, +-- 189, 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, +-- 223, 190, 213, 274, 26, 51, 52, 85, 33, 172, 173, 107, 187, 207, 212, +-- 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 48, 144, 207, +-- 216, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, +-- 197, 119, 124, 36, 121, 132, 88, 52, 232, 156, 210, 239, 250, 83, 103, +-- 158, 210, 171, 198, 101, 163, 172, 163, 59, 111, 170, 55, 184, 229, +-- 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.8.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.8.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.8.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", 56, "", "", "", "", "", "", "", "", "", 89, "", "", "", "", "", +-- "", "", "", "", "", "", 4, "", "", "", "", "", "", "", "", 53, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", 58, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 77, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 99, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 61, "", "", "", 81, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", 22, "", "", "", 12, "", "", "", "", +-- "", "", "", "", "", "", "", "", 43, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 33, "", "", "", "", "", "", "", "", 4, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 2, 2, 3, 4, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 61, "", "", "", 81, "", "", "", "", "", "", "", "", "", +-- "", "", 91, "", "", "", "", "", 22, "", "", "", 12, "", "", "", "", +-- "", "", "", "", "", "", "", "", 43, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 33, "", "", "", "", "", "", "", "", 4, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, +-- 39, 62, 91, 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, +-- 23, 16, 16, 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, +-- 32, 56, 3, 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, +-- 75, 36, 89, 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, +-- 80, 84, 72, 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, +-- 5, 73, 11, 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, +-- 8, 11, 49, 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, +-- 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, +-- 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, +-- 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, +-- 83 +-- }) + +-- test:do_execsql_test( +-- "1.8.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 41, 41, 41, 41, +-- 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, +-- 2, 2, 2, 2, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 23, 23, +-- 23, 23, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, +-- 93, 23, 13, 74, 74, 74, 74, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, +-- 34, 44, 74, 64, 14, 34, 65, 65, 65, 65, 65, 35, 85, 85, 55, 15, 25, +-- 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, 26, 26, 26, 26, 26, 96, 46, 6, +-- 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 97, 97, 97, +-- 97, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 38, +-- 38, 38, 38, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 99, 99, 99, +-- 99, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, +-- 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.8.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, +-- 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, +-- 20, 21, 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, +-- 29, 29, 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, +-- 35, 35, 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, +-- 42, 43, 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, +-- 55, 55, 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, +-- 62, 62, 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, +-- 73, 74, 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, +-- 81, 81, 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, +-- 89, 89, 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, +-- 96, 96, 96, 97, 97, 98 +-- }) + +-- test:do_execsql_test( +-- "1.8.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 1, 1, 1, 1, 1, +-- 1, 11, 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 2, +-- 2, 2, 2, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 3, 3, 3, 3, +-- 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, 73, +-- 73, 4, 4, 4, 4, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, 74, 74, +-- 74, 74, 84, 5, 5, 5, 5, 5, 15, 15, 15, 25, 35, 35, 55, 55, 65, 65, 65, +-- 75, 75, 75, 85, 85, 6, 6, 6, 6, 6, 16, 16, 16, 26, 26, 26, 36, 36, 36, +-- 36, 46, 46, 56, 56, 56, 66, 76, 7, 7, 7, 7, 7, 7, 7, 17, 27, 27, 37, +-- 37, 47, 47, 47, 47, 57, 67, 77, 77, 8, 8, 8, 8, 8, 8, 8, 28, 38, 38, +-- 58, 58, 58, 58, 68, 78, 9, 9, 9, 9, 9, 9, 9, 19, 29, 29, 29, 39, 39, +-- 39, 49, 59, 59, 59, 59, 69, 79, 89, 89 +-- }) + +-- test:do_execsql_test( +-- "1.8.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, +-- 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, +-- 81, 91, 91, 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, +-- 62, 52, 82, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, +-- 33, 93, 23, 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, +-- 34, 34, 44, 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, +-- 25, 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, +-- 6, 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, +-- 36, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, +-- 27, 17, 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, +-- 38, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, +-- 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.8.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.8.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.8.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.8.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.8.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.8.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.8.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW) FROM t2 + ]], { + "0", "0.74", "0.74.41", "0.74.41.74", "0.74.41.74.23", "74.41.74.23.99", + "41.74.23.99.26", "74.23.99.26.33", "23.99.26.33.2", "99.26.33.2.89", + "26.33.2.89.81", "33.2.89.81.96", "2.89.81.96.59", "89.81.96.59.38", + "81.96.59.38.68", "96.59.38.68.39", "59.38.68.39.62", "38.68.39.62.91", + "68.39.62.91.46", "39.62.91.46.6", "62.91.46.6.99", "91.46.6.99.97", + "46.6.99.97.27", "6.99.97.27.46", "99.97.27.46.78", "97.27.46.78.54", + "27.46.78.54.97", "46.78.54.97.8", "78.54.97.8.67", "54.97.8.67.29", + "97.8.67.29.93", "8.67.29.93.84", "67.29.93.84.77", "29.93.84.77.23", + "93.84.77.23.16", "84.77.23.16.16", "77.23.16.16.93", "23.16.16.93.65", + "16.16.93.65.35", "16.93.65.35.47", "93.65.35.47.7", "65.35.47.7.86", + "35.47.7.86.74", "47.7.86.74.61", "7.86.74.61.91", "86.74.61.91.85", + "74.61.91.85.24", "61.91.85.24.85", "91.85.24.85.43", "85.24.85.43.59", + "24.85.43.59.12", "85.43.59.12.32", "43.59.12.32.56", "59.12.32.56.3", + "12.32.56.3.91", "32.56.3.91.22", "56.3.91.22.90", "3.91.22.90.55", + "91.22.90.55.15", "22.90.55.15.28", "90.55.15.28.89", "55.15.28.89.25", + "15.28.89.25.47", "28.89.25.47.1", "89.25.47.1.56", "25.47.1.56.40", + "47.1.56.40.43", "1.56.40.43.56", "56.40.43.56.16", "40.43.56.16.75", + "43.56.16.75.36", "56.16.75.36.89", "16.75.36.89.98", "75.36.89.98.76", + "36.89.98.76.81", "89.98.76.81.4", "98.76.81.4.94", "76.81.4.94.42", + "81.4.94.42.30", "4.94.42.30.78", "94.42.30.78.33", "42.30.78.33.29", + "30.78.33.29.53", "78.33.29.53.63", "33.29.53.63.2", "29.53.63.2.87", + "53.63.2.87.37", "63.2.87.37.80", "2.87.37.80.84", "87.37.80.84.72", + "37.80.84.72.41", "80.84.72.41.9", "84.72.41.9.61", "72.41.9.61.73", + "41.9.61.73.95", "9.61.73.95.65", "61.73.95.65.13", "73.95.65.13.58", + "95.65.13.58.96", "65.13.58.96.98", "13.58.96.98.1", "58.96.98.1.21", + "96.98.1.21.74", "98.1.21.74.65", "1.21.74.65.35", "21.74.65.35.5", + "74.65.35.5.73", "65.35.5.73.11", "35.5.73.11.51", "5.73.11.51.87", + "73.11.51.87.41", "11.51.87.41.12", "51.87.41.12.8", "87.41.12.8.20", + "41.12.8.20.31", "12.8.20.31.31", "8.20.31.31.15", "20.31.31.15.95", + "31.31.15.95.22", "31.15.95.22.73", "15.95.22.73.79", "95.22.73.79.88", + "22.73.79.88.34", "73.79.88.34.8", "79.88.34.8.11", "88.34.8.11.49", + "34.8.11.49.34", "8.11.49.34.90", "11.49.34.90.59", "49.34.90.59.96", + "34.90.59.96.60", "90.59.96.60.55", "59.96.60.55.75", "96.60.55.75.77", + "60.55.75.77.44", "55.75.77.44.2", "75.77.44.2.7", "77.44.2.7.85", + "44.2.7.85.57", "2.7.85.57.74", "7.85.57.74.29", "85.57.74.29.70", + "57.74.29.70.59", "74.29.70.59.19", "29.70.59.19.39", "70.59.19.39.26", + "59.19.39.26.26", "19.39.26.26.47", "39.26.26.47.80", "26.26.47.80.90", + "26.47.80.90.36", "47.80.90.36.58", "80.90.36.58.47", "90.36.58.47.9", + "36.58.47.9.72", "58.47.9.72.72", "47.9.72.72.66", "9.72.72.66.33", + "72.72.66.33.93", "72.66.33.93.75", "66.33.93.75.64", "33.93.75.64.81", + "93.75.64.81.9", "75.64.81.9.23", "64.81.9.23.37", "81.9.23.37.13", + "9.23.37.13.12", "23.37.13.12.14", "37.13.12.14.62", "13.12.14.62.91", + "12.14.62.91.36", "14.62.91.36.91", "62.91.36.91.33", "91.36.91.33.15", + "36.91.33.15.34", "91.33.15.34.36", "33.15.34.36.99", "15.34.36.99.3", + "34.36.99.3.95", "36.99.3.95.69", "99.3.95.69.58", "3.95.69.58.52", + "95.69.58.52.30", "69.58.52.30.50", "58.52.30.50.84", "52.30.50.84.10", + "30.50.84.10.84", "50.84.10.84.33", "84.10.84.33.21", "10.84.33.21.39", + "84.33.21.39.44", "33.21.39.44.58", "21.39.44.58.30", "39.44.58.30.38", + "44.58.30.38.34", "58.30.38.34.83", "30.38.34.83.27", "38.34.83.27.82", + "34.83.27.82.17", "83.27.82.17.7" +}) + +test:do_execsql_test( + "1.8.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW) FROM t2 + ]], { + "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", "90.40.30.80.20", + "40.30.80.20.90", "30.80.20.90.60", "80.20.90.60.70", "20.90.60.70.80", + "90.60.70.80.90", "60.70.80.90.30", "70.80.90.30.50", "80.90.30.50.10", + "90.30.50.10.30", "41", "41.81", "41.81.91", "41.81.91.61", + "41.81.91.61.91", "81.91.61.91.91", "91.61.91.91.1", "61.91.91.1.81", + "91.91.1.81.41", "91.1.81.41.61", "1.81.41.61.1", "81.41.61.1.21", + "41.61.1.21.11", "61.1.21.11.51", "1.21.11.51.41", "21.11.51.41.31", + "11.51.41.31.31", "51.41.31.31.11", "41.31.31.11.81", "31.31.11.81.91", + "31.11.81.91.91", "11.81.91.91.21", "2", "2.62", "2.62.12", "2.62.12.32", + "2.62.12.32.22", "62.12.32.22.42", "12.32.22.42.2", "32.22.42.2.72", + "22.42.2.72.12", "42.2.72.12.22", "2.72.12.22.2", "72.12.22.2.72", + "12.22.2.72.72", "22.2.72.72.12", "2.72.72.12.62", "72.72.12.62.52", + "72.12.62.52.82", "23", "23.33", "23.33.93", "23.33.93.23", + "23.33.93.23.93", "33.93.23.93.43", "93.23.93.43.3", "23.93.43.3.43", + "93.43.3.43.33", "43.3.43.33.53", "3.43.33.53.63", "43.33.53.63.73", + "33.53.63.73.13", "53.63.73.13.73", "63.73.13.73.73", "73.13.73.73.33", + "13.73.73.33.93", "73.73.33.93.23", "73.33.93.23.13", "33.93.23.13.33", + "93.23.13.33.3", "23.13.33.3.33", "13.33.3.33.83", "74", "74.74", + "74.74.54", "74.74.54.84", "74.74.54.84.74", "74.54.84.74.24", + "54.84.74.24.4", "84.74.24.4.94", "74.24.4.94.84", "24.4.94.84.74", + "4.94.84.74.34", "94.84.74.34.34", "84.74.34.34.44", "74.34.34.44.74", + "34.34.44.74.64", "34.44.74.64.14", "44.74.64.14.34", "74.64.14.34.84", + "64.14.34.84.84", "14.34.84.84.44", "34.84.84.44.34", "65", "65.35", + "65.35.85", "65.35.85.85", "65.35.85.85.55", "35.85.85.55.15", + "85.85.55.15.25", "85.55.15.25.75", "55.15.25.75.95", "15.25.75.95.65", + "25.75.95.65.65", "75.95.65.65.35", "95.65.65.35.5", "65.65.35.5.15", + "65.35.5.15.95", "35.5.15.95.55", "5.15.95.55.75", "15.95.55.75.85", + "95.55.75.85.75", "55.75.85.75.15", "75.85.75.15.95", "26", "26.96", + "26.96.46", "26.96.46.6", "26.96.46.6.46", "96.46.6.46.16", + "46.6.46.16.16", "6.46.16.16.86", "46.16.16.86.56", "16.16.86.56.56", + "16.86.56.56.56", "86.56.56.56.16", "56.56.56.16.36", "56.56.16.36.76", + "56.16.36.76.96", "16.36.76.96.96", "36.76.96.96.26", "76.96.96.26.26", + "96.96.26.26.36", "96.26.26.36.66", "26.26.36.66.36", "26.36.66.36.36", + "97", "97.27", "97.27.97", "97.27.97.67", "97.27.97.67.77", + "27.97.67.77.47", "97.67.77.47.7", "67.77.47.7.47", "77.47.7.47.87", + "47.7.47.87.37", "7.47.87.37.87", "47.87.37.87.77", "87.37.87.77.7", + "37.87.77.7.57", "87.77.7.57.47", "77.7.57.47.47", "7.57.47.47.37", + "57.47.47.37.27", "47.47.37.27.17", "47.37.27.17.7", "38", "38.68", + "38.68.78", "38.68.78.8", "38.68.78.8.28", "68.78.8.28.98", + "78.8.28.98.78", "8.28.98.78.58", "28.98.78.58.98", "98.78.58.98.8", + "78.58.98.8.88", "58.98.8.88.8", "98.8.88.8.58", "8.88.8.58.58", + "88.8.58.58.58", "8.58.58.58.38", "99", "99.89", "99.89.59", + "99.89.59.39", "99.89.59.39.99", "89.59.39.99.29", "59.39.99.29.59", + "39.99.29.59.89", "99.29.59.89.89", "29.59.89.89.29", "59.89.89.29.9", + "89.89.29.9.79", "89.29.9.79.49", "29.9.79.49.59", "9.79.49.59.29", + "79.49.59.29.59", "49.59.29.59.19", "59.29.59.19.39", "29.59.19.39.9", + "59.19.39.9.9", "19.39.9.9.99", "39.9.9.99.69", "9.9.99.69.39" +}) + +test:do_execsql_test( + "1.8.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.1", "0.1.1", "0.1.1.2", "0.1.1.2.2", "1.1.2.2.2", "1.2.2.2.3", + "2.2.2.3.3", "2.2.3.3.4", "2.3.3.4.5", "3.3.4.5.6", "3.4.5.6.7", + "4.5.6.7.7", "5.6.7.7.7", "6.7.7.7.8", "7.7.7.8.8", "7.7.8.8.8", + "7.8.8.8.9", "8.8.8.9.9", "8.8.9.9.9", "8.9.9.9.10", "9.9.9.10.11", + "9.9.10.11.11", "9.10.11.11.12", "10.11.11.12.12", "11.11.12.12.12", + "11.12.12.12.13", "12.12.12.13.13", "12.12.13.13.14", "12.13.13.14.15", + "13.13.14.15.15", "13.14.15.15.15", "14.15.15.15.16", "15.15.15.16.16", + "15.15.16.16.16", "15.16.16.16.17", "16.16.16.17.19", "16.16.17.19.20", + "16.17.19.20.21", "17.19.20.21.21", "19.20.21.21.22", "20.21.21.22.22", + "21.21.22.22.23", "21.22.22.23.23", "22.22.23.23.23", "22.23.23.23.24", + "23.23.23.24.25", "23.23.24.25.26", "23.24.25.26.26", "24.25.26.26.26", + "25.26.26.26.27", "26.26.26.27.27", "26.26.27.27.28", "26.27.27.28.29", + "27.27.28.29.29", "27.28.29.29.29", "28.29.29.29.30", "29.29.29.30.30", + "29.29.30.30.30", "29.30.30.30.31", "30.30.30.31.31", "30.30.31.31.32", + "30.31.31.32.33", "31.31.32.33.33", "31.32.33.33.33", "32.33.33.33.33", + "33.33.33.33.33", "33.33.33.33.34", "33.33.33.34.34", "33.33.34.34.34", + "33.34.34.34.34", "34.34.34.34.35", "34.34.34.35.35", "34.34.35.35.36", + "34.35.35.36.36", "35.35.36.36.36", "35.36.36.36.36", "36.36.36.36.37", + "36.36.36.37.37", "36.36.37.37.38", "36.37.37.38.38", "37.37.38.38.39", + "37.38.38.39.39", "38.38.39.39.39", "38.39.39.39.40", "39.39.39.40.41", + "39.39.40.41.41", "39.40.41.41.41", "40.41.41.41.42", "41.41.41.42.43", + "41.41.42.43.43", "41.42.43.43.44", "42.43.43.44.44", "43.43.44.44.46", + "43.44.44.46.46", "44.44.46.46.47", "44.46.46.47.47", "46.46.47.47.47", + "46.47.47.47.47", "47.47.47.47.49", "47.47.47.49.50", "47.47.49.50.51", + "47.49.50.51.52", "49.50.51.52.53", "50.51.52.53.54", "51.52.53.54.55", + "52.53.54.55.55", "53.54.55.55.56", "54.55.55.56.56", "55.55.56.56.56", + "55.56.56.56.57", "56.56.56.57.58", "56.56.57.58.58", "56.57.58.58.58", + "57.58.58.58.58", "58.58.58.58.59", "58.58.58.59.59", "58.58.59.59.59", + "58.59.59.59.59", "59.59.59.59.60", "59.59.59.60.61", "59.59.60.61.61", + "59.60.61.61.62", "60.61.61.62.62", "61.61.62.62.63", "61.62.62.63.64", + "62.62.63.64.65", "62.63.64.65.65", "63.64.65.65.65", "64.65.65.65.66", + "65.65.65.66.67", "65.65.66.67.68", "65.66.67.68.69", "66.67.68.69.70", + "67.68.69.70.72", "68.69.70.72.72", "69.70.72.72.72", "70.72.72.72.73", + "72.72.72.73.73", "72.72.73.73.73", "72.73.73.73.74", "73.73.73.74.74", + "73.73.74.74.74", "73.74.74.74.74", "74.74.74.74.74", "74.74.74.74.75", + "74.74.74.75.75", "74.74.75.75.75", "74.75.75.75.76", "75.75.75.76.77", + "75.75.76.77.77", "75.76.77.77.78", "76.77.77.78.78", "77.77.78.78.79", + "77.78.78.79.80", "78.78.79.80.80", "78.79.80.80.81", "79.80.80.81.81", + "80.80.81.81.81", "80.81.81.81.82", "81.81.81.82.83", "81.81.82.83.84", + "81.82.83.84.84", "82.83.84.84.84", "83.84.84.84.84", "84.84.84.84.85", + "84.84.84.85.85", "84.84.85.85.85", "84.85.85.85.86", "85.85.85.86.87", + "85.85.86.87.87", "85.86.87.87.88", "86.87.87.88.89", "87.87.88.89.89", + "87.88.89.89.89", "88.89.89.89.90", "89.89.89.90.90", "89.89.90.90.90", + "89.90.90.90.91", "90.90.90.91.91", "90.90.91.91.91", "90.91.91.91.91", + "91.91.91.91.91", "91.91.91.91.93", "91.91.91.93.93", "91.91.93.93.93", + "91.93.93.93.94", "93.93.93.94.95", "93.93.94.95.95", "93.94.95.95.95", + "94.95.95.95.96", "95.95.95.96.96", "95.95.96.96.96", "95.96.96.96.97", + "96.96.96.97.97", "96.96.97.97.98", "96.97.97.98.98", "97.97.98.98.99", + "97.98.98.99.99", "98.98.99.99.99" +}) + +test:do_execsql_test( + "1.8.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.10", "0.10.20", "0.10.20.30", "0.10.20.30.30", "10.20.30.30.30", + "20.30.30.30.40", "30.30.30.40.50", "30.30.40.50.60", "30.40.50.60.70", + "40.50.60.70.80", "50.60.70.80.80", "60.70.80.80.90", "70.80.80.90.90", + "80.80.90.90.90", "1", "1.1", "1.1.11", "1.1.11.11", "1.1.11.11.21", + "1.11.11.21.21", "11.11.21.21.31", "11.21.21.31.31", "21.21.31.31.41", + "21.31.31.41.41", "31.31.41.41.41", "31.41.41.41.51", "41.41.41.51.61", + "41.41.51.61.61", "41.51.61.61.81", "51.61.61.81.81", "61.61.81.81.81", + "61.81.81.81.91", "81.81.81.91.91", "81.81.91.91.91", "81.91.91.91.91", + "91.91.91.91.91", "2", "2.2", "2.2.2", "2.2.2.12", "2.2.2.12.12", + "2.2.12.12.12", "2.12.12.12.22", "12.12.12.22.22", "12.12.22.22.32", + "12.22.22.32.42", "22.22.32.42.52", "22.32.42.52.62", "32.42.52.62.62", + "42.52.62.62.72", "52.62.62.72.72", "62.62.72.72.72", "62.72.72.72.82", + "3", "3.3", "3.3.13", "3.3.13.13", "3.3.13.13.23", "3.13.13.23.23", + "13.13.23.23.23", "13.23.23.23.33", "23.23.23.33.33", "23.23.33.33.33", + "23.33.33.33.33", "33.33.33.33.33", "33.33.33.33.43", "33.33.33.43.43", + "33.33.43.43.53", "33.43.43.53.63", "43.43.53.63.73", "43.53.63.73.73", + "53.63.73.73.73", "63.73.73.73.83", "73.73.73.83.93", "73.73.83.93.93", + "73.83.93.93.93", "4", "4.14", "4.14.24", "4.14.24.34", "4.14.24.34.34", + "14.24.34.34.34", "24.34.34.34.34", "34.34.34.34.44", "34.34.34.44.44", + "34.34.44.44.54", "34.44.44.54.64", "44.44.54.64.74", "44.54.64.74.74", + "54.64.74.74.74", "64.74.74.74.74", "74.74.74.74.74", "74.74.74.74.84", + "74.74.74.84.84", "74.74.84.84.84", "74.84.84.84.84", "84.84.84.84.94", + "5", "5.15", "5.15.15", "5.15.15.15", "5.15.15.15.25", "15.15.15.25.35", + "15.15.25.35.35", "15.25.35.35.55", "25.35.35.55.55", "35.35.55.55.65", + "35.55.55.65.65", "55.55.65.65.65", "55.65.65.65.75", "65.65.65.75.75", + "65.65.75.75.75", "65.75.75.75.85", "75.75.75.85.85", "75.75.85.85.85", + "75.85.85.85.95", "85.85.85.95.95", "85.85.95.95.95", "6", "6.16", + "6.16.16", "6.16.16.16", "6.16.16.16.26", "16.16.16.26.26", + "16.16.26.26.26", "16.26.26.26.36", "26.26.26.36.36", "26.26.36.36.36", + "26.36.36.36.36", "36.36.36.36.46", "36.36.36.46.46", "36.36.46.46.56", + "36.46.46.56.56", "46.46.56.56.56", "46.56.56.56.66", "56.56.56.66.76", + "56.56.66.76.86", "56.66.76.86.96", "66.76.86.96.96", "76.86.96.96.96", + "7", "7.7", "7.7.7", "7.7.7.17", "7.7.7.17.27", "7.7.17.27.27", + "7.17.27.27.37", "17.27.27.37.37", "27.27.37.37.47", "27.37.37.47.47", + "37.37.47.47.47", "37.47.47.47.47", "47.47.47.47.57", "47.47.47.57.67", + "47.47.57.67.77", "47.57.67.77.77", "57.67.77.77.87", "67.77.77.87.87", + "77.77.87.87.97", "77.87.87.97.97", "8", "8.8", "8.8.8", "8.8.8.28", + "8.8.8.28.38", "8.8.28.38.38", "8.28.38.38.58", "28.38.38.58.58", + "38.38.58.58.58", "38.58.58.58.58", "58.58.58.58.68", "58.58.58.68.78", + "58.58.68.78.78", "58.68.78.78.88", "68.78.78.88.98", "78.78.88.98.98", + "9", "9.9", "9.9.9", "9.9.9.19", "9.9.9.19.29", "9.9.19.29.29", + "9.19.29.29.29", "19.29.29.29.39", "29.29.29.39.39", "29.29.39.39.39", + "29.39.39.39.49", "39.39.39.49.59", "39.39.49.59.59", "39.49.59.59.59", + "49.59.59.59.59", "59.59.59.59.69", "59.59.59.69.79", "59.59.69.79.89", + "59.69.79.89.89", "69.79.89.89.89", "79.89.89.89.99", "89.89.89.99.99", + "89.89.99.99.99" +}) + +test:do_execsql_test( + "1.8.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW ) FROM t2 + ]], { + "0", "0.90", "0.90.40", "0.90.40.30", "0.90.40.30.80", "90.40.30.80.20", + "40.30.80.20.90", "30.80.20.90.60", "80.20.90.60.70", "20.90.60.70.80", + "90.60.70.80.90", "60.70.80.90.30", "70.80.90.30.50", "80.90.30.50.10", + "90.30.50.10.30", "30.50.10.30.41", "50.10.30.41.81", "10.30.41.81.91", + "30.41.81.91.61", "41.81.91.61.91", "81.91.61.91.91", "91.61.91.91.1", + "61.91.91.1.81", "91.91.1.81.41", "91.1.81.41.61", "1.81.41.61.1", + "81.41.61.1.21", "41.61.1.21.11", "61.1.21.11.51", "1.21.11.51.41", + "21.11.51.41.31", "11.51.41.31.31", "51.41.31.31.11", "41.31.31.11.81", + "31.31.11.81.91", "31.11.81.91.91", "11.81.91.91.21", "81.91.91.21.2", + "91.91.21.2.62", "91.21.2.62.12", "21.2.62.12.32", "2.62.12.32.22", + "62.12.32.22.42", "12.32.22.42.2", "32.22.42.2.72", "22.42.2.72.12", + "42.2.72.12.22", "2.72.12.22.2", "72.12.22.2.72", "12.22.2.72.72", + "22.2.72.72.12", "2.72.72.12.62", "72.72.12.62.52", "72.12.62.52.82", + "12.62.52.82.23", "62.52.82.23.33", "52.82.23.33.93", "82.23.33.93.23", + "23.33.93.23.93", "33.93.23.93.43", "93.23.93.43.3", "23.93.43.3.43", + "93.43.3.43.33", "43.3.43.33.53", "3.43.33.53.63", "43.33.53.63.73", + "33.53.63.73.13", "53.63.73.13.73", "63.73.13.73.73", "73.13.73.73.33", + "13.73.73.33.93", "73.73.33.93.23", "73.33.93.23.13", "33.93.23.13.33", + "93.23.13.33.3", "23.13.33.3.33", "13.33.3.33.83", "33.3.33.83.74", + "3.33.83.74.74", "33.83.74.74.54", "83.74.74.54.84", "74.74.54.84.74", + "74.54.84.74.24", "54.84.74.24.4", "84.74.24.4.94", "74.24.4.94.84", + "24.4.94.84.74", "4.94.84.74.34", "94.84.74.34.34", "84.74.34.34.44", + "74.34.34.44.74", "34.34.44.74.64", "34.44.74.64.14", "44.74.64.14.34", + "74.64.14.34.84", "64.14.34.84.84", "14.34.84.84.44", "34.84.84.44.34", + "84.84.44.34.65", "84.44.34.65.35", "44.34.65.35.85", "34.65.35.85.85", + "65.35.85.85.55", "35.85.85.55.15", "85.85.55.15.25", "85.55.15.25.75", + "55.15.25.75.95", "15.25.75.95.65", "25.75.95.65.65", "75.95.65.65.35", + "95.65.65.35.5", "65.65.35.5.15", "65.35.5.15.95", "35.5.15.95.55", + "5.15.95.55.75", "15.95.55.75.85", "95.55.75.85.75", "55.75.85.75.15", + "75.85.75.15.95", "85.75.15.95.26", "75.15.95.26.96", "15.95.26.96.46", + "95.26.96.46.6", "26.96.46.6.46", "96.46.6.46.16", "46.6.46.16.16", + "6.46.16.16.86", "46.16.16.86.56", "16.16.86.56.56", "16.86.56.56.56", + "86.56.56.56.16", "56.56.56.16.36", "56.56.16.36.76", "56.16.36.76.96", + "16.36.76.96.96", "36.76.96.96.26", "76.96.96.26.26", "96.96.26.26.36", + "96.26.26.36.66", "26.26.36.66.36", "26.36.66.36.36", "36.66.36.36.97", + "66.36.36.97.27", "36.36.97.27.97", "36.97.27.97.67", "97.27.97.67.77", + "27.97.67.77.47", "97.67.77.47.7", "67.77.47.7.47", "77.47.7.47.87", + "47.7.47.87.37", "7.47.87.37.87", "47.87.37.87.77", "87.37.87.77.7", + "37.87.77.7.57", "87.77.7.57.47", "77.7.57.47.47", "7.57.47.47.37", + "57.47.47.37.27", "47.47.37.27.17", "47.37.27.17.7", "37.27.17.7.38", + "27.17.7.38.68", "17.7.38.68.78", "7.38.68.78.8", "38.68.78.8.28", + "68.78.8.28.98", "78.8.28.98.78", "8.28.98.78.58", "28.98.78.58.98", + "98.78.58.98.8", "78.58.98.8.88", "58.98.8.88.8", "98.8.88.8.58", + "8.88.8.58.58", "88.8.58.58.58", "8.58.58.58.38", "58.58.58.38.99", + "58.58.38.99.89", "58.38.99.89.59", "38.99.89.59.39", "99.89.59.39.99", + "89.59.39.99.29", "59.39.99.29.59", "39.99.29.59.89", "99.29.59.89.89", + "29.59.89.89.29", "59.89.89.29.9", "89.89.29.9.79", "89.29.9.79.49", + "29.9.79.49.59", "9.79.49.59.29", "79.49.59.29.59", "49.59.29.59.19", + "59.29.59.19.39", "29.59.19.39.9", "59.19.39.9.9", "19.39.9.9.99", + "39.9.9.99.69", "9.9.99.69.39" +}) + +test:do_execsql_test( + "1.8.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.8.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW) FROM t2 + ]], { + "", "74", "74", "74.74", "74.74", "74.74.99", "74.99", "74.99.33", + "99.33", "99.33.89", "33.89", "33.89.96", "89.96", "89.96.38", "96.38", + "96.38.39", "38.39", "38.39.91", "39.91", "39.91.6", "91.6", "91.6.97", + "6.97", "6.97.46", "97.46", "97.46.54", "46.54", "46.54.8", "54.8", + "54.8.29", "8.29", "8.29.84", "29.84", "29.84.23", "84.23", "84.23.16", + "23.16", "23.16.65", "16.65", "16.65.47", "65.47", "65.47.86", "47.86", + "47.86.61", "86.61", "86.61.85", "61.85", "61.85.85", "85.85", + "85.85.59", "85.59", "85.59.32", "59.32", "59.32.3", "32.3", "32.3.22", + "3.22", "3.22.55", "22.55", "22.55.28", "55.28", "55.28.25", "28.25", + "28.25.1", "25.1", "25.1.40", "1.40", "1.40.56", "40.56", "40.56.75", + "56.75", "56.75.89", "75.89", "75.89.76", "89.76", "89.76.4", "76.4", + "76.4.42", "4.42", "4.42.78", "42.78", "42.78.29", "78.29", "78.29.63", + "29.63", "29.63.87", "63.87", "63.87.80", "87.80", "87.80.72", "80.72", + "80.72.9", "72.9", "72.9.73", "9.73", "9.73.65", "73.65", "73.65.58", + "65.58", "65.58.98", "58.98", "58.98.21", "98.21", "98.21.65", "21.65", + "21.65.5", "65.5", "65.5.11", "5.11", "5.11.87", "11.87", "11.87.12", + "87.12", "87.12.20", "12.20", "12.20.31", "20.31", "20.31.95", "31.95", + "31.95.73", "95.73", "95.73.88", "73.88", "73.88.8", "88.8", "88.8.49", + "8.49", "8.49.90", "49.90", "49.90.96", "90.96", "90.96.55", "96.55", + "96.55.77", "55.77", "55.77.2", "77.2", "77.2.85", "2.85", "2.85.74", + "85.74", "85.74.70", "74.70", "74.70.19", "70.19", "70.19.26", "19.26", + "19.26.47", "26.47", "26.47.90", "47.90", "47.90.58", "90.58", "90.58.9", + "58.9", "58.9.72", "9.72", "9.72.33", "72.33", "72.33.75", "33.75", + "33.75.81", "75.81", "75.81.23", "81.23", "81.23.13", "23.13", + "23.13.14", "13.14", "13.14.91", "14.91", "14.91.91", "91.91", + "91.91.15", "91.15", "91.15.36", "15.36", "15.36.3", "36.3", "36.3.69", + "3.69", "3.69.52", "69.52", "69.52.50", "52.50", "52.50.10", "50.10", + "50.10.33", "10.33", "10.33.39", "33.39", "33.39.58", "39.58", + "39.58.38", "58.38", "58.38.83", "38.83", "38.83.82", "83.82", "83.82.7" +}) + +test:do_execsql_test( + "1.8.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.8.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.8.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND CURRENT ROW) FROM t2 + ]], { + "89", "89.6", "89.6.29", "89.6.29.47", "89.6.29.47.59", "6.29.47.59.28", + "29.47.59.28.75", "47.59.28.75.78", "59.28.75.78.72", "28.75.78.72.98", + "75.78.72.98.87", "78.72.98.87.73", "72.98.87.73.96", "98.87.73.96.74", + "87.73.96.74.90", "73.96.74.90.75", "96.74.90.75.91", "74.90.75.91.69", + "90.75.91.69.39", "75.91.69.39.7", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "74", "74.96", "74.96.97", + "74.96.97.84", "74.96.97.84.86", "96.97.84.86.32", "97.84.86.32.25", + "84.86.32.25.89", "86.32.25.89.29", "32.25.89.29.9", "25.89.29.9.21", + "89.29.9.21.12", "29.9.21.12.88", "9.21.12.88.55", "21.12.88.55.70", + "12.88.55.70.58", "88.55.70.58.81", "55.70.58.81.91", "70.58.81.91.52", + "58.81.91.52.58", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "74", "74.38", "74.38.46", "74.38.46.23", + "74.38.46.23.61", "38.46.23.61.3", "46.23.61.3.1", "23.61.3.1.76", + "61.3.1.76.63", "3.1.76.63.73", "1.76.63.73.65", "76.63.73.65.20", + "63.73.65.20.8", "73.65.20.8.77", "65.20.8.77.19", "20.8.77.19.9", + "8.77.19.9.23", "77.19.9.23.15", "19.9.23.15.50", "9.23.15.50.38", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "99", "99.39", "99.39.54", "99.39.54.16", "99.39.54.16.85", + "39.54.16.85.22", "54.16.85.22.40", "16.85.22.40.4", "85.22.40.4.87", + "22.40.4.87.65", "40.4.87.65.5", "4.87.65.5.31", "87.65.5.31.49", + "65.5.31.49.2", "5.31.49.2.26", "31.49.2.26.72", "49.2.26.72.13", + "2.26.72.13.36", "26.72.13.36.10", "72.13.36.10.83", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "33", + "33.91", "33.91.8", "33.91.8.65", "33.91.8.65.85", "91.8.65.85.55", + "8.65.85.55.56", "65.85.55.56.42", "85.55.56.42.80", "55.56.42.80.58", + "56.42.80.58.11", "42.80.58.11.95", "80.58.11.95.90", "58.11.95.90.85", + "11.95.90.85.47", "95.90.85.47.33", "90.85.47.33.14", "85.47.33.14.3", + "47.33.14.3.33", "33.14.3.33.82", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.9.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, 46, + 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, 93, 65, + 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, 91, 22, 90, + 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, 98, 76, 81, 4, + 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, 41, 9, 61, 73, 95, + 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, 51, 87, 41, 12, 8, 20, + 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, 34, 90, 59, 96, 60, 55, + 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, + 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, + 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, + 21, 39, 44, 58, 30, 38, 34, 83, 27, 82, 17, 7 +}) + +test:do_execsql_test( + "1.9.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, 46, + 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, 93, 65, + 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, 91, 22, 90, + 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, 98, 76, 81, 4, + 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, 41, 9, 61, 73, 95, + 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, 51, 87, 41, 12, 8, 20, + 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, 34, 90, 59, 96, 60, 55, + 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, + 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, + 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, + 21, 39, 44, 58, 30, 38, 34, 83, 27, 82, 17, 7 +}) + +test:do_execsql_test( + "1.9.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.9.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.9.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.9.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.9.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.9.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.9.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.9.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.9.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.9.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.9.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.9.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.9.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.9.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.9.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.9.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.9.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 76, 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, +-- 109, 65, 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, +-- 110, 57, 51, 52, 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, +-- 133, 92, 109, 63, 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, +-- 110, 65, 121, 106, 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, +-- 171, 120, 109, 158, 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, +-- 132, 101, 154, 167, 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, +-- 140, 111, 180, 119, 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, +-- 141, 193, 200, 210, 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, +-- 208, 211, 179, 138, 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, +-- 173, 195, 229, 240, 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, +-- 225, 243, 172, 187, 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, +-- 209, 212, 276, 181, 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, +-- 210, 229, 235, 250, 223, 232, 229, 279, 224, 280, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.9.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.9.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 65, 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, +-- 132, 101, 163, 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, +-- 132, 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, +-- 71, 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, +-- 147, 84, 41, 114, 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, +-- 187, 207, 212, 124, 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, +-- 120, 92, 110, 179, 235, 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, +-- 136, 80, 113, 187, 109, 121, 124, 196, 156, 210, 239, 250, 72, 109, +-- 188, 202, 191, 105, 154, 79, 231, 147, 225, 103, 161, 169, 223, 96, +-- 83, 249, 212, 162, 227, 228, 167, 180, 193, 76, 78, 117, 177, 214, +-- 145, 208, 235, 150, 110, 211, 103, 158, 200, 168, 229, 92, 156, 243, +-- 280, 279, 116, 173, 269, 271, 131, 133, 223, 128, 173, 197, 210, 99, +-- 150, 161, 147, 218, 240, 109, 136, 146, 261, 263, 124, 130, 252, 171, +-- 190, 213, 274, 108, 195, 226, 119, 124, 171, 198, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.9.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 196, 134, 109, 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, +-- 240, 65, 102, 119, 136, 123, 210, 146, 147, 44, 132, 152, 160, 105, +-- 154, 92, 156, 243, 109, 136, 146, 261, 263, 11, 87, 138, 63, 124, 179, +-- 78, 141, 84, 120, 234, 79, 231, 162, 227, 228, 280, 57, 181, 110, 179, +-- 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, +-- 279, 124, 130, 252, 80, 182, 71, 157, 161, 209, 229, 179, 235, 80, +-- 225, 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 111, 74, 132, +-- 189, 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, +-- 223, 190, 213, 274, 26, 51, 52, 85, 33, 172, 173, 107, 187, 207, 212, +-- 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 48, 144, 207, +-- 216, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, +-- 197, 119, 124, 36, 121, 132, 88, 52, 232, 156, 210, 239, 250, 83, 103, +-- 158, 210, 171, 198, 101, 163, 172, 163, 59, 111, 170, 55, 184, 229, +-- 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, 276 +-- }) + +-- test:do_execsql_test( +-- "1.9.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 1, 147, 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, +-- 223, 44, 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, +-- 160, 152, 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, +-- 87, 162, 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, +-- 130, 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, +-- 179, 206, 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, +-- 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229 +-- }) + +-- test:do_execsql_test( +-- "1.9.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.9.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, +-- 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, +-- 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, +-- 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, +-- 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, +-- 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, +-- 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, +-- 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, +-- 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, +-- 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, +-- 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, 83, 27, +-- 82, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.9.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.9.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 11, +-- 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, +-- 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, 62, 62, +-- 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, 73, 74, +-- 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, +-- 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, 89, 89, +-- 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, 96, 96, +-- 96, 97, 97, 98, 98, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.9.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 80, 90, 90, 90, 1, 1, 11, +-- 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 91, 91, +-- 91, 91, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 72, 72, 72, +-- 82, 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, +-- 73, 73, 83, 93, 93, 93, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, +-- 74, 74, 74, 74, 84, 84, 84, 84, 94, 5, 15, 15, 15, 25, 35, 35, 55, 55, +-- 65, 65, 65, 75, 75, 75, 85, 85, 85, 95, 95, 95, 6, 16, 16, 16, 26, 26, +-- 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, 86, 96, 96, 96, 7, 7, +-- 7, 17, 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, 87, 87, 97, 97, +-- 8, 8, 8, 28, 38, 38, 58, 58, 58, 58, 68, 78, 78, 88, 98, 98, 9, 9, 9, +-- 19, 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, 59, 69, 79, 89, 89, 89, +-- 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.9.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.9.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.9.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.9.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.9.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.9.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.9.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND CURRENT ROW) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.9.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "0", "74", "41", "74", "23", "99", "26", "33", "2", "89", "81", "96", + "59", "38", "68", "39", "62", "91", "46", "6", "99", "97", "27", "46", + "78", "54", "97", "8", "67", "29", "93", "84", "77", "23", "16", "16", + "93", "65", "35", "47", "7", "86", "74", "61", "91", "85", "24", "85", + "43", "59", "12", "32", "56", "3", "91", "22", "90", "55", "15", "28", + "89", "25", "47", "1", "56", "40", "43", "56", "16", "75", "36", "89", + "98", "76", "81", "4", "94", "42", "30", "78", "33", "29", "53", "63", + "2", "87", "37", "80", "84", "72", "41", "9", "61", "73", "95", "65", + "13", "58", "96", "98", "1", "21", "74", "65", "35", "5", "73", "11", + "51", "87", "41", "12", "8", "20", "31", "31", "15", "95", "22", "73", + "79", "88", "34", "8", "11", "49", "34", "90", "59", "96", "60", "55", + "75", "77", "44", "2", "7", "85", "57", "74", "29", "70", "59", "19", + "39", "26", "26", "47", "80", "90", "36", "58", "47", "9", "72", "72", + "66", "33", "93", "75", "64", "81", "9", "23", "37", "13", "12", "14", + "62", "91", "36", "91", "33", "15", "34", "36", "99", "3", "95", "69", + "58", "52", "30", "50", "84", "10", "84", "33", "21", "39", "44", "58", + "30", "38", "34", "83", "27", "82", "17", "7" +}) + +test:do_execsql_test( + "1.9.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "0", "90", "40", "30", "80", "20", "90", "60", "70", "80", "90", "30", + "50", "10", "30", "41", "81", "91", "61", "91", "91", "1", "81", "41", + "61", "1", "21", "11", "51", "41", "31", "31", "11", "81", "91", "91", + "21", "2", "62", "12", "32", "22", "42", "2", "72", "12", "22", "2", + "72", "72", "12", "62", "52", "82", "23", "33", "93", "23", "93", "43", + "3", "43", "33", "53", "63", "73", "13", "73", "73", "33", "93", "23", + "13", "33", "3", "33", "83", "74", "74", "54", "84", "74", "24", "4", + "94", "84", "74", "34", "34", "44", "74", "64", "14", "34", "84", "84", + "44", "34", "65", "35", "85", "85", "55", "15", "25", "75", "95", "65", + "65", "35", "5", "15", "95", "55", "75", "85", "75", "15", "95", "26", + "96", "46", "6", "46", "16", "16", "86", "56", "56", "56", "16", "36", + "76", "96", "96", "26", "26", "36", "66", "36", "36", "97", "27", "97", + "67", "77", "47", "7", "47", "87", "37", "87", "77", "7", "57", "47", + "47", "37", "27", "17", "7", "38", "68", "78", "8", "28", "98", "78", + "58", "98", "8", "88", "8", "58", "58", "58", "38", "99", "89", "59", + "39", "99", "29", "59", "89", "89", "29", "9", "79", "49", "59", "29", + "59", "19", "39", "9", "9", "99", "69", "39" +}) + +test:do_execsql_test( + "1.9.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + "0", "1", "1", "2", "2", "2", "3", "3", "4", "5", "6", "7", "7", "7", + "8", "8", "8", "9", "9", "9", "10", "11", "11", "12", "12", "12", "13", + "13", "14", "15", "15", "15", "16", "16", "16", "17", "19", "20", "21", + "21", "22", "22", "23", "23", "23", "24", "25", "26", "26", "26", "27", + "27", "28", "29", "29", "29", "30", "30", "30", "31", "31", "32", "33", + "33", "33", "33", "33", "34", "34", "34", "34", "35", "35", "36", "36", + "36", "36", "37", "37", "38", "38", "39", "39", "39", "40", "41", "41", + "41", "42", "43", "43", "44", "44", "46", "46", "47", "47", "47", "47", + "49", "50", "51", "52", "53", "54", "55", "55", "56", "56", "56", "57", + "58", "58", "58", "58", "59", "59", "59", "59", "60", "61", "61", "62", + "62", "63", "64", "65", "65", "65", "66", "67", "68", "69", "70", "72", + "72", "72", "73", "73", "73", "74", "74", "74", "74", "74", "75", "75", + "75", "76", "77", "77", "78", "78", "79", "80", "80", "81", "81", "81", + "82", "83", "84", "84", "84", "84", "85", "85", "85", "86", "87", "87", + "88", "89", "89", "89", "90", "90", "90", "91", "91", "91", "91", "91", + "93", "93", "93", "94", "95", "95", "95", "96", "96", "96", "97", "97", + "98", "98", "99", "99", "99" +}) + +test:do_execsql_test( + "1.9.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + "0", "10", "20", "30", "30", "30", "40", "50", "60", "70", "80", "80", + "90", "90", "90", "1", "1", "11", "11", "21", "21", "31", "31", "41", + "41", "41", "51", "61", "61", "81", "81", "81", "91", "91", "91", "91", + "91", "2", "2", "2", "12", "12", "12", "22", "22", "32", "42", "52", + "62", "62", "72", "72", "72", "82", "3", "3", "13", "13", "23", "23", + "23", "33", "33", "33", "33", "33", "43", "43", "53", "63", "73", "73", + "73", "83", "93", "93", "93", "4", "14", "24", "34", "34", "34", "34", + "44", "44", "54", "64", "74", "74", "74", "74", "74", "84", "84", "84", + "84", "94", "5", "15", "15", "15", "25", "35", "35", "55", "55", "65", + "65", "65", "75", "75", "75", "85", "85", "85", "95", "95", "95", "6", + "16", "16", "16", "26", "26", "26", "36", "36", "36", "36", "46", "46", + "56", "56", "56", "66", "76", "86", "96", "96", "96", "7", "7", "7", + "17", "27", "27", "37", "37", "47", "47", "47", "47", "57", "67", "77", + "77", "87", "87", "97", "97", "8", "8", "8", "28", "38", "38", "58", + "58", "58", "58", "68", "78", "78", "88", "98", "98", "9", "9", "9", + "19", "29", "29", "29", "39", "39", "39", "49", "59", "59", "59", "59", + "69", "79", "89", "89", "89", "99", "99", "99" +}) + +test:do_execsql_test( + "1.9.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW ) FROM t2 + ]], { + "0", "90", "40", "30", "80", "20", "90", "60", "70", "80", "90", "30", + "50", "10", "30", "41", "81", "91", "61", "91", "91", "1", "81", "41", + "61", "1", "21", "11", "51", "41", "31", "31", "11", "81", "91", "91", + "21", "2", "62", "12", "32", "22", "42", "2", "72", "12", "22", "2", + "72", "72", "12", "62", "52", "82", "23", "33", "93", "23", "93", "43", + "3", "43", "33", "53", "63", "73", "13", "73", "73", "33", "93", "23", + "13", "33", "3", "33", "83", "74", "74", "54", "84", "74", "24", "4", + "94", "84", "74", "34", "34", "44", "74", "64", "14", "34", "84", "84", + "44", "34", "65", "35", "85", "85", "55", "15", "25", "75", "95", "65", + "65", "35", "5", "15", "95", "55", "75", "85", "75", "15", "95", "26", + "96", "46", "6", "46", "16", "16", "86", "56", "56", "56", "16", "36", + "76", "96", "96", "26", "26", "36", "66", "36", "36", "97", "27", "97", + "67", "77", "47", "7", "47", "87", "37", "87", "77", "7", "57", "47", + "47", "37", "27", "17", "7", "38", "68", "78", "8", "28", "98", "78", + "58", "98", "8", "88", "8", "58", "58", "58", "38", "99", "89", "59", + "39", "99", "29", "59", "89", "89", "29", "9", "79", "49", "59", "29", + "59", "19", "39", "9", "9", "99", "69", "39" +}) + +test:do_execsql_test( + "1.9.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.9.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "", "74", "", "74", "", "99", "", "33", "", "89", "", "96", "", "38", "", + "39", "", "91", "", "6", "", "97", "", "46", "", "54", "", "8", "", "29", + "", "84", "", "23", "", "16", "", "65", "", "47", "", "86", "", "61", "", + "85", "", "85", "", "59", "", "32", "", "3", "", "22", "", "55", "", + "28", "", "25", "", "1", "", "40", "", "56", "", "75", "", "89", "", + "76", "", "4", "", "42", "", "78", "", "29", "", "63", "", "87", "", + "80", "", "72", "", "9", "", "73", "", "65", "", "58", "", "98", "", + "21", "", "65", "", "5", "", "11", "", "87", "", "12", "", "20", "", + "31", "", "95", "", "73", "", "88", "", "8", "", "49", "", "90", "", + "96", "", "55", "", "77", "", "2", "", "85", "", "74", "", "70", "", + "19", "", "26", "", "47", "", "90", "", "58", "", "9", "", "72", "", + "33", "", "75", "", "81", "", "23", "", "13", "", "14", "", "91", "", + "91", "", "15", "", "36", "", "3", "", "69", "", "52", "", "50", "", + "10", "", "33", "", "39", "", "58", "", "38", "", "83", "", "82", "", "7" +}) + +test:do_execsql_test( + "1.9.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.9.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.9.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW +AND CURRENT ROW) FROM t2 + ]], { + "89", "6", "29", "47", "59", "28", "75", "78", "72", "98", "87", "73", + "96", "74", "90", "75", "91", "69", "39", "7", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "74", "96", "97", + "84", "86", "32", "25", "89", "29", "9", "21", "12", "88", "55", "70", + "58", "81", "91", "52", "58", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "74", "38", "46", "23", "61", "3", + "1", "76", "63", "73", "65", "20", "8", "77", "19", "9", "23", "15", + "50", "38", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "99", "39", "54", "16", "85", "22", "40", "4", "87", + "65", "5", "31", "49", "2", "26", "72", "13", "36", "10", "83", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33", "91", "8", "65", "85", "55", "56", "42", "80", "58", "11", "95", + "90", "85", "47", "33", "14", "3", "33", "82", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.10.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + 74, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99 +}) + +test:do_execsql_test( + "1.10.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}) + +test:do_execsql_test( + "1.10.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.10.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.10.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.10.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.10.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.10.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.10.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.10.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.10.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.10.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.10.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.10.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.10.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.10.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.10.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.10.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.10.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, 109, 65, 26, +-- 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, 110, 57, 51, 52, +-- 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, 133, 92, 109, 63, +-- 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, 110, 65, 121, 106, +-- 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, 171, 120, 109, 158, +-- 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, 132, 101, 154, 167, +-- 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, 140, 111, 180, 119, +-- 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, 141, 193, 200, 210, +-- 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, 208, 211, 179, 138, +-- 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, 173, 195, 229, 240, +-- 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, 225, 243, 172, 187, +-- 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, 209, 212, 276, 181, +-- 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, 210, 229, 235, 250, +-- 223, 232, 229, 279, 224, 280, 216, 207, 207, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.10.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 223, 223, 223, +-- 223, 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, 146, 147, +-- 136, 243, 261, 263, 210, 210, 210, 210, 210, 78, 120, 87, 162, 124, +-- 141, 138, 227, 228, 179, 231, 234, 280, 280, 280, 280, 280, 130, 92, +-- 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, 206, +-- 181, 221, 279, 279, 279, 279, 279, 117, 71, 80, 171, 173, 177, 157, +-- 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 229, 229, 229, 229, +-- 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, 223, +-- 235, 189, 274, 274, 274, 274, 274, 70, 51, 52, 128, 109, 121, 124, 85, +-- 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 212, 212, 212, 212, +-- 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, 224, +-- 216, 207, 207, 207, 207, 207, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 232, 232, 232, 232, 120, 59, 109, 150, 161, 111, +-- 101, 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229, 229, +-- 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.10.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, 132, 101, 163, +-- 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, 132, 189, 51, 52, +-- 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, 71, 87, 33, 172, +-- 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, 147, 84, 41, 114, +-- 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, 187, 207, 212, 124, +-- 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, 120, 92, 110, 179, 235, +-- 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, 136, 80, 113, 187, 109, +-- 121, 124, 196, 156, 210, 239, 250, 72, 109, 188, 202, 191, 105, 154, +-- 79, 231, 147, 225, 103, 161, 169, 223, 96, 83, 249, 212, 162, 227, +-- 228, 167, 180, 193, 76, 78, 117, 177, 214, 145, 208, 235, 150, 110, +-- 211, 103, 158, 200, 168, 229, 92, 156, 243, 280, 279, 116, 173, 269, +-- 271, 131, 133, 223, 128, 173, 197, 210, 99, 150, 161, 147, 218, 240, +-- 109, 136, 146, 261, 263, 124, 130, 252, 171, 190, 213, 274, 108, 195, +-- 226, 119, 124, 171, 198, 105, 120, 276, 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.10.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, 240, 240, 240, 240, +-- 240, 123, 210, 146, 147, 44, 132, 152, 160, 105, 154, 92, 156, 243, +-- 109, 136, 146, 261, 263, 263, 263, 263, 263, 124, 179, 78, 141, 84, +-- 120, 234, 79, 231, 162, 227, 228, 280, 280, 280, 280, 280, 28, 57, +-- 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, 279, +-- 124, 130, 252, 252, 252, 252, 252, 161, 209, 229, 179, 235, 80, 225, +-- 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 171, 171, 171, 171, +-- 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, 223, +-- 190, 213, 274, 274, 274, 274, 274, 33, 172, 173, 107, 187, 207, 212, +-- 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 226, 226, 226, +-- 226, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, +-- 197, 119, 124, 124, 124, 124, 124, 52, 232, 156, 210, 239, 250, 83, +-- 103, 158, 210, 171, 198, 198, 198, 198, 198, 59, 111, 170, 55, 184, +-- 229, 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.10.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 44, 92, 109, +-- 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, 146, 147, +-- 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, 87, 162, 124, 141, +-- 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, 130, 92, 57, 110, +-- 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, 206, 181, 221, +-- 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, 157, 161, 179, 214, +-- 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, 133, 113, 74, 87, +-- 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, 223, 235, 189, 274, +-- 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, 85, 107, 150, 195, +-- 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, 96, 110, 87, 48, 110, +-- 173, 124, 197, 211, 144, 196, 195, 200, 202, 224, 216, 207, 52, 83, +-- 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, 210, 239, 250, 232, +-- 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, 200, 175, 188, 170, +-- 202, 163, 184, 163, 172, 276, 249, 229, 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.10.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.10.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 41, "", "", "", "", "", "", "", "", "", +-- "", 26, "", "", "", "", "", "", "", 2, "", 29, "", "", "", 46, 62, 62, +-- "", "", 16, "", 33, "", "", "", "", "", 78, "", 61, "", 59, 77, 90, +-- 74, "", 27, "", 22, 39, 67, "", 54, 85, 74, 90, 7, 61, 90, 62, "", 93, +-- "", "", 94, "", 23, "", 74, 93, 30, 23, 29, 3, 1, 41, 80, 65, 33, 2, +-- 98, 86, 89, 25, 76, 65, 40, 38, 15, 13, 96, 74, 97, 81, 40, 16, 99, +-- 76, 96, 32, 80, 86, 59, 2, 99, 84, 84, 39, 65, 27, 76, 78, 84, 16, 2, +-- 96, 59, 16, 41, 28, 13, 89, 22, 4, 42, 91, 41, 33, 87, 55, 81, 29, 36, +-- 28, 6, 47, 97, 97, 85, 33, 41, 93, 15, 85, 89, 98, 98, 43, 23, 73, 4, +-- 56, 29, 89, 46, 65, 38, 59, 68, 47, 9, 93, 9, 23, 39, 16, 93, 98, 74, +-- 65, 75, 15, 56, 93, 12, 2, 81, 2, 23, 97, 47, 91, 15, 93, 35, 16, 63, +-- 8, 53, 91, 33 +-- }) + +-- test:do_execsql_test( +-- "1.10.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 81, "", "", "", 81, "", 21, "", "", "", "", 21, "", "", +-- "", 21, 12, "", "", "", "", "", 12, "", 72, "", 12, "", "", 72, "", +-- "", "", "", "", "", "", "", "", 23, "", "", "", "", "", 73, "", "", +-- "", "", "", 73, "", 23, "", "", "", "", "", "", "", "", 74, "", "", +-- "", "", "", "", "", "", 64, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 15, 55, "", "", "", "", "", 55, "", "", +-- "", "", 16, "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 47, "", "", "", "", "", 47, +-- "", "", "", "", "", 27, 47, "", "", "", "", "", "", "", "", "", 98, +-- "", 98, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 29, +-- "", "", "", "", "", 9, "", 29, 29, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 7, 7, +-- 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 11, 11, 11, 11, 12, 12, +-- 12, 12, 12, 13, 13, 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 19, 19, 19, 19, 20, +-- 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 25, 25, +-- 26, 26, 26, 26, 26, 27, 27, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, +-- 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, 33, 33, +-- 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, +-- 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40, +-- 40, 40, 41, 41, 41, 41, 41, 41, 42, 43, 43, 43, 43, 43, 43, 44, 44, +-- 44, 44, 44, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, +-- 49, 49, 49 +-- }) + +-- test:do_execsql_test( +-- "1.10.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 2, 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 13, "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 90, "", "", "", 90, 1, 30, "", "", 31, 31, 30, "", "", "", +-- 1, 40, "", 50, 11, 81, 42, 40, "", 50, 81, 40, "", "", 50, "", 52, "", +-- 41, 81, "", 41, "", 2, 30, 2, 81, 82, 53, "", 10, "", "", 81, "", 41, +-- 10, 81, 30, 81, "", 3, 3, 23, 94, 3, 61, 80, "", 94, 3, 91, 91, 72, 3, +-- 63, 30, 91, 94, 94, 72, 91, 73, 91, 84, 84, 33, 41, 1, 33, 84, 73, 73, +-- 91, 20, 41, 84, 33, 33, 84, 33, 41, 84, 21, 44, 22, 90, 22, 81, 81, +-- 74, 93, 93, 93, 81, 21, 83, 44, 44, 21, 21, 21, 13, 21, 21, 34, 11, +-- 34, 73, 74, 2, 60, 2, 34, 2, 34, 74, 60, 23, 2, 2, 2, 11, 91, 60, 62, +-- 73, 74, 70, 51, 65, 74, 93, 65, 70, 34, 70, 93, 93, 93, 62, 35, 44, +-- 43, 12, 35, 41, 43, 44, 44, 41, 80, 54, 72, 43, 41, 43, 91, 12, 80, +-- 80, 35, 33, 12 +-- }) + +-- test:do_execsql_test( +-- "1.10.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.10.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, +-- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, +-- 74, 74, 74, 74, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, +-- 65, 65, 65, 65, 65, 65, 65, 65, 26, 26, 26, 26, 26, 26, 26, 26, 26, +-- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 97, 97, 97, 97, +-- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.10.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.10.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +-- }) + +-- test:do_execsql_test( +-- "1.10.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.10.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.10.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.10.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.10.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.10.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.10.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.10.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 + ]], { + "0.74.41.74.23", "0.74.41.74.23.99", "0.74.41.74.23.99.26", + "0.74.41.74.23.99.26.33", "0.74.41.74.23.99.26.33.2", + "0.74.41.74.23.99.26.33.2.89", "0.74.41.74.23.99.26.33.2.89.81", + "0.74.41.74.23.99.26.33.2.89.81.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7" +}) + +test:do_execsql_test( + "1.10.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 + ]], { + "0.90.40.30.80", "0.90.40.30.80.20", "0.90.40.30.80.20.90", + "0.90.40.30.80.20.90.60", "0.90.40.30.80.20.90.60.70", + "0.90.40.30.80.20.90.60.70.80", "0.90.40.30.80.20.90.60.70.80.90", + "0.90.40.30.80.20.90.60.70.80.90.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", "41.81.91.61.91", + "41.81.91.61.91.91", "41.81.91.61.91.91.1", "41.81.91.61.91.91.1.81", + "41.81.91.61.91.91.1.81.41", "41.81.91.61.91.91.1.81.41.61", + "41.81.91.61.91.91.1.81.41.61.1", "41.81.91.61.91.91.1.81.41.61.1.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "2.62.12.32.22", "2.62.12.32.22.42", "2.62.12.32.22.42.2", + "2.62.12.32.22.42.2.72", "2.62.12.32.22.42.2.72.12", + "2.62.12.32.22.42.2.72.12.22", "2.62.12.32.22.42.2.72.12.22.2", + "2.62.12.32.22.42.2.72.12.22.2.72", + "2.62.12.32.22.42.2.72.12.22.2.72.72", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", "23.33.93.23.93", + "23.33.93.23.93.43", "23.33.93.23.93.43.3", "23.33.93.23.93.43.3.43", + "23.33.93.23.93.43.3.43.33", "23.33.93.23.93.43.3.43.33.53", + "23.33.93.23.93.43.3.43.33.53.63", "23.33.93.23.93.43.3.43.33.53.63.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "74.74.54.84.74", "74.74.54.84.74.24", "74.74.54.84.74.24.4", + "74.74.54.84.74.24.4.94", "74.74.54.84.74.24.4.94.84", + "74.74.54.84.74.24.4.94.84.74", "74.74.54.84.74.24.4.94.84.74.34", + "74.74.54.84.74.24.4.94.84.74.34.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "65.35.85.85.55", "65.35.85.85.55.15", "65.35.85.85.55.15.25", + "65.35.85.85.55.15.25.75", "65.35.85.85.55.15.25.75.95", + "65.35.85.85.55.15.25.75.95.65", "65.35.85.85.55.15.25.75.95.65.65", + "65.35.85.85.55.15.25.75.95.65.65.35", + "65.35.85.85.55.15.25.75.95.65.65.35.5", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "26.96.46.6.46", "26.96.46.6.46.16", "26.96.46.6.46.16.16", + "26.96.46.6.46.16.16.86", "26.96.46.6.46.16.16.86.56", + "26.96.46.6.46.16.16.86.56.56", "26.96.46.6.46.16.16.86.56.56.56", + "26.96.46.6.46.16.16.86.56.56.56.16", + "26.96.46.6.46.16.16.86.56.56.56.16.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "97.27.97.67.77", "97.27.97.67.77.47", "97.27.97.67.77.47.7", + "97.27.97.67.77.47.7.47", "97.27.97.67.77.47.7.47.87", + "97.27.97.67.77.47.7.47.87.37", "97.27.97.67.77.47.7.47.87.37.87", + "97.27.97.67.77.47.7.47.87.37.87.77", + "97.27.97.67.77.47.7.47.87.37.87.77.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "38.68.78.8.28", "38.68.78.8.28.98", "38.68.78.8.28.98.78", + "38.68.78.8.28.98.78.58", "38.68.78.8.28.98.78.58.98", + "38.68.78.8.28.98.78.58.98.8", "38.68.78.8.28.98.78.58.98.8.88", + "38.68.78.8.28.98.78.58.98.8.88.8", + "38.68.78.8.28.98.78.58.98.8.88.8.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", "99.89.59.39.99", + "99.89.59.39.99.29", "99.89.59.39.99.29.59", "99.89.59.39.99.29.59.89", + "99.89.59.39.99.29.59.89.89", "99.89.59.39.99.29.59.89.89.29", + "99.89.59.39.99.29.59.89.89.29.9", "99.89.59.39.99.29.59.89.89.29.9.79", + "99.89.59.39.99.29.59.89.89.29.9.79.49", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.10.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + "0.1.1.2.2", "0.1.1.2.2.2", "0.1.1.2.2.2.3", "0.1.1.2.2.2.3.3", + "0.1.1.2.2.2.3.3.4", "0.1.1.2.2.2.3.3.4.5", "0.1.1.2.2.2.3.3.4.5.6", + "0.1.1.2.2.2.3.3.4.5.6.7", "0.1.1.2.2.2.3.3.4.5.6.7.7", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8", "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99" +}) + +test:do_execsql_test( + "1.10.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + "0.10.20.30.30", "0.10.20.30.30.30", "0.10.20.30.30.30.40", + "0.10.20.30.30.30.40.50", "0.10.20.30.30.30.40.50.60", + "0.10.20.30.30.30.40.50.60.70", "0.10.20.30.30.30.40.50.60.70.80", + "0.10.20.30.30.30.40.50.60.70.80.80", + "0.10.20.30.30.30.40.50.60.70.80.80.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", "1.1.11.11.21", + "1.1.11.11.21.21", "1.1.11.11.21.21.31", "1.1.11.11.21.21.31.31", + "1.1.11.11.21.21.31.31.41", "1.1.11.11.21.21.31.31.41.41", + "1.1.11.11.21.21.31.31.41.41.41", "1.1.11.11.21.21.31.31.41.41.41.51", + "1.1.11.11.21.21.31.31.41.41.41.51.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "2.2.2.12.12", "2.2.2.12.12.12", "2.2.2.12.12.12.22", + "2.2.2.12.12.12.22.22", "2.2.2.12.12.12.22.22.32", + "2.2.2.12.12.12.22.22.32.42", "2.2.2.12.12.12.22.22.32.42.52", + "2.2.2.12.12.12.22.22.32.42.52.62", + "2.2.2.12.12.12.22.22.32.42.52.62.62", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", "3.3.13.13.23", + "3.3.13.13.23.23", "3.3.13.13.23.23.23", "3.3.13.13.23.23.23.33", + "3.3.13.13.23.23.23.33.33", "3.3.13.13.23.23.23.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33", "3.3.13.13.23.23.23.33.33.33.33.33", + "3.3.13.13.23.23.23.33.33.33.33.33.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "4.14.24.34.34", "4.14.24.34.34.34", "4.14.24.34.34.34.34", + "4.14.24.34.34.34.34.44", "4.14.24.34.34.34.34.44.44", + "4.14.24.34.34.34.34.44.44.54", "4.14.24.34.34.34.34.44.44.54.64", + "4.14.24.34.34.34.34.44.44.54.64.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "5.15.15.15.25", "5.15.15.15.25.35", "5.15.15.15.25.35.35", + "5.15.15.15.25.35.35.55", "5.15.15.15.25.35.35.55.55", + "5.15.15.15.25.35.35.55.55.65", "5.15.15.15.25.35.35.55.55.65.65", + "5.15.15.15.25.35.35.55.55.65.65.65", + "5.15.15.15.25.35.35.55.55.65.65.65.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "6.16.16.16.26", "6.16.16.16.26.26", "6.16.16.16.26.26.26", + "6.16.16.16.26.26.26.36", "6.16.16.16.26.26.26.36.36", + "6.16.16.16.26.26.26.36.36.36", "6.16.16.16.26.26.26.36.36.36.36", + "6.16.16.16.26.26.26.36.36.36.36.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "7.7.7.17.27", "7.7.7.17.27.27", "7.7.7.17.27.27.37", + "7.7.7.17.27.27.37.37", "7.7.7.17.27.27.37.37.47", + "7.7.7.17.27.27.37.37.47.47", "7.7.7.17.27.27.37.37.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47", + "7.7.7.17.27.27.37.37.47.47.47.47.57", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "8.8.8.28.38", "8.8.8.28.38.38", "8.8.8.28.38.38.58", + "8.8.8.28.38.38.58.58", "8.8.8.28.38.38.58.58.58", + "8.8.8.28.38.38.58.58.58.58", "8.8.8.28.38.38.58.58.58.58.68", + "8.8.8.28.38.38.58.58.58.58.68.78", + "8.8.8.28.38.38.58.58.58.58.68.78.78", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", "9.9.9.19.29", + "9.9.9.19.29.29", "9.9.9.19.29.29.29", "9.9.9.19.29.29.29.39", + "9.9.9.19.29.29.29.39.39", "9.9.9.19.29.29.29.39.39.39", + "9.9.9.19.29.29.29.39.39.39.49", "9.9.9.19.29.29.29.39.39.39.49.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99" +}) + +test:do_execsql_test( + "1.10.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING ) FROM t2 + ]], { + "0.90.40.30.80", "0.90.40.30.80.20", "0.90.40.30.80.20.90", + "0.90.40.30.80.20.90.60", "0.90.40.30.80.20.90.60.70", + "0.90.40.30.80.20.90.60.70.80", "0.90.40.30.80.20.90.60.70.80.90", + "0.90.40.30.80.20.90.60.70.80.90.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.10.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.10.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 + ]], { + "74.74", "74.74.99", "74.74.99", "74.74.99.33", "74.74.99.33", + "74.74.99.33.89", "74.74.99.33.89", "74.74.99.33.89.96", + "74.74.99.33.89.96", "74.74.99.33.89.96.38", "74.74.99.33.89.96.38", + "74.74.99.33.89.96.38.39", "74.74.99.33.89.96.38.39", + "74.74.99.33.89.96.38.39.91", "74.74.99.33.89.96.38.39.91", + "74.74.99.33.89.96.38.39.91.6", "74.74.99.33.89.96.38.39.91.6", + "74.74.99.33.89.96.38.39.91.6.97", "74.74.99.33.89.96.38.39.91.6.97", + "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7" +}) + +test:do_execsql_test( + "1.10.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.10.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.10.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND 4 FOLLOWING) FROM t2 + ]], { + "89.6.29.47.59", "89.6.29.47.59.28", "89.6.29.47.59.28.75", + "89.6.29.47.59.28.75.78", "89.6.29.47.59.28.75.78.72", + "89.6.29.47.59.28.75.78.72.98", "89.6.29.47.59.28.75.78.72.98.87", + "89.6.29.47.59.28.75.78.72.98.87.73", + "89.6.29.47.59.28.75.78.72.98.87.73.96", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.96.97.84.86", "74.96.97.84.86.32", "74.96.97.84.86.32.25", + "74.96.97.84.86.32.25.89", "74.96.97.84.86.32.25.89.29", + "74.96.97.84.86.32.25.89.29.9", "74.96.97.84.86.32.25.89.29.9.21", + "74.96.97.84.86.32.25.89.29.9.21.12", + "74.96.97.84.86.32.25.89.29.9.21.12.88", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.38.46.23.61", "74.38.46.23.61.3", "74.38.46.23.61.3.1", + "74.38.46.23.61.3.1.76", "74.38.46.23.61.3.1.76.63", + "74.38.46.23.61.3.1.76.63.73", "74.38.46.23.61.3.1.76.63.73.65", + "74.38.46.23.61.3.1.76.63.73.65.20", + "74.38.46.23.61.3.1.76.63.73.65.20.8", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "99.39.54.16.85", "99.39.54.16.85.22", "99.39.54.16.85.22.40", + "99.39.54.16.85.22.40.4", "99.39.54.16.85.22.40.4.87", + "99.39.54.16.85.22.40.4.87.65", "99.39.54.16.85.22.40.4.87.65.5", + "99.39.54.16.85.22.40.4.87.65.5.31", + "99.39.54.16.85.22.40.4.87.65.5.31.49", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33.91.8.65.85", "33.91.8.65.85.55", "33.91.8.65.85.55.56", + "33.91.8.65.85.55.56.42", "33.91.8.65.85.55.56.42.80", + "33.91.8.65.85.55.56.42.80.58", "33.91.8.65.85.55.56.42.80.58.11", + "33.91.8.65.85.55.56.42.80.58.11.95", + "33.91.8.65.85.55.56.42.80.58.11.95.90", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.11.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + 74, 74, 74, 99, 99, 99, 99, 99, 99, 99, 96, 96, 96, 96, 96, 96, 91, 91, + 99, 99, 99, 99, 99, 99, 99, 97, 97, 97, 97, 97, 97, 93, 93, 93, 93, 93, + 93, 93, 93, 93, 93, 86, 91, 91, 91, 91, 91, 91, 91, 85, 85, 85, 91, 91, + 91, 91, 91, 91, 91, 90, 90, 89, 89, 89, 89, 56, 56, 75, 75, 89, 98, 98, + 98, 98, 98, 98, 98, 94, 94, 94, 94, 78, 78, 87, 87, 87, 87, 87, 87, 87, + 84, 84, 95, 95, 95, 95, 96, 98, 98, 98, 98, 98, 98, 98, 74, 74, 74, 87, + 87, 87, 87, 87, 87, 87, 41, 95, 95, 95, 95, 95, 95, 95, 88, 88, 88, 90, + 90, 96, 96, 96, 96, 96, 96, 96, 77, 85, 85, 85, 85, 85, 85, 85, 74, 74, + 70, 70, 80, 90, 90, 90, 90, 90, 90, 90, 72, 72, 93, 93, 93, 93, 93, 93, + 93, 81, 81, 81, 62, 91, 91, 91, 91, 91, 91, 91, 99, 99, 99, 99, 99, 99, + 99, 95, 95, 84, 84, 84, 84, 84, 84, 84, 84, 58, 58, 83, 83, 83, 83, 83, + 83, 83 +}) + +test:do_execsql_test( + "1.11.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 23, 2, 2, 2, 2, 2, 2, 2, 38, 38, 38, 38, 6, 6, 6, 6, 6, 6, + 6, 27, 8, 8, 8, 8, 8, 8, 8, 16, 16, 16, 16, 16, 16, 7, 7, 7, 7, 7, 7, 7, + 24, 24, 24, 12, 12, 12, 3, 3, 3, 3, 3, 3, 3, 15, 15, 15, 1, 1, 1, 1, 1, + 1, 1, 16, 16, 16, 16, 16, 4, 4, 4, 4, 4, 4, 4, 29, 29, 2, 2, 2, 2, 2, 2, + 2, 9, 9, 9, 9, 9, 9, 9, 13, 13, 1, 1, 1, 1, 1, 1, 1, 5, 5, 5, 5, 5, 8, 8, + 8, 8, 8, 8, 8, 15, 15, 15, 15, 8, 8, 8, 8, 8, 8, 8, 11, 34, 34, 55, 44, + 2, 2, 2, 2, 2, 2, 2, 7, 19, 19, 19, 19, 19, 19, 19, 26, 26, 26, 9, 9, 9, + 9, 9, 9, 9, 33, 33, 9, 9, 9, 9, 9, 9, 9, 12, 12, 12, 12, 14, 15, 15, 15, + 3, 3, 3, 3, 3, 3, 3, 30, 10, 10, 10, 10, 10, 10, 10, 21, 21, 21, 30, 27, + 27, 17, 7, 7, 7 +}) + +test:do_execsql_test( + "1.11.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.11.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.11.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.11.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.11.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.11.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.11.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.11.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.11.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.11.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.11.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.11.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.11.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.11.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.11.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.11.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.11.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 44, 78, 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, 109, 65, +-- 26, 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, 110, 57, 51, +-- 52, 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, 133, 92, 109, +-- 63, 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, 110, 65, 121, +-- 106, 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, 171, 120, 109, +-- 158, 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, 132, 101, 154, +-- 167, 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, 140, 111, 180, +-- 119, 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, 141, 193, 200, +-- 210, 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, 208, 211, 179, +-- 138, 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, 173, 195, 229, +-- 240, 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, 225, 243, 172, +-- 187, 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, 209, 212, 276, +-- 181, 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, 210, 229, 235, +-- 250, 223, 232, 229, 279, 224, 280, 216, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.11.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 223, +-- 223, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, +-- 146, 147, 136, 243, 261, 263, 210, 210, 210, 63, 84, 78, 120, 87, 162, +-- 124, 141, 138, 227, 228, 179, 231, 234, 280, 280, 280, 124, 57, 130, +-- 92, 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, +-- 206, 181, 221, 279, 279, 279, 80, 116, 117, 71, 80, 171, 173, 177, +-- 157, 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 229, 229, 131, +-- 133, 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, +-- 223, 235, 189, 274, 274, 274, 65, 26, 70, 51, 52, 128, 109, 121, 124, +-- 85, 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 212, 212, 124, +-- 96, 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, +-- 224, 216, 207, 207, 207, 103, 36, 88, 171, 158, 156, 198, 121, 210, +-- 132, 210, 239, 250, 232, 232, 232, 72, 55, 120, 59, 109, 150, 161, +-- 111, 101, 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229, +-- 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.11.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 102, 11, 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, 132, +-- 101, 163, 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, 132, +-- 189, 51, 52, 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, 71, +-- 87, 33, 172, 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, 147, +-- 84, 41, 114, 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, 187, +-- 207, 212, 124, 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, 120, 92, +-- 110, 179, 235, 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, 136, 80, +-- 113, 187, 109, 121, 124, 196, 156, 210, 239, 250, 72, 109, 188, 202, +-- 191, 105, 154, 79, 231, 147, 225, 103, 161, 169, 223, 96, 83, 249, +-- 212, 162, 227, 228, 167, 180, 193, 76, 78, 117, 177, 214, 145, 208, +-- 235, 150, 110, 211, 103, 158, 200, 168, 229, 92, 156, 243, 280, 279, +-- 116, 173, 269, 271, 131, 133, 223, 128, 173, 197, 210, 99, 150, 161, +-- 147, 218, 240, 109, 136, 146, 261, 263, 124, 130, 252, 171, 190, 213, +-- 274, 108, 195, 226, 119, 124, 171, 198, 105, 120, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.11.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 134, 109, 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, 240, 240, +-- 240, 119, 136, 123, 210, 146, 147, 44, 132, 152, 160, 105, 154, 92, +-- 156, 243, 109, 136, 146, 261, 263, 263, 263, 138, 63, 124, 179, 78, +-- 141, 84, 120, 234, 79, 231, 162, 227, 228, 280, 280, 280, 110, 179, +-- 28, 57, 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, +-- 279, 124, 130, 252, 252, 252, 71, 157, 161, 209, 229, 179, 235, 80, +-- 225, 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 171, 171, 132, +-- 189, 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, +-- 223, 190, 213, 274, 274, 274, 52, 85, 33, 172, 173, 107, 187, 207, +-- 212, 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 226, 226, +-- 207, 216, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, +-- 173, 197, 119, 124, 124, 124, 132, 88, 52, 232, 156, 210, 239, 250, +-- 83, 103, 158, 210, 171, 198, 198, 198, 172, 163, 59, 111, 170, 55, +-- 184, 229, 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, +-- 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.11.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 106, 109, 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 44, +-- 92, 109, 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, +-- 146, 147, 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, 87, 162, +-- 124, 141, 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, 130, 92, +-- 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, 206, +-- 181, 221, 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, 157, 161, +-- 179, 214, 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, 133, 113, +-- 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, 223, 235, +-- 189, 274, 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, 85, 107, +-- 150, 195, 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, 96, 110, +-- 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, 224, 216, +-- 207, 52, 83, 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, 210, 239, +-- 250, 232, 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, 200, 175, +-- 188, 170, 202, 163, 184, 163, 172, 276, 249, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.11.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.11.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 97, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", 56, "", "", "", "", "", "", "", "", "", 89, "", "", "", "", "", +-- "", "", "", "", "", "", 4, "", "", "", "", "", "", "", "", 53, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", 58, "", "", "", +-- "", 73, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 77, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 99, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 61, "", "", "", 81, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", "", "", "", "", 22, "", "", "", 12, "", "", "", "", +-- "", "", "", "", "", "", "", "", 43, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 33, "", "", "", "", "", "", "", "", 4, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 15, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 2, 2, 3, 4, 6, 7, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 2, 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 13, "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 61, "", "", "", 81, "", "", "", "", "", "", "", "", "", +-- "", "", 91, "", "", "", "", "", 22, "", "", "", 12, "", "", "", "", +-- "", "", "", "", "", "", "", "", 43, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 33, "", "", "", "", "", "", "", "", 4, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 15, "", "", "", "", "", "", "", "", "", "", +-- "", 16, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, +-- 39, 62, 91, 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, +-- 23, 16, 16, 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, +-- 32, 56, 3, 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, +-- 75, 36, 89, 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, +-- 80, 84, 72, 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, +-- 5, 73, 11, 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, +-- 8, 11, 49, 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, +-- 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, +-- 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, +-- 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, +-- 83 +-- }) + +-- test:do_execsql_test( +-- "1.11.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 41, 41, 41, 41, +-- 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, +-- 2, 2, 2, 2, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 23, 23, +-- 23, 23, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, +-- 93, 23, 13, 74, 74, 74, 74, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, +-- 34, 44, 74, 64, 14, 34, 65, 65, 65, 65, 65, 35, 85, 85, 55, 15, 25, +-- 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, 26, 26, 26, 26, 26, 96, 46, 6, +-- 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 97, 97, 97, +-- 97, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 38, +-- 38, 38, 38, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 99, 99, 99, +-- 99, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, +-- 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.11.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, +-- 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, +-- 20, 21, 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, +-- 29, 29, 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, +-- 35, 35, 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, +-- 42, 43, 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, +-- 55, 55, 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, +-- 62, 62, 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, +-- 73, 74, 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, +-- 81, 81, 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, +-- 89, 89, 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, +-- 96, 96, 96, 97, 97, 98 +-- }) + +-- test:do_execsql_test( +-- "1.11.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 1, 1, 1, 1, 1, +-- 1, 11, 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 2, +-- 2, 2, 2, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 3, 3, 3, 3, +-- 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, 73, +-- 73, 4, 4, 4, 4, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, 74, 74, +-- 74, 74, 84, 5, 5, 5, 5, 5, 15, 15, 15, 25, 35, 35, 55, 55, 65, 65, 65, +-- 75, 75, 75, 85, 85, 6, 6, 6, 6, 6, 16, 16, 16, 26, 26, 26, 36, 36, 36, +-- 36, 46, 46, 56, 56, 56, 66, 76, 7, 7, 7, 7, 7, 7, 7, 17, 27, 27, 37, +-- 37, 47, 47, 47, 47, 57, 67, 77, 77, 8, 8, 8, 8, 8, 8, 8, 28, 38, 38, +-- 58, 58, 58, 58, 68, 78, 9, 9, 9, 9, 9, 9, 9, 19, 29, 29, 29, 39, 39, +-- 39, 49, 59, 59, 59, 59, 69, 79, 89, 89 +-- }) + +-- test:do_execsql_test( +-- "1.11.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, +-- 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, +-- 81, 91, 91, 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, +-- 62, 52, 82, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, +-- 33, 93, 23, 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, +-- 34, 34, 44, 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, +-- 25, 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, +-- 6, 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, +-- 36, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, +-- 27, 17, 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, +-- 38, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, +-- 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.11.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.11.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.11.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.11.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.11.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.11.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND 2 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.11.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING) FROM t2 + ]], { + "0.74.41", "0.74.41.74", "0.74.41.74.23", "0.74.41.74.23.99", + "0.74.41.74.23.99.26", "74.41.74.23.99.26.33", "41.74.23.99.26.33.2", + "74.23.99.26.33.2.89", "23.99.26.33.2.89.81", "99.26.33.2.89.81.96", + "26.33.2.89.81.96.59", "33.2.89.81.96.59.38", "2.89.81.96.59.38.68", + "89.81.96.59.38.68.39", "81.96.59.38.68.39.62", "96.59.38.68.39.62.91", + "59.38.68.39.62.91.46", "38.68.39.62.91.46.6", "68.39.62.91.46.6.99", + "39.62.91.46.6.99.97", "62.91.46.6.99.97.27", "91.46.6.99.97.27.46", + "46.6.99.97.27.46.78", "6.99.97.27.46.78.54", "99.97.27.46.78.54.97", + "97.27.46.78.54.97.8", "27.46.78.54.97.8.67", "46.78.54.97.8.67.29", + "78.54.97.8.67.29.93", "54.97.8.67.29.93.84", "97.8.67.29.93.84.77", + "8.67.29.93.84.77.23", "67.29.93.84.77.23.16", "29.93.84.77.23.16.16", + "93.84.77.23.16.16.93", "84.77.23.16.16.93.65", "77.23.16.16.93.65.35", + "23.16.16.93.65.35.47", "16.16.93.65.35.47.7", "16.93.65.35.47.7.86", + "93.65.35.47.7.86.74", "65.35.47.7.86.74.61", "35.47.7.86.74.61.91", + "47.7.86.74.61.91.85", "7.86.74.61.91.85.24", "86.74.61.91.85.24.85", + "74.61.91.85.24.85.43", "61.91.85.24.85.43.59", "91.85.24.85.43.59.12", + "85.24.85.43.59.12.32", "24.85.43.59.12.32.56", "85.43.59.12.32.56.3", + "43.59.12.32.56.3.91", "59.12.32.56.3.91.22", "12.32.56.3.91.22.90", + "32.56.3.91.22.90.55", "56.3.91.22.90.55.15", "3.91.22.90.55.15.28", + "91.22.90.55.15.28.89", "22.90.55.15.28.89.25", "90.55.15.28.89.25.47", + "55.15.28.89.25.47.1", "15.28.89.25.47.1.56", "28.89.25.47.1.56.40", + "89.25.47.1.56.40.43", "25.47.1.56.40.43.56", "47.1.56.40.43.56.16", + "1.56.40.43.56.16.75", "56.40.43.56.16.75.36", "40.43.56.16.75.36.89", + "43.56.16.75.36.89.98", "56.16.75.36.89.98.76", "16.75.36.89.98.76.81", + "75.36.89.98.76.81.4", "36.89.98.76.81.4.94", "89.98.76.81.4.94.42", + "98.76.81.4.94.42.30", "76.81.4.94.42.30.78", "81.4.94.42.30.78.33", + "4.94.42.30.78.33.29", "94.42.30.78.33.29.53", "42.30.78.33.29.53.63", + "30.78.33.29.53.63.2", "78.33.29.53.63.2.87", "33.29.53.63.2.87.37", + "29.53.63.2.87.37.80", "53.63.2.87.37.80.84", "63.2.87.37.80.84.72", + "2.87.37.80.84.72.41", "87.37.80.84.72.41.9", "37.80.84.72.41.9.61", + "80.84.72.41.9.61.73", "84.72.41.9.61.73.95", "72.41.9.61.73.95.65", + "41.9.61.73.95.65.13", "9.61.73.95.65.13.58", "61.73.95.65.13.58.96", + "73.95.65.13.58.96.98", "95.65.13.58.96.98.1", "65.13.58.96.98.1.21", + "13.58.96.98.1.21.74", "58.96.98.1.21.74.65", "96.98.1.21.74.65.35", + "98.1.21.74.65.35.5", "1.21.74.65.35.5.73", "21.74.65.35.5.73.11", + "74.65.35.5.73.11.51", "65.35.5.73.11.51.87", "35.5.73.11.51.87.41", + "5.73.11.51.87.41.12", "73.11.51.87.41.12.8", "11.51.87.41.12.8.20", + "51.87.41.12.8.20.31", "87.41.12.8.20.31.31", "41.12.8.20.31.31.15", + "12.8.20.31.31.15.95", "8.20.31.31.15.95.22", "20.31.31.15.95.22.73", + "31.31.15.95.22.73.79", "31.15.95.22.73.79.88", "15.95.22.73.79.88.34", + "95.22.73.79.88.34.8", "22.73.79.88.34.8.11", "73.79.88.34.8.11.49", + "79.88.34.8.11.49.34", "88.34.8.11.49.34.90", "34.8.11.49.34.90.59", + "8.11.49.34.90.59.96", "11.49.34.90.59.96.60", "49.34.90.59.96.60.55", + "34.90.59.96.60.55.75", "90.59.96.60.55.75.77", "59.96.60.55.75.77.44", + "96.60.55.75.77.44.2", "60.55.75.77.44.2.7", "55.75.77.44.2.7.85", + "75.77.44.2.7.85.57", "77.44.2.7.85.57.74", "44.2.7.85.57.74.29", + "2.7.85.57.74.29.70", "7.85.57.74.29.70.59", "85.57.74.29.70.59.19", + "57.74.29.70.59.19.39", "74.29.70.59.19.39.26", "29.70.59.19.39.26.26", + "70.59.19.39.26.26.47", "59.19.39.26.26.47.80", "19.39.26.26.47.80.90", + "39.26.26.47.80.90.36", "26.26.47.80.90.36.58", "26.47.80.90.36.58.47", + "47.80.90.36.58.47.9", "80.90.36.58.47.9.72", "90.36.58.47.9.72.72", + "36.58.47.9.72.72.66", "58.47.9.72.72.66.33", "47.9.72.72.66.33.93", + "9.72.72.66.33.93.75", "72.72.66.33.93.75.64", "72.66.33.93.75.64.81", + "66.33.93.75.64.81.9", "33.93.75.64.81.9.23", "93.75.64.81.9.23.37", + "75.64.81.9.23.37.13", "64.81.9.23.37.13.12", "81.9.23.37.13.12.14", + "9.23.37.13.12.14.62", "23.37.13.12.14.62.91", "37.13.12.14.62.91.36", + "13.12.14.62.91.36.91", "12.14.62.91.36.91.33", "14.62.91.36.91.33.15", + "62.91.36.91.33.15.34", "91.36.91.33.15.34.36", "36.91.33.15.34.36.99", + "91.33.15.34.36.99.3", "33.15.34.36.99.3.95", "15.34.36.99.3.95.69", + "34.36.99.3.95.69.58", "36.99.3.95.69.58.52", "99.3.95.69.58.52.30", + "3.95.69.58.52.30.50", "95.69.58.52.30.50.84", "69.58.52.30.50.84.10", + "58.52.30.50.84.10.84", "52.30.50.84.10.84.33", "30.50.84.10.84.33.21", + "50.84.10.84.33.21.39", "84.10.84.33.21.39.44", "10.84.33.21.39.44.58", + "84.33.21.39.44.58.30", "33.21.39.44.58.30.38", "21.39.44.58.30.38.34", + "39.44.58.30.38.34.83", "44.58.30.38.34.83.27", "58.30.38.34.83.27.82", + "30.38.34.83.27.82.17", "38.34.83.27.82.17.7", "34.83.27.82.17.7", + "83.27.82.17.7" +}) + +test:do_execsql_test( + "1.11.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING) FROM t2 + ]], { + "0.90.40", "0.90.40.30", "0.90.40.30.80", "0.90.40.30.80.20", + "0.90.40.30.80.20.90", "90.40.30.80.20.90.60", "40.30.80.20.90.60.70", + "30.80.20.90.60.70.80", "80.20.90.60.70.80.90", "20.90.60.70.80.90.30", + "90.60.70.80.90.30.50", "60.70.80.90.30.50.10", "70.80.90.30.50.10.30", + "80.90.30.50.10.30", "90.30.50.10.30", "41.81.91", "41.81.91.61", + "41.81.91.61.91", "41.81.91.61.91.91", "41.81.91.61.91.91.1", + "81.91.61.91.91.1.81", "91.61.91.91.1.81.41", "61.91.91.1.81.41.61", + "91.91.1.81.41.61.1", "91.1.81.41.61.1.21", "1.81.41.61.1.21.11", + "81.41.61.1.21.11.51", "41.61.1.21.11.51.41", "61.1.21.11.51.41.31", + "1.21.11.51.41.31.31", "21.11.51.41.31.31.11", "11.51.41.31.31.11.81", + "51.41.31.31.11.81.91", "41.31.31.11.81.91.91", "31.31.11.81.91.91.21", + "31.11.81.91.91.21", "11.81.91.91.21", "2.62.12", "2.62.12.32", + "2.62.12.32.22", "2.62.12.32.22.42", "2.62.12.32.22.42.2", + "62.12.32.22.42.2.72", "12.32.22.42.2.72.12", "32.22.42.2.72.12.22", + "22.42.2.72.12.22.2", "42.2.72.12.22.2.72", "2.72.12.22.2.72.72", + "72.12.22.2.72.72.12", "12.22.2.72.72.12.62", "22.2.72.72.12.62.52", + "2.72.72.12.62.52.82", "72.72.12.62.52.82", "72.12.62.52.82", "23.33.93", + "23.33.93.23", "23.33.93.23.93", "23.33.93.23.93.43", + "23.33.93.23.93.43.3", "33.93.23.93.43.3.43", "93.23.93.43.3.43.33", + "23.93.43.3.43.33.53", "93.43.3.43.33.53.63", "43.3.43.33.53.63.73", + "3.43.33.53.63.73.13", "43.33.53.63.73.13.73", "33.53.63.73.13.73.73", + "53.63.73.13.73.73.33", "63.73.13.73.73.33.93", "73.13.73.73.33.93.23", + "13.73.73.33.93.23.13", "73.73.33.93.23.13.33", "73.33.93.23.13.33.3", + "33.93.23.13.33.3.33", "93.23.13.33.3.33.83", "23.13.33.3.33.83", + "13.33.3.33.83", "74.74.54", "74.74.54.84", "74.74.54.84.74", + "74.74.54.84.74.24", "74.74.54.84.74.24.4", "74.54.84.74.24.4.94", + "54.84.74.24.4.94.84", "84.74.24.4.94.84.74", "74.24.4.94.84.74.34", + "24.4.94.84.74.34.34", "4.94.84.74.34.34.44", "94.84.74.34.34.44.74", + "84.74.34.34.44.74.64", "74.34.34.44.74.64.14", "34.34.44.74.64.14.34", + "34.44.74.64.14.34.84", "44.74.64.14.34.84.84", "74.64.14.34.84.84.44", + "64.14.34.84.84.44.34", "14.34.84.84.44.34", "34.84.84.44.34", + "65.35.85", "65.35.85.85", "65.35.85.85.55", "65.35.85.85.55.15", + "65.35.85.85.55.15.25", "35.85.85.55.15.25.75", "85.85.55.15.25.75.95", + "85.55.15.25.75.95.65", "55.15.25.75.95.65.65", "15.25.75.95.65.65.35", + "25.75.95.65.65.35.5", "75.95.65.65.35.5.15", "95.65.65.35.5.15.95", + "65.65.35.5.15.95.55", "65.35.5.15.95.55.75", "35.5.15.95.55.75.85", + "5.15.95.55.75.85.75", "15.95.55.75.85.75.15", "95.55.75.85.75.15.95", + "55.75.85.75.15.95", "75.85.75.15.95", "26.96.46", "26.96.46.6", + "26.96.46.6.46", "26.96.46.6.46.16", "26.96.46.6.46.16.16", + "96.46.6.46.16.16.86", "46.6.46.16.16.86.56", "6.46.16.16.86.56.56", + "46.16.16.86.56.56.56", "16.16.86.56.56.56.16", "16.86.56.56.56.16.36", + "86.56.56.56.16.36.76", "56.56.56.16.36.76.96", "56.56.16.36.76.96.96", + "56.16.36.76.96.96.26", "16.36.76.96.96.26.26", "36.76.96.96.26.26.36", + "76.96.96.26.26.36.66", "96.96.26.26.36.66.36", "96.26.26.36.66.36.36", + "26.26.36.66.36.36", "26.36.66.36.36", "97.27.97", "97.27.97.67", + "97.27.97.67.77", "97.27.97.67.77.47", "97.27.97.67.77.47.7", + "27.97.67.77.47.7.47", "97.67.77.47.7.47.87", "67.77.47.7.47.87.37", + "77.47.7.47.87.37.87", "47.7.47.87.37.87.77", "7.47.87.37.87.77.7", + "47.87.37.87.77.7.57", "87.37.87.77.7.57.47", "37.87.77.7.57.47.47", + "87.77.7.57.47.47.37", "77.7.57.47.47.37.27", "7.57.47.47.37.27.17", + "57.47.47.37.27.17.7", "47.47.37.27.17.7", "47.37.27.17.7", "38.68.78", + "38.68.78.8", "38.68.78.8.28", "38.68.78.8.28.98", "38.68.78.8.28.98.78", + "68.78.8.28.98.78.58", "78.8.28.98.78.58.98", "8.28.98.78.58.98.8", + "28.98.78.58.98.8.88", "98.78.58.98.8.88.8", "78.58.98.8.88.8.58", + "58.98.8.88.8.58.58", "98.8.88.8.58.58.58", "8.88.8.58.58.58.38", + "88.8.58.58.58.38", "8.58.58.58.38", "99.89.59", "99.89.59.39", + "99.89.59.39.99", "99.89.59.39.99.29", "99.89.59.39.99.29.59", + "89.59.39.99.29.59.89", "59.39.99.29.59.89.89", "39.99.29.59.89.89.29", + "99.29.59.89.89.29.9", "29.59.89.89.29.9.79", "59.89.89.29.9.79.49", + "89.89.29.9.79.49.59", "89.29.9.79.49.59.29", "29.9.79.49.59.29.59", + "9.79.49.59.29.59.19", "79.49.59.29.59.19.39", "49.59.29.59.19.39.9", + "59.29.59.19.39.9.9", "29.59.19.39.9.9.99", "59.19.39.9.9.99.69", + "19.39.9.9.99.69.39", "39.9.9.99.69.39", "9.9.99.69.39" +}) + +test:do_execsql_test( + "1.11.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + "0.1.1", "0.1.1.2", "0.1.1.2.2", "0.1.1.2.2.2", "0.1.1.2.2.2.3", + "1.1.2.2.2.3.3", "1.2.2.2.3.3.4", "2.2.2.3.3.4.5", "2.2.3.3.4.5.6", + "2.3.3.4.5.6.7", "3.3.4.5.6.7.7", "3.4.5.6.7.7.7", "4.5.6.7.7.7.8", + "5.6.7.7.7.8.8", "6.7.7.7.8.8.8", "7.7.7.8.8.8.9", "7.7.8.8.8.9.9", + "7.8.8.8.9.9.9", "8.8.8.9.9.9.10", "8.8.9.9.9.10.11", "8.9.9.9.10.11.11", + "9.9.9.10.11.11.12", "9.9.10.11.11.12.12", "9.10.11.11.12.12.12", + "10.11.11.12.12.12.13", "11.11.12.12.12.13.13", "11.12.12.12.13.13.14", + "12.12.12.13.13.14.15", "12.12.13.13.14.15.15", "12.13.13.14.15.15.15", + "13.13.14.15.15.15.16", "13.14.15.15.15.16.16", "14.15.15.15.16.16.16", + "15.15.15.16.16.16.17", "15.15.16.16.16.17.19", "15.16.16.16.17.19.20", + "16.16.16.17.19.20.21", "16.16.17.19.20.21.21", "16.17.19.20.21.21.22", + "17.19.20.21.21.22.22", "19.20.21.21.22.22.23", "20.21.21.22.22.23.23", + "21.21.22.22.23.23.23", "21.22.22.23.23.23.24", "22.22.23.23.23.24.25", + "22.23.23.23.24.25.26", "23.23.23.24.25.26.26", "23.23.24.25.26.26.26", + "23.24.25.26.26.26.27", "24.25.26.26.26.27.27", "25.26.26.26.27.27.28", + "26.26.26.27.27.28.29", "26.26.27.27.28.29.29", "26.27.27.28.29.29.29", + "27.27.28.29.29.29.30", "27.28.29.29.29.30.30", "28.29.29.29.30.30.30", + "29.29.29.30.30.30.31", "29.29.30.30.30.31.31", "29.30.30.30.31.31.32", + "30.30.30.31.31.32.33", "30.30.31.31.32.33.33", "30.31.31.32.33.33.33", + "31.31.32.33.33.33.33", "31.32.33.33.33.33.33", "32.33.33.33.33.33.34", + "33.33.33.33.33.34.34", "33.33.33.33.34.34.34", "33.33.33.34.34.34.34", + "33.33.34.34.34.34.35", "33.34.34.34.34.35.35", "34.34.34.34.35.35.36", + "34.34.34.35.35.36.36", "34.34.35.35.36.36.36", "34.35.35.36.36.36.36", + "35.35.36.36.36.36.37", "35.36.36.36.36.37.37", "36.36.36.36.37.37.38", + "36.36.36.37.37.38.38", "36.36.37.37.38.38.39", "36.37.37.38.38.39.39", + "37.37.38.38.39.39.39", "37.38.38.39.39.39.40", "38.38.39.39.39.40.41", + "38.39.39.39.40.41.41", "39.39.39.40.41.41.41", "39.39.40.41.41.41.42", + "39.40.41.41.41.42.43", "40.41.41.41.42.43.43", "41.41.41.42.43.43.44", + "41.41.42.43.43.44.44", "41.42.43.43.44.44.46", "42.43.43.44.44.46.46", + "43.43.44.44.46.46.47", "43.44.44.46.46.47.47", "44.44.46.46.47.47.47", + "44.46.46.47.47.47.47", "46.46.47.47.47.47.49", "46.47.47.47.47.49.50", + "47.47.47.47.49.50.51", "47.47.47.49.50.51.52", "47.47.49.50.51.52.53", + "47.49.50.51.52.53.54", "49.50.51.52.53.54.55", "50.51.52.53.54.55.55", + "51.52.53.54.55.55.56", "52.53.54.55.55.56.56", "53.54.55.55.56.56.56", + "54.55.55.56.56.56.57", "55.55.56.56.56.57.58", "55.56.56.56.57.58.58", + "56.56.56.57.58.58.58", "56.56.57.58.58.58.58", "56.57.58.58.58.58.59", + "57.58.58.58.58.59.59", "58.58.58.58.59.59.59", "58.58.58.59.59.59.59", + "58.58.59.59.59.59.60", "58.59.59.59.59.60.61", "59.59.59.59.60.61.61", + "59.59.59.60.61.61.62", "59.59.60.61.61.62.62", "59.60.61.61.62.62.63", + "60.61.61.62.62.63.64", "61.61.62.62.63.64.65", "61.62.62.63.64.65.65", + "62.62.63.64.65.65.65", "62.63.64.65.65.65.66", "63.64.65.65.65.66.67", + "64.65.65.65.66.67.68", "65.65.65.66.67.68.69", "65.65.66.67.68.69.70", + "65.66.67.68.69.70.72", "66.67.68.69.70.72.72", "67.68.69.70.72.72.72", + "68.69.70.72.72.72.73", "69.70.72.72.72.73.73", "70.72.72.72.73.73.73", + "72.72.72.73.73.73.74", "72.72.73.73.73.74.74", "72.73.73.73.74.74.74", + "73.73.73.74.74.74.74", "73.73.74.74.74.74.74", "73.74.74.74.74.74.75", + "74.74.74.74.74.75.75", "74.74.74.74.75.75.75", "74.74.74.75.75.75.76", + "74.74.75.75.75.76.77", "74.75.75.75.76.77.77", "75.75.75.76.77.77.78", + "75.75.76.77.77.78.78", "75.76.77.77.78.78.79", "76.77.77.78.78.79.80", + "77.77.78.78.79.80.80", "77.78.78.79.80.80.81", "78.78.79.80.80.81.81", + "78.79.80.80.81.81.81", "79.80.80.81.81.81.82", "80.80.81.81.81.82.83", + "80.81.81.81.82.83.84", "81.81.81.82.83.84.84", "81.81.82.83.84.84.84", + "81.82.83.84.84.84.84", "82.83.84.84.84.84.85", "83.84.84.84.84.85.85", + "84.84.84.84.85.85.85", "84.84.84.85.85.85.86", "84.84.85.85.85.86.87", + "84.85.85.85.86.87.87", "85.85.85.86.87.87.88", "85.85.86.87.87.88.89", + "85.86.87.87.88.89.89", "86.87.87.88.89.89.89", "87.87.88.89.89.89.90", + "87.88.89.89.89.90.90", "88.89.89.89.90.90.90", "89.89.89.90.90.90.91", + "89.89.90.90.90.91.91", "89.90.90.90.91.91.91", "90.90.90.91.91.91.91", + "90.90.91.91.91.91.91", "90.91.91.91.91.91.93", "91.91.91.91.91.93.93", + "91.91.91.91.93.93.93", "91.91.91.93.93.93.94", "91.91.93.93.93.94.95", + "91.93.93.93.94.95.95", "93.93.93.94.95.95.95", "93.93.94.95.95.95.96", + "93.94.95.95.95.96.96", "94.95.95.95.96.96.96", "95.95.95.96.96.96.97", + "95.95.96.96.96.97.97", "95.96.96.96.97.97.98", "96.96.96.97.97.98.98", + "96.96.97.97.98.98.99", "96.97.97.98.98.99.99", "97.97.98.98.99.99.99", + "97.98.98.99.99.99", "98.98.99.99.99" +}) + +test:do_execsql_test( + "1.11.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + "0.10.20", "0.10.20.30", "0.10.20.30.30", "0.10.20.30.30.30", + "0.10.20.30.30.30.40", "10.20.30.30.30.40.50", "20.30.30.30.40.50.60", + "30.30.30.40.50.60.70", "30.30.40.50.60.70.80", "30.40.50.60.70.80.80", + "40.50.60.70.80.80.90", "50.60.70.80.80.90.90", "60.70.80.80.90.90.90", + "70.80.80.90.90.90", "80.80.90.90.90", "1.1.11", "1.1.11.11", + "1.1.11.11.21", "1.1.11.11.21.21", "1.1.11.11.21.21.31", + "1.11.11.21.21.31.31", "11.11.21.21.31.31.41", "11.21.21.31.31.41.41", + "21.21.31.31.41.41.41", "21.31.31.41.41.41.51", "31.31.41.41.41.51.61", + "31.41.41.41.51.61.61", "41.41.41.51.61.61.81", "41.41.51.61.61.81.81", + "41.51.61.61.81.81.81", "51.61.61.81.81.81.91", "61.61.81.81.81.91.91", + "61.81.81.81.91.91.91", "81.81.81.91.91.91.91", "81.81.91.91.91.91.91", + "81.91.91.91.91.91", "91.91.91.91.91", "2.2.2", "2.2.2.12", + "2.2.2.12.12", "2.2.2.12.12.12", "2.2.2.12.12.12.22", + "2.2.12.12.12.22.22", "2.12.12.12.22.22.32", "12.12.12.22.22.32.42", + "12.12.22.22.32.42.52", "12.22.22.32.42.52.62", "22.22.32.42.52.62.62", + "22.32.42.52.62.62.72", "32.42.52.62.62.72.72", "42.52.62.62.72.72.72", + "52.62.62.72.72.72.82", "62.62.72.72.72.82", "62.72.72.72.82", "3.3.13", + "3.3.13.13", "3.3.13.13.23", "3.3.13.13.23.23", "3.3.13.13.23.23.23", + "3.13.13.23.23.23.33", "13.13.23.23.23.33.33", "13.23.23.23.33.33.33", + "23.23.23.33.33.33.33", "23.23.33.33.33.33.33", "23.33.33.33.33.33.43", + "33.33.33.33.33.43.43", "33.33.33.33.43.43.53", "33.33.33.43.43.53.63", + "33.33.43.43.53.63.73", "33.43.43.53.63.73.73", "43.43.53.63.73.73.73", + "43.53.63.73.73.73.83", "53.63.73.73.73.83.93", "63.73.73.73.83.93.93", + "73.73.73.83.93.93.93", "73.73.83.93.93.93", "73.83.93.93.93", "4.14.24", + "4.14.24.34", "4.14.24.34.34", "4.14.24.34.34.34", "4.14.24.34.34.34.34", + "14.24.34.34.34.34.44", "24.34.34.34.34.44.44", "34.34.34.34.44.44.54", + "34.34.34.44.44.54.64", "34.34.44.44.54.64.74", "34.44.44.54.64.74.74", + "44.44.54.64.74.74.74", "44.54.64.74.74.74.74", "54.64.74.74.74.74.74", + "64.74.74.74.74.74.84", "74.74.74.74.74.84.84", "74.74.74.74.84.84.84", + "74.74.74.84.84.84.84", "74.74.84.84.84.84.94", "74.84.84.84.84.94", + "84.84.84.84.94", "5.15.15", "5.15.15.15", "5.15.15.15.25", + "5.15.15.15.25.35", "5.15.15.15.25.35.35", "15.15.15.25.35.35.55", + "15.15.25.35.35.55.55", "15.25.35.35.55.55.65", "25.35.35.55.55.65.65", + "35.35.55.55.65.65.65", "35.55.55.65.65.65.75", "55.55.65.65.65.75.75", + "55.65.65.65.75.75.75", "65.65.65.75.75.75.85", "65.65.75.75.75.85.85", + "65.75.75.75.85.85.85", "75.75.75.85.85.85.95", "75.75.85.85.85.95.95", + "75.85.85.85.95.95.95", "85.85.85.95.95.95", "85.85.95.95.95", "6.16.16", + "6.16.16.16", "6.16.16.16.26", "6.16.16.16.26.26", "6.16.16.16.26.26.26", + "16.16.16.26.26.26.36", "16.16.26.26.26.36.36", "16.26.26.26.36.36.36", + "26.26.26.36.36.36.36", "26.26.36.36.36.36.46", "26.36.36.36.36.46.46", + "36.36.36.36.46.46.56", "36.36.36.46.46.56.56", "36.36.46.46.56.56.56", + "36.46.46.56.56.56.66", "46.46.56.56.56.66.76", "46.56.56.56.66.76.86", + "56.56.56.66.76.86.96", "56.56.66.76.86.96.96", "56.66.76.86.96.96.96", + "66.76.86.96.96.96", "76.86.96.96.96", "7.7.7", "7.7.7.17", + "7.7.7.17.27", "7.7.7.17.27.27", "7.7.7.17.27.27.37", + "7.7.17.27.27.37.37", "7.17.27.27.37.37.47", "17.27.27.37.37.47.47", + "27.27.37.37.47.47.47", "27.37.37.47.47.47.47", "37.37.47.47.47.47.57", + "37.47.47.47.47.57.67", "47.47.47.47.57.67.77", "47.47.47.57.67.77.77", + "47.47.57.67.77.77.87", "47.57.67.77.77.87.87", "57.67.77.77.87.87.97", + "67.77.77.87.87.97.97", "77.77.87.87.97.97", "77.87.87.97.97", "8.8.8", + "8.8.8.28", "8.8.8.28.38", "8.8.8.28.38.38", "8.8.8.28.38.38.58", + "8.8.28.38.38.58.58", "8.28.38.38.58.58.58", "28.38.38.58.58.58.58", + "38.38.58.58.58.58.68", "38.58.58.58.58.68.78", "58.58.58.58.68.78.78", + "58.58.58.68.78.78.88", "58.58.68.78.78.88.98", "58.68.78.78.88.98.98", + "68.78.78.88.98.98", "78.78.88.98.98", "9.9.9", "9.9.9.19", + "9.9.9.19.29", "9.9.9.19.29.29", "9.9.9.19.29.29.29", + "9.9.19.29.29.29.39", "9.19.29.29.29.39.39", "19.29.29.29.39.39.39", + "29.29.29.39.39.39.49", "29.29.39.39.39.49.59", "29.39.39.39.49.59.59", + "39.39.39.49.59.59.59", "39.39.49.59.59.59.59", "39.49.59.59.59.59.69", + "49.59.59.59.59.69.79", "59.59.59.59.69.79.89", "59.59.59.69.79.89.89", + "59.59.69.79.89.89.89", "59.69.79.89.89.89.99", "69.79.89.89.89.99.99", + "79.89.89.89.99.99.99", "89.89.89.99.99.99", "89.89.99.99.99" +}) + +test:do_execsql_test( + "1.11.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING ) FROM t2 + ]], { + "0.90.40", "0.90.40.30", "0.90.40.30.80", "0.90.40.30.80.20", + "0.90.40.30.80.20.90", "90.40.30.80.20.90.60", "40.30.80.20.90.60.70", + "30.80.20.90.60.70.80", "80.20.90.60.70.80.90", "20.90.60.70.80.90.30", + "90.60.70.80.90.30.50", "60.70.80.90.30.50.10", "70.80.90.30.50.10.30", + "80.90.30.50.10.30.41", "90.30.50.10.30.41.81", "30.50.10.30.41.81.91", + "50.10.30.41.81.91.61", "10.30.41.81.91.61.91", "30.41.81.91.61.91.91", + "41.81.91.61.91.91.1", "81.91.61.91.91.1.81", "91.61.91.91.1.81.41", + "61.91.91.1.81.41.61", "91.91.1.81.41.61.1", "91.1.81.41.61.1.21", + "1.81.41.61.1.21.11", "81.41.61.1.21.11.51", "41.61.1.21.11.51.41", + "61.1.21.11.51.41.31", "1.21.11.51.41.31.31", "21.11.51.41.31.31.11", + "11.51.41.31.31.11.81", "51.41.31.31.11.81.91", "41.31.31.11.81.91.91", + "31.31.11.81.91.91.21", "31.11.81.91.91.21.2", "11.81.91.91.21.2.62", + "81.91.91.21.2.62.12", "91.91.21.2.62.12.32", "91.21.2.62.12.32.22", + "21.2.62.12.32.22.42", "2.62.12.32.22.42.2", "62.12.32.22.42.2.72", + "12.32.22.42.2.72.12", "32.22.42.2.72.12.22", "22.42.2.72.12.22.2", + "42.2.72.12.22.2.72", "2.72.12.22.2.72.72", "72.12.22.2.72.72.12", + "12.22.2.72.72.12.62", "22.2.72.72.12.62.52", "2.72.72.12.62.52.82", + "72.72.12.62.52.82.23", "72.12.62.52.82.23.33", "12.62.52.82.23.33.93", + "62.52.82.23.33.93.23", "52.82.23.33.93.23.93", "82.23.33.93.23.93.43", + "23.33.93.23.93.43.3", "33.93.23.93.43.3.43", "93.23.93.43.3.43.33", + "23.93.43.3.43.33.53", "93.43.3.43.33.53.63", "43.3.43.33.53.63.73", + "3.43.33.53.63.73.13", "43.33.53.63.73.13.73", "33.53.63.73.13.73.73", + "53.63.73.13.73.73.33", "63.73.13.73.73.33.93", "73.13.73.73.33.93.23", + "13.73.73.33.93.23.13", "73.73.33.93.23.13.33", "73.33.93.23.13.33.3", + "33.93.23.13.33.3.33", "93.23.13.33.3.33.83", "23.13.33.3.33.83.74", + "13.33.3.33.83.74.74", "33.3.33.83.74.74.54", "3.33.83.74.74.54.84", + "33.83.74.74.54.84.74", "83.74.74.54.84.74.24", "74.74.54.84.74.24.4", + "74.54.84.74.24.4.94", "54.84.74.24.4.94.84", "84.74.24.4.94.84.74", + "74.24.4.94.84.74.34", "24.4.94.84.74.34.34", "4.94.84.74.34.34.44", + "94.84.74.34.34.44.74", "84.74.34.34.44.74.64", "74.34.34.44.74.64.14", + "34.34.44.74.64.14.34", "34.44.74.64.14.34.84", "44.74.64.14.34.84.84", + "74.64.14.34.84.84.44", "64.14.34.84.84.44.34", "14.34.84.84.44.34.65", + "34.84.84.44.34.65.35", "84.84.44.34.65.35.85", "84.44.34.65.35.85.85", + "44.34.65.35.85.85.55", "34.65.35.85.85.55.15", "65.35.85.85.55.15.25", + "35.85.85.55.15.25.75", "85.85.55.15.25.75.95", "85.55.15.25.75.95.65", + "55.15.25.75.95.65.65", "15.25.75.95.65.65.35", "25.75.95.65.65.35.5", + "75.95.65.65.35.5.15", "95.65.65.35.5.15.95", "65.65.35.5.15.95.55", + "65.35.5.15.95.55.75", "35.5.15.95.55.75.85", "5.15.95.55.75.85.75", + "15.95.55.75.85.75.15", "95.55.75.85.75.15.95", "55.75.85.75.15.95.26", + "75.85.75.15.95.26.96", "85.75.15.95.26.96.46", "75.15.95.26.96.46.6", + "15.95.26.96.46.6.46", "95.26.96.46.6.46.16", "26.96.46.6.46.16.16", + "96.46.6.46.16.16.86", "46.6.46.16.16.86.56", "6.46.16.16.86.56.56", + "46.16.16.86.56.56.56", "16.16.86.56.56.56.16", "16.86.56.56.56.16.36", + "86.56.56.56.16.36.76", "56.56.56.16.36.76.96", "56.56.16.36.76.96.96", + "56.16.36.76.96.96.26", "16.36.76.96.96.26.26", "36.76.96.96.26.26.36", + "76.96.96.26.26.36.66", "96.96.26.26.36.66.36", "96.26.26.36.66.36.36", + "26.26.36.66.36.36.97", "26.36.66.36.36.97.27", "36.66.36.36.97.27.97", + "66.36.36.97.27.97.67", "36.36.97.27.97.67.77", "36.97.27.97.67.77.47", + "97.27.97.67.77.47.7", "27.97.67.77.47.7.47", "97.67.77.47.7.47.87", + "67.77.47.7.47.87.37", "77.47.7.47.87.37.87", "47.7.47.87.37.87.77", + "7.47.87.37.87.77.7", "47.87.37.87.77.7.57", "87.37.87.77.7.57.47", + "37.87.77.7.57.47.47", "87.77.7.57.47.47.37", "77.7.57.47.47.37.27", + "7.57.47.47.37.27.17", "57.47.47.37.27.17.7", "47.47.37.27.17.7.38", + "47.37.27.17.7.38.68", "37.27.17.7.38.68.78", "27.17.7.38.68.78.8", + "17.7.38.68.78.8.28", "7.38.68.78.8.28.98", "38.68.78.8.28.98.78", + "68.78.8.28.98.78.58", "78.8.28.98.78.58.98", "8.28.98.78.58.98.8", + "28.98.78.58.98.8.88", "98.78.58.98.8.88.8", "78.58.98.8.88.8.58", + "58.98.8.88.8.58.58", "98.8.88.8.58.58.58", "8.88.8.58.58.58.38", + "88.8.58.58.58.38.99", "8.58.58.58.38.99.89", "58.58.58.38.99.89.59", + "58.58.38.99.89.59.39", "58.38.99.89.59.39.99", "38.99.89.59.39.99.29", + "99.89.59.39.99.29.59", "89.59.39.99.29.59.89", "59.39.99.29.59.89.89", + "39.99.29.59.89.89.29", "99.29.59.89.89.29.9", "29.59.89.89.29.9.79", + "59.89.89.29.9.79.49", "89.89.29.9.79.49.59", "89.29.9.79.49.59.29", + "29.9.79.49.59.29.59", "9.79.49.59.29.59.19", "79.49.59.29.59.19.39", + "49.59.29.59.19.39.9", "59.29.59.19.39.9.9", "29.59.19.39.9.9.99", + "59.19.39.9.9.99.69", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39" +}) + +test:do_execsql_test( + "1.11.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.11.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING) FROM t2 + ]], { + "74", "74.74", "74.74", "74.74.99", "74.74.99", "74.74.99.33", + "74.99.33", "74.99.33.89", "99.33.89", "99.33.89.96", "33.89.96", + "33.89.96.38", "89.96.38", "89.96.38.39", "96.38.39", "96.38.39.91", + "38.39.91", "38.39.91.6", "39.91.6", "39.91.6.97", "91.6.97", + "91.6.97.46", "6.97.46", "6.97.46.54", "97.46.54", "97.46.54.8", + "46.54.8", "46.54.8.29", "54.8.29", "54.8.29.84", "8.29.84", + "8.29.84.23", "29.84.23", "29.84.23.16", "84.23.16", "84.23.16.65", + "23.16.65", "23.16.65.47", "16.65.47", "16.65.47.86", "65.47.86", + "65.47.86.61", "47.86.61", "47.86.61.85", "86.61.85", "86.61.85.85", + "61.85.85", "61.85.85.59", "85.85.59", "85.85.59.32", "85.59.32", + "85.59.32.3", "59.32.3", "59.32.3.22", "32.3.22", "32.3.22.55", + "3.22.55", "3.22.55.28", "22.55.28", "22.55.28.25", "55.28.25", + "55.28.25.1", "28.25.1", "28.25.1.40", "25.1.40", "25.1.40.56", + "1.40.56", "1.40.56.75", "40.56.75", "40.56.75.89", "56.75.89", + "56.75.89.76", "75.89.76", "75.89.76.4", "89.76.4", "89.76.4.42", + "76.4.42", "76.4.42.78", "4.42.78", "4.42.78.29", "42.78.29", + "42.78.29.63", "78.29.63", "78.29.63.87", "29.63.87", "29.63.87.80", + "63.87.80", "63.87.80.72", "87.80.72", "87.80.72.9", "80.72.9", + "80.72.9.73", "72.9.73", "72.9.73.65", "9.73.65", "9.73.65.58", + "73.65.58", "73.65.58.98", "65.58.98", "65.58.98.21", "58.98.21", + "58.98.21.65", "98.21.65", "98.21.65.5", "21.65.5", "21.65.5.11", + "65.5.11", "65.5.11.87", "5.11.87", "5.11.87.12", "11.87.12", + "11.87.12.20", "87.12.20", "87.12.20.31", "12.20.31", "12.20.31.95", + "20.31.95", "20.31.95.73", "31.95.73", "31.95.73.88", "95.73.88", + "95.73.88.8", "73.88.8", "73.88.8.49", "88.8.49", "88.8.49.90", + "8.49.90", "8.49.90.96", "49.90.96", "49.90.96.55", "90.96.55", + "90.96.55.77", "96.55.77", "96.55.77.2", "55.77.2", "55.77.2.85", + "77.2.85", "77.2.85.74", "2.85.74", "2.85.74.70", "85.74.70", + "85.74.70.19", "74.70.19", "74.70.19.26", "70.19.26", "70.19.26.47", + "19.26.47", "19.26.47.90", "26.47.90", "26.47.90.58", "47.90.58", + "47.90.58.9", "90.58.9", "90.58.9.72", "58.9.72", "58.9.72.33", + "9.72.33", "9.72.33.75", "72.33.75", "72.33.75.81", "33.75.81", + "33.75.81.23", "75.81.23", "75.81.23.13", "81.23.13", "81.23.13.14", + "23.13.14", "23.13.14.91", "13.14.91", "13.14.91.91", "14.91.91", + "14.91.91.15", "91.91.15", "91.91.15.36", "91.15.36", "91.15.36.3", + "15.36.3", "15.36.3.69", "36.3.69", "36.3.69.52", "3.69.52", + "3.69.52.50", "69.52.50", "69.52.50.10", "52.50.10", "52.50.10.33", + "50.10.33", "50.10.33.39", "10.33.39", "10.33.39.58", "33.39.58", + "33.39.58.38", "39.58.38", "39.58.38.83", "58.38.83", "58.38.83.82", + "38.83.82", "38.83.82.7", "83.82.7", "83.82.7" +}) + +test:do_execsql_test( + "1.11.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.11.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.11.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND 2 FOLLOWING) FROM t2 + ]], { + "89.6.29", "89.6.29.47", "89.6.29.47.59", "89.6.29.47.59.28", + "89.6.29.47.59.28.75", "6.29.47.59.28.75.78", "29.47.59.28.75.78.72", + "47.59.28.75.78.72.98", "59.28.75.78.72.98.87", "28.75.78.72.98.87.73", + "75.78.72.98.87.73.96", "78.72.98.87.73.96.74", "72.98.87.73.96.74.90", + "98.87.73.96.74.90.75", "87.73.96.74.90.75.91", "73.96.74.90.75.91.69", + "96.74.90.75.91.69.39", "74.90.75.91.69.39.7", "90.75.91.69.39.7", + "75.91.69.39.7", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "74.96.97", "74.96.97.84", "74.96.97.84.86", + "74.96.97.84.86.32", "74.96.97.84.86.32.25", "96.97.84.86.32.25.89", + "97.84.86.32.25.89.29", "84.86.32.25.89.29.9", "86.32.25.89.29.9.21", + "32.25.89.29.9.21.12", "25.89.29.9.21.12.88", "89.29.9.21.12.88.55", + "29.9.21.12.88.55.70", "9.21.12.88.55.70.58", "21.12.88.55.70.58.81", + "12.88.55.70.58.81.91", "88.55.70.58.81.91.52", "55.70.58.81.91.52.58", + "70.58.81.91.52.58", "58.81.91.52.58", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "74.38.46", + "74.38.46.23", "74.38.46.23.61", "74.38.46.23.61.3", + "74.38.46.23.61.3.1", "38.46.23.61.3.1.76", "46.23.61.3.1.76.63", + "23.61.3.1.76.63.73", "61.3.1.76.63.73.65", "3.1.76.63.73.65.20", + "1.76.63.73.65.20.8", "76.63.73.65.20.8.77", "63.73.65.20.8.77.19", + "73.65.20.8.77.19.9", "65.20.8.77.19.9.23", "20.8.77.19.9.23.15", + "8.77.19.9.23.15.50", "77.19.9.23.15.50.38", "19.9.23.15.50.38", + "9.23.15.50.38", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "99.39.54", "99.39.54.16", "99.39.54.16.85", + "99.39.54.16.85.22", "99.39.54.16.85.22.40", "39.54.16.85.22.40.4", + "54.16.85.22.40.4.87", "16.85.22.40.4.87.65", "85.22.40.4.87.65.5", + "22.40.4.87.65.5.31", "40.4.87.65.5.31.49", "4.87.65.5.31.49.2", + "87.65.5.31.49.2.26", "65.5.31.49.2.26.72", "5.31.49.2.26.72.13", + "31.49.2.26.72.13.36", "49.2.26.72.13.36.10", "2.26.72.13.36.10.83", + "26.72.13.36.10.83", "72.13.36.10.83", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "33.91.8", "33.91.8.65", + "33.91.8.65.85", "33.91.8.65.85.55", "33.91.8.65.85.55.56", + "91.8.65.85.55.56.42", "8.65.85.55.56.42.80", "65.85.55.56.42.80.58", + "85.55.56.42.80.58.11", "55.56.42.80.58.11.95", "56.42.80.58.11.95.90", + "42.80.58.11.95.90.85", "80.58.11.95.90.85.47", "58.11.95.90.85.47.33", + "11.95.90.85.47.33.14", "95.90.85.47.33.14.3", "90.85.47.33.14.3.33", + "85.47.33.14.3.33.82", "47.33.14.3.33.82", "33.14.3.33.82", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.12.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + 74, 99, 99, 99, 99, 99, 89, 96, 96, 96, 96, 96, 68, 91, 91, 91, 99, 99, + 99, 99, 99, 97, 97, 97, 97, 97, 97, 93, 93, 93, 93, 84, 93, 93, 93, 93, + 93, 86, 86, 86, 91, 91, 91, 91, 91, 85, 85, 85, 59, 59, 91, 91, 91, 91, + 91, 90, 90, 89, 89, 89, 89, 56, 56, 56, 56, 75, 75, 89, 98, 98, 98, 98, + 98, 94, 94, 94, 94, 78, 78, 78, 63, 87, 87, 87, 87, 87, 84, 84, 84, 73, + 95, 95, 95, 95, 96, 98, 98, 98, 98, 98, 74, 74, 74, 73, 73, 87, 87, 87, + 87, 87, 41, 31, 31, 95, 95, 95, 95, 95, 88, 88, 88, 88, 49, 90, 90, 96, + 96, 96, 96, 96, 77, 77, 77, 85, 85, 85, 85, 85, 74, 74, 70, 70, 59, 47, + 80, 90, 90, 90, 90, 90, 72, 72, 72, 72, 93, 93, 93, 93, 93, 81, 81, 81, + 37, 37, 62, 91, 91, 91, 91, 91, 91, 91, 99, 99, 99, 99, 99, 95, 95, 69, + 84, 84, 84, 84, 84, 84, 84, 58, 58, 58, 58, 83, 83, 83, 83, 83, 82, 82, + 17, 7 +}) + +test:do_execsql_test( + "1.12.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + 0, 23, 23, 23, 2, 2, 2, 2, 2, 38, 38, 38, 38, 38, 39, 6, 6, 6, 6, 6, 27, + 27, 27, 8, 8, 8, 8, 8, 29, 23, 16, 16, 16, 16, 16, 16, 7, 7, 7, 7, 7, 61, + 24, 24, 24, 24, 12, 12, 12, 3, 3, 3, 3, 3, 15, 15, 15, 15, 15, 1, 1, 1, + 1, 1, 16, 16, 16, 16, 16, 36, 36, 4, 4, 4, 4, 4, 30, 29, 29, 29, 2, 2, 2, + 2, 2, 37, 37, 9, 9, 9, 9, 9, 13, 13, 13, 13, 1, 1, 1, 1, 1, 5, 5, 5, 5, + 5, 11, 11, 8, 8, 8, 8, 8, 15, 15, 15, 15, 22, 22, 8, 8, 8, 8, 8, 11, 34, + 34, 55, 55, 55, 44, 2, 2, 2, 2, 2, 7, 29, 29, 19, 19, 19, 19, 19, 26, 26, + 26, 36, 36, 9, 9, 9, 9, 9, 33, 33, 33, 33, 9, 9, 9, 9, 9, 12, 12, 12, 12, + 14, 33, 15, 15, 15, 15, 3, 3, 3, 3, 3, 30, 30, 30, 10, 10, 10, 10, 10, + 21, 21, 21, 30, 30, 30, 27, 27, 17, 7, 7, 7, 7, 7 +}) + +test:do_execsql_test( + "1.12.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.12.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.12.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.12.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.12.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.12.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.12.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.12.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.12.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.12.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.12.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.12.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.12.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.12.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.12.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.12.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.12.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, 109, 65, 26, +-- 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, 110, 57, 51, 52, +-- 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, 133, 92, 109, 63, +-- 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, 110, 65, 121, 106, +-- 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, 171, 120, 109, 158, +-- 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, 132, 101, 154, 167, +-- 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, 140, 111, 180, 119, +-- 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, 141, 193, 200, 210, +-- 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, 208, 211, 179, 138, +-- 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, 173, 195, 229, 240, +-- 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, 225, 243, 172, 187, +-- 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, 209, 212, 276, 181, +-- 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, 210, 229, 235, 250, +-- 223, 232, 229, 279, 224, 280, 216, 207, 207, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.12.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 223, 223, 223, +-- 223, 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, 146, 147, +-- 136, 243, 261, 263, 210, 210, 210, 210, 210, 78, 120, 87, 162, 124, +-- 141, 138, 227, 228, 179, 231, 234, 280, 280, 280, 280, 280, 130, 92, +-- 57, 110, 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, 206, +-- 181, 221, 279, 279, 279, 279, 279, 117, 71, 80, 171, 173, 177, 157, +-- 161, 179, 214, 225, 182, 209, 269, 271, 235, 229, 229, 229, 229, 229, +-- 113, 74, 87, 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, 223, +-- 235, 189, 274, 274, 274, 274, 274, 70, 51, 52, 128, 109, 121, 124, 85, +-- 107, 150, 195, 226, 172, 173, 187, 223, 207, 212, 212, 212, 212, 212, +-- 110, 87, 48, 110, 173, 124, 197, 211, 144, 196, 195, 200, 202, 224, +-- 216, 207, 207, 207, 207, 207, 88, 171, 158, 156, 198, 121, 210, 132, +-- 210, 239, 250, 232, 232, 232, 232, 232, 120, 59, 109, 150, 161, 111, +-- 101, 200, 175, 188, 170, 202, 163, 184, 163, 172, 276, 249, 229, 229, +-- 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.12.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, 132, 101, 163, +-- 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, 132, 189, 51, 52, +-- 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, 71, 87, 33, 172, +-- 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, 147, 84, 41, 114, +-- 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, 187, 207, 212, 124, +-- 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, 120, 92, 110, 179, 235, +-- 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, 136, 80, 113, 187, 109, +-- 121, 124, 196, 156, 210, 239, 250, 72, 109, 188, 202, 191, 105, 154, +-- 79, 231, 147, 225, 103, 161, 169, 223, 96, 83, 249, 212, 162, 227, +-- 228, 167, 180, 193, 76, 78, 117, 177, 214, 145, 208, 235, 150, 110, +-- 211, 103, 158, 200, 168, 229, 92, 156, 243, 280, 279, 116, 173, 269, +-- 271, 131, 133, 223, 128, 173, 197, 210, 99, 150, 161, 147, 218, 240, +-- 109, 136, 146, 261, 263, 124, 130, 252, 171, 190, 213, 274, 108, 195, +-- 226, 119, 124, 171, 198, 105, 120, 276, 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.12.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, 240, 240, 240, 240, +-- 240, 123, 210, 146, 147, 44, 132, 152, 160, 105, 154, 92, 156, 243, +-- 109, 136, 146, 261, 263, 263, 263, 263, 263, 124, 179, 78, 141, 84, +-- 120, 234, 79, 231, 162, 227, 228, 280, 280, 280, 280, 280, 28, 57, +-- 187, 41, 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, 279, +-- 124, 130, 252, 252, 252, 252, 252, 161, 209, 229, 179, 235, 80, 225, +-- 76, 78, 117, 177, 214, 116, 173, 269, 271, 171, 171, 171, 171, 171, +-- 87, 74, 140, 113, 187, 103, 161, 169, 145, 208, 235, 131, 133, 223, +-- 190, 213, 274, 274, 274, 274, 274, 33, 172, 173, 107, 187, 207, 212, +-- 65, 70, 109, 121, 124, 223, 150, 128, 108, 195, 226, 226, 226, 226, +-- 226, 50, 224, 124, 202, 87, 110, 195, 200, 196, 96, 110, 211, 173, +-- 197, 119, 124, 124, 124, 124, 124, 52, 232, 156, 210, 239, 250, 83, +-- 103, 158, 210, 171, 198, 198, 198, 198, 198, 59, 111, 170, 55, 184, +-- 229, 175, 72, 109, 188, 202, 249, 200, 99, 150, 161, 105, 120, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.12.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 44, 92, 109, +-- 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, 146, 147, +-- 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, 87, 162, 124, 141, +-- 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, 130, 92, 57, 110, +-- 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, 206, 181, 221, +-- 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, 157, 161, 179, 214, +-- 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, 133, 113, 74, 87, +-- 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, 223, 235, 189, 274, +-- 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, 85, 107, 150, 195, +-- 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, 96, 110, 87, 48, 110, +-- 173, 124, 197, 211, 144, 196, 195, 200, 202, 224, 216, 207, 52, 83, +-- 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, 210, 239, 250, 232, +-- 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, 200, 175, 188, 170, +-- 202, 163, 184, 163, 172, 276, 249, 229, 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.12.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.12.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 81, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", 90, "", "", "", "", "", "", "", "", "", 56, "", "", "", "", "", +-- "", "", "", "", "", "", 78, "", "", "", "", "", "", "", "", 37, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 21, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 85, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", "", "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", "", "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, +-- 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, +-- 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, +-- 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, +-- 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, +-- 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, +-- 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, +-- 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, +-- 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, +-- 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, +-- 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, 83, 27, +-- 82, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.12.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.12.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 11, +-- 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, +-- 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, 62, 62, +-- 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, 73, 74, +-- 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, +-- 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, 89, 89, +-- 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, 96, 96, +-- 96, 97, 97, 98, 98, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.12.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 80, 90, 90, 90, 1, 1, 11, +-- 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 91, 91, +-- 91, 91, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 72, 72, 72, +-- 82, 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, +-- 73, 73, 83, 93, 93, 93, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, +-- 74, 74, 74, 74, 84, 84, 84, 84, 94, 5, 15, 15, 15, 25, 35, 35, 55, 55, +-- 65, 65, 65, 75, 75, 75, 85, 85, 85, 95, 95, 95, 6, 16, 16, 16, 26, 26, +-- 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, 86, 96, 96, 96, 7, 7, +-- 7, 17, 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, 87, 87, 97, 97, +-- 8, 8, 8, 28, 38, 38, 58, 58, 58, 58, 68, 78, 78, 88, 98, 98, 9, 9, 9, +-- 19, 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, 59, 69, 79, 89, 89, 89, +-- 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.12.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.12.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.12.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.12.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.12.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.12.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.12.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.12.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING) FROM t2 + ]], { + "0.74.41.74.23", "74.41.74.23.99", "41.74.23.99.26", "74.23.99.26.33", + "23.99.26.33.2", "99.26.33.2.89", "26.33.2.89.81", "33.2.89.81.96", + "2.89.81.96.59", "89.81.96.59.38", "81.96.59.38.68", "96.59.38.68.39", + "59.38.68.39.62", "38.68.39.62.91", "68.39.62.91.46", "39.62.91.46.6", + "62.91.46.6.99", "91.46.6.99.97", "46.6.99.97.27", "6.99.97.27.46", + "99.97.27.46.78", "97.27.46.78.54", "27.46.78.54.97", "46.78.54.97.8", + "78.54.97.8.67", "54.97.8.67.29", "97.8.67.29.93", "8.67.29.93.84", + "67.29.93.84.77", "29.93.84.77.23", "93.84.77.23.16", "84.77.23.16.16", + "77.23.16.16.93", "23.16.16.93.65", "16.16.93.65.35", "16.93.65.35.47", + "93.65.35.47.7", "65.35.47.7.86", "35.47.7.86.74", "47.7.86.74.61", + "7.86.74.61.91", "86.74.61.91.85", "74.61.91.85.24", "61.91.85.24.85", + "91.85.24.85.43", "85.24.85.43.59", "24.85.43.59.12", "85.43.59.12.32", + "43.59.12.32.56", "59.12.32.56.3", "12.32.56.3.91", "32.56.3.91.22", + "56.3.91.22.90", "3.91.22.90.55", "91.22.90.55.15", "22.90.55.15.28", + "90.55.15.28.89", "55.15.28.89.25", "15.28.89.25.47", "28.89.25.47.1", + "89.25.47.1.56", "25.47.1.56.40", "47.1.56.40.43", "1.56.40.43.56", + "56.40.43.56.16", "40.43.56.16.75", "43.56.16.75.36", "56.16.75.36.89", + "16.75.36.89.98", "75.36.89.98.76", "36.89.98.76.81", "89.98.76.81.4", + "98.76.81.4.94", "76.81.4.94.42", "81.4.94.42.30", "4.94.42.30.78", + "94.42.30.78.33", "42.30.78.33.29", "30.78.33.29.53", "78.33.29.53.63", + "33.29.53.63.2", "29.53.63.2.87", "53.63.2.87.37", "63.2.87.37.80", + "2.87.37.80.84", "87.37.80.84.72", "37.80.84.72.41", "80.84.72.41.9", + "84.72.41.9.61", "72.41.9.61.73", "41.9.61.73.95", "9.61.73.95.65", + "61.73.95.65.13", "73.95.65.13.58", "95.65.13.58.96", "65.13.58.96.98", + "13.58.96.98.1", "58.96.98.1.21", "96.98.1.21.74", "98.1.21.74.65", + "1.21.74.65.35", "21.74.65.35.5", "74.65.35.5.73", "65.35.5.73.11", + "35.5.73.11.51", "5.73.11.51.87", "73.11.51.87.41", "11.51.87.41.12", + "51.87.41.12.8", "87.41.12.8.20", "41.12.8.20.31", "12.8.20.31.31", + "8.20.31.31.15", "20.31.31.15.95", "31.31.15.95.22", "31.15.95.22.73", + "15.95.22.73.79", "95.22.73.79.88", "22.73.79.88.34", "73.79.88.34.8", + "79.88.34.8.11", "88.34.8.11.49", "34.8.11.49.34", "8.11.49.34.90", + "11.49.34.90.59", "49.34.90.59.96", "34.90.59.96.60", "90.59.96.60.55", + "59.96.60.55.75", "96.60.55.75.77", "60.55.75.77.44", "55.75.77.44.2", + "75.77.44.2.7", "77.44.2.7.85", "44.2.7.85.57", "2.7.85.57.74", + "7.85.57.74.29", "85.57.74.29.70", "57.74.29.70.59", "74.29.70.59.19", + "29.70.59.19.39", "70.59.19.39.26", "59.19.39.26.26", "19.39.26.26.47", + "39.26.26.47.80", "26.26.47.80.90", "26.47.80.90.36", "47.80.90.36.58", + "80.90.36.58.47", "90.36.58.47.9", "36.58.47.9.72", "58.47.9.72.72", + "47.9.72.72.66", "9.72.72.66.33", "72.72.66.33.93", "72.66.33.93.75", + "66.33.93.75.64", "33.93.75.64.81", "93.75.64.81.9", "75.64.81.9.23", + "64.81.9.23.37", "81.9.23.37.13", "9.23.37.13.12", "23.37.13.12.14", + "37.13.12.14.62", "13.12.14.62.91", "12.14.62.91.36", "14.62.91.36.91", + "62.91.36.91.33", "91.36.91.33.15", "36.91.33.15.34", "91.33.15.34.36", + "33.15.34.36.99", "15.34.36.99.3", "34.36.99.3.95", "36.99.3.95.69", + "99.3.95.69.58", "3.95.69.58.52", "95.69.58.52.30", "69.58.52.30.50", + "58.52.30.50.84", "52.30.50.84.10", "30.50.84.10.84", "50.84.10.84.33", + "84.10.84.33.21", "10.84.33.21.39", "84.33.21.39.44", "33.21.39.44.58", + "21.39.44.58.30", "39.44.58.30.38", "44.58.30.38.34", "58.30.38.34.83", + "30.38.34.83.27", "38.34.83.27.82", "34.83.27.82.17", "83.27.82.17.7", + "27.82.17.7", "82.17.7", "17.7", "7" +}) + +test:do_execsql_test( + "1.12.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING) FROM t2 + ]], { + "0.90.40.30.80", "90.40.30.80.20", "40.30.80.20.90", "30.80.20.90.60", + "80.20.90.60.70", "20.90.60.70.80", "90.60.70.80.90", "60.70.80.90.30", + "70.80.90.30.50", "80.90.30.50.10", "90.30.50.10.30", "30.50.10.30", + "50.10.30", "10.30", "30", "41.81.91.61.91", "81.91.61.91.91", + "91.61.91.91.1", "61.91.91.1.81", "91.91.1.81.41", "91.1.81.41.61", + "1.81.41.61.1", "81.41.61.1.21", "41.61.1.21.11", "61.1.21.11.51", + "1.21.11.51.41", "21.11.51.41.31", "11.51.41.31.31", "51.41.31.31.11", + "41.31.31.11.81", "31.31.11.81.91", "31.11.81.91.91", "11.81.91.91.21", + "81.91.91.21", "91.91.21", "91.21", "21", "2.62.12.32.22", + "62.12.32.22.42", "12.32.22.42.2", "32.22.42.2.72", "22.42.2.72.12", + "42.2.72.12.22", "2.72.12.22.2", "72.12.22.2.72", "12.22.2.72.72", + "22.2.72.72.12", "2.72.72.12.62", "72.72.12.62.52", "72.12.62.52.82", + "12.62.52.82", "62.52.82", "52.82", "82", "23.33.93.23.93", + "33.93.23.93.43", "93.23.93.43.3", "23.93.43.3.43", "93.43.3.43.33", + "43.3.43.33.53", "3.43.33.53.63", "43.33.53.63.73", "33.53.63.73.13", + "53.63.73.13.73", "63.73.13.73.73", "73.13.73.73.33", "13.73.73.33.93", + "73.73.33.93.23", "73.33.93.23.13", "33.93.23.13.33", "93.23.13.33.3", + "23.13.33.3.33", "13.33.3.33.83", "33.3.33.83", "3.33.83", "33.83", "83", + "74.74.54.84.74", "74.54.84.74.24", "54.84.74.24.4", "84.74.24.4.94", + "74.24.4.94.84", "24.4.94.84.74", "4.94.84.74.34", "94.84.74.34.34", + "84.74.34.34.44", "74.34.34.44.74", "34.34.44.74.64", "34.44.74.64.14", + "44.74.64.14.34", "74.64.14.34.84", "64.14.34.84.84", "14.34.84.84.44", + "34.84.84.44.34", "84.84.44.34", "84.44.34", "44.34", "34", + "65.35.85.85.55", "35.85.85.55.15", "85.85.55.15.25", "85.55.15.25.75", + "55.15.25.75.95", "15.25.75.95.65", "25.75.95.65.65", "75.95.65.65.35", + "95.65.65.35.5", "65.65.35.5.15", "65.35.5.15.95", "35.5.15.95.55", + "5.15.95.55.75", "15.95.55.75.85", "95.55.75.85.75", "55.75.85.75.15", + "75.85.75.15.95", "85.75.15.95", "75.15.95", "15.95", "95", + "26.96.46.6.46", "96.46.6.46.16", "46.6.46.16.16", "6.46.16.16.86", + "46.16.16.86.56", "16.16.86.56.56", "16.86.56.56.56", "86.56.56.56.16", + "56.56.56.16.36", "56.56.16.36.76", "56.16.36.76.96", "16.36.76.96.96", + "36.76.96.96.26", "76.96.96.26.26", "96.96.26.26.36", "96.26.26.36.66", + "26.26.36.66.36", "26.36.66.36.36", "36.66.36.36", "66.36.36", "36.36", + "36", "97.27.97.67.77", "27.97.67.77.47", "97.67.77.47.7", + "67.77.47.7.47", "77.47.7.47.87", "47.7.47.87.37", "7.47.87.37.87", + "47.87.37.87.77", "87.37.87.77.7", "37.87.77.7.57", "87.77.7.57.47", + "77.7.57.47.47", "7.57.47.47.37", "57.47.47.37.27", "47.47.37.27.17", + "47.37.27.17.7", "37.27.17.7", "27.17.7", "17.7", "7", "38.68.78.8.28", + "68.78.8.28.98", "78.8.28.98.78", "8.28.98.78.58", "28.98.78.58.98", + "98.78.58.98.8", "78.58.98.8.88", "58.98.8.88.8", "98.8.88.8.58", + "8.88.8.58.58", "88.8.58.58.58", "8.58.58.58.38", "58.58.58.38", + "58.58.38", "58.38", "38", "99.89.59.39.99", "89.59.39.99.29", + "59.39.99.29.59", "39.99.29.59.89", "99.29.59.89.89", "29.59.89.89.29", + "59.89.89.29.9", "89.89.29.9.79", "89.29.9.79.49", "29.9.79.49.59", + "9.79.49.59.29", "79.49.59.29.59", "49.59.29.59.19", "59.29.59.19.39", + "29.59.19.39.9", "59.19.39.9.9", "19.39.9.9.99", "39.9.9.99.69", + "9.9.99.69.39", "9.99.69.39", "99.69.39", "69.39", "39" +}) + +test:do_execsql_test( + "1.12.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + "0.1.1.2.2", "1.1.2.2.2", "1.2.2.2.3", "2.2.2.3.3", "2.2.3.3.4", + "2.3.3.4.5", "3.3.4.5.6", "3.4.5.6.7", "4.5.6.7.7", "5.6.7.7.7", + "6.7.7.7.8", "7.7.7.8.8", "7.7.8.8.8", "7.8.8.8.9", "8.8.8.9.9", + "8.8.9.9.9", "8.9.9.9.10", "9.9.9.10.11", "9.9.10.11.11", + "9.10.11.11.12", "10.11.11.12.12", "11.11.12.12.12", "11.12.12.12.13", + "12.12.12.13.13", "12.12.13.13.14", "12.13.13.14.15", "13.13.14.15.15", + "13.14.15.15.15", "14.15.15.15.16", "15.15.15.16.16", "15.15.16.16.16", + "15.16.16.16.17", "16.16.16.17.19", "16.16.17.19.20", "16.17.19.20.21", + "17.19.20.21.21", "19.20.21.21.22", "20.21.21.22.22", "21.21.22.22.23", + "21.22.22.23.23", "22.22.23.23.23", "22.23.23.23.24", "23.23.23.24.25", + "23.23.24.25.26", "23.24.25.26.26", "24.25.26.26.26", "25.26.26.26.27", + "26.26.26.27.27", "26.26.27.27.28", "26.27.27.28.29", "27.27.28.29.29", + "27.28.29.29.29", "28.29.29.29.30", "29.29.29.30.30", "29.29.30.30.30", + "29.30.30.30.31", "30.30.30.31.31", "30.30.31.31.32", "30.31.31.32.33", + "31.31.32.33.33", "31.32.33.33.33", "32.33.33.33.33", "33.33.33.33.33", + "33.33.33.33.34", "33.33.33.34.34", "33.33.34.34.34", "33.34.34.34.34", + "34.34.34.34.35", "34.34.34.35.35", "34.34.35.35.36", "34.35.35.36.36", + "35.35.36.36.36", "35.36.36.36.36", "36.36.36.36.37", "36.36.36.37.37", + "36.36.37.37.38", "36.37.37.38.38", "37.37.38.38.39", "37.38.38.39.39", + "38.38.39.39.39", "38.39.39.39.40", "39.39.39.40.41", "39.39.40.41.41", + "39.40.41.41.41", "40.41.41.41.42", "41.41.41.42.43", "41.41.42.43.43", + "41.42.43.43.44", "42.43.43.44.44", "43.43.44.44.46", "43.44.44.46.46", + "44.44.46.46.47", "44.46.46.47.47", "46.46.47.47.47", "46.47.47.47.47", + "47.47.47.47.49", "47.47.47.49.50", "47.47.49.50.51", "47.49.50.51.52", + "49.50.51.52.53", "50.51.52.53.54", "51.52.53.54.55", "52.53.54.55.55", + "53.54.55.55.56", "54.55.55.56.56", "55.55.56.56.56", "55.56.56.56.57", + "56.56.56.57.58", "56.56.57.58.58", "56.57.58.58.58", "57.58.58.58.58", + "58.58.58.58.59", "58.58.58.59.59", "58.58.59.59.59", "58.59.59.59.59", + "59.59.59.59.60", "59.59.59.60.61", "59.59.60.61.61", "59.60.61.61.62", + "60.61.61.62.62", "61.61.62.62.63", "61.62.62.63.64", "62.62.63.64.65", + "62.63.64.65.65", "63.64.65.65.65", "64.65.65.65.66", "65.65.65.66.67", + "65.65.66.67.68", "65.66.67.68.69", "66.67.68.69.70", "67.68.69.70.72", + "68.69.70.72.72", "69.70.72.72.72", "70.72.72.72.73", "72.72.72.73.73", + "72.72.73.73.73", "72.73.73.73.74", "73.73.73.74.74", "73.73.74.74.74", + "73.74.74.74.74", "74.74.74.74.74", "74.74.74.74.75", "74.74.74.75.75", + "74.74.75.75.75", "74.75.75.75.76", "75.75.75.76.77", "75.75.76.77.77", + "75.76.77.77.78", "76.77.77.78.78", "77.77.78.78.79", "77.78.78.79.80", + "78.78.79.80.80", "78.79.80.80.81", "79.80.80.81.81", "80.80.81.81.81", + "80.81.81.81.82", "81.81.81.82.83", "81.81.82.83.84", "81.82.83.84.84", + "82.83.84.84.84", "83.84.84.84.84", "84.84.84.84.85", "84.84.84.85.85", + "84.84.85.85.85", "84.85.85.85.86", "85.85.85.86.87", "85.85.86.87.87", + "85.86.87.87.88", "86.87.87.88.89", "87.87.88.89.89", "87.88.89.89.89", + "88.89.89.89.90", "89.89.89.90.90", "89.89.90.90.90", "89.90.90.90.91", + "90.90.90.91.91", "90.90.91.91.91", "90.91.91.91.91", "91.91.91.91.91", + "91.91.91.91.93", "91.91.91.93.93", "91.91.93.93.93", "91.93.93.93.94", + "93.93.93.94.95", "93.93.94.95.95", "93.94.95.95.95", "94.95.95.95.96", + "95.95.95.96.96", "95.95.96.96.96", "95.96.96.96.97", "96.96.96.97.97", + "96.96.97.97.98", "96.97.97.98.98", "97.97.98.98.99", "97.98.98.99.99", + "98.98.99.99.99", "98.99.99.99", "99.99.99", "99.99", "99" +}) + +test:do_execsql_test( + "1.12.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + "0.10.20.30.30", "10.20.30.30.30", "20.30.30.30.40", "30.30.30.40.50", + "30.30.40.50.60", "30.40.50.60.70", "40.50.60.70.80", "50.60.70.80.80", + "60.70.80.80.90", "70.80.80.90.90", "80.80.90.90.90", "80.90.90.90", + "90.90.90", "90.90", "90", "1.1.11.11.21", "1.11.11.21.21", + "11.11.21.21.31", "11.21.21.31.31", "21.21.31.31.41", "21.31.31.41.41", + "31.31.41.41.41", "31.41.41.41.51", "41.41.41.51.61", "41.41.51.61.61", + "41.51.61.61.81", "51.61.61.81.81", "61.61.81.81.81", "61.81.81.81.91", + "81.81.81.91.91", "81.81.91.91.91", "81.91.91.91.91", "91.91.91.91.91", + "91.91.91.91", "91.91.91", "91.91", "91", "2.2.2.12.12", "2.2.12.12.12", + "2.12.12.12.22", "12.12.12.22.22", "12.12.22.22.32", "12.22.22.32.42", + "22.22.32.42.52", "22.32.42.52.62", "32.42.52.62.62", "42.52.62.62.72", + "52.62.62.72.72", "62.62.72.72.72", "62.72.72.72.82", "72.72.72.82", + "72.72.82", "72.82", "82", "3.3.13.13.23", "3.13.13.23.23", + "13.13.23.23.23", "13.23.23.23.33", "23.23.23.33.33", "23.23.33.33.33", + "23.33.33.33.33", "33.33.33.33.33", "33.33.33.33.43", "33.33.33.43.43", + "33.33.43.43.53", "33.43.43.53.63", "43.43.53.63.73", "43.53.63.73.73", + "53.63.73.73.73", "63.73.73.73.83", "73.73.73.83.93", "73.73.83.93.93", + "73.83.93.93.93", "83.93.93.93", "93.93.93", "93.93", "93", + "4.14.24.34.34", "14.24.34.34.34", "24.34.34.34.34", "34.34.34.34.44", + "34.34.34.44.44", "34.34.44.44.54", "34.44.44.54.64", "44.44.54.64.74", + "44.54.64.74.74", "54.64.74.74.74", "64.74.74.74.74", "74.74.74.74.74", + "74.74.74.74.84", "74.74.74.84.84", "74.74.84.84.84", "74.84.84.84.84", + "84.84.84.84.94", "84.84.84.94", "84.84.94", "84.94", "94", + "5.15.15.15.25", "15.15.15.25.35", "15.15.25.35.35", "15.25.35.35.55", + "25.35.35.55.55", "35.35.55.55.65", "35.55.55.65.65", "55.55.65.65.65", + "55.65.65.65.75", "65.65.65.75.75", "65.65.75.75.75", "65.75.75.75.85", + "75.75.75.85.85", "75.75.85.85.85", "75.85.85.85.95", "85.85.85.95.95", + "85.85.95.95.95", "85.95.95.95", "95.95.95", "95.95", "95", + "6.16.16.16.26", "16.16.16.26.26", "16.16.26.26.26", "16.26.26.26.36", + "26.26.26.36.36", "26.26.36.36.36", "26.36.36.36.36", "36.36.36.36.46", + "36.36.36.46.46", "36.36.46.46.56", "36.46.46.56.56", "46.46.56.56.56", + "46.56.56.56.66", "56.56.56.66.76", "56.56.66.76.86", "56.66.76.86.96", + "66.76.86.96.96", "76.86.96.96.96", "86.96.96.96", "96.96.96", "96.96", + "96", "7.7.7.17.27", "7.7.17.27.27", "7.17.27.27.37", "17.27.27.37.37", + "27.27.37.37.47", "27.37.37.47.47", "37.37.47.47.47", "37.47.47.47.47", + "47.47.47.47.57", "47.47.47.57.67", "47.47.57.67.77", "47.57.67.77.77", + "57.67.77.77.87", "67.77.77.87.87", "77.77.87.87.97", "77.87.87.97.97", + "87.87.97.97", "87.97.97", "97.97", "97", "8.8.8.28.38", "8.8.28.38.38", + "8.28.38.38.58", "28.38.38.58.58", "38.38.58.58.58", "38.58.58.58.58", + "58.58.58.58.68", "58.58.58.68.78", "58.58.68.78.78", "58.68.78.78.88", + "68.78.78.88.98", "78.78.88.98.98", "78.88.98.98", "88.98.98", "98.98", + "98", "9.9.9.19.29", "9.9.19.29.29", "9.19.29.29.29", "19.29.29.29.39", + "29.29.29.39.39", "29.29.39.39.39", "29.39.39.39.49", "39.39.39.49.59", + "39.39.49.59.59", "39.49.59.59.59", "49.59.59.59.59", "59.59.59.59.69", + "59.59.59.69.79", "59.59.69.79.89", "59.69.79.89.89", "69.79.89.89.89", + "79.89.89.89.99", "89.89.89.99.99", "89.89.99.99.99", "89.99.99.99", + "99.99.99", "99.99", "99" +}) + +test:do_execsql_test( + "1.12.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING ) FROM t2 + ]], { + "0.90.40.30.80", "90.40.30.80.20", "40.30.80.20.90", "30.80.20.90.60", + "80.20.90.60.70", "20.90.60.70.80", "90.60.70.80.90", "60.70.80.90.30", + "70.80.90.30.50", "80.90.30.50.10", "90.30.50.10.30", "30.50.10.30.41", + "50.10.30.41.81", "10.30.41.81.91", "30.41.81.91.61", "41.81.91.61.91", + "81.91.61.91.91", "91.61.91.91.1", "61.91.91.1.81", "91.91.1.81.41", + "91.1.81.41.61", "1.81.41.61.1", "81.41.61.1.21", "41.61.1.21.11", + "61.1.21.11.51", "1.21.11.51.41", "21.11.51.41.31", "11.51.41.31.31", + "51.41.31.31.11", "41.31.31.11.81", "31.31.11.81.91", "31.11.81.91.91", + "11.81.91.91.21", "81.91.91.21.2", "91.91.21.2.62", "91.21.2.62.12", + "21.2.62.12.32", "2.62.12.32.22", "62.12.32.22.42", "12.32.22.42.2", + "32.22.42.2.72", "22.42.2.72.12", "42.2.72.12.22", "2.72.12.22.2", + "72.12.22.2.72", "12.22.2.72.72", "22.2.72.72.12", "2.72.72.12.62", + "72.72.12.62.52", "72.12.62.52.82", "12.62.52.82.23", "62.52.82.23.33", + "52.82.23.33.93", "82.23.33.93.23", "23.33.93.23.93", "33.93.23.93.43", + "93.23.93.43.3", "23.93.43.3.43", "93.43.3.43.33", "43.3.43.33.53", + "3.43.33.53.63", "43.33.53.63.73", "33.53.63.73.13", "53.63.73.13.73", + "63.73.13.73.73", "73.13.73.73.33", "13.73.73.33.93", "73.73.33.93.23", + "73.33.93.23.13", "33.93.23.13.33", "93.23.13.33.3", "23.13.33.3.33", + "13.33.3.33.83", "33.3.33.83.74", "3.33.83.74.74", "33.83.74.74.54", + "83.74.74.54.84", "74.74.54.84.74", "74.54.84.74.24", "54.84.74.24.4", + "84.74.24.4.94", "74.24.4.94.84", "24.4.94.84.74", "4.94.84.74.34", + "94.84.74.34.34", "84.74.34.34.44", "74.34.34.44.74", "34.34.44.74.64", + "34.44.74.64.14", "44.74.64.14.34", "74.64.14.34.84", "64.14.34.84.84", + "14.34.84.84.44", "34.84.84.44.34", "84.84.44.34.65", "84.44.34.65.35", + "44.34.65.35.85", "34.65.35.85.85", "65.35.85.85.55", "35.85.85.55.15", + "85.85.55.15.25", "85.55.15.25.75", "55.15.25.75.95", "15.25.75.95.65", + "25.75.95.65.65", "75.95.65.65.35", "95.65.65.35.5", "65.65.35.5.15", + "65.35.5.15.95", "35.5.15.95.55", "5.15.95.55.75", "15.95.55.75.85", + "95.55.75.85.75", "55.75.85.75.15", "75.85.75.15.95", "85.75.15.95.26", + "75.15.95.26.96", "15.95.26.96.46", "95.26.96.46.6", "26.96.46.6.46", + "96.46.6.46.16", "46.6.46.16.16", "6.46.16.16.86", "46.16.16.86.56", + "16.16.86.56.56", "16.86.56.56.56", "86.56.56.56.16", "56.56.56.16.36", + "56.56.16.36.76", "56.16.36.76.96", "16.36.76.96.96", "36.76.96.96.26", + "76.96.96.26.26", "96.96.26.26.36", "96.26.26.36.66", "26.26.36.66.36", + "26.36.66.36.36", "36.66.36.36.97", "66.36.36.97.27", "36.36.97.27.97", + "36.97.27.97.67", "97.27.97.67.77", "27.97.67.77.47", "97.67.77.47.7", + "67.77.47.7.47", "77.47.7.47.87", "47.7.47.87.37", "7.47.87.37.87", + "47.87.37.87.77", "87.37.87.77.7", "37.87.77.7.57", "87.77.7.57.47", + "77.7.57.47.47", "7.57.47.47.37", "57.47.47.37.27", "47.47.37.27.17", + "47.37.27.17.7", "37.27.17.7.38", "27.17.7.38.68", "17.7.38.68.78", + "7.38.68.78.8", "38.68.78.8.28", "68.78.8.28.98", "78.8.28.98.78", + "8.28.98.78.58", "28.98.78.58.98", "98.78.58.98.8", "78.58.98.8.88", + "58.98.8.88.8", "98.8.88.8.58", "8.88.8.58.58", "88.8.58.58.58", + "8.58.58.58.38", "58.58.58.38.99", "58.58.38.99.89", "58.38.99.89.59", + "38.99.89.59.39", "99.89.59.39.99", "89.59.39.99.29", "59.39.99.29.59", + "39.99.29.59.89", "99.29.59.89.89", "29.59.89.89.29", "59.89.89.29.9", + "89.89.29.9.79", "89.29.9.79.49", "29.9.79.49.59", "9.79.49.59.29", + "79.49.59.29.59", "49.59.29.59.19", "59.29.59.19.39", "29.59.19.39.9", + "59.19.39.9.9", "19.39.9.9.99", "39.9.9.99.69", "9.9.99.69.39", + "9.99.69.39", "99.69.39", "69.39", "39" +}) + +test:do_execsql_test( + "1.12.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.12.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING) FROM t2 + ]], { + "74.74", "74.74.99", "74.99", "74.99.33", "99.33", "99.33.89", "33.89", + "33.89.96", "89.96", "89.96.38", "96.38", "96.38.39", "38.39", + "38.39.91", "39.91", "39.91.6", "91.6", "91.6.97", "6.97", "6.97.46", + "97.46", "97.46.54", "46.54", "46.54.8", "54.8", "54.8.29", "8.29", + "8.29.84", "29.84", "29.84.23", "84.23", "84.23.16", "23.16", "23.16.65", + "16.65", "16.65.47", "65.47", "65.47.86", "47.86", "47.86.61", "86.61", + "86.61.85", "61.85", "61.85.85", "85.85", "85.85.59", "85.59", + "85.59.32", "59.32", "59.32.3", "32.3", "32.3.22", "3.22", "3.22.55", + "22.55", "22.55.28", "55.28", "55.28.25", "28.25", "28.25.1", "25.1", + "25.1.40", "1.40", "1.40.56", "40.56", "40.56.75", "56.75", "56.75.89", + "75.89", "75.89.76", "89.76", "89.76.4", "76.4", "76.4.42", "4.42", + "4.42.78", "42.78", "42.78.29", "78.29", "78.29.63", "29.63", "29.63.87", + "63.87", "63.87.80", "87.80", "87.80.72", "80.72", "80.72.9", "72.9", + "72.9.73", "9.73", "9.73.65", "73.65", "73.65.58", "65.58", "65.58.98", + "58.98", "58.98.21", "98.21", "98.21.65", "21.65", "21.65.5", "65.5", + "65.5.11", "5.11", "5.11.87", "11.87", "11.87.12", "87.12", "87.12.20", + "12.20", "12.20.31", "20.31", "20.31.95", "31.95", "31.95.73", "95.73", + "95.73.88", "73.88", "73.88.8", "88.8", "88.8.49", "8.49", "8.49.90", + "49.90", "49.90.96", "90.96", "90.96.55", "96.55", "96.55.77", "55.77", + "55.77.2", "77.2", "77.2.85", "2.85", "2.85.74", "85.74", "85.74.70", + "74.70", "74.70.19", "70.19", "70.19.26", "19.26", "19.26.47", "26.47", + "26.47.90", "47.90", "47.90.58", "90.58", "90.58.9", "58.9", "58.9.72", + "9.72", "9.72.33", "72.33", "72.33.75", "33.75", "33.75.81", "75.81", + "75.81.23", "81.23", "81.23.13", "23.13", "23.13.14", "13.14", + "13.14.91", "14.91", "14.91.91", "91.91", "91.91.15", "91.15", + "91.15.36", "15.36", "15.36.3", "36.3", "36.3.69", "3.69", "3.69.52", + "69.52", "69.52.50", "52.50", "52.50.10", "50.10", "50.10.33", "10.33", + "10.33.39", "33.39", "33.39.58", "39.58", "39.58.38", "58.38", + "58.38.83", "38.83", "38.83.82", "83.82", "83.82.7", "82.7", "82.7", "7", + "7" +}) + +test:do_execsql_test( + "1.12.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.12.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.12.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW +AND 4 FOLLOWING) FROM t2 + ]], { + "89.6.29.47.59", "6.29.47.59.28", "29.47.59.28.75", "47.59.28.75.78", + "59.28.75.78.72", "28.75.78.72.98", "75.78.72.98.87", "78.72.98.87.73", + "72.98.87.73.96", "98.87.73.96.74", "87.73.96.74.90", "73.96.74.90.75", + "96.74.90.75.91", "74.90.75.91.69", "90.75.91.69.39", "75.91.69.39.7", + "91.69.39.7", "69.39.7", "39.7", "7", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "74.96.97.84.86", + "96.97.84.86.32", "97.84.86.32.25", "84.86.32.25.89", "86.32.25.89.29", + "32.25.89.29.9", "25.89.29.9.21", "89.29.9.21.12", "29.9.21.12.88", + "9.21.12.88.55", "21.12.88.55.70", "12.88.55.70.58", "88.55.70.58.81", + "55.70.58.81.91", "70.58.81.91.52", "58.81.91.52.58", "81.91.52.58", + "91.52.58", "52.58", "58", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "74.38.46.23.61", "38.46.23.61.3", + "46.23.61.3.1", "23.61.3.1.76", "61.3.1.76.63", "3.1.76.63.73", + "1.76.63.73.65", "76.63.73.65.20", "63.73.65.20.8", "73.65.20.8.77", + "65.20.8.77.19", "20.8.77.19.9", "8.77.19.9.23", "77.19.9.23.15", + "19.9.23.15.50", "9.23.15.50.38", "23.15.50.38", "15.50.38", "50.38", + "38", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "99.39.54.16.85", "39.54.16.85.22", "54.16.85.22.40", + "16.85.22.40.4", "85.22.40.4.87", "22.40.4.87.65", "40.4.87.65.5", + "4.87.65.5.31", "87.65.5.31.49", "65.5.31.49.2", "5.31.49.2.26", + "31.49.2.26.72", "49.2.26.72.13", "2.26.72.13.36", "26.72.13.36.10", + "72.13.36.10.83", "13.36.10.83", "36.10.83", "10.83", "83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33.91.8.65.85", "91.8.65.85.55", "8.65.85.55.56", "65.85.55.56.42", + "85.55.56.42.80", "55.56.42.80.58", "56.42.80.58.11", "42.80.58.11.95", + "80.58.11.95.90", "58.11.95.90.85", "11.95.90.85.47", "95.90.85.47.33", + "90.85.47.33.14", "85.47.33.14.3", "47.33.14.3.33", "33.14.3.33.82", + "14.3.33.82", "3.33.82", "33.82", "82", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.13.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + 74, 99, 99, 99, 33, 89, 89, 96, 96, 96, 68, 68, 68, 91, 91, 91, 99, 99, + 99, 97, 78, 78, 97, 97, 97, 67, 93, 93, 93, 84, 77, 23, 93, 93, 93, 65, + 47, 86, 86, 86, 91, 91, 91, 85, 85, 85, 59, 59, 56, 56, 91, 91, 91, 90, + 90, 55, 89, 89, 89, 47, 56, 56, 56, 56, 56, 75, 75, 89, 98, 98, 98, 81, + 94, 94, 94, 78, 78, 78, 53, 63, 63, 87, 87, 87, 84, 84, 84, 72, 61, 73, + 95, 95, 95, 65, 96, 98, 98, 98, 74, 74, 74, 65, 73, 73, 73, 87, 87, 87, + 41, 20, 31, 31, 31, 95, 95, 95, 79, 88, 88, 88, 34, 49, 49, 90, 90, 96, + 96, 96, 75, 77, 77, 77, 44, 85, 85, 85, 74, 74, 70, 70, 59, 39, 39, 47, + 80, 90, 90, 90, 58, 58, 72, 72, 72, 72, 93, 93, 93, 81, 81, 81, 37, 37, + 37, 14, 62, 91, 91, 91, 91, 91, 34, 36, 99, 99, 99, 95, 95, 69, 58, 52, + 84, 84, 84, 84, 84, 39, 44, 58, 58, 58, 38, 83, 83, 83, 82, 82, 17, 7, + "", "" +}) + +test:do_execsql_test( + "1.13.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + 23, 23, 23, 26, 2, 2, 2, 81, 59, 38, 38, 38, 39, 39, 46, 6, 6, 6, 27, 27, + 27, 46, 54, 8, 8, 8, 29, 29, 77, 23, 16, 16, 16, 16, 35, 35, 7, 7, 7, 61, + 61, 61, 24, 24, 24, 43, 12, 12, 12, 3, 3, 3, 22, 22, 15, 15, 15, 25, 25, + 1, 1, 1, 40, 40, 16, 16, 16, 36, 36, 76, 76, 4, 4, 4, 30, 30, 30, 29, 29, + 29, 2, 2, 2, 37, 37, 72, 41, 9, 9, 9, 61, 65, 13, 13, 13, 58, 1, 1, 1, + 21, 35, 5, 5, 5, 11, 11, 41, 12, 8, 8, 8, 20, 15, 15, 15, 22, 22, 73, 34, + 8, 8, 8, 11, 34, 34, 59, 59, 55, 55, 55, 44, 2, 2, 2, 7, 57, 29, 29, 29, + 19, 19, 19, 26, 26, 26, 47, 36, 36, 36, 9, 9, 9, 66, 33, 33, 33, 64, 64, + 9, 9, 9, 13, 12, 12, 12, 14, 36, 36, 33, 15, 15, 15, 34, 3, 3, 3, 58, 52, + 30, 30, 30, 10, 10, 10, 21, 21, 21, 39, 30, 30, 30, 34, 27, 27, 17, 7, 7, + 7, "", "" +}) + +test:do_execsql_test( + "1.13.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.13.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.13.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.13.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.13.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.13.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.13.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.13.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.13.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.13.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.13.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.13.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.13.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.13.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.13.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.13.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.13.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 28, 105, 33, 41, 11, 99, 92, 108, 72, 52, 83, 55, 79, 109, 65, 26, +-- 120, 119, 50, 70, 103, 80, 124, 36, 96, 59, 124, 116, 110, 57, 51, 52, +-- 130, 103, 74, 87, 48, 128, 117, 105, 136, 131, 71, 133, 92, 109, 63, +-- 84, 109, 57, 146, 78, 147, 113, 74, 88, 150, 87, 110, 65, 121, 106, +-- 110, 124, 85, 145, 107, 161, 171, 150, 156, 80, 171, 120, 109, 158, +-- 114, 111, 136, 147, 87, 173, 124, 168, 173, 162, 132, 101, 154, 167, +-- 190, 161, 110, 156, 195, 198, 102, 123, 177, 169, 140, 111, 180, 119, +-- 160, 197, 152, 124, 121, 134, 146, 147, 132, 213, 141, 193, 200, 210, +-- 157, 132, 136, 175, 161, 218, 188, 226, 191, 187, 208, 211, 179, 138, +-- 144, 223, 196, 214, 170, 212, 202, 163, 184, 172, 173, 195, 229, 240, +-- 187, 210, 200, 163, 227, 228, 223, 191, 252, 235, 225, 243, 172, 187, +-- 202, 179, 179, 182, 231, 261, 207, 263, 206, 189, 209, 212, 276, 181, +-- 274, 249, 239, 234, 213, 234, 269, 196, 271, 221, 210, 229, 235, 250, +-- 223, 232, 229, 279, 224, 280, 216, 207, 207, 207, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 223, 223, "", +-- "", 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, 146, 147, +-- 136, 243, 261, 263, 210, 210, 210, "", "", 78, 120, 87, 162, 124, 141, +-- 138, 227, 228, 179, 231, 234, 280, 280, 280, "", "", 130, 92, 57, 110, +-- 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, 206, 181, 221, +-- 279, 279, 279, "", "", 117, 71, 80, 171, 173, 177, 157, 161, 179, 214, +-- 225, 182, 209, 269, 271, 235, 229, 229, 229, "", "", 113, 74, 87, 145, +-- 190, 161, 169, 140, 111, 132, 213, 187, 208, 223, 235, 189, 274, 274, +-- 274, "", "", 70, 51, 52, 128, 109, 121, 124, 85, 107, 150, 195, 226, +-- 172, 173, 187, 223, 207, 212, 212, 212, "", "", 110, 87, 48, 110, 173, +-- 124, 197, 211, 144, 196, 195, 200, 202, 224, 216, 207, 207, 207, "", +-- "", 88, 171, 158, 156, 198, 121, 210, 132, 210, 239, 250, 232, 232, +-- 232, "", "", 120, 59, 109, 150, 161, 111, 101, 200, 175, 188, 170, +-- 202, 163, 184, 163, 172, 276, 249, 229, 229, 229, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 87, 138, 57, 181, 80, 111, 26, 48, 144, 207, 36, 121, 132, 101, 163, +-- 172, 196, 119, 136, 63, 124, 179, 110, 179, 182, 74, 132, 189, 51, 52, +-- 85, 216, 163, 134, 123, 210, 78, 141, 28, 57, 187, 71, 87, 33, 172, +-- 173, 50, 224, 88, 59, 111, 170, 109, 213, 223, 146, 147, 84, 41, 114, +-- 191, 206, 221, 157, 161, 209, 229, 74, 140, 107, 187, 207, 212, 124, +-- 202, 52, 232, 55, 184, 229, 106, 44, 132, 152, 120, 92, 110, 179, 235, +-- 65, 70, 87, 110, 195, 200, 175, 234, 160, 234, 136, 80, 113, 187, 109, +-- 121, 124, 196, 156, 210, 239, 250, 72, 109, 188, 202, 191, 105, 154, +-- 79, 231, 147, 225, 103, 161, 169, 223, 96, 83, 249, 212, 162, 227, +-- 228, 167, 180, 193, 76, 78, 117, 177, 214, 145, 208, 235, 150, 110, +-- 211, 103, 158, 200, 168, 229, 92, 156, 243, 280, 279, 116, 173, 269, +-- 271, 131, 133, 223, 128, 173, 197, 210, 99, 150, 161, 147, 218, 240, +-- 109, 136, 146, 261, 263, 124, 130, 252, 171, 190, 213, 274, 108, 195, +-- 226, 119, 124, 171, 198, 105, 120, 276, 276, 276, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 213, 223, 106, 234, 191, 212, 168, 229, 147, 218, 240, 240, 240, "", +-- "", 123, 210, 146, 147, 44, 132, 152, 160, 105, 154, 92, 156, 243, +-- 109, 136, 146, 261, 263, 263, 263, "", "", 124, 179, 78, 141, 84, 120, +-- 234, 79, 231, 162, 227, 228, 280, 280, 280, "", "", 28, 57, 187, 41, +-- 114, 191, 206, 221, 92, 110, 136, 147, 167, 180, 193, 279, 124, 130, +-- 252, 252, 252, "", "", 161, 209, 229, 179, 235, 80, 225, 76, 78, 117, +-- 177, 214, 116, 173, 269, 271, 171, 171, 171, "", "", 87, 74, 140, 113, +-- 187, 103, 161, 169, 145, 208, 235, 131, 133, 223, 190, 213, 274, 274, +-- 274, "", "", 33, 172, 173, 107, 187, 207, 212, 65, 70, 109, 121, 124, +-- 223, 150, 128, 108, 195, 226, 226, 226, "", "", 50, 224, 124, 202, 87, +-- 110, 195, 200, 196, 96, 110, 211, 173, 197, 119, 124, 124, 124, "", +-- "", 52, 232, 156, 210, 239, 250, 83, 103, 158, 210, 171, 198, 198, +-- 198, "", "", 59, 111, 170, 55, 184, 229, 175, 72, 109, 188, 202, 249, +-- 200, 99, 150, 161, 105, 120, 276, 276, 276, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 168, 134, 218, 191, 212, 229, 240, 213, 234, 196, 223, 44, 92, 109, +-- 105, 136, 146, 65, 156, 132, 154, 102, 123, 119, 160, 152, 146, 147, +-- 136, 243, 261, 263, 210, 11, 79, 63, 84, 78, 120, 87, 162, 124, 141, +-- 138, 227, 228, 179, 231, 234, 280, 28, 41, 124, 57, 130, 92, 57, 110, +-- 114, 136, 147, 167, 110, 180, 193, 191, 252, 187, 179, 206, 181, 221, +-- 279, 76, 78, 80, 116, 117, 71, 80, 171, 173, 177, 157, 161, 179, 214, +-- 225, 182, 209, 269, 271, 235, 229, 103, 74, 131, 133, 113, 74, 87, +-- 145, 190, 161, 169, 140, 111, 132, 213, 187, 208, 223, 235, 189, 274, +-- 33, 108, 65, 26, 70, 51, 52, 128, 109, 121, 124, 85, 107, 150, 195, +-- 226, 172, 173, 187, 223, 207, 212, 119, 50, 124, 96, 110, 87, 48, 110, +-- 173, 124, 197, 211, 144, 196, 195, 200, 202, 224, 216, 207, 52, 83, +-- 103, 36, 88, 171, 158, 156, 198, 121, 210, 132, 210, 239, 250, 232, +-- 105, 99, 72, 55, 120, 59, 109, 150, 161, 111, 101, 200, 175, 188, 170, +-- 202, 163, 184, 163, 172, 276, 249, 229, 229, 229, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 41, "", "", "", "", "", "", "", 59, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", 43, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 84, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 65, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 74, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 40, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 61, "", "", "", 51, "", "", "", "", "", "", "", "", +-- "", "", "", 22, "", "", "", "", "", 2, "", "", "", 62, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 4, 5, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 20, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 11, 21, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 12, 12, 22, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 40, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 61, "", "", "", 51, "", "", "", "", "", "", "", "", +-- "", "", "", 22, "", "", "", "", "", 2, "", "", "", 62, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, 46, 6, +-- 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, 93, 65, +-- 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, 91, 22, +-- 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, 98, 76, +-- 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, 41, 9, +-- 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, 51, 87, +-- 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, 34, 90, +-- 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, 39, 26, +-- 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, 9, 23, +-- 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, 58, 52, +-- 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, 83, 27, 82, 17, 7, +-- "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, "", "", 91, 61, +-- 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, 21, +-- "", "", 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, "", +-- "", 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, 13, +-- 33, 3, 33, 83, "", "", 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, 74, +-- 64, 14, 34, 84, 84, 44, 34, "", "", 85, 85, 55, 15, 25, 75, 95, 65, +-- 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, "", "", 46, 6, 46, 16, 16, +-- 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, "", "", +-- 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, 7, +-- "", "", 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, "", "", +-- 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, 9, +-- 99, 69, 39, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 11, 11, 12, +-- 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, 20, 21, 21, 22, +-- 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, 30, 30, +-- 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 36, 36, +-- 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, 43, 44, +-- 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, 56, 56, +-- 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, 62, 62, 63, 64, +-- 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, 73, 74, 74, 74, +-- 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, 81, 82, +-- 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, 89, 89, 90, 90, +-- 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, 96, 96, 96, 97, +-- 97, 98, 98, 99, 99, 99, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 20, 30, 30, 30, 40, 50, 60, 70, 80, 80, 90, 90, 90, "", "", 11, 11, +-- 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 91, 91, 91, +-- 91, "", "", 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 72, 72, 72, 82, +-- "", "", 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, +-- 73, 73, 83, 93, 93, 93, "", "", 24, 34, 34, 34, 34, 44, 44, 54, 64, +-- 74, 74, 74, 74, 74, 84, 84, 84, 84, 94, "", "", 15, 15, 25, 35, 35, +-- 55, 55, 65, 65, 65, 75, 75, 75, 85, 85, 85, 95, 95, 95, "", "", 16, +-- 16, 26, 26, 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, 86, 96, +-- 96, 96, "", "", 7, 17, 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, +-- 87, 87, 97, 97, "", "", 8, 28, 38, 38, 58, 58, 58, 58, 68, 78, 78, 88, +-- 98, 98, "", "", 9, 19, 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, 59, 69, +-- 79, 89, 89, 89, 99, 99, 99, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, 61, +-- 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, 21, +-- 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, 23, +-- 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, 13, +-- 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, 74, +-- 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, 65, +-- 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, 16, +-- 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, 27, +-- 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, 7, +-- 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, 89, +-- 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, 9, +-- 99, 69, 39, "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.13.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.13.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.13.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.13.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +-- AND 4 FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.13.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING) FROM t2 + ]], { + "41.74.23", "74.23.99", "23.99.26", "99.26.33", "26.33.2", "33.2.89", + "2.89.81", "89.81.96", "81.96.59", "96.59.38", "59.38.68", "38.68.39", + "68.39.62", "39.62.91", "62.91.46", "91.46.6", "46.6.99", "6.99.97", + "99.97.27", "97.27.46", "27.46.78", "46.78.54", "78.54.97", "54.97.8", + "97.8.67", "8.67.29", "67.29.93", "29.93.84", "93.84.77", "84.77.23", + "77.23.16", "23.16.16", "16.16.93", "16.93.65", "93.65.35", "65.35.47", + "35.47.7", "47.7.86", "7.86.74", "86.74.61", "74.61.91", "61.91.85", + "91.85.24", "85.24.85", "24.85.43", "85.43.59", "43.59.12", "59.12.32", + "12.32.56", "32.56.3", "56.3.91", "3.91.22", "91.22.90", "22.90.55", + "90.55.15", "55.15.28", "15.28.89", "28.89.25", "89.25.47", "25.47.1", + "47.1.56", "1.56.40", "56.40.43", "40.43.56", "43.56.16", "56.16.75", + "16.75.36", "75.36.89", "36.89.98", "89.98.76", "98.76.81", "76.81.4", + "81.4.94", "4.94.42", "94.42.30", "42.30.78", "30.78.33", "78.33.29", + "33.29.53", "29.53.63", "53.63.2", "63.2.87", "2.87.37", "87.37.80", + "37.80.84", "80.84.72", "84.72.41", "72.41.9", "41.9.61", "9.61.73", + "61.73.95", "73.95.65", "95.65.13", "65.13.58", "13.58.96", "58.96.98", + "96.98.1", "98.1.21", "1.21.74", "21.74.65", "74.65.35", "65.35.5", + "35.5.73", "5.73.11", "73.11.51", "11.51.87", "51.87.41", "87.41.12", + "41.12.8", "12.8.20", "8.20.31", "20.31.31", "31.31.15", "31.15.95", + "15.95.22", "95.22.73", "22.73.79", "73.79.88", "79.88.34", "88.34.8", + "34.8.11", "8.11.49", "11.49.34", "49.34.90", "34.90.59", "90.59.96", + "59.96.60", "96.60.55", "60.55.75", "55.75.77", "75.77.44", "77.44.2", + "44.2.7", "2.7.85", "7.85.57", "85.57.74", "57.74.29", "74.29.70", + "29.70.59", "70.59.19", "59.19.39", "19.39.26", "39.26.26", "26.26.47", + "26.47.80", "47.80.90", "80.90.36", "90.36.58", "36.58.47", "58.47.9", + "47.9.72", "9.72.72", "72.72.66", "72.66.33", "66.33.93", "33.93.75", + "93.75.64", "75.64.81", "64.81.9", "81.9.23", "9.23.37", "23.37.13", + "37.13.12", "13.12.14", "12.14.62", "14.62.91", "62.91.36", "91.36.91", + "36.91.33", "91.33.15", "33.15.34", "15.34.36", "34.36.99", "36.99.3", + "99.3.95", "3.95.69", "95.69.58", "69.58.52", "58.52.30", "52.30.50", + "30.50.84", "50.84.10", "84.10.84", "10.84.33", "84.33.21", "33.21.39", + "21.39.44", "39.44.58", "44.58.30", "58.30.38", "30.38.34", "38.34.83", + "34.83.27", "83.27.82", "27.82.17", "82.17.7", "17.7", "7", "", "" +}) + +test:do_execsql_test( + "1.13.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING) FROM t2 + ]], { + "40.30.80", "30.80.20", "80.20.90", "20.90.60", "90.60.70", "60.70.80", + "70.80.90", "80.90.30", "90.30.50", "30.50.10", "50.10.30", "10.30", + "30", "", "", "91.61.91", "61.91.91", "91.91.1", "91.1.81", "1.81.41", + "81.41.61", "41.61.1", "61.1.21", "1.21.11", "21.11.51", "11.51.41", + "51.41.31", "41.31.31", "31.31.11", "31.11.81", "11.81.91", "81.91.91", + "91.91.21", "91.21", "21", "", "", "12.32.22", "32.22.42", "22.42.2", + "42.2.72", "2.72.12", "72.12.22", "12.22.2", "22.2.72", "2.72.72", + "72.72.12", "72.12.62", "12.62.52", "62.52.82", "52.82", "82", "", "", + "93.23.93", "23.93.43", "93.43.3", "43.3.43", "3.43.33", "43.33.53", + "33.53.63", "53.63.73", "63.73.13", "73.13.73", "13.73.73", "73.73.33", + "73.33.93", "33.93.23", "93.23.13", "23.13.33", "13.33.3", "33.3.33", + "3.33.83", "33.83", "83", "", "", "54.84.74", "84.74.24", "74.24.4", + "24.4.94", "4.94.84", "94.84.74", "84.74.34", "74.34.34", "34.34.44", + "34.44.74", "44.74.64", "74.64.14", "64.14.34", "14.34.84", "34.84.84", + "84.84.44", "84.44.34", "44.34", "34", "", "", "85.85.55", "85.55.15", + "55.15.25", "15.25.75", "25.75.95", "75.95.65", "95.65.65", "65.65.35", + "65.35.5", "35.5.15", "5.15.95", "15.95.55", "95.55.75", "55.75.85", + "75.85.75", "85.75.15", "75.15.95", "15.95", "95", "", "", "46.6.46", + "6.46.16", "46.16.16", "16.16.86", "16.86.56", "86.56.56", "56.56.56", + "56.56.16", "56.16.36", "16.36.76", "36.76.96", "76.96.96", "96.96.26", + "96.26.26", "26.26.36", "26.36.66", "36.66.36", "66.36.36", "36.36", + "36", "", "", "97.67.77", "67.77.47", "77.47.7", "47.7.47", "7.47.87", + "47.87.37", "87.37.87", "37.87.77", "87.77.7", "77.7.57", "7.57.47", + "57.47.47", "47.47.37", "47.37.27", "37.27.17", "27.17.7", "17.7", "7", + "", "", "78.8.28", "8.28.98", "28.98.78", "98.78.58", "78.58.98", + "58.98.8", "98.8.88", "8.88.8", "88.8.58", "8.58.58", "58.58.58", + "58.58.38", "58.38", "38", "", "", "59.39.99", "39.99.29", "99.29.59", + "29.59.89", "59.89.89", "89.89.29", "89.29.9", "29.9.79", "9.79.49", + "79.49.59", "49.59.29", "59.29.59", "29.59.19", "59.19.39", "19.39.9", + "39.9.9", "9.9.99", "9.99.69", "99.69.39", "69.39", "39", "", "" +}) + +test:do_execsql_test( + "1.13.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + "1.2.2", "2.2.2", "2.2.3", "2.3.3", "3.3.4", "3.4.5", "4.5.6", "5.6.7", + "6.7.7", "7.7.7", "7.7.8", "7.8.8", "8.8.8", "8.8.9", "8.9.9", "9.9.9", + "9.9.10", "9.10.11", "10.11.11", "11.11.12", "11.12.12", "12.12.12", + "12.12.13", "12.13.13", "13.13.14", "13.14.15", "14.15.15", "15.15.15", + "15.15.16", "15.16.16", "16.16.16", "16.16.17", "16.17.19", "17.19.20", + "19.20.21", "20.21.21", "21.21.22", "21.22.22", "22.22.23", "22.23.23", + "23.23.23", "23.23.24", "23.24.25", "24.25.26", "25.26.26", "26.26.26", + "26.26.27", "26.27.27", "27.27.28", "27.28.29", "28.29.29", "29.29.29", + "29.29.30", "29.30.30", "30.30.30", "30.30.31", "30.31.31", "31.31.32", + "31.32.33", "32.33.33", "33.33.33", "33.33.33", "33.33.33", "33.33.34", + "33.34.34", "34.34.34", "34.34.34", "34.34.35", "34.35.35", "35.35.36", + "35.36.36", "36.36.36", "36.36.36", "36.36.37", "36.37.37", "37.37.38", + "37.38.38", "38.38.39", "38.39.39", "39.39.39", "39.39.40", "39.40.41", + "40.41.41", "41.41.41", "41.41.42", "41.42.43", "42.43.43", "43.43.44", + "43.44.44", "44.44.46", "44.46.46", "46.46.47", "46.47.47", "47.47.47", + "47.47.47", "47.47.49", "47.49.50", "49.50.51", "50.51.52", "51.52.53", + "52.53.54", "53.54.55", "54.55.55", "55.55.56", "55.56.56", "56.56.56", + "56.56.57", "56.57.58", "57.58.58", "58.58.58", "58.58.58", "58.58.59", + "58.59.59", "59.59.59", "59.59.59", "59.59.60", "59.60.61", "60.61.61", + "61.61.62", "61.62.62", "62.62.63", "62.63.64", "63.64.65", "64.65.65", + "65.65.65", "65.65.66", "65.66.67", "66.67.68", "67.68.69", "68.69.70", + "69.70.72", "70.72.72", "72.72.72", "72.72.73", "72.73.73", "73.73.73", + "73.73.74", "73.74.74", "74.74.74", "74.74.74", "74.74.74", "74.74.75", + "74.75.75", "75.75.75", "75.75.76", "75.76.77", "76.77.77", "77.77.78", + "77.78.78", "78.78.79", "78.79.80", "79.80.80", "80.80.81", "80.81.81", + "81.81.81", "81.81.82", "81.82.83", "82.83.84", "83.84.84", "84.84.84", + "84.84.84", "84.84.85", "84.85.85", "85.85.85", "85.85.86", "85.86.87", + "86.87.87", "87.87.88", "87.88.89", "88.89.89", "89.89.89", "89.89.90", + "89.90.90", "90.90.90", "90.90.91", "90.91.91", "91.91.91", "91.91.91", + "91.91.91", "91.91.93", "91.93.93", "93.93.93", "93.93.94", "93.94.95", + "94.95.95", "95.95.95", "95.95.96", "95.96.96", "96.96.96", "96.96.97", + "96.97.97", "97.97.98", "97.98.98", "98.98.99", "98.99.99", "99.99.99", + "99.99", "99", "", "" +}) + +test:do_execsql_test( + "1.13.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + "20.30.30", "30.30.30", "30.30.40", "30.40.50", "40.50.60", "50.60.70", + "60.70.80", "70.80.80", "80.80.90", "80.90.90", "90.90.90", "90.90", + "90", "", "", "11.11.21", "11.21.21", "21.21.31", "21.31.31", "31.31.41", + "31.41.41", "41.41.41", "41.41.51", "41.51.61", "51.61.61", "61.61.81", + "61.81.81", "81.81.81", "81.81.91", "81.91.91", "91.91.91", "91.91.91", + "91.91.91", "91.91", "91", "", "", "2.12.12", "12.12.12", "12.12.22", + "12.22.22", "22.22.32", "22.32.42", "32.42.52", "42.52.62", "52.62.62", + "62.62.72", "62.72.72", "72.72.72", "72.72.82", "72.82", "82", "", "", + "13.13.23", "13.23.23", "23.23.23", "23.23.33", "23.33.33", "33.33.33", + "33.33.33", "33.33.33", "33.33.43", "33.43.43", "43.43.53", "43.53.63", + "53.63.73", "63.73.73", "73.73.73", "73.73.83", "73.83.93", "83.93.93", + "93.93.93", "93.93", "93", "", "", "24.34.34", "34.34.34", "34.34.34", + "34.34.44", "34.44.44", "44.44.54", "44.54.64", "54.64.74", "64.74.74", + "74.74.74", "74.74.74", "74.74.74", "74.74.84", "74.84.84", "84.84.84", + "84.84.84", "84.84.94", "84.94", "94", "", "", "15.15.25", "15.25.35", + "25.35.35", "35.35.55", "35.55.55", "55.55.65", "55.65.65", "65.65.65", + "65.65.75", "65.75.75", "75.75.75", "75.75.85", "75.85.85", "85.85.85", + "85.85.95", "85.95.95", "95.95.95", "95.95", "95", "", "", "16.16.26", + "16.26.26", "26.26.26", "26.26.36", "26.36.36", "36.36.36", "36.36.36", + "36.36.46", "36.46.46", "46.46.56", "46.56.56", "56.56.56", "56.56.66", + "56.66.76", "66.76.86", "76.86.96", "86.96.96", "96.96.96", "96.96", + "96", "", "", "7.17.27", "17.27.27", "27.27.37", "27.37.37", "37.37.47", + "37.47.47", "47.47.47", "47.47.47", "47.47.57", "47.57.67", "57.67.77", + "67.77.77", "77.77.87", "77.87.87", "87.87.97", "87.97.97", "97.97", + "97", "", "", "8.28.38", "28.38.38", "38.38.58", "38.58.58", "58.58.58", + "58.58.58", "58.58.68", "58.68.78", "68.78.78", "78.78.88", "78.88.98", + "88.98.98", "98.98", "98", "", "", "9.19.29", "19.29.29", "29.29.29", + "29.29.39", "29.39.39", "39.39.39", "39.39.49", "39.49.59", "49.59.59", + "59.59.59", "59.59.59", "59.59.69", "59.69.79", "69.79.89", "79.89.89", + "89.89.89", "89.89.99", "89.99.99", "99.99.99", "99.99", "99", "", "" +}) + +test:do_execsql_test( + "1.13.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING ) FROM t2 + ]], { + "40.30.80", "30.80.20", "80.20.90", "20.90.60", "90.60.70", "60.70.80", + "70.80.90", "80.90.30", "90.30.50", "30.50.10", "50.10.30", "10.30.41", + "30.41.81", "41.81.91", "81.91.61", "91.61.91", "61.91.91", "91.91.1", + "91.1.81", "1.81.41", "81.41.61", "41.61.1", "61.1.21", "1.21.11", + "21.11.51", "11.51.41", "51.41.31", "41.31.31", "31.31.11", "31.11.81", + "11.81.91", "81.91.91", "91.91.21", "91.21.2", "21.2.62", "2.62.12", + "62.12.32", "12.32.22", "32.22.42", "22.42.2", "42.2.72", "2.72.12", + "72.12.22", "12.22.2", "22.2.72", "2.72.72", "72.72.12", "72.12.62", + "12.62.52", "62.52.82", "52.82.23", "82.23.33", "23.33.93", "33.93.23", + "93.23.93", "23.93.43", "93.43.3", "43.3.43", "3.43.33", "43.33.53", + "33.53.63", "53.63.73", "63.73.13", "73.13.73", "13.73.73", "73.73.33", + "73.33.93", "33.93.23", "93.23.13", "23.13.33", "13.33.3", "33.3.33", + "3.33.83", "33.83.74", "83.74.74", "74.74.54", "74.54.84", "54.84.74", + "84.74.24", "74.24.4", "24.4.94", "4.94.84", "94.84.74", "84.74.34", + "74.34.34", "34.34.44", "34.44.74", "44.74.64", "74.64.14", "64.14.34", + "14.34.84", "34.84.84", "84.84.44", "84.44.34", "44.34.65", "34.65.35", + "65.35.85", "35.85.85", "85.85.55", "85.55.15", "55.15.25", "15.25.75", + "25.75.95", "75.95.65", "95.65.65", "65.65.35", "65.35.5", "35.5.15", + "5.15.95", "15.95.55", "95.55.75", "55.75.85", "75.85.75", "85.75.15", + "75.15.95", "15.95.26", "95.26.96", "26.96.46", "96.46.6", "46.6.46", + "6.46.16", "46.16.16", "16.16.86", "16.86.56", "86.56.56", "56.56.56", + "56.56.16", "56.16.36", "16.36.76", "36.76.96", "76.96.96", "96.96.26", + "96.26.26", "26.26.36", "26.36.66", "36.66.36", "66.36.36", "36.36.97", + "36.97.27", "97.27.97", "27.97.67", "97.67.77", "67.77.47", "77.47.7", + "47.7.47", "7.47.87", "47.87.37", "87.37.87", "37.87.77", "87.77.7", + "77.7.57", "7.57.47", "57.47.47", "47.47.37", "47.37.27", "37.27.17", + "27.17.7", "17.7.38", "7.38.68", "38.68.78", "68.78.8", "78.8.28", + "8.28.98", "28.98.78", "98.78.58", "78.58.98", "58.98.8", "98.8.88", + "8.88.8", "88.8.58", "8.58.58", "58.58.58", "58.58.38", "58.38.99", + "38.99.89", "99.89.59", "89.59.39", "59.39.99", "39.99.29", "99.29.59", + "29.59.89", "59.89.89", "89.89.29", "89.29.9", "29.9.79", "9.79.49", + "79.49.59", "49.59.29", "59.29.59", "29.59.19", "59.19.39", "19.39.9", + "39.9.9", "9.9.99", "9.99.69", "99.69.39", "69.39", "39", "", "" +}) + +test:do_execsql_test( + "1.13.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.13.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING) FROM t2 + ]], { + "74", "74.99", "99", "99.33", "33", "33.89", "89", "89.96", "96", + "96.38", "38", "38.39", "39", "39.91", "91", "91.6", "6", "6.97", "97", + "97.46", "46", "46.54", "54", "54.8", "8", "8.29", "29", "29.84", "84", + "84.23", "23", "23.16", "16", "16.65", "65", "65.47", "47", "47.86", + "86", "86.61", "61", "61.85", "85", "85.85", "85", "85.59", "59", + "59.32", "32", "32.3", "3", "3.22", "22", "22.55", "55", "55.28", "28", + "28.25", "25", "25.1", "1", "1.40", "40", "40.56", "56", "56.75", "75", + "75.89", "89", "89.76", "76", "76.4", "4", "4.42", "42", "42.78", "78", + "78.29", "29", "29.63", "63", "63.87", "87", "87.80", "80", "80.72", + "72", "72.9", "9", "9.73", "73", "73.65", "65", "65.58", "58", "58.98", + "98", "98.21", "21", "21.65", "65", "65.5", "5", "5.11", "11", "11.87", + "87", "87.12", "12", "12.20", "20", "20.31", "31", "31.95", "95", + "95.73", "73", "73.88", "88", "88.8", "8", "8.49", "49", "49.90", "90", + "90.96", "96", "96.55", "55", "55.77", "77", "77.2", "2", "2.85", "85", + "85.74", "74", "74.70", "70", "70.19", "19", "19.26", "26", "26.47", + "47", "47.90", "90", "90.58", "58", "58.9", "9", "9.72", "72", "72.33", + "33", "33.75", "75", "75.81", "81", "81.23", "23", "23.13", "13", + "13.14", "14", "14.91", "91", "91.91", "91", "91.15", "15", "15.36", + "36", "36.3", "3", "3.69", "69", "69.52", "52", "52.50", "50", "50.10", + "10", "10.33", "33", "33.39", "39", "39.58", "58", "58.38", "38", + "38.83", "83", "83.82", "82", "82.7", "7", "7", "", "" +}) + +test:do_execsql_test( + "1.13.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.13.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.13.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 2 FOLLOWING +AND 4 FOLLOWING) FROM t2 + ]], { + "29.47.59", "47.59.28", "59.28.75", "28.75.78", "75.78.72", "78.72.98", + "72.98.87", "98.87.73", "87.73.96", "73.96.74", "96.74.90", "74.90.75", + "90.75.91", "75.91.69", "91.69.39", "69.39.7", "39.7", "7", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "97.84.86", "84.86.32", "86.32.25", "32.25.89", "25.89.29", + "89.29.9", "29.9.21", "9.21.12", "21.12.88", "12.88.55", "88.55.70", + "55.70.58", "70.58.81", "58.81.91", "81.91.52", "91.52.58", "52.58", + "58", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "46.23.61", "23.61.3", "61.3.1", "3.1.76", "1.76.63", + "76.63.73", "63.73.65", "73.65.20", "65.20.8", "20.8.77", "8.77.19", + "77.19.9", "19.9.23", "9.23.15", "23.15.50", "15.50.38", "50.38", "38", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "54.16.85", "16.85.22", "85.22.40", "22.40.4", "40.4.87", + "4.87.65", "87.65.5", "65.5.31", "5.31.49", "31.49.2", "49.2.26", + "2.26.72", "26.72.13", "72.13.36", "13.36.10", "36.10.83", "10.83", "83", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "8.65.85", "65.85.55", "85.55.56", "55.56.42", + "56.42.80", "42.80.58", "80.58.11", "58.11.95", "11.95.90", "95.90.85", + "90.85.47", "85.47.33", "47.33.14", "33.14.3", "14.3.33", "3.33.82", + "33.82", "82", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.14.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99 +}) + +test:do_execsql_test( + "1.14.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0 +}) + +test:do_execsql_test( + "1.14.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.14.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.14.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.14.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.14.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.14.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.14.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.14.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.14.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.14.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.14.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.14.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.14.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.14.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.14.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.14.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.14.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.14.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, +-- 223, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, +-- 210, 210, 210, 210, 210, 210, 210, 210, 210, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 212, 212, 212, 212, 212, 212, 212, +-- 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, +-- 212, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 232, 232, 232, 232, 232, 232, 232, +-- 232, 232, 232, 232, 232, 232, 232, 232, 232, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.14.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.14.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, +-- 240, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, +-- 263, 263, 263, 263, 263, 263, 263, 263, 263, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 171, 171, 171, 171, 171, 171, 171, +-- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 226, 226, 226, 226, 226, 226, 226, +-- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, +-- 226, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, +-- 124, 124, 124, 124, 124, 124, 124, 198, 198, 198, 198, 198, 198, 198, +-- 198, 198, 198, 198, 198, 198, 198, 198, 198, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.14.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.14.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.14.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 81, 86, 81, 46, 98, 97, 23, 41, 72, 29, 13, 28, 35, 16, 47, 47, 9, +-- 24, 26, 98, 58, 8, 24, 30, 91, 58, 2, 56, 29, 73, 2, 42, 46, 62, 62, +-- 73, 40, 16, 85, 33, 37, 81, 25, 9, 87, 78, 87, 61, 28, 59, 77, 90, 74, +-- 9, 27, 41, 22, 39, 67, 72, 54, 85, 74, 90, 7, 61, 90, 62, 4, 93, 72, +-- 96, 94, 29, 23, 95, 74, 93, 30, 23, 29, 3, 1, 41, 80, 65, 33, 2, 98, +-- 86, 89, 25, 76, 65, 40, 38, 15, 13, 96, 74, 97, 81, 40, 16, 99, 76, +-- 96, 32, 80, 86, 59, 2, 99, 84, 84, 39, 65, 27, 76, 78, 84, 16, 2, 96, +-- 59, 16, 41, 28, 13, 89, 22, 4, 42, 91, 41, 33, 87, 55, 81, 29, 36, 28, +-- 6, 47, 97, 97, 85, 33, 41, 93, 15, 85, 89, 98, 98, 43, 23, 73, 4, 56, +-- 29, 89, 46, 65, 38, 59, 68, 47, 9, 93, 9, 23, 39, 16, 93, 98, 74, 65, +-- 75, 15, 56, 93, 12, 2, 81, 2, 23, 97, 47, 91, 15, 93, 35, 16, 63, 8, +-- 53, 91, 33 +-- }) + +-- test:do_execsql_test( +-- "1.14.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 90, "", "", "", "", +-- "", "", "", 81, "", "", "", 81, 21, 21, "", "", "", "", 21, "", "", +-- "", 21, 12, "", 72, "", "", "", 12, "", 72, "", 12, "", "", 72, "", +-- "", "", "", "", "", "", "", "", 23, "", "", "", "", "", 73, "", "", +-- "", "", "", 73, "", 23, "", "", "", "", "", "", "", "", 74, "", "", +-- "", "", "", "", "", "", 64, "", "", "", "", "", "", "", "", "", "", +-- 55, "", "", "", "", "", "", 15, 55, "", "", "", "", "", 55, "", "", +-- "", "", 16, "", 26, 26, "", "", "", "", 26, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 47, "", "", "", "", "", 47, +-- "", "", "", "", "", 27, 47, "", "", "", 98, "", "", "", "", "", 98, +-- "", 98, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 29, +-- "", "", "", "", "", 9, "", 29, 29, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 7, 7, +-- 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 9, 9, 10, 11, 11, 11, 11, 12, 12, +-- 12, 12, 12, 13, 13, 13, 13, 13, 14, 15, 15, 15, 15, 15, 15, 15, 15, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 19, 19, 19, 19, 20, +-- 20, 21, 21, 21, 21, 21, 22, 22, 22, 22, 23, 23, 23, 23, 23, 25, 25, +-- 26, 26, 26, 26, 26, 27, 27, 28, 29, 29, 29, 29, 30, 30, 30, 30, 30, +-- 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, 33, 33, +-- 33, 34, 34, 34, 34, 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 36, +-- 36, 36, 36, 37, 37, 37, 37, 38, 38, 38, 39, 39, 39, 39, 39, 40, 40, +-- 40, 40, 41, 41, 41, 41, 41, 41, 42, 43, 43, 43, 43, 43, 43, 44, 44, +-- 44, 44, 44, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, +-- 49, 49, 49 +-- }) + +-- test:do_execsql_test( +-- "1.14.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 1, 51, +-- 51, 91, 91, "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 2, 2, 62, 62, 62, "", "", "", "", "", "", "", "", "", "", +-- "", 13, 13, 43, 43, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 85, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 66, +-- 66, 66, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 37, 37, 87, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 58, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 39, 39, 89, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 74, 32, 31, 84, 91, 74, 3, 93, 84, 74, 31, 12, 90, 31, 22, 74, 64, +-- 43, 64, 64, 90, 74, 22, 43, 90, 1, 30, 62, 22, 31, 31, 30, 74, 64, 64, +-- 1, 40, 33, 50, 11, 81, 42, 40, 13, 50, 81, 40, 13, 13, 50, 33, 52, 24, +-- 41, 81, 34, 41, 34, 2, 30, 2, 81, 82, 53, 33, 10, 33, 33, 81, 34, 41, +-- 10, 81, 30, 81, 4, 3, 3, 23, 94, 3, 61, 80, 84, 94, 3, 91, 91, 72, 3, +-- 63, 30, 91, 94, 94, 72, 91, 73, 91, 84, 84, 33, 41, 1, 33, 84, 73, 73, +-- 91, 20, 41, 84, 33, 33, 84, 33, 41, 84, 21, 44, 22, 90, 22, 81, 81, +-- 74, 93, 93, 93, 81, 21, 83, 44, 44, 21, 21, 21, 13, 21, 21, 34, 11, +-- 34, 73, 74, 2, 60, 2, 34, 2, 34, 74, 60, 23, 2, 2, 2, 11, 91, 60, 62, +-- 73, 74, 70, 51, 65, 74, 93, 65, 70, 34, 70, 93, 93, 93, 62, 35, 44, +-- 43, 12, 35, 41, 43, 44, 44, 41, 80, 54, 72, 43, 41, 43, 91, 12, 80, +-- 80, 35, 33, 12 +-- }) + +-- test:do_execsql_test( +-- "1.14.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.14.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, 41, 41, 41, 41, 41, +-- 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, 74, +-- 74, 74, 74, 74, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, 65, +-- 65, 65, 65, 65, 65, 65, 65, 65, 26, 26, 26, 26, 26, 26, 26, 26, 26, +-- 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 97, 97, 97, 97, +-- 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 97, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.14.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.14.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 +-- }) + +-- test:do_execsql_test( +-- "1.14.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, +-- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +-- }) + +-- test:do_execsql_test( +-- "1.14.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.14.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.14.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.14.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.14.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.14.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.14.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7" +}) + +test:do_execsql_test( + "1.14.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.14.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99" +}) + +test:do_execsql_test( + "1.14.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99" +}) + +test:do_execsql_test( + "1.14.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39" +}) + +test:do_execsql_test( + "1.14.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.14.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7" +}) + +test:do_execsql_test( + "1.14.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.14.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.14.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.15.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 95, 95, 84, 84, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, + 83, 83 +}) + +test:do_execsql_test( + "1.15.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7 +}) + +test:do_execsql_test( + "1.15.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.15.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.15.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.15.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.15.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.15.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.15.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.15.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.15.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.15.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.15.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.15.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.15.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.15.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.15.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.15.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.15.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.15.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, +-- 223, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, +-- 210, 210, 210, 210, 210, 210, 210, 210, 210, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 212, 212, 212, 212, 212, 212, 212, +-- 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, +-- 212, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 232, 232, 232, 232, 232, 232, 232, +-- 232, 232, 232, 232, 232, 232, 232, 232, 232, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.15.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.15.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, +-- 240, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, +-- 263, 263, 263, 263, 263, 263, 263, 263, 263, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 171, 171, 171, 171, 171, 171, 171, +-- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 226, 226, 226, 226, 226, 226, 226, +-- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, +-- 226, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, +-- 124, 124, 124, 124, 124, 124, 124, 198, 198, 198, 198, 198, 198, 198, +-- 198, 198, 198, 198, 198, 198, 198, 198, 198, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.15.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.15.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.15.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 81, 86, 81, 46, 1, 67, 93, 26, 95, 80, 65, 56, 85, 30, 12, 81, 35, +-- 89, 97, 31, 31, 85, 40, 96, 4, 73, 84, 9, 91, 73, 12, 5, 56, 24, 85, +-- 49, 96, 75, 53, 61, 8, 8, 1, 55, 34, 43, 59, 80, 35, 15, 78, 35, 56, +-- 70, 76, 59, 51, 75, 63, 26, 53, 5, 89, 15, 21, 5, 73, 33, 29, 74, 66, +-- 12, 26, 58, 4, 12, 31, 35, 9, 87, 73, 55, 59, 53, 62, 73, 23, 62, 33, +-- 90, 13, 90, 9, 10, 66, 5, 58, 44, 38, 58, 22, 33, 37, 2, 73, 36, 31, +-- 72, 30, 47, 73, 15, 96, 70, 59, 90, "", 7, 21, 83, "", 47, 90, 55, 36, +-- 66, "", 50, "", 84, 30, "", "", 34, 77, 74, "", 58, "", 13, "", 82, +-- 93, 69, 14, 62, 44, "", "", 30, "", 83, 93, "", "", "", 84, "", "", +-- "", "", 14, 30, 82, 34, 34, 3, "", "", "", "", "", 84, "", "", "", 99, +-- "", "", "", "", "", "", "", 58, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 61, "", "", "", 81, "", 91, "", "", "", "", "", "", "", +-- "", "", 12, "", 72, "", "", "", 22, "", 82, "", 12, "", "", "", "", +-- "", "", "", "", "", "", "", "", 43, "", "", "", "", "", 33, "", "", +-- "", "", "", "", "", 33, "", "", "", "", "", "", "", "", 4, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 75, +-- "", "", "", "", "", "", 15, "", "", "", "", "", "", "", "", "", "", +-- "", 16, "", 26, 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", 37, "", "", "", "", "", 47, "", +-- "", "", "", "", "", "", "", "", "", 98, "", "", "", "", "", 58, "", +-- 38, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 59, "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 1, 1, 2, 2, 3, 4, 6, 7, 8, 8, 8, 9, 9, 10, 11, 12, 12, 13, +-- 14, 15, 15, 16, 16, 17, 19, 21, 22, 22, 23, 23, 24, 25, 26, 27, 29, +-- 29, 30, 30, 31, 32, 33, 33, 33, 34, 34, 34, 35, 36, 36, 36, 37, 38, +-- 38, 39, 39, 40, 41, 41, 43, 44, 44, 46, 46, 47, 47, 47, 49, 50, 52, +-- 53, 55, 55, 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 62, 62, 63, 65, +-- 65, 66, 68, 69, 72, 72, 73, 73, 74, 74, 74, 75, 76, 77, 78, 80, 81, +-- 81, 82, 83, 84, 84, 85, 85, 85, 86, 87, 88, 89, 89, 90, 90, 91, 91, +-- 91, 93, 93, 95, 95, 95, 96, 97, 98, 99, 99, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 1, 51, +-- 51, 91, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 2, 2, 62, 62, 72, "", "", "", "", "", "", "", "", "", "", +-- "", 13, 13, 43, 43, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 85, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 66, +-- 66, 66, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 37, 37, 87, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 58, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 39, 39, 89, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 74, 32, 31, 84, 1, 14, 53, 3, 84, 44, 2, 93, 91, 32, 52, 34, 25, +-- 33, 95, 65, 61, 35, 3, 74, 81, 2, 91, 33, 13, 23, 93, 12, 5, 46, 6, +-- 82, 91, 44, 2, 73, 43, 84, 22, 95, 82, 63, 12, 75, 15, 93, 35, 85, 36, +-- 33, 94, 77, 83, 7, 65, 43, 85, 64, 95, 46, 96, 33, 26, 36, 65, 17, 74, +-- 74, 55, 33, 25, 47, 7, 47, 56, 7, 87, 55, 4, 58, 28, 47, 15, 95, 56, +-- 7, 87, 55, 46, 58, 58, 26, 56, 17, 16, 99, 29, 7, 75, 16, 38, 99, 58, +-- 98, 36, 15, 6, "", 8, 89, 9, 9, 56, "", 97, "", 78, 16, 28, 26, 36, +-- "", 59, 39, 99, 27, 78, "", "", "", 37, 27, 98, "", 88, 8, "", 28, "", +-- "", "", 49, 37, 29, "", 59, "", "", 47, "", 69, 39, 59, 99, 8, 78, 9, +-- "", "", 58, 49, "", "", "", "", 58, "", 38, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", 59, "", "", "", "", "", "", "", "", +-- "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, +-- 39, 62, 91, 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, +-- 23, 16, 16, 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, +-- 32, 56, 3, 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, +-- 75, 36, 89, 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, +-- 80, 84, 72, 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, +-- 5, 73, 11, 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, +-- 8, 11, 49, 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, +-- 70, 59, 19, 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, +-- 75, 64, 81, 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, +-- 3, 95, 69, 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, +-- 83 +-- }) + +-- test:do_execsql_test( +-- "1.15.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 41, 41, 41, 41, +-- 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, +-- 2, 2, 2, 2, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 23, 23, +-- 23, 23, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, +-- 93, 23, 13, 74, 74, 74, 74, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, +-- 34, 44, 74, 64, 14, 34, 65, 65, 65, 65, 65, 35, 85, 85, 55, 15, 25, +-- 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, 26, 26, 26, 26, 26, 96, 46, 6, +-- 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 97, 97, 97, +-- 97, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 38, +-- 38, 38, 38, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 99, 99, 99, +-- 99, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, +-- 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.15.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, +-- 9, 10, 11, 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, +-- 20, 21, 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, +-- 29, 29, 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, +-- 35, 35, 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, +-- 42, 43, 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, +-- 55, 55, 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, +-- 62, 62, 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, +-- 73, 74, 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, +-- 81, 81, 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, +-- 89, 89, 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, +-- 96, 96, 96, 97, 97, 98 +-- }) + +-- test:do_execsql_test( +-- "1.15.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 1, 1, 1, 1, 1, +-- 1, 11, 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 2, +-- 2, 2, 2, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 3, 3, 3, 3, +-- 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, 73, +-- 73, 4, 4, 4, 4, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, 74, 74, +-- 74, 74, 84, 5, 5, 5, 5, 5, 15, 15, 15, 25, 35, 35, 55, 55, 65, 65, 65, +-- 75, 75, 75, 85, 85, 6, 6, 6, 6, 6, 16, 16, 16, 26, 26, 26, 36, 36, 36, +-- 36, 46, 46, 56, 56, 56, 66, 76, 7, 7, 7, 7, 7, 7, 7, 17, 27, 27, 37, +-- 37, 47, 47, 47, 47, 57, 67, 77, 77, 8, 8, 8, 8, 8, 8, 8, 28, 38, 38, +-- 58, 58, 58, 58, 68, 78, 9, 9, 9, 9, 9, 9, 9, 19, 29, 29, 29, 39, 39, +-- 39, 49, 59, 59, 59, 59, 69, 79, 89, 89 +-- }) + +-- test:do_execsql_test( +-- "1.15.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 0, 0, 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, +-- 41, 81, 91, 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, +-- 81, 91, 91, 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, +-- 62, 52, 82, 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, +-- 33, 93, 23, 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, +-- 34, 34, 44, 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, +-- 25, 75, 95, 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, +-- 6, 46, 16, 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, +-- 36, 97, 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, +-- 27, 17, 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, +-- 38, 99, 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, +-- 39, 9 +-- }) + +-- test:do_execsql_test( +-- "1.15.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.15.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.15.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.15.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.15.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.15.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.15.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.39.44.58.30.38.34.83.27.82.17.7", "39.44.58.30.38.34.83.27.82.17.7", + "44.58.30.38.34.83.27.82.17.7", "58.30.38.34.83.27.82.17.7", + "30.38.34.83.27.82.17.7", "38.34.83.27.82.17.7", "34.83.27.82.17.7", + "83.27.82.17.7" +}) + +test:do_execsql_test( + "1.15.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "40.30.80.20.90.60.70.80.90.30.50.10.30", + "30.80.20.90.60.70.80.90.30.50.10.30", + "80.20.90.60.70.80.90.30.50.10.30", "20.90.60.70.80.90.30.50.10.30", + "90.60.70.80.90.30.50.10.30", "60.70.80.90.30.50.10.30", + "70.80.90.30.50.10.30", "80.90.30.50.10.30", "90.30.50.10.30", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.21.11.51.41.31.31.11.81.91.91.21", "21.11.51.41.31.31.11.81.91.91.21", + "11.51.41.31.31.11.81.91.91.21", "51.41.31.31.11.81.91.91.21", + "41.31.31.11.81.91.91.21", "31.31.11.81.91.91.21", "31.11.81.91.91.21", + "11.81.91.91.21", "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "22.42.2.72.12.22.2.72.72.12.62.52.82", + "42.2.72.12.22.2.72.72.12.62.52.82", "2.72.12.22.2.72.72.12.62.52.82", + "72.12.22.2.72.72.12.62.52.82", "12.22.2.72.72.12.62.52.82", + "22.2.72.72.12.62.52.82", "2.72.72.12.62.52.82", "72.72.12.62.52.82", + "72.12.62.52.82", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "63.73.13.73.73.33.93.23.13.33.3.33.83", + "73.13.73.73.33.93.23.13.33.3.33.83", "13.73.73.33.93.23.13.33.3.33.83", + "73.73.33.93.23.13.33.3.33.83", "73.33.93.23.13.33.3.33.83", + "33.93.23.13.33.3.33.83", "93.23.13.33.3.33.83", "23.13.33.3.33.83", + "13.33.3.33.83", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.34.34.44.74.64.14.34.84.84.44.34", + "34.34.44.74.64.14.34.84.84.44.34", "34.44.74.64.14.34.84.84.44.34", + "44.74.64.14.34.84.84.44.34", "74.64.14.34.84.84.44.34", + "64.14.34.84.84.44.34", "14.34.84.84.44.34", "34.84.84.44.34", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.65.35.5.15.95.55.75.85.75.15.95", "65.35.5.15.95.55.75.85.75.15.95", + "35.5.15.95.55.75.85.75.15.95", "5.15.95.55.75.85.75.15.95", + "15.95.55.75.85.75.15.95", "95.55.75.85.75.15.95", "55.75.85.75.15.95", + "75.85.75.15.95", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.16.36.76.96.96.26.26.36.66.36.36", + "16.36.76.96.96.26.26.36.66.36.36", "36.76.96.96.26.26.36.66.36.36", + "76.96.96.26.26.36.66.36.36", "96.96.26.26.36.66.36.36", + "96.26.26.36.66.36.36", "26.26.36.66.36.36", "26.36.66.36.36", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.87.37.87.77.7.57.47.47.37.27.17.7", + "87.37.87.77.7.57.47.47.37.27.17.7", "37.87.77.7.57.47.47.37.27.17.7", + "87.77.7.57.47.47.37.27.17.7", "77.7.57.47.47.37.27.17.7", + "7.57.47.47.37.27.17.7", "57.47.47.37.27.17.7", "47.47.37.27.17.7", + "47.37.27.17.7", "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "8.28.98.78.58.98.8.88.8.58.58.58.38", + "28.98.78.58.98.8.88.8.58.58.58.38", "98.78.58.98.8.88.8.58.58.58.38", + "78.58.98.8.88.8.58.58.58.38", "58.98.8.88.8.58.58.58.38", + "98.8.88.8.58.58.58.38", "8.88.8.58.58.58.38", "88.8.58.58.58.38", + "8.58.58.58.38", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39" +}) + +test:do_execsql_test( + "1.15.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.96.96.96.97.97.98.98.99.99.99", + "95.96.96.96.97.97.98.98.99.99.99", "96.96.96.97.97.98.98.99.99.99", + "96.96.97.97.98.98.99.99.99", "96.97.97.98.98.99.99.99", + "97.97.98.98.99.99.99", "97.98.98.99.99.99", "98.98.99.99.99" +}) + +test:do_execsql_test( + "1.15.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "20.30.30.30.40.50.60.70.80.80.90.90.90", + "30.30.30.40.50.60.70.80.80.90.90.90", + "30.30.40.50.60.70.80.80.90.90.90", "30.40.50.60.70.80.80.90.90.90", + "40.50.60.70.80.80.90.90.90", "50.60.70.80.80.90.90.90", + "60.70.80.80.90.90.90", "70.80.80.90.90.90", "80.80.90.90.90", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.51.61.61.81.81.81.91.91.91.91.91", + "51.61.61.81.81.81.91.91.91.91.91", "61.61.81.81.81.91.91.91.91.91", + "61.81.81.81.91.91.91.91.91", "81.81.81.91.91.91.91.91", + "81.81.91.91.91.91.91", "81.91.91.91.91.91", "91.91.91.91.91", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.22.22.32.42.52.62.62.72.72.72.82", + "22.22.32.42.52.62.62.72.72.72.82", "22.32.42.52.62.62.72.72.72.82", + "32.42.52.62.62.72.72.72.82", "42.52.62.62.72.72.72.82", + "52.62.62.72.72.72.82", "62.62.72.72.72.82", "62.72.72.72.82", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.43.43.53.63.73.73.73.83.93.93.93", + "43.43.53.63.73.73.73.83.93.93.93", "43.53.63.73.73.73.83.93.93.93", + "53.63.73.73.73.83.93.93.93", "63.73.73.73.83.93.93.93", + "73.73.73.83.93.93.93", "73.73.83.93.93.93", "73.83.93.93.93", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.54.64.74.74.74.74.74.84.84.84.84.94", + "54.64.74.74.74.74.74.84.84.84.84.94", + "64.74.74.74.74.74.84.84.84.84.94", "74.74.74.74.74.84.84.84.84.94", + "74.74.74.74.84.84.84.84.94", "74.74.74.84.84.84.84.94", + "74.74.84.84.84.84.94", "74.84.84.84.84.94", "84.84.84.84.94", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.75.75.75.85.85.85.95.95.95", "65.75.75.75.85.85.85.95.95.95", + "75.75.75.85.85.85.95.95.95", "75.75.85.85.85.95.95.95", + "75.85.85.85.95.95.95", "85.85.85.95.95.95", "85.85.95.95.95", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.46.46.56.56.56.66.76.86.96.96.96", + "46.46.56.56.56.66.76.86.96.96.96", "46.56.56.56.66.76.86.96.96.96", + "56.56.56.66.76.86.96.96.96", "56.56.66.76.86.96.96.96", + "56.66.76.86.96.96.96", "66.76.86.96.96.96", "76.86.96.96.96", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.57.67.77.77.87.87.97.97", "47.47.57.67.77.77.87.87.97.97", + "47.57.67.77.77.87.87.97.97", "57.67.77.77.87.87.97.97", + "67.77.77.87.87.97.97", "77.77.87.87.97.97", "77.87.87.97.97", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "28.38.38.58.58.58.58.68.78.78.88.98.98", + "38.38.58.58.58.58.68.78.78.88.98.98", + "38.58.58.58.58.68.78.78.88.98.98", "58.58.58.58.68.78.78.88.98.98", + "58.58.58.68.78.78.88.98.98", "58.58.68.78.78.88.98.98", + "58.68.78.78.88.98.98", "68.78.78.88.98.98", "78.78.88.98.98", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "49.59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.69.79.89.89.89.99.99.99", "59.59.69.79.89.89.89.99.99.99", + "59.69.79.89.89.89.99.99.99", "69.79.89.89.89.99.99.99", + "79.89.89.89.99.99.99", "89.89.89.99.99.99", "89.89.99.99.99" +}) + +test:do_execsql_test( + "1.15.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39" +}) + +test:do_execsql_test( + "1.15.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.15.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.69.52.50.10.33.39.58.38.83.82.7", "3.69.52.50.10.33.39.58.38.83.82.7", + "69.52.50.10.33.39.58.38.83.82.7", "69.52.50.10.33.39.58.38.83.82.7", + "52.50.10.33.39.58.38.83.82.7", "52.50.10.33.39.58.38.83.82.7", + "50.10.33.39.58.38.83.82.7", "50.10.33.39.58.38.83.82.7", + "10.33.39.58.38.83.82.7", "10.33.39.58.38.83.82.7", + "33.39.58.38.83.82.7", "33.39.58.38.83.82.7", "39.58.38.83.82.7", + "39.58.38.83.82.7", "58.38.83.82.7", "58.38.83.82.7", "38.83.82.7", + "38.83.82.7", "83.82.7", "83.82.7" +}) + +test:do_execsql_test( + "1.15.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.15.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.15.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 PRECEDING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "78.72.98.87.73.96.74.90.75.91.69.39.7", + "72.98.87.73.96.74.90.75.91.69.39.7", "98.87.73.96.74.90.75.91.69.39.7", + "87.73.96.74.90.75.91.69.39.7", "73.96.74.90.75.91.69.39.7", + "96.74.90.75.91.69.39.7", "74.90.75.91.69.39.7", "90.75.91.69.39.7", + "75.91.69.39.7", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "89.29.9.21.12.88.55.70.58.81.91.52.58", + "29.9.21.12.88.55.70.58.81.91.52.58", "9.21.12.88.55.70.58.81.91.52.58", + "21.12.88.55.70.58.81.91.52.58", "12.88.55.70.58.81.91.52.58", + "88.55.70.58.81.91.52.58", "55.70.58.81.91.52.58", "70.58.81.91.52.58", + "58.81.91.52.58", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "76.63.73.65.20.8.77.19.9.23.15.50.38", + "63.73.65.20.8.77.19.9.23.15.50.38", "73.65.20.8.77.19.9.23.15.50.38", + "65.20.8.77.19.9.23.15.50.38", "20.8.77.19.9.23.15.50.38", + "8.77.19.9.23.15.50.38", "77.19.9.23.15.50.38", "19.9.23.15.50.38", + "9.23.15.50.38", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "4.87.65.5.31.49.2.26.72.13.36.10.83", + "87.65.5.31.49.2.26.72.13.36.10.83", "65.5.31.49.2.26.72.13.36.10.83", + "5.31.49.2.26.72.13.36.10.83", "31.49.2.26.72.13.36.10.83", + "49.2.26.72.13.36.10.83", "2.26.72.13.36.10.83", "26.72.13.36.10.83", + "72.13.36.10.83", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "42.80.58.11.95.90.85.47.33.14.3.33.82", + "80.58.11.95.90.85.47.33.14.3.33.82", "58.11.95.90.85.47.33.14.3.33.82", + "11.95.90.85.47.33.14.3.33.82", "95.90.85.47.33.14.3.33.82", + "90.85.47.33.14.3.33.82", "85.47.33.14.3.33.82", "47.33.14.3.33.82", + "33.14.3.33.82", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.16.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 95, 95, 84, + 84, 84, 84, 84, 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, + 17, 7 +}) + +test:do_execsql_test( + "1.16.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, 7, 7, 7, 7 +}) + +test:do_execsql_test( + "1.16.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.16.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.16.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.16.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.16.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.16.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.16.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.16.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.16.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.16.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.16.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.16.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.16.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.16.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.16.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.16.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.16.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207 +-- }) + +-- test:do_execsql_test( +-- "1.16.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, +-- 223, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, +-- 210, 210, 210, 210, 210, 210, 210, 210, 210, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 212, 212, 212, 212, 212, 212, 212, +-- 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, +-- 212, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 232, 232, 232, 232, 232, 232, 232, +-- 232, 232, 232, 232, 232, 232, 232, 232, 232, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.16.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.16.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, +-- 240, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, +-- 263, 263, 263, 263, 263, 263, 263, 263, 263, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 171, 171, 171, 171, 171, 171, 171, +-- 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 226, 226, 226, 226, 226, 226, 226, +-- 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, +-- 226, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, +-- 124, 124, 124, 124, 124, 124, 124, 198, 198, 198, 198, 198, 198, 198, +-- 198, 198, 198, 198, 198, 198, 198, 198, 198, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276 +-- }) + +-- test:do_execsql_test( +-- "1.16.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229 +-- }) + +-- test:do_execsql_test( +-- "1.16.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 1, 76, 78, 33, 11, 108, 52, 83, 79, 65, 26, 70, 103, 80, 36, 116, 51, +-- 52, 128, 117, 71, 63, 84, 109, 78, 147, 88, 121, 106, 124, 85, 107, +-- 171, 150, 80, 171, 120, 109, 158, 87, 168, 173, 162, 156, 195, 198, +-- 177, 124, 121, 134, 141, 210, 157, 132, 161, 218, 226, 191, 179, 138, +-- 214, 212, 172, 173, 229, 240, 187, 210, 227, 228, 223, 225, 179, 182, +-- 231, 207, 209, 212, 239, 234, 213, 234, 269, 196, 271, 235, 250, 223, +-- 232, 229, 280, 44, 28, 105, 41, 99, 92, 72, 55, 109, 120, 119, 50, +-- 124, 96, 59, 124, 110, 57, 130, 103, 74, 87, 48, 105, 136, 131, 133, +-- 92, 109, 57, 146, 113, 74, 150, 87, 110, 65, 110, 145, 161, 156, 114, +-- 111, 136, 147, 173, 124, 132, 101, 154, 167, 190, 161, 110, 102, 123, +-- 169, 140, 111, 180, 119, 160, 197, 152, 146, 147, 132, 213, 193, 200, +-- 136, 175, 188, 187, 208, 211, 144, 223, 196, 170, 202, 163, 184, 195, +-- 200, 163, 191, 252, 235, 243, 172, 187, 202, 179, 261, 263, 206, 189, +-- 276, 181, 274, 249, 221, 210, 229, 279, 224, 216, 207 +-- }) + +-- test:do_execsql_test( +-- "1.16.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 41, 74, 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, +-- 46, 6, 99, 97, 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, +-- 93, 65, 35, 47, 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, +-- 91, 22, 90, 55, 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, +-- 98, 76, 81, 4, 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, +-- 41, 9, 61, 73, 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, +-- 51, 87, 41, 12, 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, +-- 34, 90, 59, 96, 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, +-- 39, 26, 26, 47, 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, +-- 9, 23, 37, 13, 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, +-- 58, 52, 30, 50, 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, 83, 27, +-- 82, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.16.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.16.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 1, 2, 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 11, +-- 11, 12, 12, 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, +-- 56, 56, 56, 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, 62, 62, +-- 63, 64, 65, 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, 73, 74, +-- 74, 74, 74, 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, +-- 81, 82, 83, 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, 89, 89, +-- 90, 90, 90, 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, 96, 96, +-- 96, 97, 97, 98, 98, 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.16.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 10, 20, 30, 30, 30, 40, 50, 60, 70, 80, 80, 90, 90, 90, 1, 1, 11, +-- 11, 21, 21, 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 91, 91, +-- 91, 91, 2, 2, 2, 12, 12, 12, 22, 22, 32, 42, 52, 62, 62, 72, 72, 72, +-- 82, 3, 3, 13, 13, 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, +-- 73, 73, 83, 93, 93, 93, 4, 14, 24, 34, 34, 34, 34, 44, 44, 54, 64, 74, +-- 74, 74, 74, 74, 84, 84, 84, 84, 94, 5, 15, 15, 15, 25, 35, 35, 55, 55, +-- 65, 65, 65, 75, 75, 75, 85, 85, 85, 95, 95, 95, 6, 16, 16, 16, 26, 26, +-- 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, 86, 96, 96, 96, 7, 7, +-- 7, 17, 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, 87, 87, 97, 97, +-- 8, 8, 8, 28, 38, 38, 58, 58, 58, 58, 68, 78, 78, 88, 98, 98, 9, 9, 9, +-- 19, 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, 59, 69, 79, 89, 89, 89, +-- 99, 99, 99 +-- }) + +-- test:do_execsql_test( +-- "1.16.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 90, 40, 30, 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, +-- 61, 91, 91, 1, 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, +-- 21, 2, 62, 12, 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, +-- 23, 33, 93, 23, 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, +-- 13, 33, 3, 33, 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, +-- 74, 64, 14, 34, 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, +-- 65, 65, 35, 5, 15, 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, +-- 16, 86, 56, 56, 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, +-- 27, 97, 67, 77, 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, +-- 7, 38, 68, 78, 8, 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, +-- 89, 59, 39, 99, 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, +-- 9, 99, 69, 39 +-- }) + +-- test:do_execsql_test( +-- "1.16.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 74, 74, 26, 2, 96, 38, 68, 62, 46, 6, 46, 78, 54, 8, 84, 16, 16, +-- 86, 74, 24, 12, 32, 56, 22, 90, 28, 56, 40, 56, 16, 36, 98, 76, 4, 94, +-- 42, 30, 78, 2, 80, 84, 72, 58, 96, 98, 74, 12, 8, 20, 22, 88, 34, 8, +-- 34, 90, 96, 60, 44, 2, 74, 70, 26, 26, 80, 90, 36, 58, 72, 72, 66, 64, +-- 12, 14, 62, 36, 34, 36, 58, 52, 30, 50, 84, 10, 84, 44, 58, 30, 38, +-- 34, 82, 41, 23, 99, 33, 89, 81, 59, 39, 91, 99, 97, 27, 97, 67, 29, +-- 93, 77, 23, 93, 65, 35, 47, 7, 61, 91, 85, 85, 43, 59, 3, 91, 55, 15, +-- 89, 25, 47, 1, 43, 75, 89, 81, 33, 29, 53, 63, 87, 37, 41, 9, 61, 73, +-- 95, 65, 13, 1, 21, 65, 35, 5, 73, 11, 51, 87, 41, 31, 31, 15, 95, 73, +-- 79, 11, 49, 59, 55, 75, 77, 7, 85, 57, 29, 59, 19, 39, 47, 47, 9, 33, +-- 93, 75, 81, 9, 23, 37, 13, 91, 91, 33, 15, 99, 3, 95, 69, 33, 21, 39, +-- 83, 27, 17, 7 +-- }) + +-- test:do_execsql_test( +-- "1.16.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.16.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.16.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.16.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.16.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.16.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.39.44.58.30.38.34.83.27.82.17.7", "39.44.58.30.38.34.83.27.82.17.7", + "44.58.30.38.34.83.27.82.17.7", "58.30.38.34.83.27.82.17.7", + "30.38.34.83.27.82.17.7", "38.34.83.27.82.17.7", "34.83.27.82.17.7", + "83.27.82.17.7", "27.82.17.7", "82.17.7", "17.7", "7" +}) + +test:do_execsql_test( + "1.16.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "90.40.30.80.20.90.60.70.80.90.30.50.10.30", + "40.30.80.20.90.60.70.80.90.30.50.10.30", + "30.80.20.90.60.70.80.90.30.50.10.30", + "80.20.90.60.70.80.90.30.50.10.30", "20.90.60.70.80.90.30.50.10.30", + "90.60.70.80.90.30.50.10.30", "60.70.80.90.30.50.10.30", + "70.80.90.30.50.10.30", "80.90.30.50.10.30", "90.30.50.10.30", + "30.50.10.30", "50.10.30", "10.30", "30", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.21.11.51.41.31.31.11.81.91.91.21", "21.11.51.41.31.31.11.81.91.91.21", + "11.51.41.31.31.11.81.91.91.21", "51.41.31.31.11.81.91.91.21", + "41.31.31.11.81.91.91.21", "31.31.11.81.91.91.21", "31.11.81.91.91.21", + "11.81.91.91.21", "81.91.91.21", "91.91.21", "91.21", "21", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "12.32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "32.22.42.2.72.12.22.2.72.72.12.62.52.82", + "22.42.2.72.12.22.2.72.72.12.62.52.82", + "42.2.72.12.22.2.72.72.12.62.52.82", "2.72.12.22.2.72.72.12.62.52.82", + "72.12.22.2.72.72.12.62.52.82", "12.22.2.72.72.12.62.52.82", + "22.2.72.72.12.62.52.82", "2.72.72.12.62.52.82", "72.72.12.62.52.82", + "72.12.62.52.82", "12.62.52.82", "62.52.82", "52.82", "82", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "63.73.13.73.73.33.93.23.13.33.3.33.83", + "73.13.73.73.33.93.23.13.33.3.33.83", "13.73.73.33.93.23.13.33.3.33.83", + "73.73.33.93.23.13.33.3.33.83", "73.33.93.23.13.33.3.33.83", + "33.93.23.13.33.3.33.83", "93.23.13.33.3.33.83", "23.13.33.3.33.83", + "13.33.3.33.83", "33.3.33.83", "3.33.83", "33.83", "83", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.34.34.44.74.64.14.34.84.84.44.34", + "34.34.44.74.64.14.34.84.84.44.34", "34.44.74.64.14.34.84.84.44.34", + "44.74.64.14.34.84.84.44.34", "74.64.14.34.84.84.44.34", + "64.14.34.84.84.44.34", "14.34.84.84.44.34", "34.84.84.44.34", + "84.84.44.34", "84.44.34", "44.34", "34", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.65.35.5.15.95.55.75.85.75.15.95", "65.35.5.15.95.55.75.85.75.15.95", + "35.5.15.95.55.75.85.75.15.95", "5.15.95.55.75.85.75.15.95", + "15.95.55.75.85.75.15.95", "95.55.75.85.75.15.95", "55.75.85.75.15.95", + "75.85.75.15.95", "85.75.15.95", "75.15.95", "15.95", "95", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.16.36.76.96.96.26.26.36.66.36.36", + "16.36.76.96.96.26.26.36.66.36.36", "36.76.96.96.26.26.36.66.36.36", + "76.96.96.26.26.36.66.36.36", "96.96.26.26.36.66.36.36", + "96.26.26.36.66.36.36", "26.26.36.66.36.36", "26.36.66.36.36", + "36.66.36.36", "66.36.36", "36.36", "36", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.87.37.87.77.7.57.47.47.37.27.17.7", + "87.37.87.77.7.57.47.47.37.27.17.7", "37.87.77.7.57.47.47.37.27.17.7", + "87.77.7.57.47.47.37.27.17.7", "77.7.57.47.47.37.27.17.7", + "7.57.47.47.37.27.17.7", "57.47.47.37.27.17.7", "47.47.37.27.17.7", + "47.37.27.17.7", "37.27.17.7", "27.17.7", "17.7", "7", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "68.78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "78.8.28.98.78.58.98.8.88.8.58.58.58.38", + "8.28.98.78.58.98.8.88.8.58.58.58.38", + "28.98.78.58.98.8.88.8.58.58.58.38", "98.78.58.98.8.88.8.58.58.58.38", + "78.58.98.8.88.8.58.58.58.38", "58.98.8.88.8.58.58.58.38", + "98.8.88.8.58.58.58.38", "8.88.8.58.58.58.38", "88.8.58.58.58.38", + "8.58.58.58.38", "58.58.58.38", "58.58.38", "58.38", "38", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39", "9.99.69.39", "99.69.39", "69.39", "39" +}) + +test:do_execsql_test( + "1.16.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "1.1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "1.2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.96.96.96.97.97.98.98.99.99.99", + "95.96.96.96.97.97.98.98.99.99.99", "96.96.96.97.97.98.98.99.99.99", + "96.96.97.97.98.98.99.99.99", "96.97.97.98.98.99.99.99", + "97.97.98.98.99.99.99", "97.98.98.99.99.99", "98.98.99.99.99", + "98.99.99.99", "99.99.99", "99.99", "99" +}) + +test:do_execsql_test( + "1.16.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "10.20.30.30.30.40.50.60.70.80.80.90.90.90", + "20.30.30.30.40.50.60.70.80.80.90.90.90", + "30.30.30.40.50.60.70.80.80.90.90.90", + "30.30.40.50.60.70.80.80.90.90.90", "30.40.50.60.70.80.80.90.90.90", + "40.50.60.70.80.80.90.90.90", "50.60.70.80.80.90.90.90", + "60.70.80.80.90.90.90", "70.80.80.90.90.90", "80.80.90.90.90", + "80.90.90.90", "90.90.90", "90.90", "90", + "1.1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "1.11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "11.11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "11.21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.51.61.61.81.81.81.91.91.91.91.91", + "51.61.61.81.81.81.91.91.91.91.91", "61.61.81.81.81.91.91.91.91.91", + "61.81.81.81.91.91.91.91.91", "81.81.81.91.91.91.91.91", + "81.81.91.91.91.91.91", "81.91.91.91.91.91", "91.91.91.91.91", + "91.91.91.91", "91.91.91", "91.91", "91", + "2.2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "2.12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.22.22.32.42.52.62.62.72.72.72.82", + "22.22.32.42.52.62.62.72.72.72.82", "22.32.42.52.62.62.72.72.72.82", + "32.42.52.62.62.72.72.72.82", "42.52.62.62.72.72.72.82", + "52.62.62.72.72.72.82", "62.62.72.72.72.82", "62.72.72.72.82", + "72.72.72.82", "72.72.82", "72.82", "82", + "3.3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "3.13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "13.13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "13.23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.43.43.53.63.73.73.73.83.93.93.93", + "43.43.53.63.73.73.73.83.93.93.93", "43.53.63.73.73.73.83.93.93.93", + "53.63.73.73.73.83.93.93.93", "63.73.73.73.83.93.93.93", + "73.73.73.83.93.93.93", "73.73.83.93.93.93", "73.83.93.93.93", + "83.93.93.93", "93.93.93", "93.93", "93", + "4.14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "14.24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "24.34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.54.64.74.74.74.74.74.84.84.84.84.94", + "54.64.74.74.74.74.74.84.84.84.84.94", + "64.74.74.74.74.74.84.84.84.84.94", "74.74.74.74.74.84.84.84.84.94", + "74.74.74.74.84.84.84.84.94", "74.74.74.84.84.84.84.94", + "74.74.84.84.84.84.94", "74.84.84.84.84.94", "84.84.84.84.94", + "84.84.84.94", "84.84.94", "84.94", "94", + "5.15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "15.25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.75.75.75.85.85.85.95.95.95", "65.75.75.75.85.85.85.95.95.95", + "75.75.75.85.85.85.95.95.95", "75.75.85.85.85.95.95.95", + "75.85.85.85.95.95.95", "85.85.85.95.95.95", "85.85.95.95.95", + "85.95.95.95", "95.95.95", "95.95", "95", + "6.16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "16.26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.46.46.56.56.56.66.76.86.96.96.96", + "46.46.56.56.56.66.76.86.96.96.96", "46.56.56.56.66.76.86.96.96.96", + "56.56.56.66.76.86.96.96.96", "56.56.66.76.86.96.96.96", + "56.66.76.86.96.96.96", "66.76.86.96.96.96", "76.86.96.96.96", + "86.96.96.96", "96.96.96", "96.96", "96", + "7.7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "7.17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "17.27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.57.67.77.77.87.87.97.97", "47.47.57.67.77.77.87.87.97.97", + "47.57.67.77.77.87.87.97.97", "57.67.77.77.87.87.97.97", + "67.77.77.87.87.97.97", "77.77.87.87.97.97", "77.87.87.97.97", + "87.87.97.97", "87.97.97", "97.97", "97", + "8.8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "8.28.38.38.58.58.58.58.68.78.78.88.98.98", + "28.38.38.58.58.58.58.68.78.78.88.98.98", + "38.38.58.58.58.58.68.78.78.88.98.98", + "38.58.58.58.58.68.78.78.88.98.98", "58.58.58.58.68.78.78.88.98.98", + "58.58.58.68.78.78.88.98.98", "58.58.68.78.78.88.98.98", + "58.68.78.78.88.98.98", "68.78.78.88.98.98", "78.78.88.98.98", + "78.88.98.98", "88.98.98", "98.98", "98", + "9.9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "9.19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "19.29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "49.59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.69.79.89.89.89.99.99.99", "59.59.69.79.89.89.89.99.99.99", + "59.69.79.89.89.89.99.99.99", "69.79.89.89.89.99.99.99", + "79.89.89.89.99.99.99", "89.89.89.99.99.99", "89.89.99.99.99", + "89.99.99.99", "99.99.99", "99.99", "99" +}) + +test:do_execsql_test( + "1.16.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "0.90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "40.30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39", "9.99.69.39", "99.69.39", "69.39", "39" +}) + +test:do_execsql_test( + "1.16.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "0", "74", "74", "26", "2", "96", "38", "68", "62", "46", "6", "46", + "78", "54", "8", "84", "16", "16", "86", "74", "24", "12", "32", "56", + "22", "90", "28", "56", "40", "56", "16", "36", "98", "76", "4", "94", + "42", "30", "78", "2", "80", "84", "72", "58", "96", "98", "74", "12", + "8", "20", "22", "88", "34", "8", "34", "90", "96", "60", "44", "2", + "74", "70", "26", "26", "80", "90", "36", "58", "72", "72", "66", "64", + "12", "14", "62", "36", "34", "36", "58", "52", "30", "50", "84", "10", + "84", "44", "58", "30", "38", "34", "82", "41", "23", "99", "33", "89", + "81", "59", "39", "91", "99", "97", "27", "97", "67", "29", "93", "77", + "23", "93", "65", "35", "47", "7", "61", "91", "85", "85", "43", "59", + "3", "91", "55", "15", "89", "25", "47", "1", "43", "75", "89", "81", + "33", "29", "53", "63", "87", "37", "41", "9", "61", "73", "95", "65", + "13", "1", "21", "65", "35", "5", "73", "11", "51", "87", "41", "31", + "31", "15", "95", "73", "79", "11", "49", "59", "55", "75", "77", "7", + "85", "57", "29", "59", "19", "39", "47", "47", "9", "33", "93", "75", + "81", "9", "23", "37", "13", "91", "91", "33", "15", "99", "3", "95", + "69", "33", "21", "39", "83", "27", "17", "7" +}) + +test:do_execsql_test( + "1.16.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.69.52.50.10.33.39.58.38.83.82.7", "3.69.52.50.10.33.39.58.38.83.82.7", + "69.52.50.10.33.39.58.38.83.82.7", "69.52.50.10.33.39.58.38.83.82.7", + "52.50.10.33.39.58.38.83.82.7", "52.50.10.33.39.58.38.83.82.7", + "50.10.33.39.58.38.83.82.7", "50.10.33.39.58.38.83.82.7", + "10.33.39.58.38.83.82.7", "10.33.39.58.38.83.82.7", + "33.39.58.38.83.82.7", "33.39.58.38.83.82.7", "39.58.38.83.82.7", + "39.58.38.83.82.7", "58.38.83.82.7", "58.38.83.82.7", "38.83.82.7", + "38.83.82.7", "83.82.7", "83.82.7", "82.7", "82.7", "7", "7" +}) + +test:do_execsql_test( + "1.16.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.16.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.16.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN CURRENT ROW +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "89.6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "6.29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "29.47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "47.59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "78.72.98.87.73.96.74.90.75.91.69.39.7", + "72.98.87.73.96.74.90.75.91.69.39.7", "98.87.73.96.74.90.75.91.69.39.7", + "87.73.96.74.90.75.91.69.39.7", "73.96.74.90.75.91.69.39.7", + "96.74.90.75.91.69.39.7", "74.90.75.91.69.39.7", "90.75.91.69.39.7", + "75.91.69.39.7", "91.69.39.7", "69.39.7", "39.7", "7", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "96.97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "97.84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "84.86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "89.29.9.21.12.88.55.70.58.81.91.52.58", + "29.9.21.12.88.55.70.58.81.91.52.58", "9.21.12.88.55.70.58.81.91.52.58", + "21.12.88.55.70.58.81.91.52.58", "12.88.55.70.58.81.91.52.58", + "88.55.70.58.81.91.52.58", "55.70.58.81.91.52.58", "70.58.81.91.52.58", + "58.81.91.52.58", "81.91.52.58", "91.52.58", "52.58", "58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "74.38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "38.46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "46.23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "23.61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "76.63.73.65.20.8.77.19.9.23.15.50.38", + "63.73.65.20.8.77.19.9.23.15.50.38", "73.65.20.8.77.19.9.23.15.50.38", + "65.20.8.77.19.9.23.15.50.38", "20.8.77.19.9.23.15.50.38", + "8.77.19.9.23.15.50.38", "77.19.9.23.15.50.38", "19.9.23.15.50.38", + "9.23.15.50.38", "23.15.50.38", "15.50.38", "50.38", "38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "99.39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "39.54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "54.16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "16.85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "4.87.65.5.31.49.2.26.72.13.36.10.83", + "87.65.5.31.49.2.26.72.13.36.10.83", "65.5.31.49.2.26.72.13.36.10.83", + "5.31.49.2.26.72.13.36.10.83", "31.49.2.26.72.13.36.10.83", + "49.2.26.72.13.36.10.83", "2.26.72.13.36.10.83", "26.72.13.36.10.83", + "72.13.36.10.83", "13.36.10.83", "36.10.83", "10.83", "83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "33.91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "91.8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "8.65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "65.85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "42.80.58.11.95.90.85.47.33.14.3.33.82", + "80.58.11.95.90.85.47.33.14.3.33.82", "58.11.95.90.85.47.33.14.3.33.82", + "11.95.90.85.47.33.14.3.33.82", "95.90.85.47.33.14.3.33.82", + "90.85.47.33.14.3.33.82", "85.47.33.14.3.33.82", "47.33.14.3.33.82", + "33.14.3.33.82", "14.3.33.82", "3.33.82", "33.82", "82", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "" +}) + +test:do_execsql_test( + "1.17.2.1", + [[ +SELECT max(b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, + 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 95, 95, 84, 84, 84, 84, 84, + 84, 84, 84, 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, 17, 7, "", "", + "", "" +}) + +test:do_execsql_test( + "1.17.2.2", + [[ +SELECT min(b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, + 7, 7, 7, 7, "", "", "", "" +}) + +test:do_execsql_test( + "1.17.3.1", + [[ +SELECT row_number() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +test:do_execsql_test( + "1.17.3.2", + [[ +SELECT row_number() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 1, 2, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, 2, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23 +}) + +test:do_execsql_test( + "1.17.3.3", + [[ +SELECT row_number() OVER ( ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, + 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, + 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200 +}) + +-- test:do_execsql_test( +-- "1.17.4.1", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.17.4.2", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.17.4.3", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10, 11, 12, +-- 12, 13, 13, 13, 14, 14, 15, 16, 16, 16, 17, 17, 17, 18, 19, 20, 21, +-- 21, 22, 22, 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, +-- 30, 30, 30, 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, +-- 36, 36, 36, 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, +-- 43, 44, 44, 45, 45, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 53, 53, +-- 54, 54, 54, 55, 56, 56, 56, 56, 57, 57, 57, 57, 58, 59, 59, 60, 60, +-- 61, 62, 63, 63, 63, 64, 65, 66, 67, 68, 69, 69, 69, 70, 70, 70, 71, +-- 71, 71, 71, 71, 72, 72, 72, 73, 74, 74, 75, 75, 76, 77, 77, 78, 78, +-- 78, 79, 80, 81, 81, 81, 81, 82, 82, 82, 83, 84, 84, 85, 86, 86, 86, +-- 87, 87, 87, 88, 88, 88, 88, 88, 89, 89, 89, 90, 91, 91, 91, 92, 92, +-- 92, 93, 93, 94, 94, 95, 95, 95 +-- }) + +-- test:do_execsql_test( +-- "1.17.4.4", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 5, 6, 7, 8, 9, 9, 10, 10, 10, 1, 1, 2, 2, 3, 3, 4, +-- 4, 5, 5, 5, 6, 7, 7, 8, 8, 8, 9, 9, 9, 9, 9, 1, 1, 1, 2, 2, 2, 3, 3, +-- 4, 5, 6, 7, 7, 8, 8, 8, 9, 1, 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 4, 5, 5, +-- 6, 7, 8, 8, 8, 9, 10, 10, 10, 1, 2, 3, 4, 4, 4, 4, 5, 5, 6, 7, 8, 8, +-- 8, 8, 8, 9, 9, 9, 9, 10, 1, 2, 2, 2, 3, 4, 4, 5, 5, 6, 6, 6, 7, 7, 7, +-- 8, 8, 8, 9, 9, 9, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 6, 6, 6, 7, +-- 8, 9, 10, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 5, 5, 5, 5, 6, 7, 8, 8, 9, +-- 9, 10, 10, 1, 1, 1, 2, 3, 3, 4, 4, 4, 4, 5, 6, 6, 7, 8, 8, 1, 1, 1, 2, +-- 3, 3, 3, 4, 4, 4, 5, 6, 6, 6, 6, 7, 8, 9, 9, 9, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.17.4.5", +-- [[ +-- SELECT dense_rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, +-- 6, 6, 6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, +-- 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, +-- 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, +-- 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10 +-- }) + +-- test:do_execsql_test( +-- "1.17.4.6", +-- [[ +-- SELECT dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 1, +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, +-- 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, +-- 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, +-- 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, +-- 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 +-- }) + +-- test:do_execsql_test( +-- "1.17.5.1", +-- [[ +-- SELECT rank() OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, +-- 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, +-- 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, +-- 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, +-- 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, +-- 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, +-- 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, +-- 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, +-- 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, +-- 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, +-- 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, +-- 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200 +-- }) + +-- test:do_execsql_test( +-- "1.17.5.2", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, +-- 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 1, 2, 3, 4, 5, 6, 7, +-- 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 1, 2, 3, +-- 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, +-- 20, 21, 22, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, +-- 18, 19, 20, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1, +-- 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, +-- 21, 22, 23 +-- }) + +-- test:do_execsql_test( +-- "1.17.5.3", +-- [[ +-- SELECT rank() OVER ( ORDER BY b ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 2, 4, 4, 4, 7, 7, 9, 10, 11, 12, 12, 12, 15, 15, 15, 18, 18, 18, +-- 21, 22, 22, 24, 24, 24, 27, 27, 29, 30, 30, 30, 33, 33, 33, 36, 37, +-- 38, 39, 39, 41, 41, 43, 43, 43, 46, 47, 48, 48, 48, 51, 51, 53, 54, +-- 54, 54, 57, 57, 57, 60, 60, 62, 63, 63, 63, 63, 63, 68, 68, 68, 68, +-- 72, 72, 74, 74, 74, 74, 78, 78, 80, 80, 82, 82, 82, 85, 86, 86, 86, +-- 89, 90, 90, 92, 92, 94, 94, 96, 96, 96, 96, 100, 101, 102, 103, 104, +-- 105, 106, 106, 108, 108, 108, 111, 112, 112, 112, 112, 116, 116, 116, +-- 116, 120, 121, 121, 123, 123, 125, 126, 127, 127, 127, 130, 131, 132, +-- 133, 134, 135, 135, 135, 138, 138, 138, 141, 141, 141, 141, 141, 146, +-- 146, 146, 149, 150, 150, 152, 152, 154, 155, 155, 157, 157, 157, 160, +-- 161, 162, 162, 162, 162, 166, 166, 166, 169, 170, 170, 172, 173, 173, +-- 173, 176, 176, 176, 179, 179, 179, 179, 179, 184, 184, 184, 187, 188, +-- 188, 188, 191, 191, 191, 194, 194, 196, 196, 198, 198, 198 +-- }) + +-- test:do_execsql_test( +-- "1.17.5.4", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%10 ORDER BY b ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 2, 3, 4, 4, 4, 7, 8, 9, 10, 11, 11, 13, 13, 13, 1, 1, 3, 3, 5, 5, +-- 7, 7, 9, 9, 9, 12, 13, 13, 15, 15, 15, 18, 18, 18, 18, 18, 1, 1, 1, 4, +-- 4, 4, 7, 7, 9, 10, 11, 12, 12, 14, 14, 14, 17, 1, 1, 3, 3, 5, 5, 5, 8, +-- 8, 8, 8, 8, 13, 13, 15, 16, 17, 17, 17, 20, 21, 21, 21, 1, 2, 3, 4, 4, +-- 4, 4, 8, 8, 10, 11, 12, 12, 12, 12, 12, 17, 17, 17, 17, 21, 1, 2, 2, +-- 2, 5, 6, 6, 8, 8, 10, 10, 10, 13, 13, 13, 16, 16, 16, 19, 19, 19, 1, +-- 2, 2, 2, 5, 5, 5, 8, 8, 8, 8, 12, 12, 14, 14, 14, 17, 18, 19, 20, 20, +-- 20, 1, 1, 1, 4, 5, 5, 7, 7, 9, 9, 9, 9, 13, 14, 15, 15, 17, 17, 19, +-- 19, 1, 1, 1, 4, 5, 5, 7, 7, 7, 7, 11, 12, 12, 14, 15, 15, 1, 1, 1, 4, +-- 5, 5, 5, 8, 8, 8, 11, 12, 12, 12, 12, 16, 17, 18, 18, 18, 21, 21, 21 +-- }) + +-- test:do_execsql_test( +-- "1.17.5.5", +-- [[ +-- SELECT rank() OVER ( ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 38, +-- 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 55, +-- 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, +-- 55, 55, 55, 55, 55, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, 78, +-- 78, 78, 78, 78, 78, 78, 78, 78, 78, 99, 99, 99, 99, 99, 99, 99, 99, +-- 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 99, 120, 120, 120, +-- 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, 120, +-- 120, 120, 120, 120, 120, 142, 142, 142, 142, 142, 142, 142, 142, 142, +-- 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 142, 162, 162, 162, +-- 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 162, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, 178, +-- 178, 178, 178, 178, 178, 178, 178, 178 +-- }) + +-- test:do_execsql_test( +-- "1.17.5.6", +-- [[ +-- SELECT rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 16, 16, 16, 16, 16, 16, +-- 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 33, 33, 33, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 54, 54, +-- 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, +-- 54, 54, 54, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, +-- 76, 76, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, +-- 1, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, +-- 23, 23, 23, 23, 23, 23, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, +-- 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 67, 67, 67, 67, 67, 67, 67, +-- 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 87, 87, 87, 87, +-- 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, 87, +-- 87, 87 +-- }) + +-- test:do_execsql_test( +-- "1.17.6.1", +-- [[ +-- SELECT +-- row_number() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ), +-- rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ), +-- dense_rank() OVER ( PARTITION BY b%2 ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) +-- FROM t2 +-- ]], { +-- 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, 1, +-- 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, 1, +-- 1, 16, 16, 2, 17, 16, 2, 18, 16, 2, 19, 16, 2, 20, 16, 2, 21, 16, 2, +-- 22, 16, 2, 23, 16, 2, 24, 16, 2, 25, 16, 2, 26, 16, 2, 27, 16, 2, 28, +-- 16, 2, 29, 16, 2, 30, 16, 2, 31, 16, 2, 32, 16, 2, 33, 33, 3, 34, 33, +-- 3, 35, 33, 3, 36, 33, 3, 37, 33, 3, 38, 33, 3, 39, 33, 3, 40, 33, 3, +-- 41, 33, 3, 42, 33, 3, 43, 33, 3, 44, 33, 3, 45, 33, 3, 46, 33, 3, 47, +-- 33, 3, 48, 33, 3, 49, 33, 3, 50, 33, 3, 51, 33, 3, 52, 33, 3, 53, 33, +-- 3, 54, 54, 4, 55, 54, 4, 56, 54, 4, 57, 54, 4, 58, 54, 4, 59, 54, 4, +-- 60, 54, 4, 61, 54, 4, 62, 54, 4, 63, 54, 4, 64, 54, 4, 65, 54, 4, 66, +-- 54, 4, 67, 54, 4, 68, 54, 4, 69, 54, 4, 70, 54, 4, 71, 54, 4, 72, 54, +-- 4, 73, 54, 4, 74, 54, 4, 75, 54, 4, 76, 76, 5, 77, 76, 5, 78, 76, 5, +-- 79, 76, 5, 80, 76, 5, 81, 76, 5, 82, 76, 5, 83, 76, 5, 84, 76, 5, 85, +-- 76, 5, 86, 76, 5, 87, 76, 5, 88, 76, 5, 89, 76, 5, 90, 76, 5, 91, 76, +-- 5, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 1, 6, 1, 1, 7, 1, 1, 8, +-- 1, 1, 9, 1, 1, 10, 1, 1, 11, 1, 1, 12, 1, 1, 13, 1, 1, 14, 1, 1, 15, +-- 1, 1, 16, 1, 1, 17, 1, 1, 18, 1, 1, 19, 1, 1, 20, 1, 1, 21, 1, 1, 22, +-- 1, 1, 23, 23, 2, 24, 23, 2, 25, 23, 2, 26, 23, 2, 27, 23, 2, 28, 23, +-- 2, 29, 23, 2, 30, 23, 2, 31, 23, 2, 32, 23, 2, 33, 23, 2, 34, 23, 2, +-- 35, 23, 2, 36, 23, 2, 37, 23, 2, 38, 23, 2, 39, 23, 2, 40, 23, 2, 41, +-- 23, 2, 42, 23, 2, 43, 23, 2, 44, 23, 2, 45, 23, 2, 46, 46, 3, 47, 46, +-- 3, 48, 46, 3, 49, 46, 3, 50, 46, 3, 51, 46, 3, 52, 46, 3, 53, 46, 3, +-- 54, 46, 3, 55, 46, 3, 56, 46, 3, 57, 46, 3, 58, 46, 3, 59, 46, 3, 60, +-- 46, 3, 61, 46, 3, 62, 46, 3, 63, 46, 3, 64, 46, 3, 65, 46, 3, 66, 46, +-- 3, 67, 67, 4, 68, 67, 4, 69, 67, 4, 70, 67, 4, 71, 67, 4, 72, 67, 4, +-- 73, 67, 4, 74, 67, 4, 75, 67, 4, 76, 67, 4, 77, 67, 4, 78, 67, 4, 79, +-- 67, 4, 80, 67, 4, 81, 67, 4, 82, 67, 4, 83, 67, 4, 84, 67, 4, 85, 67, +-- 4, 86, 67, 4, 87, 87, 5, 88, 87, 5, 89, 87, 5, 90, 87, 5, 91, 87, 5, +-- 92, 87, 5, 93, 87, 5, 94, 87, 5, 95, 87, 5, 96, 87, 5, 97, 87, 5, 98, +-- 87, 5, 99, 87, 5, 100, 87, 5, 101, 87, 5, 102, 87, 5, 103, 87, 5, 104, +-- 87, 5, 105, 87, 5, 106, 87, 5, 107, 87, 5, 108, 87, 5, 109, 87, 5 +-- }) + +-- test:do_execsql_test( +-- "1.17.9.1", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, +-- "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.9.2", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, 223, "", "", "", "", +-- 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, +-- 210, 210, 210, 210, "", "", "", "", 280, 280, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, "", "", "", "", 279, 279, 279, 279, 279, +-- 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, +-- "", "", "", "", 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, "", "", "", "", 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, "", "", +-- "", "", 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, 212, +-- 212, 212, 212, 212, 212, 212, "", "", "", "", 207, 207, 207, 207, 207, +-- 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, 207, "", "", "", "", +-- 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, "", "", +-- "", "", 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.9.3", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.9.4", +-- [[ +-- SELECT last_value(a+b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, "", "", "", "", +-- 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, 263, +-- 263, 263, 263, 263, "", "", "", "", 280, 280, 280, 280, 280, 280, 280, +-- 280, 280, 280, 280, 280, 280, "", "", "", "", 252, 252, 252, 252, 252, +-- 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, +-- "", "", "", "", 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, 171, +-- 171, 171, 171, 171, 171, 171, "", "", "", "", 274, 274, 274, 274, 274, +-- 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, "", "", +-- "", "", 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, 226, +-- 226, 226, 226, 226, 226, 226, "", "", "", "", 124, 124, 124, 124, 124, +-- 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, "", "", "", "", +-- 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, 198, "", "", +-- "", "", 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, 276, +-- 276, 276, 276, 276, 276, 276, 276, "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.9.5", +-- [[ +-- SELECT last_value(a+b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, 229, +-- "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.9.6", +-- [[ +-- SELECT last_value(a+b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.10.1", +-- [[ +-- SELECT nth_value(b,b+1) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 23, 78, 85, 29, 84, 51, 93, 91, 68, 74, 65, 12, 4, 22, 37, 15, 53, 8, +-- 16, 29, 8, 34, 3, 76, 73, 63, 90, 47, 98, 47, 90, 73, 20, 89, 91, 22, +-- 77, 73, 42, 41, 32, 55, 79, 51, 74, 44, 81, 7, 65, 8, 43, 80, 8, 89, +-- 90, 29, 36, 15, 42, 9, 9, 41, 20, 16, 11, 87, 20, 90, 84, 80, 41, 37, +-- 34, 9, 75, 63, 34, 8, 8, 81, 95, 31, 74, 36, 41, 99, 90, 91, 99, 13, +-- 2, 35, 33, 36, 38, 37, 20, 75, 17, "", 5, 34, 58, 33, 19, 31, 50, 34, +-- 23, "", 72, 90, 11, 85, 90, 36, 2, "", 39, 27, "", "", 64, 2, 74, 95, +-- 37, "", 58, "", 34, 44, "", "", 30, 70, 47, "", 7, "", 15, "", "", 12, +-- 33, 36, 99, 17, "", "", 44, "", "", 12, "", "", "", 34, "", "", "", +-- "", 36, 44, "", 30, 30, 10, "", "", "", "", "", 30, "", "", "", 84, +-- "", "", "", "", "", "", "", 7, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.10.2", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 80, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 21, "", "", "", 31, "", "", "", "", "", "", "", "", +-- "", "", "", 2, "", "", "", "", "", 72, "", "", "", 82, "", "", "", "", +-- "", "", "", "", "", "", "", "", 73, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 64, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 76, "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 27, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 38, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.10.3", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 2, 3, 3, 5, 6, 7, 7, 8, 8, 9, 10, 11, 12, 12, 13, 13, 14, 15, 15, 16, +-- 16, 19, 20, 21, 22, 22, 23, 23, 25, 26, 26, 27, 28, 29, 29, 30, 31, +-- 32, 33, 33, 33, 34, 34, 34, 35, 36, 36, 37, 37, 38, 39, 39, 40, 41, +-- 41, 42, 43, 44, 44, 46, 47, 47, 49, 50, 51, 52, 53, 55, 55, 56, 56, +-- 57, 58, 58, 58, 59, 59, 59, 60, 61, 62, 63, 64, 65, 65, 67, 68, 69, +-- 72, 72, 73, 73, 74, 74, 74, 75, 75, 76, 77, 78, 80, 81, 81, 83, 84, +-- 84, 85, 85, 86, 87, 88, 89, 89, 90, 90, 91, 91, 91, 91, 93, 93, 94, +-- 95, 95, 96, 97, 98, 98, 99, 99, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.10.4", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 30, "", "", "", "", "", "", "", "", "", "", "", "", "", "", 21, 31, +-- 91, 91, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 22, 22, 32, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 33, 33, 83, 93, "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", 44, 84, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", 65, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 36, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 47, 57, 67, "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", 78, 88, 98, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 59, 59, 69, "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.10.5", +-- [[ +-- SELECT nth_value(b,b+1) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 80, 84, 22, 2, 34, 41, 85, 23, 24, 34, 25, 12, 13, 11, 72, 3, 85, 95, +-- 4, 75, 85, 21, 65, 73, 44, 31, 62, 42, 4, 3, 73, 13, 2, 95, 56, 16, +-- 43, 2, 25, 33, 83, 73, 34, 72, 96, 43, 13, 82, 16, 16, 13, 15, 65, 36, +-- 74, 14, 7, 94, 47, 95, 73, 65, 35, 96, 36, 27, 4, 67, 77, 95, 78, 65, +-- 44, 5, 74, 95, 78, 47, 47, 36, 58, 17, 5, 64, 29, 58, 8, 16, 86, 36, +-- 58, 17, 5, 36, 29, 59, 67, 26, 78, 66, 49, 59, 38, 6, 96, 89, "", 38, +-- 99, 47, 26, 16, "", 8, 19, "", 9, 26, "", 87, "", 88, 76, 58, 67, 77, +-- "", 9, 79, 49, 37, 88, "", "", "", 28, 98, 99, "", 59, 39, "", 58, "", +-- "", "", 99, 27, 39, "", 29, "", "", 8, "", "", "", 69, 49, 39, 88, "", +-- "", "", 38, 99, "", "", "", "", 29, "", 89, "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.10.6", +-- [[ +-- SELECT nth_value(b,b+1) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.11.1", +-- [[ +-- SELECT first_value(b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 23, 99, 26, 33, 2, 89, 81, 96, 59, 38, 68, 39, 62, 91, 46, 6, 99, 97, +-- 27, 46, 78, 54, 97, 8, 67, 29, 93, 84, 77, 23, 16, 16, 93, 65, 35, 47, +-- 7, 86, 74, 61, 91, 85, 24, 85, 43, 59, 12, 32, 56, 3, 91, 22, 90, 55, +-- 15, 28, 89, 25, 47, 1, 56, 40, 43, 56, 16, 75, 36, 89, 98, 76, 81, 4, +-- 94, 42, 30, 78, 33, 29, 53, 63, 2, 87, 37, 80, 84, 72, 41, 9, 61, 73, +-- 95, 65, 13, 58, 96, 98, 1, 21, 74, 65, 35, 5, 73, 11, 51, 87, 41, 12, +-- 8, 20, 31, 31, 15, 95, 22, 73, 79, 88, 34, 8, 11, 49, 34, 90, 59, 96, +-- 60, 55, 75, 77, 44, 2, 7, 85, 57, 74, 29, 70, 59, 19, 39, 26, 26, 47, +-- 80, 90, 36, 58, 47, 9, 72, 72, 66, 33, 93, 75, 64, 81, 9, 23, 37, 13, +-- 12, 14, 62, 91, 36, 91, 33, 15, 34, 36, 99, 3, 95, 69, 58, 52, 30, 50, +-- 84, 10, 84, 33, 21, 39, 44, 58, 30, 38, 34, 83, 27, 82, 17, 7, "", "", +-- "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.11.2", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, "", "", "", "", 91, 91, 1, +-- 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, 21, "", "", "", +-- "", 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, "", "", "", "", +-- 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, 13, 33, 3, 33, +-- 83, "", "", "", "", 74, 24, 4, 94, 84, 74, 34, 34, 44, 74, 64, 14, 34, +-- 84, 84, 44, 34, "", "", "", "", 55, 15, 25, 75, 95, 65, 65, 35, 5, 15, +-- 95, 55, 75, 85, 75, 15, 95, "", "", "", "", 46, 16, 16, 86, 56, 56, +-- 56, 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, "", "", "", "", 77, +-- 47, 7, 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, 7, "", "", "", +-- "", 28, 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, "", "", "", "", 99, +-- 29, 59, 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, 9, 99, 69, 39, +-- "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.11.3", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 2, 2, 3, 3, 4, 5, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 11, 11, 12, 12, +-- 12, 13, 13, 14, 15, 15, 15, 16, 16, 16, 17, 19, 20, 21, 21, 22, 22, +-- 23, 23, 23, 24, 25, 26, 26, 26, 27, 27, 28, 29, 29, 29, 30, 30, 30, +-- 31, 31, 32, 33, 33, 33, 33, 33, 34, 34, 34, 34, 35, 35, 36, 36, 36, +-- 36, 37, 37, 38, 38, 39, 39, 39, 40, 41, 41, 41, 42, 43, 43, 44, 44, +-- 46, 46, 47, 47, 47, 47, 49, 50, 51, 52, 53, 54, 55, 55, 56, 56, 56, +-- 57, 58, 58, 58, 58, 59, 59, 59, 59, 60, 61, 61, 62, 62, 63, 64, 65, +-- 65, 65, 66, 67, 68, 69, 70, 72, 72, 72, 73, 73, 73, 74, 74, 74, 74, +-- 74, 75, 75, 75, 76, 77, 77, 78, 78, 79, 80, 80, 81, 81, 81, 82, 83, +-- 84, 84, 84, 84, 85, 85, 85, 86, 87, 87, 88, 89, 89, 89, 90, 90, 90, +-- 91, 91, 91, 91, 91, 93, 93, 93, 94, 95, 95, 95, 96, 96, 96, 97, 97, +-- 98, 98, 99, 99, 99, "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.11.4", +-- [[ +-- SELECT first_value(b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 30, 30, 40, 50, 60, 70, 80, 80, 90, 90, 90, "", "", "", "", 21, 21, +-- 31, 31, 41, 41, 41, 51, 61, 61, 81, 81, 81, 91, 91, 91, 91, 91, "", +-- "", "", "", 12, 12, 22, 22, 32, 42, 52, 62, 62, 72, 72, 72, 82, "", +-- "", "", "", 23, 23, 23, 33, 33, 33, 33, 33, 43, 43, 53, 63, 73, 73, +-- 73, 83, 93, 93, 93, "", "", "", "", 34, 34, 34, 44, 44, 54, 64, 74, +-- 74, 74, 74, 74, 84, 84, 84, 84, 94, "", "", "", "", 25, 35, 35, 55, +-- 55, 65, 65, 65, 75, 75, 75, 85, 85, 85, 95, 95, 95, "", "", "", "", +-- 26, 26, 26, 36, 36, 36, 36, 46, 46, 56, 56, 56, 66, 76, 86, 96, 96, +-- 96, "", "", "", "", 27, 27, 37, 37, 47, 47, 47, 47, 57, 67, 77, 77, +-- 87, 87, 97, 97, "", "", "", "", 38, 38, 58, 58, 58, 58, 68, 78, 78, +-- 88, 98, 98, "", "", "", "", 29, 29, 29, 39, 39, 39, 49, 59, 59, 59, +-- 59, 69, 79, 89, 89, 89, 99, 99, 99, "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.11.5", +-- [[ +-- SELECT first_value(b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 80, 20, 90, 60, 70, 80, 90, 30, 50, 10, 30, 41, 81, 91, 61, 91, 91, 1, +-- 81, 41, 61, 1, 21, 11, 51, 41, 31, 31, 11, 81, 91, 91, 21, 2, 62, 12, +-- 32, 22, 42, 2, 72, 12, 22, 2, 72, 72, 12, 62, 52, 82, 23, 33, 93, 23, +-- 93, 43, 3, 43, 33, 53, 63, 73, 13, 73, 73, 33, 93, 23, 13, 33, 3, 33, +-- 83, 74, 74, 54, 84, 74, 24, 4, 94, 84, 74, 34, 34, 44, 74, 64, 14, 34, +-- 84, 84, 44, 34, 65, 35, 85, 85, 55, 15, 25, 75, 95, 65, 65, 35, 5, 15, +-- 95, 55, 75, 85, 75, 15, 95, 26, 96, 46, 6, 46, 16, 16, 86, 56, 56, 56, +-- 16, 36, 76, 96, 96, 26, 26, 36, 66, 36, 36, 97, 27, 97, 67, 77, 47, 7, +-- 47, 87, 37, 87, 77, 7, 57, 47, 47, 37, 27, 17, 7, 38, 68, 78, 8, 28, +-- 98, 78, 58, 98, 8, 88, 8, 58, 58, 58, 38, 99, 89, 59, 39, 99, 29, 59, +-- 89, 89, 29, 9, 79, 49, 59, 29, 59, 19, 39, 9, 9, 99, 69, 39, "", "", +-- "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.11.6", +-- [[ +-- SELECT first_value(b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.12.1", +-- [[ +-- SELECT lead(b,b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, 4, 61, 42, 8, 35, 77, 7, 81, 96, 9, 11, 89, 32, 53, 91, 30, 51, 56, +-- 54, 73, 22, 59, 75, 74, 78, 8, 16, 65, 15, 8, 31, 87, 90, 12, 32, 96, +-- 74, 76, 37, 85, 90, 15, 35, 2, 60, 36, 75, 9, 51, 47, 63, 51, 90, 26, +-- 42, 26, 8, 76, 80, 90, 37, 87, 56, 79, 5, 87, 8, 2, 39, 73, 64, 36, +-- 90, 72, 78, 36, 73, 51, 33, 20, 41, 2, 26, 37, 33, 8, 14, 33, 81, 55, +-- 1, 9, 12, 39, 64, 87, 72, 34, 82, 21, 34, 99, 62, 74, 41, 69, 22, 75, +-- 27, 58, 8, 79, 77, 26, 26, 55, "", 29, 30, 7, "", 66, 55, 2, 34, 64, +-- "", 33, "", 44, 84, "", "", 95, 85, 19, "", 83, "", 91, "", "", 9, 50, +-- 91, 33, 34, "", "", 84, "", 7, 9, "", "", "", 44, "", "", "", "", 91, +-- 84, "", 95, 95, 52, "", "", "", "", "", 21, "", "", "", 58, "", "", +-- "", "", "", "", "", 83, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.12.2", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 81, "", "", "", 21, "", "", "", "", "", "", "", "", "", +-- "", "", 12, "", 62, "", "", "", 12, "", "", "", 72, "", "", "", "", +-- "", "", "", "", "", "", "", "", 53, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 34, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- 95, "", "", "", "", "", "", 85, "", "", "", "", "", "", "", "", "", +-- "", "", 56, "", 36, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 57, "", "", "", "", "", 7, "", +-- "", "", "", "", "", "", "", "", "", 8, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 9, "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.12.3", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 1, 2, 2, 3, 3, 5, 6, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 13, 14, 15, +-- 16, 16, 17, 19, 20, 21, 22, 23, 23, 24, 25, 26, 26, 27, 28, 29, 30, +-- 31, 31, 33, 33, 33, 33, 34, 34, 35, 36, 36, 36, 37, 37, 38, 39, 39, +-- 40, 41, 41, 42, 43, 44, 46, 47, 47, 47, 47, 49, 51, 52, 53, 54, 55, +-- 56, 56, 57, 58, 58, 58, 59, 59, 59, 61, 61, 62, 63, 65, 65, 65, 67, +-- 69, 70, 72, 72, 73, 74, 74, 74, 74, 75, 76, 77, 78, 80, 81, 81, 83, +-- 84, 84, 84, 85, 85, 87, 87, 88, 89, 89, 90, 90, 90, 91, 91, 91, 93, +-- 93, 95, 95, 96, 96, 97, 98, 99, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.12.4", +-- [[ +-- SELECT lead(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 80, "", "", "", "", "", "", "", "", "", "", "", "", "", 1, 11, 61, +-- 81, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", 2, 12, 12, 72, 82, "", "", "", "", "", "", "", "", "", "", "", +-- "", 13, 23, 63, 73, "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", 34, 74, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", 35, 85, 85, 95, "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 26, 76, +-- 86, 96, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", 37, 47, 47, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 58, 58, 68, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", 39, 49, 59, 99, "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.12.5", +-- [[ +-- SELECT lead(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 64, 42, 81, 94, 1, 44, 73, 74, 44, 85, 22, 33, 41, 72, 93, 34, 65, +-- 54, 5, 15, 81, 15, 63, 84, 21, 2, 62, 54, 93, 43, 33, 2, 75, 16, 86, +-- 23, 12, 85, 62, 13, 53, 94, 12, 75, 23, 73, 72, 96, 46, 33, 55, 25, +-- 26, 74, 34, 87, 84, 87, 55, 53, 25, 84, 75, 56, 66, 54, 36, 97, 55, +-- 78, 84, 84, 95, 74, 65, 17, 87, 77, 96, 8, 47, 95, 34, 89, 98, 7, 46, +-- 6, 96, 8, 47, 95, 56, 89, 59, 36, 36, 78, 96, 89, 29, 37, 95, 56, 39, +-- "", 8, 58, 67, 85, 86, "", 58, 49, "", 29, 76, "", 77, "", 78, 56, 98, +-- 36, 97, "", 59, 89, 89, 47, 78, "", "", "", 38, 68, 58, "", 58, 38, +-- "", 98, "", "", "", 19, 57, 9, "", 9, "", "", 7, "", "", "", 39, 89, +-- 38, 78, 39, "", "", 8, 19, "", "", "", "", 89, "", 39, "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", 9, "", "", "", "", "", "", "", +-- "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.12.6", +-- [[ +-- SELECT lead(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.13.1", +-- [[ +-- SELECT lag(b,b) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", 26, "", "", "", "", "", "", "", "", "", +-- "", 38, "", "", "", "", "", "", "", 6, "", 0, "", "", "", 81, 46, 6, +-- "", "", 74, "", 23, "", "", "", "", "", 27, "", 99, "", 35, 6, "", 12, +-- "", 23, "", 41, 61, 84, "", 93, 39, 47, 2, 54, 46, 96, 56, "", 16, "", +-- "", "", "", 89, "", 16, 43, 74, 85, 56, 29, 99, 53, "", 59, 33, 23, +-- 91, 59, 53, 84, 99, "", 93, 63, 47, 41, 74, 98, 33, 67, 35, 75, 1, 23, +-- 13, 55, 27, 75, 98, 35, 73, 63, 2, 21, 27, 13, 24, 86, 23, 84, 31, 20, +-- 94, 61, 65, 75, 23, 36, 94, 55, 90, 41, 77, 96, 56, 29, 40, 12, 89, +-- 63, 11, 5, 73, 79, 1, 16, 28, 31, 73, 5, 39, 53, 63, 41, 11, 40, 2, +-- 13, 33, 9, 29, 90, 47, 72, 9, 73, 30, 44, 33, 74, 93, 29, 74, 42, 34, +-- 63, 41, 34, 96, 47, 77, 1, 36, 74, 72, 14, 36, 26, 77, 9, 72, 64, 8, +-- 91, 31, 52, 30 +-- }) + +-- test:do_execsql_test( +-- "1.17.13.2", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, "", 81, "", "", "", "", 1, "", "", "", +-- 41, "", "", "", "", "", "", 22, "", "", "", 12, "", "", 62, "", "", +-- "", "", "", "", "", "", "", 23, "", "", "", "", "", "", "", "", "", +-- "", "", 43, "", 23, "", "", "", "", "", "", "", "", 54, "", "", "", +-- "", "", "", "", "", 74, "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", 75, "", "", "", "", "", "", 55, "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 47, "", +-- "", "", "", "", 27, 7, "", "", "", "", "", "", "", "", "", 68, "", 8, +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", 89, "", "", +-- "", "", "", "", "", 29, 9, "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.13.3", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 6, 6, 7, +-- 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 10, 11, +-- 11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 13, 13, 13, 14, 14, 15, 15, +-- 15, 15, 15, 16, 16, 16, 16, 17, 19, 19, 20, 20, 21, 21, 22, 22, 22, +-- 22, 23, 23, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 26, 26, 26, +-- 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28, 29, 29, 29, 29, +-- 29, 30, 30, 30, 30, 31, 31, 31, 31, 31, 32, 32, 32, 32, 33, 33, 33, +-- 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 35, +-- 35, 35, 35, 36, 36, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 38, +-- 38, 38, 39, 39, 39, 39, 39, 39, 39, 40, 41, 41, 41, 41, 41, 42, 43, +-- 43, 44, 43, 44, 44, 44, 44, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, +-- 49, 50 +-- }) + +-- test:do_execsql_test( +-- "1.17.13.4", +-- [[ +-- SELECT lag(b,b) OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", 1, "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", 2, "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "" +-- }) + +-- test:do_execsql_test( +-- "1.17.13.5", +-- [[ +-- SELECT lag(b,b) OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING ) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", 30, "", "", "", "", +-- "", "", "", 91, "", "", "", 61, 20, 81, "", "", "", 0, 1, "", "", "", +-- 41, 91, "", 11, 70, 91, 0, 22, "", 81, 61, 12, "", "", 62, "", 0, "", +-- 31, 81, "", 91, "", 81, 23, 61, 41, 90, 90, "", 82, "", "", 21, "", +-- 72, 43, 32, 23, 42, "", 30, 80, 1, "", 60, 93, 54, "", 90, 50, 82, 23, +-- 12, 81, 11, 74, 43, 90, 30, 52, 53, 81, 63, 41, 81, 2, 34, 54, 31, 30, +-- 42, 2, 3, 75, 44, 91, 93, 12, 31, 22, 55, 41, 34, 61, 33, 75, 74, 65, +-- 35, 32, 23, 13, 33, 75, 84, 93, 2, 62, 35, 5, 85, 13, 15, 25, 72, 85, +-- 22, 74, 73, 35, 36, 85, 33, 55, 63, 33, 47, 34, 65, 35, 96, 36, 27, 7, +-- 46, 84, 84, 47, 36, 73, 44, 5, 23, 68, 4, 8, 85, 75, 15, 66, 74, 44, +-- 96, 97, 24, 7, 16, 84, 44, 37, 89, 35, 36, 36, 68, 96, 58, 47, 29, 9, +-- 65, 56, 7 +-- }) + +-- test:do_execsql_test( +-- "1.17.13.6", +-- [[ +-- SELECT lag(b,b) OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +-- AND UNBOUNDED FOLLOWING) FROM t2 +-- ]], { +-- 0, "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", +-- "", "", "", "", "", "", "", "", "", "", "", "" +-- }) + +test:do_execsql_test( + "1.17.14.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "23.99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "38.68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "68.39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "6.99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "27.46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "46.78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "54.97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "97.8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "67.29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "86.74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "24.85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "32.56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "28.89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "25.47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "40.43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "43.56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "56.16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "16.75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "89.98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "76.81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "4.94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "94.42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "42.30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "78.33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "53.63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "63.2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "61.73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "98.1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "1.21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "65.35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "35.5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "5.73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "51.87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "87.41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "41.12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "20.31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "31.15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "22.73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "73.79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "79.88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "88.34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "8.11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "11.49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "49.34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "96.60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "60.55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "55.75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "77.44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "44.2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "2.7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "7.85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "85.57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "57.74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "74.29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "29.70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "70.59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "59.19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "19.39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "39.26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "26.47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "80.90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "90.36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "47.9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "72.66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "66.33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "93.75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "75.64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "64.81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "81.9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "9.23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "23.37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "37.13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "13.12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "12.14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "14.62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "62.91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "91.33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "15.34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "34.36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "36.99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "99.3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "3.95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "95.69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "69.58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "58.52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "52.30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "30.50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "50.84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "10.84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "84.33.21.39.44.58.30.38.34.83.27.82.17.7", + "33.21.39.44.58.30.38.34.83.27.82.17.7", + "21.39.44.58.30.38.34.83.27.82.17.7", "39.44.58.30.38.34.83.27.82.17.7", + "44.58.30.38.34.83.27.82.17.7", "58.30.38.34.83.27.82.17.7", + "30.38.34.83.27.82.17.7", "38.34.83.27.82.17.7", "34.83.27.82.17.7", + "83.27.82.17.7", "27.82.17.7", "82.17.7", "17.7", "7", "", "", "", "" +}) + +test:do_execsql_test( + "1.17.14.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%10 ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "80.20.90.60.70.80.90.30.50.10.30", "20.90.60.70.80.90.30.50.10.30", + "90.60.70.80.90.30.50.10.30", "60.70.80.90.30.50.10.30", + "70.80.90.30.50.10.30", "80.90.30.50.10.30", "90.30.50.10.30", + "30.50.10.30", "50.10.30", "10.30", "30", "", "", "", "", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21", + "61.1.21.11.51.41.31.31.11.81.91.91.21", + "1.21.11.51.41.31.31.11.81.91.91.21", "21.11.51.41.31.31.11.81.91.91.21", + "11.51.41.31.31.11.81.91.91.21", "51.41.31.31.11.81.91.91.21", + "41.31.31.11.81.91.91.21", "31.31.11.81.91.91.21", "31.11.81.91.91.21", + "11.81.91.91.21", "81.91.91.21", "91.91.21", "91.21", "21", "", "", "", + "", "22.42.2.72.12.22.2.72.72.12.62.52.82", + "42.2.72.12.22.2.72.72.12.62.52.82", "2.72.12.22.2.72.72.12.62.52.82", + "72.12.22.2.72.72.12.62.52.82", "12.22.2.72.72.12.62.52.82", + "22.2.72.72.12.62.52.82", "2.72.72.12.62.52.82", "72.72.12.62.52.82", + "72.12.62.52.82", "12.62.52.82", "62.52.82", "52.82", "82", "", "", "", + "", "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83", + "63.73.13.73.73.33.93.23.13.33.3.33.83", + "73.13.73.73.33.93.23.13.33.3.33.83", "13.73.73.33.93.23.13.33.3.33.83", + "73.73.33.93.23.13.33.3.33.83", "73.33.93.23.13.33.3.33.83", + "33.93.23.13.33.3.33.83", "93.23.13.33.3.33.83", "23.13.33.3.33.83", + "13.33.3.33.83", "33.3.33.83", "3.33.83", "33.83", "83", "", "", "", "", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34", + "84.74.34.34.44.74.64.14.34.84.84.44.34", + "74.34.34.44.74.64.14.34.84.84.44.34", + "34.34.44.74.64.14.34.84.84.44.34", "34.44.74.64.14.34.84.84.44.34", + "44.74.64.14.34.84.84.44.34", "74.64.14.34.84.84.44.34", + "64.14.34.84.84.44.34", "14.34.84.84.44.34", "34.84.84.44.34", + "84.84.44.34", "84.44.34", "44.34", "34", "", "", "", "", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95", + "95.65.65.35.5.15.95.55.75.85.75.15.95", + "65.65.35.5.15.95.55.75.85.75.15.95", "65.35.5.15.95.55.75.85.75.15.95", + "35.5.15.95.55.75.85.75.15.95", "5.15.95.55.75.85.75.15.95", + "15.95.55.75.85.75.15.95", "95.55.75.85.75.15.95", "55.75.85.75.15.95", + "75.85.75.15.95", "85.75.15.95", "75.15.95", "15.95", "95", "", "", "", + "", "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.56.16.36.76.96.96.26.26.36.66.36.36", + "56.16.36.76.96.96.26.26.36.66.36.36", + "16.36.76.96.96.26.26.36.66.36.36", "36.76.96.96.26.26.36.66.36.36", + "76.96.96.26.26.36.66.36.36", "96.96.26.26.36.66.36.36", + "96.26.26.36.66.36.36", "26.26.36.66.36.36", "26.36.66.36.36", + "36.66.36.36", "66.36.36", "36.36", "36", "", "", "", "", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7", + "47.87.37.87.77.7.57.47.47.37.27.17.7", + "87.37.87.77.7.57.47.47.37.27.17.7", "37.87.77.7.57.47.47.37.27.17.7", + "87.77.7.57.47.47.37.27.17.7", "77.7.57.47.47.37.27.17.7", + "7.57.47.47.37.27.17.7", "57.47.47.37.27.17.7", "47.47.37.27.17.7", + "47.37.27.17.7", "37.27.17.7", "27.17.7", "17.7", "7", "", "", "", "", + "28.98.78.58.98.8.88.8.58.58.58.38", "98.78.58.98.8.88.8.58.58.58.38", + "78.58.98.8.88.8.58.58.58.38", "58.98.8.88.8.58.58.58.38", + "98.8.88.8.58.58.58.38", "8.88.8.58.58.58.38", "88.8.58.58.58.38", + "8.58.58.58.38", "58.58.58.38", "58.58.38", "58.38", "38", "", "", "", + "", "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39", "9.99.69.39", "99.69.39", "69.39", "39", "", "", "", "" +}) + +test:do_execsql_test( + "1.17.14.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "2.2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "2.3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "3.4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "4.5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "5.6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "6.7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "7.8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "8.9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "9.10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "10.11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "11.12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "12.13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "13.14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "14.15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "15.16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "16.17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "17.19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "19.20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "20.21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "21.22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "22.23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "23.24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "24.25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "25.26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "26.27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "27.28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "28.29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "29.30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "30.31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "31.32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "32.33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "33.34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "34.35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "35.36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "36.37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "37.38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "38.39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "39.40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "40.41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "41.42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "42.43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "43.44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "44.46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "46.47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "47.49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "49.50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "50.51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "51.52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "52.53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "53.54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "54.55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "55.56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "56.57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "57.58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "58.59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "59.60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "60.61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "61.62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "62.63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "63.64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "64.65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "65.66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "66.67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "67.68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "68.69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "69.70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "70.72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "72.73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "73.74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "74.75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "75.76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "76.77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "77.78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "78.79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "79.80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "80.81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "81.82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "82.83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "83.84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "84.85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "85.86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "86.87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "87.88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "88.89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "89.90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "90.91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "91.93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "93.94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "94.95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.95.96.96.96.97.97.98.98.99.99.99", + "95.95.96.96.96.97.97.98.98.99.99.99", + "95.96.96.96.97.97.98.98.99.99.99", "96.96.96.97.97.98.98.99.99.99", + "96.96.97.97.98.98.99.99.99", "96.97.97.98.98.99.99.99", + "97.97.98.98.99.99.99", "97.98.98.99.99.99", "98.98.99.99.99", + "98.99.99.99", "99.99.99", "99.99", "99", "", "", "", "" +}) + +test:do_execsql_test( + "1.17.14.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( PARTITION BY b%10 ORDER BY b,a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "30.30.40.50.60.70.80.80.90.90.90", "30.40.50.60.70.80.80.90.90.90", + "40.50.60.70.80.80.90.90.90", "50.60.70.80.80.90.90.90", + "60.70.80.80.90.90.90", "70.80.80.90.90.90", "80.80.90.90.90", + "80.90.90.90", "90.90.90", "90.90", "90", "", "", "", "", + "21.21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "21.31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "31.41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.41.51.61.61.81.81.81.91.91.91.91.91", + "41.51.61.61.81.81.81.91.91.91.91.91", + "51.61.61.81.81.81.91.91.91.91.91", "61.61.81.81.81.91.91.91.91.91", + "61.81.81.81.91.91.91.91.91", "81.81.81.91.91.91.91.91", + "81.81.91.91.91.91.91", "81.91.91.91.91.91", "91.91.91.91.91", + "91.91.91.91", "91.91.91", "91.91", "91", "", "", "", "", + "12.12.22.22.32.42.52.62.62.72.72.72.82", + "12.22.22.32.42.52.62.62.72.72.72.82", + "22.22.32.42.52.62.62.72.72.72.82", "22.32.42.52.62.62.72.72.72.82", + "32.42.52.62.62.72.72.72.82", "42.52.62.62.72.72.72.82", + "52.62.62.72.72.72.82", "62.62.72.72.72.82", "62.72.72.72.82", + "72.72.72.82", "72.72.82", "72.82", "82", "", "", "", "", + "23.23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "23.33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.33.43.43.53.63.73.73.73.83.93.93.93", + "33.43.43.53.63.73.73.73.83.93.93.93", + "43.43.53.63.73.73.73.83.93.93.93", "43.53.63.73.73.73.83.93.93.93", + "53.63.73.73.73.83.93.93.93", "63.73.73.73.83.93.93.93", + "73.73.73.83.93.93.93", "73.73.83.93.93.93", "73.83.93.93.93", + "83.93.93.93", "93.93.93", "93.93", "93", "", "", "", "", + "34.34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "34.44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.44.54.64.74.74.74.74.74.84.84.84.84.94", + "44.54.64.74.74.74.74.74.84.84.84.84.94", + "54.64.74.74.74.74.74.84.84.84.84.94", + "64.74.74.74.74.74.84.84.84.84.94", "74.74.74.74.74.84.84.84.84.94", + "74.74.74.74.84.84.84.84.94", "74.74.74.84.84.84.84.94", + "74.74.84.84.84.84.94", "74.84.84.84.84.94", "84.84.84.84.94", + "84.84.84.94", "84.84.94", "84.94", "94", "", "", "", "", + "25.35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "35.55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.55.65.65.65.75.75.75.85.85.85.95.95.95", + "55.65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.65.75.75.75.85.85.85.95.95.95", + "65.65.75.75.75.85.85.85.95.95.95", "65.75.75.75.85.85.85.95.95.95", + "75.75.75.85.85.85.95.95.95", "75.75.85.85.85.95.95.95", + "75.85.85.85.95.95.95", "85.85.85.95.95.95", "85.85.95.95.95", + "85.95.95.95", "95.95.95", "95.95", "95", "", "", "", "", + "26.26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "26.36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.36.46.46.56.56.56.66.76.86.96.96.96", + "36.46.46.56.56.56.66.76.86.96.96.96", + "46.46.56.56.56.66.76.86.96.96.96", "46.56.56.56.66.76.86.96.96.96", + "56.56.56.66.76.86.96.96.96", "56.56.66.76.86.96.96.96", + "56.66.76.86.96.96.96", "66.76.86.96.96.96", "76.86.96.96.96", + "86.96.96.96", "96.96.96", "96.96", "96", "", "", "", "", + "27.27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "27.37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.37.47.47.47.47.57.67.77.77.87.87.97.97", + "37.47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.47.57.67.77.77.87.87.97.97", + "47.47.47.57.67.77.77.87.87.97.97", "47.47.57.67.77.77.87.87.97.97", + "47.57.67.77.77.87.87.97.97", "57.67.77.77.87.87.97.97", + "67.77.77.87.87.97.97", "77.77.87.87.97.97", "77.87.87.97.97", + "87.87.97.97", "87.97.97", "97.97", "97", "", "", "", "", + "38.38.58.58.58.58.68.78.78.88.98.98", + "38.58.58.58.58.68.78.78.88.98.98", "58.58.58.58.68.78.78.88.98.98", + "58.58.58.68.78.78.88.98.98", "58.58.68.78.78.88.98.98", + "58.68.78.78.88.98.98", "68.78.78.88.98.98", "78.78.88.98.98", + "78.88.98.98", "88.98.98", "98.98", "98", "", "", "", "", + "29.29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "29.39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "39.49.59.59.59.59.69.79.89.89.89.99.99.99", + "49.59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.59.69.79.89.89.89.99.99.99", + "59.59.59.69.79.89.89.89.99.99.99", "59.59.69.79.89.89.89.99.99.99", + "59.69.79.89.89.89.99.99.99", "69.79.89.89.89.99.99.99", + "79.89.89.89.99.99.99", "89.89.89.99.99.99", "89.89.99.99.99", + "89.99.99.99", "99.99.99", "99.99", "99", "", "", "", "" +}) + +test:do_execsql_test( + "1.17.14.5", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER ( ORDER BY b%10,a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING ) FROM t2 + ]], { + "80.20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "20.90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "60.70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "70.80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "80.90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "90.30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "50.10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "10.30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "30.41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "61.1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "1.21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "51.41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "41.31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "31.11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "11.81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "81.91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "91.21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "21.2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "32.22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "42.2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "22.2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "2.72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "72.12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "12.62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "62.52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "52.82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "82.23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "43.33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "53.63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "63.73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "73.33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "93.23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "23.13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "13.33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "3.33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "33.83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "83.74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "54.84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "24.4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "4.94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "94.84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "74.64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "64.14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "14.34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "84.44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "44.34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "34.65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "25.75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "65.35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "35.5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "5.15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "55.75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "85.75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "75.15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "15.95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "95.26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "6.46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "46.16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "86.56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "56.16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "16.36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "76.96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "96.26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "26.36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "66.36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "36.97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "97.67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "67.77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "87.77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "77.7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "57.47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "47.37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "37.27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "27.17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "17.7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "7.38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "68.78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "28.98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "78.58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "98.8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "88.8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "8.58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "58.38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "38.99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "39.99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "99.29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "59.89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "89.29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "29.9.79.49.59.29.59.19.39.9.9.99.69.39", + "9.79.49.59.29.59.19.39.9.9.99.69.39", + "79.49.59.29.59.19.39.9.9.99.69.39", "49.59.29.59.19.39.9.9.99.69.39", + "59.29.59.19.39.9.9.99.69.39", "29.59.19.39.9.9.99.69.39", + "59.19.39.9.9.99.69.39", "19.39.9.9.99.69.39", "39.9.9.99.69.39", + "9.9.99.69.39", "9.99.69.39", "99.69.39", "69.39", "39", "", "", "", "" +}) + +test:do_execsql_test( + "1.17.14.6", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') OVER (PARTITION BY b%2,a ORDER BY b%10 ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.17.15.1", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "99.33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "38.39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "39.91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "6.97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "97.46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "46.54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "54.8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "84.23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "16.65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "86.61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "61.85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "59.32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "32.3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "22.55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "28.25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "25.1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "1.40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "40.56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "56.75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "89.76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "76.4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "4.42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "42.78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "78.29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "29.63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "63.87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "80.72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "98.21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "21.65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "65.5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "5.11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "11.87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "87.12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "12.20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "20.31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "31.95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "95.73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "73.88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "88.8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "8.49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "49.90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "96.55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "55.77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "77.2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "2.85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "85.74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "74.70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "70.19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "19.26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "26.47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "47.90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "90.58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "58.9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "9.72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "72.33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "33.75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "75.81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "81.23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "23.13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "13.14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "14.91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "91.15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "15.36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "36.3.69.52.50.10.33.39.58.38.83.82.7", + "3.69.52.50.10.33.39.58.38.83.82.7", "3.69.52.50.10.33.39.58.38.83.82.7", + "69.52.50.10.33.39.58.38.83.82.7", "69.52.50.10.33.39.58.38.83.82.7", + "52.50.10.33.39.58.38.83.82.7", "52.50.10.33.39.58.38.83.82.7", + "50.10.33.39.58.38.83.82.7", "50.10.33.39.58.38.83.82.7", + "10.33.39.58.38.83.82.7", "10.33.39.58.38.83.82.7", + "33.39.58.38.83.82.7", "33.39.58.38.83.82.7", "39.58.38.83.82.7", + "39.58.38.83.82.7", "58.38.83.82.7", "58.38.83.82.7", "38.83.82.7", + "38.83.82.7", "83.82.7", "83.82.7", "82.7", "82.7", "7", "7", "", "", "", + "" +}) + +test:do_execsql_test( + "1.17.15.2", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 0=1) OVER (ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.17.15.3", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE 1=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:do_execsql_test( + "1.17.15.4", + [[ +SELECT group_concat(CAST(b AS TEXT), '.') +FILTER (WHERE a%2=0) OVER (PARTITION BY (a%10) ORDER BY a ROWS BETWEEN 4 FOLLOWING +AND UNBOUNDED FOLLOWING) FROM t2 + ]], { + "59.28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "28.75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "75.78.72.98.87.73.96.74.90.75.91.69.39.7", + "78.72.98.87.73.96.74.90.75.91.69.39.7", + "72.98.87.73.96.74.90.75.91.69.39.7", "98.87.73.96.74.90.75.91.69.39.7", + "87.73.96.74.90.75.91.69.39.7", "73.96.74.90.75.91.69.39.7", + "96.74.90.75.91.69.39.7", "74.90.75.91.69.39.7", "90.75.91.69.39.7", + "75.91.69.39.7", "91.69.39.7", "69.39.7", "39.7", "7", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "86.32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "32.25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "25.89.29.9.21.12.88.55.70.58.81.91.52.58", + "89.29.9.21.12.88.55.70.58.81.91.52.58", + "29.9.21.12.88.55.70.58.81.91.52.58", "9.21.12.88.55.70.58.81.91.52.58", + "21.12.88.55.70.58.81.91.52.58", "12.88.55.70.58.81.91.52.58", + "88.55.70.58.81.91.52.58", "55.70.58.81.91.52.58", "70.58.81.91.52.58", + "58.81.91.52.58", "81.91.52.58", "91.52.58", "52.58", "58", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "61.3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "3.1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "1.76.63.73.65.20.8.77.19.9.23.15.50.38", + "76.63.73.65.20.8.77.19.9.23.15.50.38", + "63.73.65.20.8.77.19.9.23.15.50.38", "73.65.20.8.77.19.9.23.15.50.38", + "65.20.8.77.19.9.23.15.50.38", "20.8.77.19.9.23.15.50.38", + "8.77.19.9.23.15.50.38", "77.19.9.23.15.50.38", "19.9.23.15.50.38", + "9.23.15.50.38", "23.15.50.38", "15.50.38", "50.38", "38", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "85.22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "22.40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "40.4.87.65.5.31.49.2.26.72.13.36.10.83", + "4.87.65.5.31.49.2.26.72.13.36.10.83", + "87.65.5.31.49.2.26.72.13.36.10.83", "65.5.31.49.2.26.72.13.36.10.83", + "5.31.49.2.26.72.13.36.10.83", "31.49.2.26.72.13.36.10.83", + "49.2.26.72.13.36.10.83", "2.26.72.13.36.10.83", "26.72.13.36.10.83", + "72.13.36.10.83", "13.36.10.83", "36.10.83", "10.83", "83", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "", "", "85.55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "55.56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "56.42.80.58.11.95.90.85.47.33.14.3.33.82", + "42.80.58.11.95.90.85.47.33.14.3.33.82", + "80.58.11.95.90.85.47.33.14.3.33.82", "58.11.95.90.85.47.33.14.3.33.82", + "11.95.90.85.47.33.14.3.33.82", "95.90.85.47.33.14.3.33.82", + "90.85.47.33.14.3.33.82", "85.47.33.14.3.33.82", "47.33.14.3.33.82", + "33.14.3.33.82", "14.3.33.82", "3.33.82", "33.82", "82", "", "", "", "", + "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", + "", "" +}) + +test:finish_test() diff --git a/test/sql-tap/window4.test.lua b/test/sql-tap/window4.test.lua new file mode 100755 index 0000000000000000000000000000000000000000..9f80fab5dfdc7f4158124e43a30e1d6a2192de8b --- /dev/null +++ b/test/sql-tap/window4.test.lua @@ -0,0 +1,4914 @@ +#!/usr/bin/env tarantool +local test = require("sqltester") +test:plan(159) + +test:execsql([[ + DROP TABLE IF EXISTS t3; + CREATE TABLE t3(a TEXT PRIMARY KEY); + INSERT INTO t3 VALUES('a'), ('b'), ('c'), ('d'), ('e'); + INSERT INTO t3 VALUES('f'), ('g'), ('h'), ('i'), ('j'); +]]) + +-- test:do_execsql_test( +-- "1.1", +-- [[ +-- SELECT a, ntile(1) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 1, d, 1, e, 1, f, 1, g, 1, h, 1, i, 1, j, 1 +-- }) + +-- test:do_execsql_test( +-- "1.2", +-- [[ +-- SELECT a, ntile(2) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 1, d, 1, e, 1, f, 2, g, 2, h, 2, i, 2, j, 2 +-- }) + +-- test:do_execsql_test( +-- "1.3", +-- [[ +-- SELECT a, ntile(3) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 1, d, 1, e, 2, f, 2, g, 2, h, 3, i, 3, j, 3 +-- }) + +-- test:do_execsql_test( +-- "1.4", +-- [[ +-- SELECT a, ntile(4) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 1, d, 2, e, 2, f, 2, g, 3, h, 3, i, 4, j, 4 +-- }) + +-- test:do_execsql_test( +-- "1.5", +-- [[ +-- SELECT a, ntile(5) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 2, d, 2, e, 3, f, 3, g, 4, h, 4, i, 5, j, 5 +-- }) + +-- test:do_execsql_test( +-- "1.6", +-- [[ +-- SELECT a, ntile(6) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 2, d, 2, e, 3, f, 3, g, 4, h, 4, i, 5, j, 6 +-- }) + +-- test:do_execsql_test( +-- "1.7", +-- [[ +-- SELECT a, ntile(7) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 2, d, 2, e, 3, f, 3, g, 4, h, 5, i, 6, j, 7 +-- }) + +-- test:do_execsql_test( +-- "1.8", +-- [[ +-- SELECT a, ntile(8) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 2, d, 2, e, 3, f, 4, g, 5, h, 6, i, 7, j, 8 +-- }) + +-- test:do_execsql_test( +-- "1.9", +-- [[ +-- SELECT a, ntile(9) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 1, c, 2, d, 3, e, 4, f, 5, g, 6, h, 7, i, 8, j, 9 +-- }) + +-- test:do_execsql_test( +-- "1.10", +-- [[ +-- SELECT a, ntile(10) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.11", +-- [[ +-- SELECT a, ntile(11) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.12", +-- [[ +-- SELECT a, ntile(12) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.13", +-- [[ +-- SELECT a, ntile(13) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.14", +-- [[ +-- SELECT a, ntile(14) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.15", +-- [[ +-- SELECT a, ntile(15) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.16", +-- [[ +-- SELECT a, ntile(16) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.17", +-- [[ +-- SELECT a, ntile(17) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.18", +-- [[ +-- SELECT a, ntile(18) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +-- test:do_execsql_test( +-- "1.19", +-- [[ +-- SELECT a, ntile(19) OVER (ORDER BY a) FROM t3 +-- ]], { +-- a, 1, b, 2, c, 3, d, 4, e, 5, f, 6, g, 7, h, 8, i, 9, j, 10 +-- }) + +test:execsql([[ + DROP TABLE IF EXISTS t4; + CREATE TABLE t4(a INTEGER PRIMARY KEY, b TEXT, c INTEGER); + INSERT INTO t4 VALUES(1, 'A', 9); + INSERT INTO t4 VALUES(2, 'B', 3); + INSERT INTO t4 VALUES(3, 'C', 2); + INSERT INTO t4 VALUES(4, 'D', 10); + INSERT INTO t4 VALUES(5, 'E', 5); + INSERT INTO t4 VALUES(6, 'F', 1); + INSERT INTO t4 VALUES(7, 'G', 1); + INSERT INTO t4 VALUES(8, 'H', 2); + INSERT INTO t4 VALUES(9, 'I', 10); + INSERT INTO t4 VALUES(10, 'J', 4); +]]) + +-- test:do_execsql_test( +-- "2.1", +-- [[ +-- SELECT a, nth_value(b, c) OVER (ORDER BY a) FROM t4 +-- ]], { +-- 1, "", 2, "", 3, B, 4, "", 5, E, 6, A, 7, A, 8, B, 9, "", 10, D +-- }) + +-- test:do_execsql_test( +-- "2.2.1", +-- [[ +-- SELECT a, lead(b) OVER (ORDER BY a) FROM t4 +-- ]], { +-- 1, B, 2, C, 3, D, 4, E, 5, F, 6, G, 7, H, 8, I, 9, J, 10, "" +-- }) + +-- test:do_execsql_test( +-- "2.2.2", +-- [[ +-- SELECT a, lead(b, 2) OVER (ORDER BY a) FROM t4 +-- ]], { +-- 1, C, 2, D, 3, E, 4, F, 5, G, 6, H, 7, I, 8, J, 9, "", 10, "" +-- }) + +-- test:do_execsql_test( +-- "2.2.3", +-- [[ +-- SELECT a, lead(b, 3, 'abc') OVER (ORDER BY a) FROM t4 +-- ]], { +-- 1, D, 2, E, 3, F, 4, G, 5, H, 6, I, 7, J, 8, abc, 9, abc, 10, abc +-- }) + +-- test:do_execsql_test( +-- "2.3.1", +-- [[ +-- SELECT a, lag(b) OVER (ORDER BY a) FROM t4 +-- ]], { +-- 1, "", 2, A, 3, B, 4, C, 5, D, 6, E, 7, F, 8, G, 9, H, 10, I +-- }) + +-- test:do_execsql_test( +-- "2.3.2", +-- [[ +-- SELECT a, lag(b, 2) OVER (ORDER BY a) FROM t4 +-- ]], { +-- 1, "", 2, "", 3, A, 4, B, 5, C, 6, D, 7, E, 8, F, 9, G, 10, H +-- }) + +-- test:do_execsql_test( +-- "2.3.3", +-- [[ +-- SELECT a, lag(b, 3, 'abc') OVER (ORDER BY a) FROM t4 +-- ]], { +-- 1, abc, 2, abc, 3, abc, 4, A, 5, B, 6, C, 7, D, 8, E, 9, F, 10, G +-- }) + +test:do_execsql_test( + "2.4.1", + [[ +SELECT group_concat(b, '.') OVER ( +ORDER BY a ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING +) FROM t4 + ]], + { + "A.B.C.D.E.F.G.H.I.J", + "B.C.D.E.F.G.H.I.J", + "C.D.E.F.G.H.I.J", + "D.E.F.G.H.I.J", + "E.F.G.H.I.J", + "F.G.H.I.J", + "G.H.I.J", + "H.I.J", + "I.J", + "J", + } +) + +test:execsql([[ + DROP TABLE IF EXISTS t5; + CREATE TABLE t5(a INTEGER PRIMARY KEY, b TEXT, c TEXT, d INTEGER); + INSERT INTO t5 VALUES(1, 'A', 'one', 5); + INSERT INTO t5 VALUES(2, 'B', 'two', 4); + INSERT INTO t5 VALUES(3, 'A', 'three', 3); + INSERT INTO t5 VALUES(4, 'B', 'four', 2); + INSERT INTO t5 VALUES(5, 'A', 'five', 1); +]]) + +-- test:do_execsql_test( +-- "3.1", +-- [[ +-- SELECT a, nth_value(c, d) OVER (ORDER BY b) FROM t5 +-- ]], { +-- 1, "", 3, "five", 5, "one", 2, "two", 4, "three" +-- }) + +-- test:do_execsql_test( +-- "3.2", +-- [[ +-- SELECT a, nth_value(c, d) OVER (PARTITION BY b ORDER BY a) FROM t5 +-- ]], { +-- 1, "", 3, "", 5, "one", 2, "", 4, "four" +-- }) + +test:do_execsql_test( + "3.3", + [[ +SELECT a, count(*) OVER abc, count(*) OVER def FROM t5 +WINDOW abc AS (ORDER BY a), +def AS (ORDER BY a DESC) +ORDER BY a; + ]], + { + 1, + 1, + 5, + 2, + 2, + 4, + 3, + 3, + 3, + 4, + 4, + 2, + 5, + 5, + 1, + } +) + +test:do_execsql_test( + "3.4", + [[ +SELECT a, max(a) FILTER (WHERE (a%2)=0) OVER w FROM t5 +WINDOW w AS (ORDER BY a) + ]], + { + 1, + "", + 2, + 2, + 3, + 2, + 4, + 4, + 5, + 4, + } +) + +test:do_execsql_test( + "3.5.1", + [[ +SELECT a, max(c) OVER (ORDER BY a ROWS BETWEEN 1 PRECEDING AND 2 PRECEDING) +FROM t5 + ]], + { + 1, + "", + 2, + "", + 3, + "", + 4, + "", + 5, + "", + } +) + +test:do_execsql_test( + "3.5.2", + [[ +SELECT a, max(c) OVER (ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM t5 + ]], + { + 1, + "", + 2, + "one", + 3, + "two", + 4, + "three", + 5, + "four", + } +) + +test:do_execsql_test( + "3.5.3", + [[ +SELECT a, max(c) OVER (ORDER BY a ROWS BETWEEN 0 PRECEDING AND 0 PRECEDING) +FROM t5 + ]], + { + 1, + "one", + 2, + "two", + 3, + "three", + 4, + "four", + 5, + "five", + } +) + +test:do_execsql_test( + "3.6.1", + [[ +SELECT a, max(c) OVER (ORDER BY a ROWS BETWEEN 2 FOLLOWING AND 1 FOLLOWING) +FROM t5 + ]], + { + 1, + "", + 2, + "", + 3, + "", + 4, + "", + 5, + "", + } +) + +test:do_execsql_test( + "3.6.2", + [[ +SELECT a, max(c) OVER (ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 1 FOLLOWING) +FROM t5 + ]], + { + 1, + "two", + 2, + "three", + 3, + "four", + 4, + "five", + 5, + "", + } +) + +test:do_execsql_test( + "3.6.3", + [[ +SELECT a, max(c) OVER (ORDER BY a ROWS BETWEEN 0 FOLLOWING AND 0 FOLLOWING) +FROM t5 + ]], + { + 1, + "one", + 2, + "two", + 3, + "three", + 4, + "four", + 5, + "five", + } +) + +test:execsql([[ + DROP TABLE IF EXISTS ttt; + CREATE TABLE ttt(a INTEGER PRIMARY KEY, b INTEGER, c INTEGER); + INSERT INTO ttt VALUES(1, 1, 1); + INSERT INTO ttt VALUES(2, 2, 2); + INSERT INTO ttt VALUES(3, 3, 3); + + INSERT INTO ttt VALUES(4, 1, 2); + INSERT INTO ttt VALUES(5, 2, 3); + INSERT INTO ttt VALUES(6, 3, 4); + + INSERT INTO ttt VALUES(7, 1, 3); + INSERT INTO ttt VALUES(8, 2, 4); + INSERT INTO ttt VALUES(9, 3, 5); +]]) + +test:do_execsql_test( + "4.1", + [[ +SELECT max(c), max(b) OVER (ORDER BY b) FROM ttt GROUP BY b; + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.2", + [[ +SELECT max(b) OVER (ORDER BY max(c)) FROM ttt GROUP BY b; + ]], + { + 1, + 2, + 3, + } +) + +test:do_execsql_test( + "4.3", + [[ +SELECT abs(max(b) OVER (ORDER BY b)) FROM ttt GROUP BY b; + ]], + { + 1, + 2, + 3, + } +) + +test:do_execsql_test( + "4.4", + [[ +SELECT sum(b) OVER ( +ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING +) FROM ttt; + ]], + { + 18, + 17, + 15, + 12, + 11, + 9, + 6, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.1.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.1.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 3, + 5, + 5, + 7, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.2.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.2.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 2, + 5, + 3, + 7, + 4, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.3.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 3, + 1, + 4, + 1, + 3, + 1, + 4, + 1, + 5, + 1, + } +) + +test:do_execsql_test( + "4.5.3.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 3, + 3, + 6, + 3, + 8, + 5, + 11, + 7, + 15, + 6, + 18, + 9, + 22, + 12, + 27, + } +) + +test:do_execsql_test( + "4.5.4.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.4.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 2, + 5, + 3, + 7, + 4, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.5.1", + [[ +SELECT max(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.5.2", + [[ +SELECT sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 3, + 3, + 5, + 4, + 7, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.6.1", + [[ +SELECT max(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.6.2", + [[ +SELECT sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.7.1", + [[ +SELECT max(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 3, + 1, + 4, + 1, + 3, + 1, + 4, + 1, + 5, + 1, + } +) + +test:do_execsql_test( + "4.5.7.2", + [[ +SELECT sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 3, + 3, + 6, + 2, + 8, + 3, + 11, + 4, + 15, + 3, + 18, + 4, + 22, + 5, + 27, + } +) + +test:do_execsql_test( + "4.5.8.1", + [[ +SELECT max(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.8.2", + [[ +SELECT sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.9.1", + [[ +SELECT max(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 1, + 3, + 2, + 4, + 3, + 4, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.9.2", + [[ +SELECT sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 3, + 2, + 6, + 3, + 8, + 3, + 11, + 5, + 15, + 7, + 18, + 6, + 22, + 9, + 27, + 12, + } +) + +test:do_execsql_test( + "4.5.10.1", + [[ +SELECT max(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 2, + 3, + 3, + 4, + 4, + 4, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.10.2", + [[ +SELECT sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 3, + 2, + 6, + 3, + 8, + 2, + 11, + 3, + 15, + 4, + 18, + 3, + 22, + 4, + 27, + 5, + } +) + +test:do_execsql_test( + "4.5.11.1", + [[ +SELECT max(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 1, + 3, + 1, + 3, + 1, + 3, + 1, + 4, + 1, + 4, + 1, + 4, + 1, + 5, + 1, + } +) + +test:do_execsql_test( + "4.5.11.2", + [[ +SELECT sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 3, + 3, + 6, + 6, + 8, + 8, + 11, + 11, + 15, + 15, + 18, + 18, + 22, + 22, + 27, + 27, + } +) + +test:do_execsql_test( + "4.5.12.1", + [[ +SELECT max(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 2, + 3, + 3, + 4, + 4, + 4, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.12.2", + [[ +SELECT sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 3, + 2, + 6, + 3, + 8, + 2, + 11, + 3, + 15, + 4, + 18, + 3, + 22, + 4, + 27, + 5, + } +) + +test:do_execsql_test( + "4.5.13.1", + [[ +SELECT max(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.13.2", + [[ +SELECT sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 3, + 3, + 5, + 4, + 7, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.14.1", + [[ +SELECT max(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.14.2", + [[ +SELECT sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b, a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.15.1", + [[ +SELECT max(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 1, + 3, + 1, + 2, + 1, + 3, + 1, + 4, + 1, + 3, + 1, + 4, + 1, + 5, + 1, + } +) + +test:do_execsql_test( + "4.5.15.2", + [[ +SELECT sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER ( ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 3, + 3, + 6, + 2, + 8, + 3, + 11, + 4, + 15, + 3, + 18, + 4, + 22, + 5, + 27, + } +) + +test:do_execsql_test( + "4.5.16.1", + [[ +SELECT max(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.16.2", + [[ +SELECT sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY a ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.17.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.17.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 3, + 5, + 5, + 7, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.18.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.18.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 3, + 6, + 5, + 9, + 7, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.19.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.19.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 2, + 5, + 3, + 7, + 4, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.20.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.20.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 3, + 5, + 5, + 7, + 7, + 9, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.21.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.21.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 6, + 3, + 9, + 5, + 12, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.22.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.22.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.23.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.23.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 6, + 2, + 9, + 3, + 12, + 4, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.24.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.24.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 5, + 9, + 7, + 12, + 9, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.25.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.25.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 3, + 3, + 5, + 4, + 7, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.26.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.26.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 2, + 6, + 3, + 9, + 4, + 12, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.27.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.27.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.28.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.28.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 2, + 5, + 3, + 7, + 4, + 9, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.29.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.29.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 5, + 3, + 7, + 5, + 9, + 7, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.30.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.30.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 5, + 6, + 7, + 9, + 9, + 12, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.31.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.31.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 5, + 2, + 7, + 3, + 9, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.32.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.32.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 5, + 5, + 7, + 7, + 9, + 9, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.33.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.33.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 3, + 5, + 5, + 7, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.34.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.34.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 6, + 5, + 9, + 7, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.35.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 2, + "", + 3, + "", + 4, + "", + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + } +) + +test:do_execsql_test( + "4.5.35.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 3, + "", + 5, + "", + 7, + "", + 6, + 1, + 9, + 2, + 12, + 3, + 6, + 2, + 9, + 3, + 12, + 4, + } +) + +test:do_execsql_test( + "4.5.36.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 2, + "", + 3, + "", + 4, + "", + 3, + "", + 4, + "", + 5, + "", + 3, + "", + 4, + "", + 5, + "", + } +) + +test:do_execsql_test( + "4.5.36.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 3, + "", + 5, + "", + 7, + "", + 6, + "", + 9, + "", + 12, + "", + 6, + "", + 9, + "", + 12, + "", + } +) + +test:do_execsql_test( + "4.5.37.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + 3, + "", + 4, + "", + 5, + "", + } +) + +test:do_execsql_test( + "4.5.37.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 5, + 5, + 7, + 7, + 9, + 6, + 3, + 9, + 4, + 12, + 5, + 6, + "", + 9, + "", + 12, + "", + } +) + +test:do_execsql_test( + "4.5.38.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.38.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 6, + 3, + 9, + 5, + 12, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.39.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.39.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.40.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 3, + "", + 4, + "", + 5, + "", + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + } +) + +test:do_execsql_test( + "4.5.40.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 6, + "", + 9, + "", + 12, + "", + 6, + 1, + 9, + 2, + 12, + 3, + 6, + 2, + 9, + 3, + 12, + 4, + } +) + +test:do_execsql_test( + "4.5.41.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 3, + "", + 4, + "", + 5, + "", + 3, + "", + 4, + "", + 5, + "", + 3, + "", + 4, + "", + 5, + "", + } +) + +test:do_execsql_test( + "4.5.41.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 6, + "", + 9, + "", + 12, + "", + 6, + "", + 9, + "", + 12, + "", + 6, + "", + 9, + "", + 12, + "", + } +) + +test:do_execsql_test( + "4.5.42.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + 3, + "", + 4, + "", + 5, + "", + } +) + +test:do_execsql_test( + "4.5.42.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 6, + 5, + 9, + 7, + 12, + 9, + 6, + 3, + 9, + 4, + 12, + 5, + 6, + "", + 9, + "", + 12, + "", + } +) + +test:do_execsql_test( + "4.5.43.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 1, + "", + 2, + "", + 3, + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + } +) + +test:do_execsql_test( + "4.5.43.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 3, + "", + 5, + "", + 7, + 1, + 6, + 2, + 9, + 3, + 12, + 2, + 6, + 3, + 9, + 4, + 12, + } +) + +test:do_execsql_test( + "4.5.44.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 1, + "", + 2, + "", + 3, + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + } +) + +test:do_execsql_test( + "4.5.44.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 6, + "", + 9, + "", + 12, + 1, + 6, + 2, + 9, + 3, + 12, + 2, + 6, + 3, + 9, + 4, + 12, + } +) + +test:do_execsql_test( + "4.5.45.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + } +) + +test:do_execsql_test( + "4.5.45.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + } +) + +test:do_execsql_test( + "4.5.46.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + 1, + "", + 2, + "", + 3, + "", + 2, + "", + 3, + "", + 4, + "", + } +) + +test:do_execsql_test( + "4.5.46.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + 1, + "", + 2, + "", + 3, + "", + 2, + "", + 3, + "", + 4, + "", + } +) + +test:do_execsql_test( + "4.5.47.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 2, + "", + 3, + "", + 4, + 1, + 3, + 2, + 4, + 3, + 5, + 2, + "", + 3, + "", + 4, + "", + } +) + +test:do_execsql_test( + "4.5.47.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 5, + "", + 7, + "", + 9, + 1, + 3, + 2, + 4, + 3, + 5, + 2, + "", + 3, + "", + 4, + "", + } +) + +test:do_execsql_test( + "4.5.48.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 1, + "", + 2, + "", + 3, + "", + 1, + "", + 2, + "", + 3, + "", + 1, + "", + 2, + "", + 3, + } +) + +test:do_execsql_test( + "4.5.48.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 3, + "", + 5, + "", + 7, + "", + 6, + "", + 9, + "", + 12, + "", + 6, + "", + 9, + "", + 12, + } +) + +test:do_execsql_test( + "4.5.49.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 1, + "", + 2, + "", + 3, + "", + 1, + "", + 2, + "", + 3, + "", + 1, + "", + 2, + "", + 3, + } +) + +test:do_execsql_test( + "4.5.49.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 6, + "", + 9, + "", + 12, + "", + 6, + "", + 9, + "", + 12, + "", + 6, + "", + 9, + "", + 12, + } +) + +test:do_execsql_test( + "4.5.50.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + "", + 1, + "", + 2, + "", + 3, + "", + 2, + "", + 3, + "", + 4, + } +) + +test:do_execsql_test( + "4.5.50.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + "", + 1, + "", + 2, + "", + 3, + "", + 2, + "", + 3, + "", + 4, + } +) + +test:do_execsql_test( + "4.5.51.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.51.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.52.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 2, + "", + 3, + "", + 4, + "", + 3, + "", + 4, + "", + 5, + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.52.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + "", + 5, + "", + 7, + "", + 9, + "", + 3, + "", + 4, + "", + 5, + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.53.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + "", + 1, + "", + 2, + "", + 3, + } +) + +test:do_execsql_test( + "4.5.53.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 1 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 5, + 3, + 7, + 5, + 9, + 7, + 3, + 6, + 4, + 9, + 5, + 12, + "", + 6, + "", + 9, + "", + 12, + } +) + +test:do_execsql_test( + "4.5.54.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + "", + 1, + "", + 2, + "", + 3, + } +) + +test:do_execsql_test( + "4.5.54.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 3 PRECEDING AND 2 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 5, + 6, + 7, + 9, + 9, + 12, + 3, + 6, + 4, + 9, + 5, + 12, + "", + 6, + "", + 9, + "", + 12, + } +) + +test:do_execsql_test( + "4.5.55.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 3, + "", + 4, + "", + 5, + "", + 3, + 1, + 4, + 2, + 5, + 3, + "", + 2, + "", + 3, + "", + 4, + } +) + +test:do_execsql_test( + "4.5.55.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 5, + "", + 7, + "", + 9, + "", + 3, + 1, + 4, + 2, + 5, + 3, + "", + 2, + "", + 3, + "", + 4, + } +) + +test:do_execsql_test( + "4.5.56.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 3, + "", + 4, + "", + 5, + "", + 3, + "", + 4, + "", + 5, + "", + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.56.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 0 PRECEDING AND 1 PRECEDING) +FROM ttt ORDER BY a + ]], + { + 5, + "", + 7, + "", + 9, + "", + 3, + "", + 4, + "", + 5, + "", + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.57.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +min(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.57.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING), +sum(c) OVER (PARTITION BY b ORDER BY a ROWS BETWEEN 1 FOLLOWING AND 500 FOLLOWING) +FROM ttt ORDER BY a + ]], + { + 5, + 5, + 7, + 7, + 9, + 9, + 3, + 3, + 4, + 4, + 5, + 5, + "", + "", + "", + "", + "", + "", + } +) + +test:do_execsql_test( + "4.5.58.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.58.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 3, + 5, + 5, + 7, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.59.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.59.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 3, + 5, + 5, + 7, + 7, + 9, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.60.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.60.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 3, + 6, + 5, + 9, + 7, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.61.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.61.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 3, + 5, + 5, + 7, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.62.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.62.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 5, + 3, + 7, + 5, + 9, + 7, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.63.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.63.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 5, + 5, + 7, + 7, + 9, + 9, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.64.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.64.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 5, + 6, + 7, + 9, + 9, + 12, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.65.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.65.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 5, + 3, + 7, + 5, + 9, + 7, + 3, + 6, + 4, + 9, + 5, + 12, + } +) + +test:do_execsql_test( + "4.5.66.1", + [[ +SELECT max(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.66.2", + [[ +SELECT sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 6, + 3, + 9, + 5, + 12, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.67.1", + [[ +SELECT max(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 2, + 4, + 3, + 5, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.67.2", + [[ +SELECT sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 5, + 9, + 7, + 12, + 9, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.68.1", + [[ +SELECT max(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.68.2", + [[ +SELECT sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.69.1", + [[ +SELECT max(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.69.2", + [[ +SELECT sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 6, + 1, + 9, + 2, + 12, + 3, + 6, + 3, + 9, + 5, + 12, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.70.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.70.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 3, + 5, + 5, + 7, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.71.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 2, + 3, + 3, + 4, + 4, + 3, + 3, + 4, + 4, + 5, + 5, + } +) + +test:do_execsql_test( + "4.5.71.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY a DESC RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 3, + 5, + 5, + 7, + 7, + 9, + 6, + 3, + 9, + 4, + 12, + 5, + } +) + +test:do_execsql_test( + "4.5.72.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.72.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b +RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 6, + 2, + 9, + 3, + 12, + 3, + 6, + 5, + 9, + 7, + 12, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +test:do_execsql_test( + "4.5.73.1", + [[ +SELECT max(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +min(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 2, + 1, + 3, + 2, + 4, + 3, + 3, + 1, + 4, + 2, + 5, + 3, + } +) + +test:do_execsql_test( + "4.5.73.2", + [[ +SELECT sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW), +sum(c) OVER (PARTITION BY b ORDER BY b, a RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) +FROM ttt ORDER BY a + ]], + { + 1, + 1, + 2, + 2, + 3, + 3, + 3, + 3, + 5, + 5, + 7, + 7, + 6, + 6, + 9, + 9, + 12, + 12, + } +) + +-- test:execsql([[ +-- DROP TABLE IF EXISTS t1; +-- CREATE TABLE t1(x INTEGER PRIMARY KEY, y INTEGER); +-- INSERT INTO t1 VALUES(1, 2); +-- INSERT INTO t1 VALUES(3, 4); +-- INSERT INTO t1 VALUES(5, 6); +-- INSERT INTO t1 VALUES(7, 8); +-- INSERT INTO t1 VALUES(9, 10); +-- ]]) + +-- test:do_execsql_test( +-- "7.1", +-- [[ +-- SELECT lead(y) OVER win FROM t1 +-- WINDOW win AS (ORDER BY x) +-- ]], { +-- 4, 6, 8, 10, "" +-- }) + +-- test:do_execsql_test( +-- "7.2", +-- [[ +-- SELECT lead(y, 2) OVER win FROM t1 +-- WINDOW win AS (ORDER BY x) +-- ]], { +-- 6, 8, 10, "", "" +-- }) + +-- test:do_execsql_test( +-- "7.3", +-- [[ +-- SELECT lead(y, 3, -1) OVER win FROM t1 +-- WINDOW win AS (ORDER BY x) +-- ]], { +-- 8, 10, -1, -1, -1 +-- }) + +-- test:do_execsql_test( +-- "7.4", +-- [[ +-- SELECT +-- lead(y) OVER win, lead(y) OVER win +-- FROM t1 +-- WINDOW win AS (ORDER BY x) +-- ]], { +-- 4, 4, 6, 6, 8, 8, 10, 10, "", "" +-- }) + +-- test:do_execsql_test( +-- "7.5", +-- [[ +-- SELECT +-- lead(y) OVER win, +-- lead(y, 2) OVER win, +-- lead(y, 3, -1) OVER win +-- FROM t1 +-- WINDOW win AS (ORDER BY x) +-- ]], { +-- 4, 6, 8, 6, 8, 10, 8, 10, -1, 10, "", -1, "", "", -1 +-- }) + +-- test:execsql([[ +-- DROP TABLE IF EXISTS t1; +-- CREATE TABLE t1(a INTEGER PRIMARY KEY, b INTEGER, c INTEGER, d INTEGER); +-- INSERT INTO t1 VALUES(1, 2, 3, 4); +-- INSERT INTO t1 VALUES(5, 6, 7, 8); +-- INSERT INTO t1 VALUES(9, 10, 11, 12); +-- ]]) + +-- test:do_execsql_test( +-- "8.1", +-- [[ +-- SELECT row_number() OVER win, +-- nth_value(d,2) OVER win, +-- lead(d) OVER win +-- FROM t1 +-- WINDOW win AS (ORDER BY a) +-- ]], { +-- 1, "", 8, 2, 8, 12, 3, 8, "" +-- }) + +-- test:do_execsql_test( +-- "8.2", +-- [[ +-- SELECT row_number() OVER win, +-- rank() OVER win, +-- dense_rank() OVER win, +-- ntile(2) OVER win, +-- first_value(d) OVER win, +-- last_value(d) OVER win, +-- nth_value(d,2) OVER win, +-- lead(d) OVER win, +-- lag(d) OVER win, +-- max(d) OVER win, +-- min(d) OVER win +-- FROM t1 +-- WINDOW win AS (ORDER BY a) +-- ]], { +-- 1, 1, 1, 1, 4, 4, "", 8, "", 4, 4, 2, 2, 2, 1, 4, 8, 8, 12, 4, 8, 4, +-- 3, 3, 3, 2, 4, 12, 8, "", 8, 12, 4 +-- }) + +-- test:execsql([[ +-- DROP TABLE IF EXISTS t2; +-- CREATE TABLE t2(x INTEGER PRIMARY KEY); +-- INSERT INTO t2 VALUES(1), (1), (1), (4), (4), (6), (7); +-- ]]) + +-- test:do_execsql_test( +-- "9.1", +-- [[ +-- SELECT rank() OVER () FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1 +-- }) + +-- test:do_execsql_test( +-- "9.2", +-- [[ +-- SELECT dense_rank() OVER (PARTITION BY x) FROM t2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 1 +-- }) + +-- test:do_execsql_test( +-- "9.4", +-- [[ +-- SELECT x, rank() OVER (ORDER BY x) FROM t2 ORDER BY 1,2 +-- ]], { +-- 1, 1, 1, 1, 1, 1, 4, 4, 4, 4, 6, 6, 7, 7 +-- }) + +-- test:do_execsql_test( +-- "9.5", +-- [[ +-- SELECT DISTINCT x, rank() OVER (ORDER BY x) FROM t2 ORDER BY 1,2 +-- ]], { +-- 1, 1, 4, 4, 6, 6, 7, 7 +-- }) + +test:finish_test() diff --git a/test/sql-tap/window6.test.lua b/test/sql-tap/window6.test.lua new file mode 100755 index 0000000000000000000000000000000000000000..cefbb4df4790dfda42fcb84c803a52985ac739f5 --- /dev/null +++ b/test/sql-tap/window6.test.lua @@ -0,0 +1,47 @@ +#!/usr/bin/env tarantool +local test = require("sqltester") +test:plan(5) + +test:execsql([[ + DROP TABLE IF EXISTS over; + CREATE TABLE over(x INT PRIMARY KEY, over INT); + DROP TABLE IF EXISTS "window"; + CREATE TABLE window(x INT PRIMARY KEY, window INT); + INSERT INTO over VALUES(1, 2), (3, 4), (5, 6); + INSERT INTO window VALUES(1, 2), (3, 4), (5, 6); +]]) + +test:do_execsql_test( + "5.0", + [[ SELECT sum(x) over FROM over ]], { 9 }) + +test:do_execsql_test( + "5.1", + [[ SELECT sum(x) over over FROM over WINDOW over AS () ]], + { 9, 9, 9 }) + +test:do_execsql_test( + "5.2", + [[ +SELECT sum(over) over over over FROM over over WINDOW over AS (ORDER BY over) + ]], { + 2, 6, 12 + }) + +test:do_execsql_test( + "5.3", + [[ +SELECT sum(over) over over over FROM over over WINDOW over AS (ORDER BY over); + ]], { + 2, 6, 12 + }) + +test:do_execsql_test( + "5.4", + [[ +SELECT sum(window) OVER window window FROM window window window window AS (ORDER BY window); + ]], { + 2, 6, 12 + }) + +test:finish_test() diff --git a/test/sql-tap/with2.test.lua b/test/sql-tap/with2.test.lua index 5951765e8f8d57ec90326b67d314a57ca7cdab1b..cc114264612d0b401807dd7ebfc1907a42acb97d 100755 --- a/test/sql-tap/with2.test.lua +++ b/test/sql-tap/with2.test.lua @@ -562,7 +562,7 @@ test:do_catchsql_test(6.6, [[ WITH x AS (SELECT * FROM t1) DELETE FROM t2 WHERE ]], { -- <6.6> - 1, "Syntax error at line 2 near '\n'" + 1, "Syntax error at line 2 near ''" -- </6.6> })