Mercurial > ~dholland > hg > ag > index.cgi
diff tests/agcl/parsifal/good/cpp.cpp @ 0:13d2b8934445
Import AnaGram (near-)release tree into Mercurial.
author | David A. Holland |
---|---|
date | Sat, 22 Dec 2007 17:52:45 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/agcl/parsifal/good/cpp.cpp Sat Dec 22 17:52:45 2007 -0500 @@ -0,0 +1,8823 @@ +// class AstNode; + + #include "cppdefs.h" + #include "agstk.h" + #include <stdio.h> + #include "mpp.h" + + extern int columnNumber; + + #define INPUT_CODE(t) inputCode(t) + +#ifndef SYNTAX_ERROR +#define SYNTAX_ERROR printf("%s\n", (PCB).error_message) +#endif + + + parse_pcb_type *pcbPointer = 0; + #define PCB (*pcbPointer) + + extern char *inputName[]; + InputToken *trackPointer; + + int inputCode(const InputToken &t) { + int code = t.code; + if (code == IDENTIFIER) code = getTokenType(t.handle); + PCB.column = t.column; + if (PCB.pointer == trackPointer) return code; + trackPointer = PCB.pointer; + if (code == LINE) printf("[%02d] %s(%d): %d\n", scopeStack.size(), inputName[code], code, t.handle); + else printf("[%02d] %s(%d): %s\n", scopeStack.size(), inputName[code], code, td[t.handle]); + return code; + } + + AgStack<ParserState> stateStack; + + #include "cpp.h" + +/* + * AnaGram, A System for Syntax Directed Programming + * File generated by: ... + * + * AnaGram Parsing Engine + * Copyright 1993-2002 Parsifal Software. All Rights Reserved. + * + * This software is provided 'as-is', without any express or implied + * warranty. In no event will the authors be held liable for any damages + * arising from the use of this software. + * + * Permission is granted to anyone to use this software for any purpose, + * including commercial applications, and to alter it and redistribute it + * freely, subject to the following restrictions: + * + * 1. The origin of this software must not be misrepresented; you must not + * claim that you wrote the original software. If you use this software + * in a product, an acknowledgment in the product documentation would be + * appreciated but is not required. + * 2. Altered source versions must be plainly marked as such, and must not be + * misrepresented as being the original software. + * 3. This notice may not be removed or altered from any source distribution. + */ + +#ifndef CPP_H +#include "cpp.h" +#endif + +#ifndef CPP_H +#error Mismatched header file +#endif + +#include <ctype.h> +#include <stdio.h> + +#define RULE_CONTEXT (&((PCB).cs[(PCB).ssx])) +#define ERROR_CONTEXT ((PCB).cs[(PCB).error_frame_ssx]) +#define CONTEXT ((PCB).cs[(PCB).ssx]) + + +#define INPUT_VALUE(type) *(type *) &(PCB).input_value + +#line - "cpp.syn" +#include "mpp.h" +#include "token.h" + +#define GET_CONTEXT CONTEXT = ParserState() + +int typedefFlag = 0; +AgStack<int> typedefStack; +int templateFlag = 0; +AgStack<int> templateStack; + +AgStack<InputToken> tokenStack; + +ParserState::ParserState() + : pointer(pcbPointer ? pcbPointer->pointer : 0), + line(pcbPointer ? pcbPointer->line : 0), + scopeStackDepth(scopeStack.size()), + typedefStackDepth(typedefStack.size()), + nLocalVariables(scopeStackDepth ? scopeStack.top()->nLocals(): 0), + templateStackDepth(templateStack.size()), + typedefFlag(::typedefFlag), + templateFlag(::templateFlag) +{ } + +void ParserState::restore() { + PCB.pointer = pointer; + PCB.line = line; + while (scopeStack.size() > scopeStackDepth) scopeStack.pop(); + while (typedefStack.size() > typedefStackDepth) typedefStack.pop(); + while (templateStack.size() > templateStackDepth) templateStack.pop(); + scopeStack.top()->restoreLocals(nLocalVariables); + ::typedefFlag = typedefFlag; + ::templateFlag = templateFlag; +} +void diagnose(char *msg) { + printf("Error: %s\n", msg); + PCB.exit_flag = AG_SEMANTIC_ERROR_CODE; +} + +c_parser::c_parser() { + pcbPointer = &pcb; + //init_parse(); // init parse +} + + +// Destructor + +c_parser::~c_parser() { +} + + +// Reset Parser + +c_parser &reset(c_parser &c) { + return c; +} + + +// Transmit token to c_parser + +/* + The overloaded operator "<<" is used to transmit data to a parser. + Newline tokens are filtered out, since they are passed along by the + token scanner only in case text output of the preprocessor is + required. + + If the parser has encountered an error, there is no point in giving + it any further input. + + Otherwise, the input_code and input_value fields of the pcb are set + up and cc() is called to deal with the token. +*/ + +token_sink &c_parser::operator << (InputToken c) { + printf("%d\n", c.code); + if (c.code == 10) return *this; + tokenStack.push(c); + if (c.code == END_OF_FILE) { + int k = tokenStack.size(); + int n = k; + InputToken *tokenArray = new InputToken[k]; + while (k--) { + tokenStack.pop(tokenArray[k]); + } + PCB.pointer = tokenArray; + trackPointer = tokenArray - 1; + PCB.line = 1; + scopeStack.push(new Scope); // global scope + parse(); + } + return *this; +} + +token_sink &c_parser::operator << (InputToken *s) { + while (s->code != END_OF_FILE) { + if ((int) s->code == 10) continue; + tokenStack.push(*s++); + } + return *this; +} + +#line - "cpp.cpp" + +#ifndef CONVERT_CASE +#define CONVERT_CASE(c) (c) +#endif +#ifndef TAB_SPACING +#define TAB_SPACING 8 +#endif + +static void ag_rp_1(InputToken x) { +#line - "cpp.syn" + PCB.line = x.handle; +#line - "cpp.cpp" +} + +static TypeDefinition ag_rp_2(InputToken n) { +#line - "cpp.syn" + return TypeDefinition(n); +#line - "cpp.cpp" +} + +static TypeDefinition ag_rp_3(InputToken n) { +#line - "cpp.syn" + return TypeDefinition(n); +#line - "cpp.cpp" +} + +static void ag_rp_4(InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + if (typedefFlag) { + d.tokenType = TYPEDEF_NAME; + typedefFlag = 0; + } + scopeStack.top()->addIdentifier(d); + +#line - "cpp.cpp" +} + +static Scope * ag_rp_5(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_6(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_7(TypeDefinition n) { +#line - "cpp.syn" + return n.scope; +#line - "cpp.cpp" +} + +static Scope * ag_rp_8(TypeDefinition n) { +#line - "cpp.syn" + return n.scope; +#line - "cpp.cpp" +} + +static Scope * ag_rp_9(TypeDefinition n) { +#line - "cpp.syn" + return scopeStack[0]->getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_10(TypeDefinition n) { +#line - "cpp.syn" + return scopeStack[0]->getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_11(Scope * s, TypeDefinition n) { +#line - "cpp.syn" + return (s == 0) ? 0 : s->getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_12(Scope * s, TypeDefinition n) { +#line - "cpp.syn" + return (s == 0) ? 0 : s->getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static void ag_rp_13(void) { +#line - "cpp.syn" + diagnose("expression list hack 2"); +#line - "cpp.cpp" +} + +static void ag_rp_14(void) { +#line - "cpp.syn" + diagnose("expression hack 1"); +#line - "cpp.cpp" +} + +static void ag_rp_15(void) { +#line - "cpp.syn" + diagnose("expression hack 1"); +#line - "cpp.cpp" +} + +static void ag_rp_16(void) { +#line - "cpp.syn" + diagnose("statement try 3"); +#line - "cpp.cpp" +} + +static void ag_rp_17(void) { +#line - "cpp.syn" + restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_18(void) { +#line - "cpp.syn" + nestScope(); +#line - "cpp.cpp" +} + +static void ag_rp_19(void) { +#line - "cpp.syn" + diagnose("condition kernel 2"); +#line - "cpp.cpp" +} + +static void ag_rp_20(void) { +#line - "cpp.syn" + restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_21(void) { +#line - "cpp.syn" + nestScope(); +#line - "cpp.cpp" +} + +static void ag_rp_22(void) { +#line - "cpp.syn" + diagnose("for init 2"); +#line - "cpp.cpp" +} + +static int ag_rp_23(void) { +#line - "cpp.syn" + return 0; +#line - "cpp.cpp" +} + +static void ag_rp_24(void) { +#line - "cpp.syn" + printf("declaration hack complete\n"); +#line - "cpp.cpp" +} + +static void ag_rp_25(void) { +#line - "cpp.syn" + CONTEXT.restore(); +#line - "cpp.cpp" +} + +static void ag_rp_26(void) { +#line - "cpp.syn" + printf("variable declaration\n"); +#line - "cpp.cpp" +} + +static void ag_rp_27(void) { +#line - "cpp.syn" + printf("variable declaration\n"), restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_28(void) { +#line - "cpp.syn" + printf("variable declaration\n"), restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_29(void) { +#line - "cpp.syn" + printf("function definition 2\n"); +#line - "cpp.cpp" +} + +static void ag_rp_30(void) { +#line - "cpp.syn" + printf("function definition 2\n"), restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_31(void) { +#line - "cpp.syn" + printf("function definition 2\n"), restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_32(void) { +#line - "cpp.syn" + printf("declarator list\n"); +#line - "cpp.cpp" +} + +static void ag_rp_33(void) { +#line - "cpp.syn" + printf("declarator list\n"), restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_34(void) { +#line - "cpp.syn" + printf("function definition 1\n"); +#line - "cpp.cpp" +} + +static void ag_rp_35(void) { +#line - "cpp.syn" + diagnose("attempt declarator list"); +#line - "cpp.cpp" +} + +static void ag_rp_36(void) { +#line - "cpp.syn" + PCB.pointer--; +#line - "cpp.cpp" +} + +static void ag_rp_37(void) { +#line - "cpp.syn" + typedefFlag = 1; +#line - "cpp.cpp" +} + +static void ag_rp_38(InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + if (templateFlag) { + d.tokenType = TEMPLATE_NAME; + scopeStack[scopeStack.size() - 2]->addIdentifier(d); + } + else { + d.tokenType = CLASS_NAME; + scopeStack.top()->addIdentifier(d); + } + +#line - "cpp.cpp" +} + +static void ag_rp_39(TypeDefinition d) { +#line - "cpp.syn" + if (templateFlag) { + d.tokenType = TEMPLATE_NAME; + scopeStack[scopeStack.size() - 2]->addIdentifier(d); + } + else { + d.tokenType = CLASS_NAME; + scopeStack.top()->addIdentifier(d); + } + +#line - "cpp.cpp" +} + +static void ag_rp_40(Scope * scope, InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + d.tokenType = templateFlag ? TEMPLATE_NAME : CLASS_NAME; + scope->addIdentifier(d); + +#line - "cpp.cpp" +} + +static void ag_rp_41(Scope * scope, TypeDefinition d) { +#line - "cpp.syn" + d.tokenType = templateFlag ? TEMPLATE_NAME : CLASS_NAME; + scope->addIdentifier(d); + +#line - "cpp.cpp" +} + +static void ag_rp_42(InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + d.tokenType = ENUM_NAME; + scopeStack.top()->addIdentifier(d); + +#line - "cpp.cpp" +} + +static TypeDefinition ag_rp_43(InputToken n) { +#line - "cpp.syn" + return TypeDefinition(n); +#line - "cpp.cpp" +} + +static TypeDefinition ag_rp_44(InputToken n) { +#line - "cpp.syn" + return TypeDefinition(n); +#line - "cpp.cpp" +} + +static Scope * ag_rp_45(void) { +#line - "cpp.syn" + return scopeStack[0]; +#line - "cpp.cpp" +} + +static Scope * ag_rp_46(TypeDefinition n) { +#line - "cpp.syn" + return getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_47(TypeDefinition n) { +#line - "cpp.syn" + return getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_48(Scope * s, TypeDefinition n) { +#line - "cpp.syn" + return s->getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_49(Scope * s, TypeDefinition n) { +#line - "cpp.syn" + return (s == 0) ? 0 : s->getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_50(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_51(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_52(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_53(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_54(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_55(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_56(void) { +#line - "cpp.syn" + return new Scope; +#line - "cpp.cpp" +} + +static Scope * ag_rp_57(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_58(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_59(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_60(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_61(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_62(InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + if (typedefFlag) { + d.tokenType = TYPEDEF_NAME; + typedefFlag = 0; + scopeStack.top()->addIdentifier(d); + } + return new Scope; + +#line - "cpp.cpp" +} + +static Scope * ag_rp_63(InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + if (typedefFlag) { + d.tokenType = TYPEDEF_NAME; + typedefFlag = 0; + scopeStack.top()->addIdentifier(d); + } + return new Scope; + +#line - "cpp.cpp" +} + +static Scope * ag_rp_64(InputToken n) { +#line - "cpp.syn" + return TypeDefinition(n).scope; +#line - "cpp.cpp" +} + +static Scope * ag_rp_65(InputToken n) { +#line - "cpp.syn" + return TypeDefinition(n).scope; +#line - "cpp.cpp" +} + +static void ag_rp_66(void) { +#line - "cpp.syn" + diagnose("declarator hack 3"); +#line - "cpp.cpp" +} + +static void ag_rp_67(void) { +#line - "cpp.syn" + diagnose("expression list hack 4"); +#line - "cpp.cpp" +} + +static void ag_rp_68(void) { +#line - "cpp.syn" +if (templateFlag) restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_69(void) { +#line - "cpp.syn" +if (templateFlag) restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_70(Scope * s) { +#line - "cpp.syn" + nestScope(s); +#line - "cpp.cpp" +} + +static void ag_rp_71(Scope * s) { +#line - "cpp.syn" + nestScope(s); +#line - "cpp.cpp" +} + +static void ag_rp_72(Scope * s) { +#line - "cpp.syn" + nestScope(s); +#line - "cpp.cpp" +} + +static void ag_rp_73(Scope * s) { +#line - "cpp.syn" + nestScope(s); +#line - "cpp.cpp" +} + +static void ag_rp_74(void) { +#line - "cpp.syn" + restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_75(void) { +#line - "cpp.syn" + restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_76(void) { +#line - "cpp.syn" + restoreScope(); +#line - "cpp.cpp" +} + +static void ag_rp_77(void) { +#line - "cpp.syn" + CONTEXT.restore(); +#line - "cpp.cpp" +} + +static void ag_rp_78(void) { +#line - "cpp.syn" + nestScope(); + +#line - "cpp.cpp" +} + +static void ag_rp_79(InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + int flag = templateFlag; + d.scope = nestScope(d.handle); + if (flag) { + d.tokenType = TEMPLATE_NAME; + scopeStack[scopeStack.size() - 3]->addIdentifier(d); + } + else { + d.tokenType = CLASS_NAME; + scopeStack[scopeStack.size() - 2]->addIdentifier(d); + } + +#line - "cpp.cpp" +} + +static void ag_rp_80(TypeDefinition d) { +#line - "cpp.syn" + d.tokenType = templateFlag? TEMPLATE_NAME : CLASS_NAME; + int flag = templateFlag; + d.scope = nestScope(d.handle); + if (flag) scopeStack[scopeStack.size() - 3]->addIdentifier(d); + else scopeStack[scopeStack.size() - 2]->addIdentifier(d); + +#line - "cpp.cpp" +} + +static void ag_rp_81(InputToken n) { +#line - "cpp.syn" + TypeDefinition d(n); + d.tokenType = templateFlag? TEMPLATE_NAME : CLASS_NAME; + int flag = templateFlag; + d.scope = nestScope(d.handle); + if (flag) scopeStack[scopeStack.size() - 3]->addIdentifier(d); + else scopeStack[scopeStack.size() - 2]->addIdentifier(d); + +#line - "cpp.cpp" +} + +static void ag_rp_82(Scope * s, InputToken n) { +#line - "cpp.syn" + if (s != 0) s->nest(new Scope(n.handle)); + +#line - "cpp.cpp" +} + +static void ag_rp_83(Scope * s, InputToken h) { +#line - "cpp.syn" + if (s != 0) s->nest(new Scope(h.handle)); + +#line - "cpp.cpp" +} + +static void ag_rp_84(void) { +#line - "cpp.syn" + diagnose("member specification"); +#line - "cpp.cpp" +} + +static void ag_rp_85(void) { +#line - "cpp.syn" + printf("try member declarator list\n"); +#line - "cpp.cpp" +} + +static void ag_rp_86(Scope * s) { +#line - "cpp.syn" + scopeStack.top()->addBase(s); +#line - "cpp.cpp" +} + +static void ag_rp_87(Scope * s) { +#line - "cpp.syn" + scopeStack.top()->addBase(s); +#line - "cpp.cpp" +} + +static Scope * ag_rp_88(InputToken n) { +#line - "cpp.syn" + return getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_89(InputToken n) { +#line - "cpp.syn" + return getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_90(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_91(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_92(Scope * s) { +#line - "cpp.syn" + return s; +#line - "cpp.cpp" +} + +static Scope * ag_rp_93(InputToken n) { +#line - "cpp.syn" + return getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_94(InputToken n) { +#line - "cpp.syn" + return getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static Scope * ag_rp_95(Scope * s, TypeDefinition n) { +#line - "cpp.syn" + return (s == 0) ? 0 : s->getNestedScope(n.handle); +#line - "cpp.cpp" +} + +static void ag_rp_96(void) { +#line - "cpp.syn" + nestScope(); +#line - "cpp.cpp" +} + +static void ag_rp_97(void) { +#line - "cpp.syn" + templateFlag = 1; +#line - "cpp.cpp" +} + +static void ag_rp_98(InputToken n) { +#line - "cpp.syn" + scopeStack.top()->addIdentifier(TypeDefinition(n.handle, CLASS_NAME)); +#line - "cpp.cpp" +} + +static InputToken ag_rp_99(InputToken n) { +#line - "cpp.syn" + return n; +#line - "cpp.cpp" +} + + +#ifndef AG_TRACE_FILE_NAME +#define AG_TRACE_FILE_NAME "cpp.etr" +#endif + +static void ag_trace_error(void) { + FILE *ag_file = fopen(AG_TRACE_FILE_NAME, "w"); + int i; + if (ag_file == NULL) return; + fprintf(ag_file, "%d\n", (PCB).ssx); + for (i = 0; i < (PCB).ssx; i++) fprintf(ag_file, "%d\n", (PCB).ss[i]); + fprintf(ag_file, "%d\n", (PCB).sn); + fprintf(ag_file, "%d\n", (PCB).token_number); + fclose(ag_file); +} + + +#define READ_COUNTS +#define WRITE_COUNTS +#undef V +#define V(i,t) (*t (&(PCB).vs[(PCB).ssx + i])) +#undef VS +#define VS(i) (PCB).vs[(PCB).ssx + i] + +#ifndef GET_CONTEXT +#define GET_CONTEXT CONTEXT = (PCB).input_context +#endif + +typedef enum { + ag_action_1, + ag_action_2, + ag_action_3, + ag_action_4, + ag_action_5, + ag_action_6, + ag_action_7, + ag_action_8, + ag_action_9, + ag_action_10, + ag_action_11, + ag_action_12 +} ag_parser_action; + + +#ifndef NULL_VALUE_INITIALIZER +#define NULL_VALUE_INITIALIZER = { 0 } +#endif + +static parse_vs_type const ag_null_value NULL_VALUE_INITIALIZER; + +static const unsigned char ag_rpx[] = { + 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 4, 0, 0, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 15, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 0, 0, 0, 0, 0, 0, 17, 18, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, + 20, 21, 0, 0, 0, 0, 0, 0, 22, 0, 0, 0, 0, 23, 0, 0, 24, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 26, 27, 28, 29, 30, 31, 0, 32, + 33, 34, 35, 0, 0, 36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 38, 39, 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, + 0, 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 45, 46, 47, 48, 49, 0, 0, 0, 0, 0, 0, 0, 0, 50, 51, 52, 0, 0, + 0, 0, 53, 0, 0, 54, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 66, 0, 0, 0, 0, 0, 0, 67, 0, 0, 68, 69, 0, 70, 71, 72, + 0, 0, 73, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 76, + 77, 78, 79, 80, 81, 82, 83, 0, 0, 0, 0, 0, 0, 0, 0, 84, 85, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 87, + 88, 89, 90, 0, 0, 91, 0, 0, 92, 93, 94, 95, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 97, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 98, + 0, 0, 0, 0, 0, 0, 0, 0, 99 +}; + +#define AG_TCV(x) ag_tcv[(x)] + +static const unsigned short ag_tcv[] = { + 15,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491, + 491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,400,491,491, + 491,406,396,491,378,377,397,398,393,399,382,405,484,491,491,491,491,491, + 491,491,491,491,417,430,387,419,386,418,491,415,423,427,383,491,385,421, + 479,411,410,384,409,407,425,422,420,412,416,428,408,426,424,429,371,372, + 491,381,491,380,413,491,491,403,404,376,492,491,491,491,491,491,491,491, + 491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,434,414,433, + 394,491,491,375,373,467,468,478,471,472,491,491,491,367,368,369,370,446, + 441,431,456,476,442,432,439,465,436,469,449,464,440,444,435,460,461,447, + 443,459,462,395,448,482,437,455,483,463,466,477,438,475,491,491,458,490, + 481,491,391,402,388,453,445,491,454,451,450,473,401,491,491,488,485,486, + 487,390,389,379,374,489,491,480,392,470,474,452,457,493,493,493,493,493, + 491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491, + 491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491,491, + 491,491,491,491 +}; + +#ifndef SYNTAX_ERROR +#define SYNTAX_ERROR fprintf(stderr,"%s\n", (PCB).error_message) +#endif + +#ifndef PARSER_STACK_OVERFLOW +#define PARSER_STACK_OVERFLOW {fprintf(stderr, \ + "\nParser stack overflow\n");} +#endif + +#ifndef REDUCTION_TOKEN_ERROR +#define REDUCTION_TOKEN_ERROR {fprintf(stderr, \ + "\nReduction token error\n");} +#endif + + +#ifndef INPUT_CODE +#define INPUT_CODE(T) (T) +#endif + + +static void ag_prot(void) { + int ag_k; + ag_k = 128 - ++(PCB).btsx; + if (ag_k <= (PCB).ssx) { + ag_trace_error(); + (PCB).exit_flag = AG_STACK_ERROR_CODE; + PARSER_STACK_OVERFLOW; + return; + } + (PCB).bts[(PCB).btsx] = (PCB).sn; + (PCB).bts[ag_k] = (PCB).ssx; + (PCB).vs[ag_k] = (PCB).vs[(PCB).ssx]; + (PCB).ss[ag_k] = (PCB).ss[(PCB).ssx]; + (PCB).cs[ag_k] = (PCB).cs[(PCB).ssx]; +} + +static void ag_undo(void) { + if ((PCB).drt == -1) return; + while ((PCB).btsx) { + int ag_k = 128 - (PCB).btsx; + (PCB).sn = (PCB).bts[(PCB).btsx--]; + (PCB).ssx = (PCB).bts[ag_k]; + (PCB).vs[(PCB).ssx] = (PCB).vs[ag_k]; + (PCB).ss[(PCB).ssx] = (PCB).ss[ag_k]; + (PCB).cs[(PCB).ssx] = (PCB).cs[ag_k]; + } + (PCB).token_number = (parse_token_type) (PCB).drt; + (PCB).ssx = (PCB).dssx; + (PCB).sn = (PCB).dsn; + (PCB).drt = -1; +} + + +static const unsigned short ag_tstt[] = { +493,492,483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465, + 464,463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447, + 446,445,430,379,376,373,15,0,1,365,366, +493,492,0,1, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 430,379,376,373,15,0,13,14,178, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 433,430,379,376,373,86,15,0,5,7,8,24,25,28,37,38,80,136,137,138,140,172, + 179,180,181,182,183,184,185,186,187,188,189,190,191,205,206,209,211,215, + 216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233, + 234,235,236,237,238,239,240,241,242,244,245,246,248,250,254,255,256,257, + 258,259,260,263,264,278,279,280,307,312,318,319,320, +15,0, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +387,0,52, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +478,472,471,373,0,5,24,25,38,254,255,280, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +478,472,471,376,373,0,5,8,24,25,28,38,254,255,280, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +376,0,28, +387,0,52, +478,472,471,434,417,376,375,373,0,5,6,24,25,28,38,116,153,247,254,255,280, + 316, +478,472,471,434,376,375,373,0,5,6,24,25,28,38,153,247,254,255,280, +434,417,0,116,153, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +488,479,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,430,419, + 417,397,396,394,393,381,378,377,376,375,373,0,140,209,212,216,217,218, + 219,220,221,222,223,224,225,226,227,228,278,279, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,455,454,453,452,451,450,449,448,447,446,376,373,0,5,7,8, + 24,25,28,38,140,206,211,215,216,217,218,219,220,221,222,223,224,225,226, + 227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245, + 246,248,250,254,255,278,279,280,312,318,319,320, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,208,216,217,218,219,220,221,222,223,224, + 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +480,434,0,153,303,305,308, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,173,254,255,265,266,268,280,339, +430,0,143, +478,473,472,471,470,376,373,0,5,8,24,25,28,38,250,254,255,260,280, +471,434,375,0,6,153,254, +378,0,31, +372,0,22, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 430,387,379,376,373,86,0,5,7,8,24,25,28,37,38,52,80,136,137,138,140,172, + 180,181,182,183,184,185,186,187,188,189,190,191,205,206,209,211,215,216, + 217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234, + 235,236,237,238,239,240,241,242,244,245,246,248,250,254,255,256,257,258, + 259,260,263,264,278,279,280,307,312,318,319,320, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,445,397,396, + 394,379,378,376,375,373,86,0,37,80,140,141,144,190,191,192,216,217,218, + 219,220,221,222,223,224,225,226,227,228,278,279,300, +379,0,37,190, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,455,454,453,452,451,450,449,448,447,446,430,376,373,0,5, + 7,8,24,25,28,38,137,138,140,172,205,206,209,211,215,216,217,218,219,220, + 221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 239,240,241,242,244,245,246,248,250,254,255,278,279,280,307,312,318,319, + 320, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,53,80,87,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,249, + 250,254,255,278,279,280,283,318,319,320,357, +376,0,28, +478,472,471,468,467,373,0,5,24,25,38,244,245,254,255,280, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,53,80,87,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,249, + 250,254,255,278,279,280,283,318,319,320,357, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +376,0,28, +478,472,471,379,375,373,0,5,6,24,25,37,38,254,255,280, +434,417,387,0,52,116,153,316, +488,479,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,434,430, + 419,417,397,396,394,393,381,378,377,376,375,373,0,28,116,153,316, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +488,479,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,434,430, + 419,417,397,396,394,393,381,378,377,376,375,373,0,116,153,316, +433,375,0,6,251,252,253, +376,0,28, +478,472,471,375,373,0,5,6,24,25,38,254,255,280, +434,0,153, +487,486,485,478,472,471,452,376,373,0,5,24,25,28,38,224,247,254,255,280,315, + 326,331,332,333,336,337,338, +487,486,485,483,482,481,478,477,476,474,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 433,430,376,373,86,0,5,7,8,24,25,28,38,80,138,140,143,172,188,206,209, + 211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231, + 232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250,254,255, + 263,278,279,280,307,312,313,314,318,319,320,321,322,323,326,336,337,338, +477,476,455,454,453,452,451,450,449,448,447,446,0,140,216,217,218,219,220, + 221,222,223,224,225,226,227,228,278,279, +488,479,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,430,419, + 417,397,396,394,393,381,378,377,376,375,373,0,140,209,212,216,217,218, + 219,220,221,222,223,224,225,226,227,228,278,279, +488,479,478,477,476,472,471,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,430,419,417,397,396,394,393,381,378, + 377,376,375,373,0,140,206,207,208,210,216,217,218,219,220,221,222,223, + 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +434,0,153,303, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,433,432,431,430,376,375,373,86, + 0,2,5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147, + 148,149,150,151,153,154,157,161,162,163,168,172,174,175,176,177,186,187, + 188,189,205,206,209,211,215,216,217,218,219,220,221,222,223,224,225,226, + 227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245, + 246,248,250,254,255,260,263,264,278,279,280,305,307,312,318,319,320, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,429,428,427,426,425,424,423,422,421,420,419,416,415,414, + 413,412,411,410,409,408,407,406,405,404,402,401,400,399,398,397,396,394, + 393,387,386,385,384,383,381,378,376,373,0,3,5,7,8,9,10,24,25,28,31,38, + 40,47,49,50,52,54,60,62,69,70,71,72,73,91,93,94,97,98,100,101,103,104, + 107,109,111,113,119,120,121,122,123,124,125,126,127,128,129,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320,340,346, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +478,373,0,24,280, +480,479,434,430,419,417,393,387,386,381,378,377,0,52, +480,479,434,430,419,417,393,386,381,378,377,376,0, +376,0,28, +488,480,479,478,477,476,472,471,434,433,430,429,428,427,426,425,424,423,422, + 421,420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404, + 403,399,398,397,396,394,393,387,386,385,384,383,382,381,380,378,377,376, + 375,373,0,228,270,271,278,279, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,254,255,266,268,280,339, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,254,255,265,266,268,280,339, +480,434,430,419,393,381,378,0,31,40,119,267, +430,393,0,60,143, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +478,472,471,376,373,0,5,24,25,28,38,247,254,255,280, +478,472,471,376,373,0,5,8,24,25,28,38,254,255,280, +488,478,472,471,375,373,0,5,6,24,25,29,34,36,38,254,255,280,339, +376,0,28, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 433,430,379,376,373,0,178,261, +434,0,153, +434,419,0,119,153, +372,0,22, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 434,430,379,376,373,86,0,5,7,8,24,25,28,37,38,80,136,137,138,140,153, + 172,180,181,182,183,184,185,186,187,188,189,190,191,205,206,209,211,215, + 216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233, + 234,235,236,237,238,239,240,241,242,244,245,246,248,250,254,255,256,257, + 258,259,260,263,264,278,279,280,307,312,318,319,320, +481,478,477,476,472,471,470,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,386,379,376,373,0,54,347, +379,0,37,190, +480,434,417,0,116,301,302,304,305, +387,0,52, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,397,396,394, + 378,376,375,373,0,140,141,216,217,218,219,220,221,222,223,224,225,226, + 227,228,278,279, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,142,159,254,255,266,268,280,339, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,455,454,453,452,451,450,449,448,447,446,430,376,373,0,5, + 7,8,24,25,28,38,137,138,140,172,205,206,209,211,215,216,217,218,219,220, + 221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 239,240,241,242,244,245,246,248,250,254,255,278,279,280,307,312,318,319, + 320, +478,472,471,376,375,373,0,5,6,24,25,28,38,247,254,255,280, +478,472,471,376,375,373,0,5,6,24,25,28,38,247,254,255,280, +488,480,479,478,477,476,472,471,434,433,430,429,428,427,426,425,424,423,422, + 421,420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404, + 403,399,398,397,396,394,393,387,386,385,384,383,382,381,380,378,377,376, + 375,373,0,228,278,279,283,284, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,5,7,8,24,25,28,38,206,215,228,229,230,231,232, + 233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255,278,279, + 280,318,319,320, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,208,216,217,218,219,220,221,222,223,224, + 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +478,472,471,397,396,393,386,381,378,377,376,373,0,4,5,8,24,25,28,31,38,40, + 69,70,254,255,280,281,282,291, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,86,0,5,6,8,9,10,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,88,89,92,95,96,206,215,229,230,231,232, + 233,234,235,236,237,238,239,244,245,254,255,280,339,352,353,354, +387,0,52, +393,386,0,54,60, +478,472,471,375,373,0,5,6,24,25,38,254,255,280, +393,386,0,54,60, +478,0,25,280, +376,0,28, +488,480,479,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,434, + 433,430,429,428,427,426,425,424,423,422,421,420,419,418,417,416,415,414, + 413,412,411,410,409,408,407,406,405,404,403,399,398,397,396,394,393,387, + 386,385,384,383,382,381,380,378,377,376,375,373,0,28, +488,479,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,434,430, + 419,417,397,396,394,393,381,378,377,376,375,373,0,116,153,316, +419,0,119, +393,0,60, +433,0,152, +376,0,28, +433,375,0,6,251,252,253, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +478,472,471,373,0,5,24,25,38,254,255,280, +478,472,471,452,376,373,0,224,335, +487,486,485,478,472,471,376,373,0,326,334,336,337,338, +434,393,387,0,52, +434,393,376,0, +393,0,60, +434,0,153, +478,472,471,470,376,373,0,5,8,24,25,28,38,250,254,255,280, +417,0,116, +488,478,472,471,430,417,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29, + 31,34,36,38,62,69,70,116,159,254,255,266,268,280,324,325,327,339, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,445,417,397, + 396,394,379,378,376,375,373,86,0,37,140,141,144,190,191,216,217,218,219, + 220,221,222,223,224,225,226,227,228,278,279,300, +487,486,485,483,482,481,478,477,476,474,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 433,430,376,373,86,0,5,7,8,24,25,28,38,80,138,140,143,172,188,206,209, + 211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231, + 232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250,254,255, + 263,278,279,280,307,312,318,319,320,321,322,323,326,336,337,338, +433,0,152, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +490,0,306,358,359, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +375,0,6, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +378,0,31, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +434,0,131,149,153, +375,0,6, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,430, + 402,401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62, + 63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108, + 110,112,114,118,167,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +430,0,143, +430,0,143, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,455,454,453,452,451,450,449,448,447,446,430,376,373,86, + 0,5,7,8,24,25,28,38,80,140,164,165,169,170,172,206,209,211,215,216,217, + 218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235, + 236,237,238,239,240,241,242,244,245,246,248,250,254,255,278,279,280,312, + 318,319,320, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +378,0,31, +378,0,31, +378,0,31, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,433,432,431,430,376,375,373,86, + 0,2,5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147, + 148,149,150,151,153,154,157,161,162,163,168,172,174,175,176,177,186,187, + 188,189,205,206,209,211,215,216,217,218,219,220,221,222,223,224,225,226, + 227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245, + 246,248,250,254,255,260,263,264,278,279,280,305,307,312,318,319,320, +417,0,116, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112,114, + 206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255,280, + 339, +417,0,116, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,445,397,396, + 394,379,378,376,375,373,86,0,37,80,139,140,141,144,190,191,216,217,218, + 219,220,221,222,223,224,225,226,227,228,278,279,300, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,433,432,431,430,376,375,373,86, + 0,2,5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147, + 148,149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189, + 205,206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228, + 229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248, + 250,254,255,260,263,264,278,279,280,305,307,312,318,319,320, +433,0,152, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +380,0,42, +377,0,33, +381,0,40, +381,0,40, +480,479,478,472,471,434,433,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,399,398, + 397,396,393,387,386,385,384,383,382,381,380,378,377,376,373,0,4,5,8,24, + 25,28,38,69,70,254,255,280,341,342, +488,478,472,471,397,394,375,373,0,5,6,24,25,29,34,36,38,62,70,254,255,280, + 339, +489,488,480,479,478,477,476,472,471,434,433,430,429,428,427,426,425,424,423, + 422,421,420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405, + 404,403,399,398,397,396,394,393,387,386,385,384,383,382,381,380,378,377, + 376,375,373,0,228,270,271,278,279, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,254,255,266,268,280,339, +480,434,430,419,417,393,381,378,377,0,31,40, +377,0,33, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,380,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112, + 114,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255, + 274,280,339, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,377,376,373, + 86,0,5,7,8,24,25,28,38,80,140,172,206,209,211,215,216,217,218,219,220, + 221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238, + 239,240,241,242,244,245,246,248,250,254,255,269,278,279,280,289,290,292, + 293,294,296,312,318,319,320, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,434, + 402,401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110, + 112,114,118,153,206,215,229,230,231,232,233,234,235,236,237,238,239,244, + 245,254,255,280,309,339,354, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,254,255,265,266,268,280,339, +478,472,471,373,0,5,24,25,38,254,255,280, +430,376,0,28,143, +376,0,28, +430,0,143, +488,478,472,471,375,373,0,5,6,24,25,29,34,36,38,254,255,280,339, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 433,430,379,376,373,86,0,5,7,8,24,25,28,37,38,80,136,137,138,140,172, + 179,180,181,182,183,184,185,186,187,188,189,190,191,205,206,209,211,215, + 216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233, + 234,235,236,237,238,239,240,241,242,244,245,246,248,250,254,255,256,257, + 258,259,260,263,264,278,279,280,307,312,318,319,320, +433,0,152, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 433,430,379,376,373,0,178,261, +478,472,471,376,373,0,5,24,25,28,38,247,254,255,262,280, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 433,430,379,376,373,0,178,261, +377,0,33, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 433,430,379,376,373,0,14,178, +483,482,481,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464,463, + 462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,445, + 430,379,376,373,86,0,5,7,8,24,25,28,37,38,80,136,137,138,140,172,180, + 181,182,183,184,185,186,187,188,189,190,191,205,206,209,211,215,216,217, + 218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235, + 236,237,238,239,240,241,242,244,245,246,248,250,254,255,256,257,258,259, + 260,263,264,278,279,280,307,312,318,319,320, +481,478,477,476,472,471,470,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,379,376,373,0,5,8,24,25,28, + 37,38,140,206,209,213,214,215,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,244,245,250,254, + 255,278,279,280,318,348,349,350,351, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,397,396,394, + 378,376,375,373,0,140,141,216,217,218,219,220,221,222,223,224,225,226, + 227,228,278,279, +434,417,0,116,301,302, +478,472,471,376,375,373,0,5,6,24,25,28,38,247,254,255,280,333,343,344,345, +434,0,153,303, +481,478,477,476,472,471,470,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,379,376,373,0,347, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,6,9,10,17,18, + 19,20,21,22,24,27,28,31,37,40,46,47,49,50,51,52,54,55,56,57,58,60,62,66, + 69,70,71,72,73,90,91,93,94,97,98,100,101,103,104,107,109,111,113,115, + 116,119,120,121,122,123,124,125,126,127,128,129,143,147,148,153,154,156, + 157,161,162,168,174,175,176,177,191,194,195,197,198,217,218,219,220,221, + 223,224,225,226,227,229,230,231,232,233,234,235,236,237,238,239,244,245, + 248,250,254,255,260,263,264,278,279,280,293,305,318,319,320,330,336,337, + 338,339,354,359,364, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,142,159,254,255,266,268,280,339, +480,434,430,417,393,0, +430,393,0,60,143, +478,472,471,375,373,0,5,6,24,25,38,254,255,280, +488,480,479,478,477,476,472,471,434,433,430,429,428,427,426,425,424,423,422, + 421,420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404, + 403,399,398,397,396,394,393,387,386,385,384,383,382,381,380,378,377,376, + 375,373,0,28, +477,476,0,228,278,279, +488,480,479,478,477,476,472,471,434,433,430,429,428,427,426,425,424,423,422, + 421,420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404, + 403,399,398,397,396,394,393,387,386,385,384,383,382,381,380,378,377,376, + 375,373,0,228,278,279,283,284, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,208,216,217,218,219,220,221,222,223,224, + 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,380,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112, + 114,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255, + 274,280,339, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,397,396,381, + 378,377,376,373,0,4,5,7,8,24,25,28,31,33,38,40,69,70,140,172,206,209, + 211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231, + 232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250,254,255, + 278,279,280,281,289,291,292,293,294,312,318,319,320, +376,0,28, +381,378,0,31,40, +478,472,471,397,396,393,386,381,378,377,376,373,0,4,5,8,24,25,28,31,38,40, + 69,70,254,255,280,281,282,291, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +376,0,28, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +372,0,22, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +488,478,472,471,402,401,375,373,0,5,6,9,10,24,25,29,38,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,381,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,40,45,49,50,51,55,56,57,58,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236, + 237,238,239,244,245,254,255,280,339, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,378,376,373,0,3,5,7,8,24,25,28,31,38,75,78,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +378,0,31, +387,0,52, +387,0,52, +387,0,52, +387,0,52, +378,0,31, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,65,66,67,68, + 69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +385,384,383,382,381,378,0,31,40,46,47,49,50, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,32,38,53,80,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +404,403,0,90,91, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +406,405,397,0,70,93,94, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,393,392,391,390,389,388,386,385,384,378, + 376,375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63, + 64,65,66,67,68,69,70,71,72,73,74,85,88,89,92,95,96,206,215,229,230,231, + 232,233,234,235,236,237,238,239,244,245,254,255,280,339,352,353,354,355, +399,398,0,71,72, +429,428,427,426,425,424,423,422,421,420,419,418,408,407,0,97,98,115,117,119, + 120,121,122,123,124,125,126,127,128,129, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,53,80,87,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320,357, +434,417,0,116,153,316, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112,114, + 206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255,280, + 339, +375,0,6,253, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +433,0,152, +434,393,378,376,0,28, +478,472,471,376,373,0,5,24,25,28,38,247,254,255,280,333, +478,472,471,376,373,0,5,24,25,28,38,247,254,255,280,333, +487,486,485,478,472,471,452,376,373,0,5,24,25,28,38,224,247,254,255,280,326, + 332,333,336,337,338, +487,486,485,483,482,481,478,477,476,474,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 433,430,376,373,86,0,5,7,8,24,25,28,38,80,138,140,143,172,188,206,209, + 211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231, + 232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250,254,255, + 263,278,279,280,307,312,313,314,318,319,320,321,322,323,326,336,337,338, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112,114, + 206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255,280, + 339, +393,0,60, +430,0,143, +480,434,430,419,417,393,381,378,0,116, +480,434,430,419,393,0,119,328,329, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,397,396,394, + 378,376,375,373,0,140,141,216,217,218,219,220,221,222,223,224,225,226, + 227,228,278,279, +488,478,472,471,417,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34, + 36,38,62,69,70,116,159,254,255,266,268,280,324,327,339, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +378,0,31, +490,0,358,359, +419,0,119, +490,0,306,358,359, +430,0,143, +408,407,0,97,98, +410,409,387,386,0,52,54,100,101, +412,411,0,103,104, +396,0,69, +413,0,107, +414,0,109, +489,488,479,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456, + 433,430,417,402,401,400,399,398,397,396,395,394,393,392,391,390,389,388, + 385,384,380,378,377,376,375,374,373,372,371,370,369,368,367,0,5,6,8,9, + 10,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,34,36,38,39,45,49,50, + 51,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96, + 99,102,105,106,108,110,112,114,118,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339,354,361, +415,0,111, +429,428,427,426,425,424,423,422,421,420,419,418,416,0,113,115,117,119,120, + 121,122,123,124,125,126,127,128,129, +393,0,60, +430,0,143, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,173,254,255,265,266,268,280,339, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,86,0,5,6,8,9,10,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,80,85,89,92,95,96,99,102,105,106,108, + 110,112,114,118,171,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +430,0,143, +438,0,161, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,80,155,158,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,80,155,158,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,80,155,158,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +433,0,152, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +418,416,0,113,115, +417,0,116, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,86,0,5,6,8,9,10,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,80,85,89,92,95,96,99,102,105,106,108, + 110,112,114,118,145,146,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339,354, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,142,159,254,255,266,268,280,339, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +380,0,42, +380,0,42, +480,479,478,472,471,434,433,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,399,398, + 397,396,393,387,386,385,384,383,382,381,380,378,377,376,373,0,4,5,8,24, + 25,28,38,69,70,254,255,280,341,342, +478,373,0,24,280, +488,480,479,478,477,476,472,471,434,433,430,429,428,427,426,425,424,423,422, + 421,420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404, + 403,399,398,397,396,394,393,387,386,385,384,383,382,381,380,378,377,376, + 375,373,0,228,270,271,278,279, +480,479,434,430,419,417,393,387,386,381,378,377,0,52, +480,479,434,430,419,417,393,386,381,378,377,376,0, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,377,376,373, + 0,5,7,8,24,25,28,38,140,172,206,209,211,215,216,217,218,219,220,221,222, + 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240, + 241,242,244,245,246,248,250,254,255,269,278,279,280,289,290,292,293,294, + 312,318,319,320, +380,0,42, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,86,0,5,6,8,9,10,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,34,36,38,39,43,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110, + 112,114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245, + 254,255,280,339,354, +377,0,33, +488,479,478,472,471,419,397,396,394,393,381,378,377,376,375,373,0,4,5,6,8, + 24,25,28,29,31,34,36,38,40,62,69,70,254,255,268,275,276,280,285,286,287, + 339, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +479,393,0,60,293, +377,0,33, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,434, + 433,402,401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378, + 376,375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21, + 22,23,24,25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62, + 63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108, + 110,112,114,118,152,153,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,309,310,339,354, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,254,255,265,266,268,280,339, +419,381,378,0,31,40,119,267, +430,376,0,28,143, +488,478,472,471,375,373,0,5,6,24,25,29,34,36,38,254,255,280,339, +430,0,143, +433,0,152, +478,472,471,373,0,5,24,25,38,254,255,280, +430,0,143, +433,0,152, +430,0,143, +433,0,152, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,419,397,396, + 394,393,386,381,378,376,375,373,0,140,209,212,216,217,218,219,220,221, + 222,223,224,225,226,227,228,278,279, +478,477,476,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,376,373,0,5,8,24,25,28,38,140,206, + 214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231, + 232,233,234,235,236,237,238,239,244,245,254,255,278,279,280, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,208,216,217,218,219,220,221,222,223,224, + 225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +488,478,472,471,419,397,396,394,393,386,381,378,376,375,373,0,4,5,6,8,24,25, + 28,29,31,34,36,38,40,62,69,70,254,255,268,275,276,280,285,286,287,339, +387,0,52, +419,393,386,375,0,6,356, +419,375,0,6,119, +393,386,0,54,60, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,254,255,266,268,280,339, +434,0,153,303, +376,0,28, +378,0,31, +393,0,60, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 15,0,1,365,366, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367,0,200, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367,0,199, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367,0,201, +480,434,430,417,393,0, +430,393,0,60,143, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,254,255,266,268,280,339, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +380,0,42, +377,0,33, +376,0,28, +377,0,33, +489,477,476,393,386,381,378,377,0,228,270,271,278,279, +478,472,471,397,373,0,5,24,25,38,70,254,255,280, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,380,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112, + 114,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255, + 274,280,339, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,377,376,373, + 0,5,7,8,24,25,28,38,140,172,206,209,211,215,216,217,218,219,220,221,222, + 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240, + 241,242,244,245,246,248,250,254,255,278,279,280,289,290,292,293,294,312, + 318,319,320, +488,478,472,471,468,467,379,375,373,0,5,6,24,25,29,34,36,37,38,244,245,254, + 255,280,339, +429,428,427,426,425,424,423,422,421,420,419,416,415,414,413,412,411,410,409, + 408,407,406,405,404,402,401,400,399,398,397,396,394,393,387,386,385,384, + 383,381,378,0,9,10,31,40,47,49,50,52,54,60,62,69,70,71,72,73,91,93,94, + 97,98,100,101,103,104,107,109,111,113,119,120,121,122,123,124,125,126, + 127,128,129,346, +380,0,42, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,53,79,80,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,378,376,373,0,3,5,7,8,24,25,28,31,38,75,206,215,228,229, + 230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254, + 255,278,279,280,283,318,319,320, +478,472,471,397,396,381,376,373,0,4,5,8,24,25,28,38,40,69,70,82,83,254,255, + 280, +479,433,430,429,428,427,426,425,424,423,422,421,420,419,418,417,416,415,414, + 413,412,411,410,409,408,407,406,405,404,403,399,398,397,396,393,387,386, + 380,378,377,0,31,76,77, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,32,38,53,80,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,377,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,43,44,45,49,50,51,55,56,57,58,59, + 62,63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106, + 108,110,112,114,118,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,32,38,53,80,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +488,478,472,471,468,467,394,379,376,375,373,0,5,6,8,24,25,28,29,30,34,35,36, + 37,38,48,61,62,244,245,254,255,280,339, +488,478,472,471,468,467,394,379,376,375,373,0,5,6,8,24,25,28,29,30,34,35,36, + 37,38,48,61,62,244,245,254,255,280,339, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,377,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,43,44,45,49,50,51,55,56,57,58,59, + 62,63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106, + 108,110,112,114,118,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63,64, + 65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +377,0,33, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,86,0,5,6,8,9,10,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110, + 112,114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245, + 254,255,280,339,354, +377,0,33, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,206,215,229,230,231,232,233,234,235,236,237, + 238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,206,215,229,230,231,232,233,234,235,236,237, + 238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,206,215,229,230,231,232,233,234,235,236,237, + 238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,206,215,229,230,231,232,233,234,235,236, + 237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,206,215,229,230,231,232,233,234,235,236, + 237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,85,88,89,92,95,96,206,215,229,230,231,232,233, + 234,235,236,237,238,239,244,245,254,255,280,339,352,353,354, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339, +434,393,387,0,52, +434,393,376,0, +433,0,152, +488,478,472,471,417,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34, + 36,38,62,69,70,116,159,254,255,266,268,280,327,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112,114, + 206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255,280, + 339, +488,484,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112, + 114,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255, + 280,330,339, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,254,255,266,268,280,339, +430,393,0,60,143, +480,434,430,419,417,393,0,119,328,329, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,293,318,319,320,360, +490,0,358,359, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,206,215,229,230,231,232,233,234, + 235,236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,206,215,229,230,231,232,233,234, + 235,236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,102,206,215,229,230,231,232,233, + 234,235,236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,206,215,229,230,231,232, + 233,234,235,236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,206,215,229,230,231, + 232,233,234,235,236,237,238,239,244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,206,215,229,230, + 231,232,233,234,235,236,237,238,239,244,245,254,255,280,339, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63,64, + 65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,206,215,229, + 230,231,232,233,234,235,236,237,238,239,244,245,254,255,280,339, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +393,0,60, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +393,0,60, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,430,376,373,86,0,3,5,7,8,24,25,28,38,80,155,158,166,206, + 215,228,229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246, + 248,250,254,255,278,279,280,283,318,319,320, +378,0,31, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,86,0,5,6,8,9,10,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,80,85,89,92,95,96,99,102,105,106,108, + 110,112,114,118,160,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +488,478,472,471,397,396,394,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34,36, + 38,62,69,70,159,254,255,266,268,280,339, +377,0,33, +377,0,33, +377,0,33, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +430,393,0,60,143, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +430,393,0,60,143, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367,0,6,9, + 10,17,18,19,20,21,22,24,27,28,31,37,40,42,46,47,49,50,51,52,54,55,56,57, + 58,60,62,66,69,70,71,72,73,90,91,93,94,97,98,100,101,103,104,107,109, + 111,113,115,116,119,120,121,122,123,124,125,126,127,128,129,143,147,148, + 152,153,154,156,157,161,162,168,174,175,176,177,191,217,218,219,220,221, + 223,224,225,226,227,229,230,231,232,233,234,235,236,237,238,239,244,245, + 248,250,254,255,260,263,264,278,279,280,293,298,299,305,318,319,320,330, + 336,337,338,339,354,359,364, +393,0,60, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,380,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112, + 114,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255, + 274,280,339, +381,378,0,31,40, +419,0,119, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,397,396,381, + 378,377,376,373,86,0,4,5,7,8,24,25,28,31,33,38,40,69,70,80,140,172,206, + 209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230, + 231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250,254, + 255,277,278,279,280,281,288,289,291,292,293,294,312,318,319,320, +488,479,478,472,471,419,397,396,394,393,386,381,378,377,376,375,373,0,4,5,6, + 8,24,25,28,29,31,34,36,38,40,62,69,70,254,255,268,275,276,280,285,286, + 287,339, +381,378,0,31,40, +419,0,119, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,376,373,0,5, + 7,8,24,25,28,38,140,172,206,209,211,215,216,217,218,219,220,221,222,223, + 224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241, + 242,244,245,246,248,250,254,255,278,279,280,293,294,312,318,319,320, +489,480,477,476,434,430,419,417,393,381,378,377,0,228,270,271,278,279, +433,393,0,60,311, +430,0,143, +376,0,28, +488,478,477,476,472,471,455,454,453,452,451,450,449,448,447,446,419,397,396, + 394,393,386,381,378,376,375,373,0,140,209,212,216,217,218,219,220,221, + 222,223,224,225,226,227,228,278,279, +488,478,477,476,472,471,466,465,464,463,462,461,460,459,458,457,456,455,454, + 453,452,451,450,449,448,447,446,419,397,396,394,393,386,381,378,376,375, + 373,0,140,206,207,208,210,216,217,218,219,220,221,222,223,224,225,226, + 227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +477,476,466,465,464,463,462,461,460,459,458,457,456,455,454,453,452,451,450, + 449,448,447,446,0,140,206,207,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,278,279, +419,0,119, +419,0,119, +481,478,477,476,472,471,470,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,379,376,373,0,5,8,24,25,28, + 37,38,140,206,209,213,214,215,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,244,245,250,254, + 255,278,279,280,318,348,349,350,351, +419,0,119, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +419,393,386,0,119, +481,478,477,476,472,471,470,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,379,376,373,0,5,8,24,25,28, + 37,38,140,206,209,213,214,215,216,217,218,219,220,221,222,223,224,225, + 226,227,228,229,230,231,232,233,234,235,236,237,238,239,244,245,250,254, + 255,278,279,280,318,349,350,351, +490,0,306,358,359, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,377,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,43,44,45,49,50,51,55,56,57,58,59, + 62,63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106, + 108,110,112,114,118,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +478,472,471,376,375,373,0,5,6,24,25,28,38,247,254,255,280,333,344,345, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367,0,6,9, + 10,17,18,19,20,21,22,24,27,28,31,33,37,40,42,46,47,49,50,51,52,54,55,56, + 57,58,60,62,66,69,70,71,72,73,90,91,93,94,97,98,100,101,103,104,107,109, + 111,113,115,116,119,120,121,122,123,124,125,126,127,128,129,143,147,148, + 152,153,154,156,157,161,162,168,174,175,176,177,191,194,195,197,198,217, + 218,219,220,221,223,224,225,226,227,229,230,231,232,233,234,235,236,237, + 238,239,244,245,248,250,254,255,260,263,264,278,279,280,293,305,318,319, + 320,330,336,337,338,339,354,359,364, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367,0,6,9, + 10,17,18,19,20,21,22,24,27,28,31,33,37,40,42,46,47,49,50,51,52,54,55,56, + 57,58,60,62,66,69,70,71,72,73,90,91,93,94,97,98,100,101,103,104,107,109, + 111,113,115,116,119,120,121,122,123,124,125,126,127,128,129,143,147,148, + 152,153,154,156,157,161,162,168,174,175,176,177,191,194,195,197,198,217, + 218,219,220,221,223,224,225,226,227,229,230,231,232,233,234,235,236,237, + 238,239,244,245,248,250,254,255,260,263,264,278,279,280,293,305,318,319, + 320,330,336,337,338,339,354,359,364, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367,0,6,9, + 10,17,18,19,20,21,22,24,27,28,31,33,37,40,42,46,47,49,50,51,52,54,55,56, + 57,58,60,62,66,69,70,71,72,73,90,91,93,94,97,98,100,101,103,104,107,109, + 111,113,115,116,119,120,121,122,123,124,125,126,127,128,129,143,147,148, + 152,153,154,156,157,161,162,168,174,175,176,177,191,194,195,197,198,217, + 218,219,220,221,223,224,225,226,227,229,230,231,232,233,234,235,236,237, + 238,239,244,245,248,250,254,255,260,263,264,278,279,280,293,305,318,319, + 320,330,336,337,338,339,354,359,364, +478,472,471,468,467,397,373,0,5,24,25,38,70,244,245,254,255,280, +489,477,476,393,386,381,378,377,0,228,270,271,278,279, +489,393,386,381,378,377,0,272,273,354, +380,0,42, +377,0,33, +488,375,0,6,29,34,36,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,86,0,5,6,8,9,10,16,17,18,19,20,21,22,23, + 24,25,26,27,28,29,30,31,34,36,38,39,43,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,80,85,89,92,95,96,99,102,105,106,108, + 110,112,114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244, + 245,254,255,280,339,354, +377,0,33, +377,0,33, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +479,433,430,429,428,427,426,425,424,423,422,421,420,419,418,417,416,415,414, + 413,412,411,410,409,408,407,406,405,404,403,399,398,397,396,393,387,386, + 380,378,377,0,31,76,77, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63,64, + 65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +381,0,40, +478,472,471,397,396,381,376,373,0,4,5,8,24,25,28,38,40,69,70,82,83,254,255, + 280, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,377,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,43,44,45,49,50,51,55,56,57,58,59, + 62,63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106, + 108,110,112,114,118,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +377,0,33, +377,0,33, +386,0,54, +386,0,54, +386,0,54, +386,0,54, +393,0,60, +377,0,33, +377,0,33, +468,467,0,61,244,245, +376,0,28, +488,478,472,471,376,375,373,0,5,6,8,24,25,28,29,30,34,35,36,38,254,255,280, + 339, +478,472,471,468,467,394,373,0,5,24,25,38,61,62,244,245,254,255,280, +376,0,28, +488,478,472,471,376,375,373,0,5,6,8,24,25,28,29,30,34,35,36,38,254,255,280, + 339, +377,0,33, +393,380,0,42,60, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,206,215,229,230,231,232,233,234,235,236,237,238, + 239,244,245,254,255,280,339, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +393,0,60, +404,403,0,90,91, +404,403,0,90,91, +404,403,0,90,91, +406,405,397,0,70,93,94, +406,405,397,0,70,93,94, +417,408,407,0,97,98,116, +399,398,0,71,72, +399,398,0,71,72, +419,0,119,328,329, +488,478,472,471,397,396,394,381,378,376,375,373,0,4,5,6,8,24,25,28,29,31,34, + 36,38,40,62,69,70,254,255,268,275,276,280,285,287,339, +377,0,33, +408,407,0,97,98, +408,407,0,97,98, +408,407,0,97,98, +408,407,0,97,98, +410,409,387,386,0,52,54,100,101, +410,409,387,386,0,52,54,100,101, +412,411,0,103,104, +396,0,69, +413,0,107, +414,0,109, +417,393,0,60,116, +415,0,111, +430,0,143, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,86,0,3,5,7,8,24,25,28,38,80,155,158,206,215,228, + 229,230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250, + 254,255,278,279,280,283,318,319,320, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +393,0,60, +419,0,119, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421,420,419, + 418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401, + 400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383, + 382,381,380,379,378,376,375,374,373,372,371,370,369,368,367,0,6,9,10,17, + 18,19,20,21,22,24,27,28,31,37,40,42,46,47,49,50,51,52,54,55,56,57,58,60, + 62,66,69,70,71,72,73,90,91,93,94,97,98,100,101,103,104,107,109,111,113, + 115,116,119,120,121,122,123,124,125,126,127,128,129,143,147,148,152,153, + 154,156,157,161,162,168,174,175,176,177,191,217,218,219,220,221,223,224, + 225,226,227,229,230,231,232,233,234,235,236,237,238,239,244,245,248,250, + 254,255,260,263,264,278,279,280,293,305,318,319,320,330,336,337,338,339, + 354,359,364, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +380,0,42, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,380,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112, + 114,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255, + 274,280,339, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,377,376,373, + 0,5,7,8,24,25,28,38,140,172,206,209,211,215,216,217,218,219,220,221,222, + 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240, + 241,242,244,245,246,248,250,254,255,278,279,280,289,290,292,293,294,312, + 318,319,320, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +377,0,33, +377,0,33, +489,479,477,476,419,393,386,381,378,377,0,228,270,271,278,279, +488,478,472,471,397,396,394,378,376,375,373,86,0,4,5,6,8,24,25,28,29,31,34, + 36,38,62,69,70,159,254,255,266,268,280,339, +377,0,33, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,380,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112, + 114,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255, + 274,280,339, +483,482,481,479,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461, + 460,459,458,457,456,455,454,453,452,451,450,449,448,447,446,377,376,373, + 0,5,7,8,24,25,28,38,140,172,206,209,211,215,216,217,218,219,220,221,222, + 223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240, + 241,242,244,245,246,248,250,254,255,269,278,279,280,289,290,292,293,294, + 312,318,319,320, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +489,480,434,430,419,417,393,381,378,377,0,272,273,354, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,434, + 402,401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63, + 64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110, + 112,114,118,153,206,215,229,230,231,232,233,234,235,236,237,238,239,244, + 245,254,255,280,309,339,354, +433,0,152, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,85,88,89,92,95,96,206,215,229,230,231,232,233, + 234,235,236,237,238,239,244,245,254,255,280,339,352,353,354, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66, + 67,68,69,70,71,72,73,74,85,88,89,92,95,96,206,215,229,230,231,232,233, + 234,235,236,237,238,239,244,245,254,255,280,339,352,353,354, +393,386,0,54,60, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +490,0,358,359, +377,0,33, +489,393,386,381,378,377,0,272,273,354, +378,0,31, +489,477,476,393,386,381,378,377,0,228,270,271,278,279, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +393,0,60, +479,433,430,429,428,427,426,425,424,423,422,421,420,419,418,417,416,415,414, + 413,412,411,410,409,408,407,406,405,404,403,399,398,397,396,393,387,386, + 380,378,377,0,31,76,77, +377,0,33, +393,380,0,42,60, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,84,85,89,92,95,96,99,102,105,106,108,110,112,114, + 206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255,280, + 339, +377,0,33, +378,0,31, +378,0,31, +378,0,31, +378,0,31, +394,0,62, +376,0,28, +468,467,0,61,244,245, +376,0,28, +488,478,472,471,468,467,394,379,375,373,0,5,6,24,25,29,34,36,37,38,61,62, + 244,245,254,255,280,339, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,206,215,229,230,231,232,233,234,235, + 236,237,238,239,244,245,254,255,280,339,352, +434,0,131,149,153, +488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402,401, + 400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375,374, + 373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24,25, + 26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,62,63,64,65,66,67, + 68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112,114,206, + 215,229,230,231,232,233,234,235,236,237,238,239,244,245,254,255,280,339, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,377,376, + 375,374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22, + 23,24,25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62, + 63,64,65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108, + 110,112,114,118,167,206,215,229,230,231,232,233,234,235,236,237,238,239, + 244,245,254,255,280,339,354, +377,0,33, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,45,49,50,51,55,56,57,58,59,62,63,64,65, + 66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +436,0,156, +380,0,42, +377,0,33, +489,479,477,476,419,393,386,381,378,377,0,228,270,271,278,279, +489,479,419,393,386,381,378,377,0,272,273,354, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,433,432,431,430,429,428,427,426,425,424,423,422,421, + 420,419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403, + 402,401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385, + 384,383,382,381,380,379,378,377,376,375,374,373,372,371,370,369,368,367, + 0,6,9,10,11,12,17,18,19,20,21,22,24,27,28,31,33,37,40,42,46,47,49,50,51, + 52,54,55,56,57,58,60,62,66,69,70,71,72,73,90,91,93,94,97,98,100,101,103, + 104,107,109,111,113,115,116,119,120,121,122,123,124,125,126,127,128,129, + 143,147,148,152,153,154,156,157,161,162,168,174,175,176,177,191,217,218, + 219,220,221,223,224,225,226,227,229,230,231,232,233,234,235,236,237,238, + 239,244,245,248,250,254,255,260,263,264,278,279,280,293,305,318,319,320, + 330,336,337,338,339,354,359,364, +380,0,42, +377,0,33, +481,0,318, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,377,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229, + 230,231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254, + 255,278,279,280,283,318,319,320,362,363, +489,393,386,381,378,377,0,272,273,354, +479,433,430,429,428,427,426,425,424,423,422,421,420,419,418,417,416,415,414, + 413,412,411,410,409,408,407,406,405,404,403,399,398,397,396,393,387,386, + 380,378,377,0,31,76,77, +380,0,42, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63,64, + 65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63,64, + 65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63,64, + 65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +489,488,478,472,471,468,467,466,465,464,463,462,461,460,459,458,457,456,402, + 401,400,399,398,397,396,395,394,392,391,390,389,388,385,384,378,376,375, + 374,373,372,371,370,369,368,367,0,5,6,8,9,10,16,17,18,19,20,21,22,23,24, + 25,26,27,28,29,30,31,34,36,38,39,41,45,49,50,51,55,56,57,58,59,62,63,64, + 65,66,67,68,69,70,71,72,73,74,85,89,92,95,96,99,102,105,106,108,110,112, + 114,118,206,215,229,230,231,232,233,234,235,236,237,238,239,244,245,254, + 255,280,339,354, +468,467,0,61,244,245, +488,478,472,471,379,375,373,0,5,6,24,25,29,34,36,37,38,254,255,280,339, +394,0,62, +468,467,0,61,244,245, +376,0,28, +418,408,407,0,97,98,115, +377,0,33, +430,0,143, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +489,479,477,476,419,393,386,381,378,377,0,228,270,271,278,279, +489,479,419,393,386,381,378,377,0,272,273,354, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420, + 419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402, + 401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384, + 383,382,381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,1,365, + 366, +493,492,491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475, + 474,473,472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457, + 456,455,454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439, + 438,437,436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420, + 419,418,417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402, + 401,400,399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384, + 383,382,381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,1,365, + 366, +491,490,489,488,487,486,485,484,483,482,481,480,479,478,477,476,475,474,473, + 472,471,470,469,468,467,466,465,464,463,462,461,460,459,458,457,456,455, + 454,453,452,451,450,449,448,447,446,445,444,443,442,441,440,439,438,437, + 436,435,434,432,431,430,429,428,427,426,425,424,423,422,421,420,419,418, + 417,416,415,414,413,412,411,410,409,408,407,406,405,404,403,402,401,400, + 399,398,397,396,395,394,393,392,391,390,389,388,387,386,385,384,383,382, + 381,379,378,376,375,374,373,372,371,370,369,368,367,15,0,81,193, +489,479,477,476,419,393,386,381,378,377,0,228,270,271,278,279, +419,393,386,375,0,6,356, +393,0,60, +377,0,33, +393,377,0,33,60, +393,377,0,33,60, +393,377,0,33,60, +393,377,0,33,60, +468,467,0,61,244,245, +394,0,62, +483,482,481,480,478,477,476,475,474,473,472,471,470,469,468,467,466,465,464, + 463,462,461,460,459,458,457,456,455,454,453,452,451,450,449,448,447,446, + 444,443,442,441,440,439,438,437,435,434,432,431,430,376,375,373,86,0,2, + 5,6,7,8,24,25,28,38,80,130,131,132,133,134,135,136,137,138,140,147,148, + 149,153,154,157,161,162,163,168,172,174,175,176,177,186,187,188,189,205, + 206,209,211,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229, + 230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,248,250, + 254,255,260,263,264,278,279,280,305,307,312,318,319,320, +489,479,419,393,386,381,378,377,0,272,273,354, +489,479,419,393,386,381,378,377,0,272,273,354, +419,0,119, +483,482,481,478,477,476,472,471,470,469,468,467,466,465,464,463,462,461,460, + 459,458,457,456,376,373,0,3,5,7,8,24,25,28,38,53,206,215,228,229,230, + 231,232,233,234,235,236,237,238,239,242,243,244,245,246,248,250,254,255, + 278,279,280,283,318,319,320, +468,467,0,61,244,245, +478,0,280, + +}; + + +static unsigned const char ag_astt[40945] = { + 1,2,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,7,1,1,1,9,2,5,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,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,5,8,1,1,1,2,5,7,2,1,1,2,2, + 1,1,2,1,2,2,2,1,1,3,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,2,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,1,1,1,1,1,1,1,1,1, + 1,1,3,7,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7,1,1,2,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1, + 3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3, + 1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,1,7,2,2,2,2,2,2,1,1,2,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,1,1, + 7,2,1,2,2,1,2,2,2,1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1, + 5,1,1,5,1,1,1,1,1,1,1,1,1,7,1,1,2,2,2,1,2,2,1,2,2,1,2,1,1,1,1,1,1,1,7,1,1, + 2,2,2,1,1,1,2,2,1,1,1,7,1,1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7, + 1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1, + 1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,5,5,5,1,1,5,5,1,1,1,1,1,1,1, + 1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,1,1, + 2,2,1,2,3,1,1,1,3,3,3,3,3,3,3,3,3,3,3,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,2,2,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1, + 1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,7,1,3,1,3,1,2,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,5,1,2,2,1,1,2,1,2,1,2,2, + 2,1,1,1,2,1,2,2,1,1,2,1,1,1,7,3,1,1,1,1,1,1,1,7,2,1,2,2,1,2,1,2,2,1,1,1,1, + 1,7,1,1,1,1,7,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,2,7,2,1,1,2,2,1,1,2,1,1,3,2,2,1,1,3,3,3,3, + 3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2,2,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,8,8,1,1,8,8,1,1,1,1,1,1, + 1,1,1,1,1,8,8,8,1,8,8,8,8,2,7,1,1,1,1,2,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1, + 1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,8,1,1,7,2,1,1,2,2,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,2,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,3,1,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, + 7,1,2,1,1,2,2,1,2,1,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,1, + 1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,7,2,2,2,2,3,3,2,2,1,1,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,7,1,2,1,1,2,2,1,2,1,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,1,1,1,1,1,1,1,1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7,2,1,1,1,1,1,1,7, + 1,1,2,2,1,1,2,2,1,1,1,1,7,1,2,2,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,4,4, + 1,4,4,4,4,4,4,4,1,4,4,7,2,2,2,2,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,4,4,1,4,4,4,4,4,4,4,4,4,4,7,2,2,2,8,1, + 7,1,1,1,1,1,7,2,1,1,1,1,1,7,1,3,2,2,1,2,2,1,1,5,1,1,1,1,1,1,1,1,1,1,7,1,1, + 2,2,1,1,1,2,2,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,2,1,1,2,2,1,2,2,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,3,3,3,3,3, + 3,3,3,3,3,2,3,3,3,5,5,5,1,1,5,5,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5, + 5,5,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,5,5,5,1,1,5,5,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,1,1,3,1,1,1,1,1,1, + 1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1, + 2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1, + 8,1,1,1,2,7,1,2,1,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,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,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,2,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7, + 1,2,1,1,1,1,2,2,1,1,2,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1, + 1,1,1,1,3,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,7,2,2,4,4,4,4,4,4,4,1,4,4,4,4,7,1,4,4, + 4,4,4,4,4,4,4,4,4,4,7,1,7,1,5,5,5,5,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,3, + 3,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,1,2,2,1,2,1,1, + 1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,2,2,2,3,1,2,1,1,4,4, + 5,1,5,1,1,7,1,1,1,3,1,1,7,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1, + 1,1,1,1,7,1,2,2,2,1,1,2,2,1,1,1,1,1,1,7,2,1,2,2,1,2,2,2,1,1,1,1,1,1,1,7,2, + 2,2,2,1,1,1,2,2,2,1,1,1,7,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,1,1,1,7,1,1,1,7,1,1,1,7,1,1,2,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,2,1,1,2,2,1,1,2,1,3,2,2,1, + 1,1,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,4,4,4,7,1,1,1,7,1,1,1,8, + 1,7,1,1,1,2,1,1,7,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,2,1,8,8,1,1,8,8,1,1,1,1,1,1, + 1,1,1,1,8,8,8,8,8,8,8,7,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,7,2,1,1,2,2,1,2,2,2,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,3,2,2,2,1,1,2,2,1,1,1,1,1,1,1,7,1,2, + 2,2,2,1,1,2,2,1,5,5,5,5,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,1,1,3,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,1,1,2,2,1,2,1,1,3,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,5,5,1,1,5,1,1,7,1,2,1,2,2,1,1,2,1,1,1,2,2,1,3,3,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, + 1,1,3,3,1,1,5,1,1,1,7,2,1,1,1,1,1,1,7,2,3,2,2,2,2,2,1,1,1,7,3,1,1,7,1,1,1, + 7,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,4,4,7,2,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,1,4,4,1,4,4,4,4,4,4,4,4,4,4,7,2,2,2,1,5,1,1,5, + 1,1,7,3,1,7,2,8,1,7,1,1,1,1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7, + 1,1,3,1,1,1,1,7,1,2,2,1,2,2,1,8,8,8,1,8,8,7,1,1,1,1,1,8,8,8,8,8,7,1,1,1,1, + 1,4,4,1,7,1,4,4,4,7,1,5,1,1,7,1,1,1,1,1,1,1,7,2,1,2,2,1,2,1,2,2,1,1,7,3,1, + 1,1,1,8,1,1,1,1,1,1,1,1,7,1,2,1,1,1,2,1,2,1,2,2,2,1,1,1,1,1,2,2,1,2,1,1,1, + 1,1,8,8,1,1,8,8,1,1,1,1,1,1,1,1,1,1,1,8,8,8,8,1,8,8,8,8,1,7,1,1,1,3,1,1,1, + 1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,2,7,2,1,1,2,2,1,2,2,3,1,3,1,3,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, + 1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,7,1,1, + 1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7,1,1,2,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7, + 2,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7,1,1,2,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1, + 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,7,3,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,8,1,1,2,7,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,1,2,1,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,2,1,1,1,1,1,1,1,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,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,7, + 1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,8,1,1,1,2,7,1,2,1,1,1,2,2,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1, + 1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1, + 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,7,1,8,8,1,1,8,8,1,1,1,1,1,1,1,1, + 1,1,1,8,8,8,1,8,8,8,8,2,7,1,1,3,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,5,1,1,8,1,1,1,2,7,3,2,1,1,1,2,2,1,2,1,3,3,3,3,3,3,3,3, + 3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,7, + 2,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3, + 1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1, + 2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7, + 1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1, + 1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7,3,1, + 7,3,1,5,1,1,5,1,5,5,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,1,1,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,2,1,2,2,1,2,1,1,2,2,1,3, + 3,1,1,1,1,1,1,1,1,7,2,2,1,2,2,2,2,2,1,1,2,2,1,1,5,5,5,5,5,1,1,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,7,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2, + 2,1,1,1,2,2,2,1,2,1,1,4,4,4,4,4,4,1,1,4,7,1,1,1,7,2,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,7,2,2, + 1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,5,1,1,2,7,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, + 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2, + 1,1,1,2,2,3,1,2,1,1,1,1,1,1,7,1,2,2,1,2,2,1,1,1,7,2,3,1,7,1,1,7,3,1,1,1,1, + 1,1,7,2,2,2,2,1,1,1,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,8,1,1,1,2,7,2,1,1,2,2,1,1,2,1,2,2,2,1,1,3, + 2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,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,1,1,1,1,1,1,1,1,1,1,1,1,7,3,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 7,1,1,1,1,1,1,1,7,1,2,2,2,1,1,2,2,1,1,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,1,1,1,7,1,4,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,8,1,1,1,2,7,2,1,1,2,2,1,1,2,1,3,2,2,1,1,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,3,3, + 3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7,2,1,2,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,8,8,1,1,8,8,1,1,1,1,1,1,1,1, + 1,1,8,8,8,8,8,8,8,7,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,8,1,7,1,1,1,1,1,1,1, + 1,1,7,1,1,2,2,2,1,1,2,2,1,1,1,1,1,1,7,1,2,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,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,7,3,3,3,3,3, + 3,3,3,3,3,3,3,1,3,1,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,3,3,3,3,3,3,3,1,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,3,3,3,3,3,3,3,3,3, + 3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1, + 1,1,2,2,1,2,1,1,4,4,5,4,5,7,1,1,7,1,2,1,1,1,1,1,7,1,2,2,2,1,2,2,1,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, + 4,4,4,4,4,4,4,4,4,4,4,4,4,1,4,4,7,2,1,1,5,3,3,3,5,5,5,5,1,1,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3, + 3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1, + 1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,1, + 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,5,1,1,1,1,1,1,1,5,5,1, + 1,5,1,1,7,1,2,1,2,2,1,1,2,1,1,1,2,2,1,3,3,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,2,1, + 1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,5,1,1,2,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,5,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,1,1,1,1,1,7,2,3,3,3,2,2,3,2,2,2,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,1,1,1,1,3,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,1,2, + 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,1,1,1,1,1,1,1,1,2,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,7,1,1,7,1,1,7,1,1,7,1,1,7,1,1,7,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1, + 1,1,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, + 1,3,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, + 1,3,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, + 1,3,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1, + 1,1,5,1,1,1,1,3,3,1,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,7,1, + 2,1,1,2,2,1,1,2,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,1,1,1,1, + 1,1,1,1,1,5,1,1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,5,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,2,2,1,1,3,3,1,3,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,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,7,1, + 2,1,1,2,2,1,2,3,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1, + 1,1,1,3,1,1,7,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1, + 1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1, + 1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,7,1,3,1,2,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,7,1,1,3,1,7,2,4,4,4,1,7,2,1,1,1,1,1,7,1,1,2,2,1,1,2,2,1,2,1, + 1,1,1,1,7,1,2,2,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,7,1,1,2,2,1,1,1,2,2,1,1,2, + 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,8,1,1,1,2,7,2,1,1,2,2,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,3,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,5,1,1,7,3,4,4,4,4,1,4,4,4,7,1,4,4,5, + 1,5,7,1,3,3,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,2,1,8,8,1,1,8,8,1,1,1,1,1,1,1,1,1,1, + 8,8,8,8,8,8,8,7,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 7,1,2,1,1,1,2,1,2,1,2,2,2,1,1,1,1,1,2,2,1,2,1,1,1,1,1,2,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,7,1,1,3,1,7,1,1,5,3,1,1,7,1,1,7,1,1,1,1,7,3,1,1,5,1,1,1,1,1,1, + 5,1,1,1,1,1,1,5,1,1,1,5,1,1,5,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,5,5,5,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,5,1,5,1,1,1,1,1,1,1,1,1,1,7,2,2, + 1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,1,1,1,3,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,5,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,5,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,1,2,2,1, + 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1, + 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,7,1,1,7,1,1,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,7,1,2,1,1,2,2,1,2,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,1,1,1,1,1,1,1,1,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,7,1,2,1,1,2,2,1,2,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,1,1,1,1,1,1,1,1,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,7,1,2,1,1,2,2,1,2,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,1,1,1,1,1,1,1,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,3,2,1,1, + 1,2,2,1,2,1,3,3,3,3,3,3,3,3,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2, + 7,3,2,1,1,1,2,2,1,2,1,3,3,3,3,3,3,3,3,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,3, + 3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,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,7,2,2,1,1,1,1,1,1,1,1, + 1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,1,1,2,2,1,2,1,1,1, + 2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 7,1,1,3,1,7,3,1,7,3,5,5,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,1,1,5,5,5,5,5,5,5,5,5,5,5,1,1,7,1,2,1,2,2,1,2,1,1,2,2, + 1,3,3,1,1,7,2,2,5,5,5,5,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,3,3,1,1,4,4,4, + 4,4,4,4,1,4,4,4,4,7,1,4,4,4,4,4,4,4,4,4,4,4,4,7,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,7,2,1,1,2,2,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1, + 2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,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,1,1,1,1,7,3,1,5, + 1,1,1,8,1,1,1,5,1,1,5,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,1,2,2,1,1,1,1, + 1,1,1,1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,5,1,3,1,7,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1, + 2,1,2,2,2,1,1,1,2,2,3,1,2,1,1,1,1,1,5,1,1,1,3,1,1,7,2,3,1,1,1,1,1,1,7,2,2, + 2,2,1,1,1,2,2,2,1,1,1,7,3,1,7,3,1,1,1,1,7,1,2,2,1,2,2,1,1,7,3,1,7,3,1,7,3, + 1,7,3,5,5,1,1,5,5,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,1,1, + 1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,7,2,1,2,2,1,2,3,1,1,1,3,3,3,3,3,3,3,3,3,3,3,2,3,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2,2,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,5,5, + 1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,7,1,8,5, + 5,1,7,1,1,1,1,5,1,1,1,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2, + 2,2,1,1,1,2,2,2,1,2,1,1,1,7,1,1,1,5,2,1,7,1,1,5,1,1,2,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7, + 1,1,3,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,1,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,7,1,4,4,5,4,5,7,1,1,7,1,2,1,1,1,1,1,1,1,1,1,1,1,7, + 1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,3,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3,3, + 3,1,7,3,1,7,3,1,5,1,1,7,1,8,1,1,5,5,5,5,5,7,1,1,1,1,1,1,1,1,1,1,7,2,2,2,2, + 1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 8,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,7,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,2,2,2,2,2,1,2,3,3,2,2,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1, + 1,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,1,7,1,1,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,7,1,2,1,1,2,2, + 1,2,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,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,1,2,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5, + 1,2,1,2,2,1,2,1,1,1,3,1,2,2,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,7,1,3,3,1,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,7,1,2,1,1,2,2,1,1,2,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,7,1,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1, + 2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1, + 1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,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,1,1,1,1, + 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,7,1,2,1,1,2,2,1,1,2,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,7,2,2,1,2,2,1,3,3,3,3,3,1,2,3,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,7,2,2,1,2,2,1,3,3,3,3,3,1,2,3,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,7,2,2,1, + 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1, + 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2, + 2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1, + 1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1, + 1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1, + 1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1, + 1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, + 1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1, + 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2, + 2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1, + 1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1, + 1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,3,3,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,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,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,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,1,1,4, + 4,1,7,1,4,4,4,7,1,7,2,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,1,2,1,2,1,2,2,2,1, + 1,1,1,1,2,2,1,2,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1, + 1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1, + 1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1, + 1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1, + 3,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,2,2,2,1,2,1,1,1, + 1,7,1,3,4,4,5,1,4,5,7,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,7,1,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, + 1,1,1,1,1,1,1,1,5,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1, + 1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2, + 2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1, + 1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1, + 1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2, + 1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,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,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,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,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1, + 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1, + 1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1, + 1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,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,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1, + 1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1, + 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,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,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,5,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,2,1,1,5,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,2,7,1,2,1,1,2,2,1,2,1,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,1,1,1,1,1,1,1,1,7,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,2,1,1,2,1, + 2,1,2,2,2,1,1,1,1,2,2,1,2,1,1,1,7,1,1,7,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8, + 1,1,1,2,7,3,2,1,1,1,2,2,1,2,1,3,3,3,3,3,3,3,3,3,1,1,1,1,2,1,1,1,1,1,1,1,1, + 1,1,1,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,3,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,7,2,1,1,1,7,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,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,1,1,1,1,1,1,1,1,1,1, + 1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,8,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1, + 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,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,7,1,2,1, + 1,2,2,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,5,1,1, + 1,5,5,1,1,5,1,1,1,7,1,2,2,1,1,2,1,2,1,2,2,2,1,1,1,1,2,2,1,3,1,1,3,3,1,1,1, + 1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,7,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,3,3,1,1,1,1,8,5,1,1,5,5,5,5,5,5,5, + 5,7,1,1,1,1,1,8,1,7,1,1,1,7,3,1,5,2,5,5,1,1,5,5,1,1,1,1,1,1,1,1,1,1,5,5,5, + 5,5,5,5,5,5,5,5,7,1,1,3,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,5,5,1,1,5,5,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,7,1,1,1,1,3,1,1,1, + 1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,3,3, + 3,3,1,5,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,7,2,1,2,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,2,2,1,1,1,1,1,1,1,1,4,4,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,1,2,2,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,3,3,3,1,7,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1, + 1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,7,1,1,2,2,2,1,1,2,2,1,1,3,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,7,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,1,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,3,3,3,3,3, + 3,3,3,3,1,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,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,7,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,1,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,3,3,3,3,3,3,3,3,3, + 1,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,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,7,3,3,3,3,3,3,3,3,3,3,3,3,1,3,3,1,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,3,3,3,3,3,3,3,3,3,1,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,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,1,1,1,7,2,2,2,2,1,3,3,2, + 2,1,8,1,1,5,5,5,5,5,7,1,1,1,1,1,1,5,5,5,5,5,7,3,3,1,1,7,3,1,7,1,1,1,7,2,2, + 2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1, + 1,1,1,1,1,1,1,1,3,3,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2, + 2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,7,3,1,7,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,7,1,3,3,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2, + 1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,5,1,1,1,1,1,1,1,1,1,5,1,2,1,2,2,1,2,1,1,1,3,1,2,2,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1, + 1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,7,3,1,7,3,1,7,1,1,7,1,1,7,1,1,7,1,1,5,1,1, + 7,3,1,7,3,1,1,7,3,3,3,1,7,1,1,1,1,1,1,1,1,7,2,2,1,2,2,1,3,3,3,3,3,2,2,2,1, + 1,1,1,1,1,1,1,1,7,2,2,2,2,1,1,1,1,2,2,1,1,7,1,1,1,1,1,1,1,1,7,2,2,1,2,2,1, + 3,3,3,3,3,2,2,2,1,1,1,7,3,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1, + 1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,3,3,1,1,3,3,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,2,1,1,5,1,1, + 1,5,1,1,1,1,5,1,1,1,1,5,1,1,1,1,1,5,1,1,1,1,1,1,5,1,1,1,1,1,1,7,1,1,1,1,1, + 5,1,1,1,1,5,1,1,1,5,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,5,1,2,2,1,1,2,1,2,1,2,2, + 2,1,1,1,1,2,2,1,3,1,1,3,1,1,1,7,1,1,1,5,1,1,1,1,5,1,1,1,1,5,1,1,1,1,5,1,1, + 1,1,1,1,5,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,5,1,1,1,5,1,1,5,1,1,5,1,1,1,7,1,1, + 1,5,1,1,7,1,1,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,7,1,2,1,1, + 2,2,1,2,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,1,1,1,1,1,1,1, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,7,2,1,1,5,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1, + 2,7,3,2,1,1,1,2,2,1,2,1,3,3,3,3,3,3,3,3,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1, + 3,3,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,3, + 2,1,1,1,2,2,1,2,1,3,3,3,3,3,3,3,3,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,3,3,3, + 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,1,2,1,1, + 1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,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,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,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1, + 1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1, + 1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,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,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,7, + 2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1, + 1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, + 1,1,7,3,1,7,1,8,5,1,1,5,5,5,5,5,5,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1, + 2,2,1,1,2,1,2,1,2,2,2,1,1,1,3,2,2,1,2,1,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1, + 1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,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,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5, + 1,1,7,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2, + 1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,1,1,1,1,5,5,5,5,5,5,5,5,5,7,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,1,1,1,1,1,1, + 1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,3,1, + 1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,2,2,1,1,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2, + 1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,3,3,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,2,3,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,7,1,2,1,1,2,2,1,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 2,2,1,1,1,1,1,1,1,1,5,3,1,1,7,3,1,5,5,5,5,5,7,3,3,1,1,7,1,8,1,1,5,5,5,5,5, + 7,1,1,1,1,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,2,1,1,5,1,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,7,1,3,3,1,7,1,1,1,7, + 3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,7,3,1,7,1,1,7,1,1,7,1,1,7,1,1,7,1,1,7,1,1, + 1,7,3,3,3,1,7,1,1,1,1,1,1,1,1,1,1,1,7,2,2,2,2,2,2,2,1,2,1,1,1,1,2,2,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,3,1,7,3,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1, + 1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1, + 1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,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, + 1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1, + 1,2,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,5,1,1,7,3,1,7,1,8,5,1,1,5,5, + 5,5,5,5,7,1,1,1,1,1,1,5,5,5,5,5,5,5,7,3,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,3,1,7,1,1,7,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,7,1,2,1,1,2,2,1,2,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,5,5,5,5,5,7,3,3,1,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,1,5,7,1,3, + 3,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1, + 1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,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,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,2,2,1,1,1,1,1,1,1,1, + 1,1,1,2,2,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,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,1,1,1,1,1, + 7,3,3,3,1,1,1,1,1,1,1,7,2,2,2,2,2,2,2,1,2,2,2,1,1,1,7,1,1,1,7,3,3,3,1,7,1, + 1,1,1,5,1,1,1,1,7,1,1,7,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,3,2,1,1,1,2, + 2,1,2,1,3,3,3,3,3,3,3,3,3,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,3,3,3,3,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1, + 1,1,1,1,1,1,1,1,1,1,8,5,1,1,5,5,5,5,5,5,7,1,1,1,1,1,1,5,5,5,5,5,5,5,7,3,3, + 1,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3,1,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, + 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,7,1,1,3, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, + 8,8,8,8,8,8,8,8,8,8,8,8,7,2,1,8,5,1,1,5,5,5,5,5,5,7,1,1,1,1,1,8,5,5,1,7,1, + 1,1,5,1,1,7,3,1,1,7,3,1,1,1,7,3,1,1,1,7,3,1,1,1,7,3,1,1,1,7,3,3,3,1,7,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,8,1,1,1,2,7,2,2,1,1,1,2,2,1,2,1,2,2,2,2,2,2,2,2,2,1, + 1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,5, + 5,5,5,5,7,3,3,1,1,5,5,5,5,5,5,5,7,3,3,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,7,1,2,1,1,2,2,1,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,7,3,3,3,1,7,3 +}; + + +static const unsigned short ag_pstt[] = { +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,2, + 2,2,2,2,2,2,0,1,1,2, +1025,1,1027,1025, +211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,2,0,4,3, +12,13,14,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46, + 29,30,17,18,19,20,53,21,22,23,56,213,58,54,10,9,225,213,3,28,32,31,12, + 13,24,63,29,64,214,226,229,48,57,212,214,214,214,214,214,214,214,214, + 214,214,66,65,58,49,48,47,47,48,48,48,48,62,48,48,48,48,48,48,300,48,49, + 49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,214,214, + 214,214,60,59,61,48,48,8,55,35,33,33,33, +3,4, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,5, + 1,1,1139, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,6, + 1,1,1133, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,7, + 1,1,1132, +67,8,68, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,9, + 1,1,1034, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 10,1,1,1037, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 11,1,1,1131, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 12,1,1,1144, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 13,1,1,1143, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 14,1,1,1142, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 15,1,1,1138, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 16,1,1,1137, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 17,1,1,1114, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 18,1,1,1113, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 19,1,1,1112, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 20,1,1,1111, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 21,1,1,1109, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 22,1,1,1108, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 23,1,1,1107, +5,6,7,9,24,30,12,13,31,343,344,8, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 25,1,1,1129, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 26,1,1,1128, +5,6,7,10,9,27,28,69,12,13,24,29,343,344,8, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 28,1,1,1130, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 29,1,1,1116, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 30,1,1,1115, +10,321,70, +67,332,71, +5,6,7,72,73,10,78,9,33,77,79,12,13,360,74,486,486,75,343,344,76,487, +5,6,7,72,10,78,9,34,81,83,12,13,360,74,80,82,343,344,8, +72,73,35,84,85, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 36,1,1,1127, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 37,1,1,1126, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 38,1,1,1125, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 39,1,1,1124, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 40,1,1,1123, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 41,1,1,1122, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 42,1,1,1121, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 43,1,1,1120, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 44,1,1,1119, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 45,1,1,1118, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 46,1,1,1117, +275,275,275,15,16,275,275,29,30,17,18,19,20,53,21,22,23,275,275,275,275,275, + 275,275,275,275,275,275,275,275,47,86,86,277,86,86,86,86,86,86,86,86,86, + 86,86,300,86,86,86, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17, + 18,19,20,53,21,22,23,10,9,48,28,32,31,12,13,24,29,271,88,87,87,271,271, + 271,271,271,271,271,271,271,271,271,300,271,88,88,88,88,88,88,88,88,88, + 88,88,87,87,87,87,87,33,34,27,343,344,271,271,8,35,33,33,33, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,266,89, + 89,89,89,89,89,89,89,89,89,89,89,89,89,89,300,89,89,89,89,89,89,89,89, + 89,89,89,89,89,89, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 50,1,1,1135, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 51,1,1,1134, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 52,1,1,1136, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 53,1,1,1110, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 54,1,1,1040, +90,72,55,92,468,91,469, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 56,1,1,1106, +93,5,6,7,97,96,95,98,10,78,9,261,105,28,23,102,101,13,24,397,104,397,397,29, + 99,105,103,470,107,343,344,107,106,375,100,94, +108,58,262, +5,51,6,7,11,10,9,59,28,112,12,13,111,29,110,343,344,109,8, +7,72,78,60,115,113,114, +98,61,116, +117,288,118, +12,13,14,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46, + 29,30,17,18,19,20,53,21,22,23,56,58,67,54,10,9,225,63,28,32,31,12,13,24, + 63,29,119,64,626,226,229,48,57,626,626,626,626,626,626,626,626,626,626, + 66,65,58,49,48,47,47,48,48,48,48,62,48,48,48,48,48,48,300,48,49,49,49, + 49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,626,626,626,626, + 60,59,61,48,48,8,55,35,33,33,33, +125,125,15,16,125,125,29,30,17,18,19,20,53,21,22,23,56,125,125,125,54,125, + 125,125,125,225,64,122,123,125,125,235,124,120,232,125,125,125,125,125, + 125,125,125,125,125,125,300,125,125,125,121, +54,65,122,126, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17, + 18,19,20,53,21,22,23,58,10,9,66,28,32,31,12,13,24,29,227,230,48,57,58, + 49,48,47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49,49, + 49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,48,48,8,55,35,33,33,33, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 67,1,1,1048, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 68,132,28,32,31,12,13,24,29,135,133,135,131,129,130,131,131,131,131,131, + 131,131,131,131,131,131,129,129,129,129,128,127,135,27,343,344,130,130, + 134,130,128,128,128,135, +10,69,136, +5,6,7,25,26,9,70,32,12,13,33,322,323,343,344,8, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 71,132,28,32,31,12,13,24,29,137,133,137,131,129,130,131,131,131,131,131, + 131,131,131,131,131,131,129,129,129,129,128,127,137,27,343,344,130,130, + 134,130,128,128,128,137, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 72,1,1,1095, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 73,1,1,1078, +10,74,362, +5,6,7,54,78,9,75,140,141,12,13,138,139,343,344,8, +72,73,67,76,68,486,486,490, +327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,72,327, + 327,73,327,327,327,327,327,327,327,10,327,327,77,361,486,486,489, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 78,1,1,1036, +326,326,326,326,326,326,326,326,326,326,326,326,326,326,326,326,326,72,326, + 326,73,326,326,326,326,326,326,326,326,326,326,79,486,486,488, +144,78,80,142,143,144,143, +10,81,361, +5,6,7,78,9,82,145,331,12,13,139,343,344,8, +72,330,146, +147,148,149,5,6,7,18,10,9,84,81,154,13,360,74,152,150,343,344,153,156,151, + 155,520,524,151,151,151, +147,148,149,12,13,14,5,15,16,50,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44, + 45,46,29,30,17,18,19,20,53,21,22,23,162,108,10,9,225,85,28,32,31,12,13, + 24,29,502,161,48,161,159,161,49,48,47,47,48,48,48,48,48,48,48,48,48,48, + 48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343, + 344,157,48,48,8,55,35,161,162,33,33,33,161,161,160,158,158,158,158, +15,16,29,30,17,18,19,20,53,21,22,23,276,271,271,271,271,271,271,271,271,271, + 271,271,271,300,271,271,271, +275,275,275,15,16,275,275,29,30,17,18,19,20,53,21,22,23,275,275,275,275,275, + 275,275,275,275,275,275,275,275,87,86,86,278,86,86,86,86,86,86,86,86,86, + 86,86,300,86,86,86, +272,272,272,15,16,272,272,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19, + 20,53,21,22,23,272,272,272,272,272,272,272,272,272,272,272,272,272,88, + 163,163,163,163,274,163,163,163,163,163,163,163,163,163,163,163,300,163, + 163,163,163,163,163,163,163,163,163,163,163,163,163, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,269, + 268,268,268,268,268,268,268,268,268,268,268,268,268,268,300,268,268,268, + 268,268,268,268,268,268,268,268,268,268,268, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 90,1,1,1141, +72,91,92,164, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 194,176,177,58,10,78,9,225,92,193,28,191,32,31,12,13,24,29,192,193,193, + 193,193,193,193,193,193,193,48,190,189,188,193,194,179,187,186,185,184, + 183,171,57,182,181,180,179,193,193,193,193,58,49,48,47,47,48,48,48,48, + 48,48,48,48,48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47, + 47,47,33,34,27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 93,1,1,1149, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,209,210, + 211,212,213,214,215,216,217,218,220,201,202,222,223,205,206,203,204,207, + 208,224,225,197,228,229,221,226,227,97,96,95,198,67,219,199,200,196,195, + 98,10,9,94,234,28,32,31,233,232,12,13,24,231,29,230,549,549,549,549,549, + 549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549, + 549,549,549,549,549,549,549,549,549,549,549,549,549,131,129,130,131,131, + 131,131,131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344, + 130,130,8,130,128,128,128,537,549, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 95,1,1,1055, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 96,1,1,1057, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 97,1,1,1058, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 98,1,1,1039, +5,9,99,405,406, +404,404,404,404,404,404,404,67,404,404,404,404,100,68, +403,403,403,403,403,403,403,403,403,403,403,12,101, +10,102,235, +376,376,376,376,15,16,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,103,236,391,391,236,236, +93,5,6,7,97,96,95,98,10,78,9,104,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,239,343,344,238,375,100,94, +93,5,6,7,97,96,95,98,10,78,9,105,105,28,23,102,101,13,24,397,104,397,397,29, + 99,105,103,374,343,344,372,106,375,100,94, +373,373,370,220,370,195,98,106,241,240,242,371, +108,198,107,243,263, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 108,1,1,1091, +5,6,7,10,9,109,81,12,13,360,245,244,343,344,8, +5,6,7,10,9,110,28,246,12,13,24,29,343,344,8, +93,5,6,7,78,9,111,30,23,12,13,247,247,247,31,343,344,8,94, +10,112,248, +211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,113,249,250, +72,114,251, +72,220,115,252,253, +117,116,254, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 117,1,1,1033, +12,13,14,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46, + 29,30,17,18,19,20,53,21,22,23,56,72,58,54,10,9,225,118,28,32,31,12,13, + 24,63,29,64,367,226,229,48,255,57,367,367,367,367,367,367,367,367,367, + 367,66,65,58,49,48,47,47,48,48,48,48,62,48,48,48,48,48,48,300,48,49,49, + 49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,367,367,367, + 367,60,59,61,48,48,8,55,35,33,33,33, +592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, + 592,592,592,592,592,592,592,592,592,592,592,219,592,592,592,119,256,257, +54,120,122,258, +90,261,73,121,260,261,261,463,259, +67,122,262, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,123,236,263, +264,264,15,16,264,264,29,30,17,18,19,20,53,21,22,23,264,264,264,264,264,264, + 264,124,264,264,264,264,264,264,264,264,264,264,264,264,264,300,264,264, + 264, +93,5,6,7,97,96,95,98,10,78,9,125,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,266,265,343,344,238,375,100,94, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17, + 18,19,20,53,21,22,23,58,10,9,126,28,32,31,12,13,24,29,228,231,48,57,58, + 49,48,47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49,49, + 49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,48,48,8,55,35,33,33,33, +5,6,7,10,78,9,127,81,330,12,13,360,74,82,343,344,8, +5,6,7,10,78,9,128,268,326,12,13,360,74,267,343,344,8, +416,416,416,416,15,16,416,416,416,416,416,416,416,416,416,416,416,416,416, + 416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416, + 416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416, + 416,416,129,269,269,269,269,418, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,130, + 28,32,31,12,13,24,29,271,270,413,271,271,271,271,271,271,271,271,271, + 271,271,270,270,270,270,128,127,27,343,344,413,413,8,128,128,128, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,410, + 272,272,272,272,272,272,272,272,272,272,272,272,272,272,272,300,272,272, + 272,272,272,272,272,272,272,272,272,272,272,272, +5,6,7,97,96,407,407,195,98,407,10,9,132,277,28,275,12,13,24,274,29,273,277, + 103,343,344,8,409,409,276, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,278,133,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,103,308,310,312, + 313,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344, + 8,94,103,103,311, +67,624,68, +198,219,135,620,314, +5,6,7,78,9,136,32,334,12,13,33,343,344,8, +198,219,137,333,314, +5,138,315,8, +10,139,364, +329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329, + 329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329, + 329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329,329, + 329,329,329,329,329,329,329,329,329,10,329,329,140,363, +328,328,328,328,328,328,328,328,328,328,328,328,328,328,328,328,328,72,328, + 328,73,328,328,328,328,328,328,328,328,328,328,141,486,486,491, +220,341,316, +198,336,317, +318,144,337, +10,145,363, +319,78,146,142,143,319,143, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 147,1,1,1148, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 148,1,1,1147, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 149,1,1,1146, +5,6,7,9,150,320,12,13,139,343,344,8, +321,321,321,18,321,321,151,321,321, +147,148,149,322,322,322,322,322,152,322,322,322,322,322, +523,523,67,153,68, +522,522,12,154, +198,519,323, +72,156,324, +5,6,7,11,10,9,157,28,112,12,13,111,29,110,343,344,8, +73,158,509, +93,5,6,7,327,73,97,96,95,98,10,78,9,159,237,28,328,102,101,13,24,397,104, + 397,397,29,99,237,103,325,329,343,344,238,375,100,326,327,326,94, +332,332,15,16,332,332,29,30,17,18,19,20,53,21,22,23,56,332,332,332,332,54, + 332,332,332,332,330,160,122,332,332,500,331,120,332,332,332,332,332,332, + 332,332,332,332,332,300,332,332,332,121, +147,148,149,12,13,14,5,15,16,50,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44, + 45,46,29,30,17,18,19,20,53,21,22,23,483,108,10,9,225,161,28,32,31,12,13, + 24,29,502,497,48,497,159,497,49,48,47,47,48,48,48,48,48,48,48,48,48,48, + 48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343, + 344,157,48,48,8,55,35,33,33,33,497,497,160,158,158,158,158, +318,162,484, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,273, + 268,268,268,268,268,268,268,268,268,268,268,268,268,268,300,268,268,268, + 268,268,268,268,268,268,268,268,268,268,268, +333,164,335,335,334, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 165,1,1,1101, +78,166,336, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 167,1,1,1105, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 168,1,1,1104, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 169,1,1,1103, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 170,1,1,1102, +98,171,199, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 172,1,1,1100, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 173,1,1,1099, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 174,1,1,1098, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 175,1,1,1096, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 176,1,1,1093, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 177,1,1,1092, +72,178,337,188,179, +78,179,338, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,349,228,229,221,226,227, + 97,96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,180,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,348,301,305,304,300,299,298,297,296, + 348,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,348,348,349,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,343,344,8,94,345, +108,181,208, +108,182,207, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17, + 18,19,20,53,21,22,23,352,10,9,225,183,28,32,31,12,13,24,29,351,48,352, + 352,352,352,350,49,48,47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49, + 49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,48,48,8, + 35,33,33,33, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,184,353,28,191,32,31,12,13,24,29,192,353,353,353, + 353,353,353,353,353,353,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,353,353,353,353,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +98,185,354, +98,186,355, +98,187,356, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 357,176,177,58,10,78,9,225,188,193,28,191,32,31,12,13,24,29,192,193,193, + 193,193,193,193,193,193,193,48,190,189,188,193,357,179,187,186,185,184, + 183,171,57,182,181,180,179,193,193,193,193,58,49,48,47,47,48,48,48,48, + 48,48,48,48,48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47, + 47,47,33,34,27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +73,189,358, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,190,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,360,293,308,310,312,339,340, + 341,342,343,344,346,359,360,301,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,343,344,8,94, +73,191,361, +363,363,15,16,363,363,29,30,17,18,19,20,53,21,22,23,56,363,363,363,54,363, + 363,363,363,225,192,122,362,164,363,363,164,331,120,363,363,363,363,363, + 363,363,363,363,363,363,300,363,363,363,121, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 177,176,177,58,10,78,9,225,193,181,28,191,32,31,12,13,24,29,192,181,181, + 181,181,181,181,181,181,181,48,190,189,188,179,187,186,185,184,183,171, + 57,182,181,180,179,181,181,181,181,58,49,48,47,47,48,48,48,48,48,48,48, + 48,48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33, + 34,27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +318,194,471, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 195,1,1,1042, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 196,1,1,1044, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 197,1,1,1065, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 198,1,1,1054, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 199,1,1,1046, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 200,1,1,1045, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 201,1,1,1077, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 202,1,1,1076, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 203,1,1,1071, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 204,1,1,1070, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 205,1,1,1073, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 206,1,1,1072, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 207,1,1,1069, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 208,1,1,1068, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 209,1,1,1090, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 210,1,1,1089, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 211,1,1,1088, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 212,1,1,1087, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 213,1,1,1086, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 214,1,1,1085, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 215,1,1,1084, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 216,1,1,1083, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 217,1,1,1082, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 218,1,1,1081, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 219,1,1,1047, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 220,1,1,1080, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 221,1,1,1061, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 222,1,1,1075, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 223,1,1,1074, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 224,1,1,1067, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 225,1,1,1066, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 226,1,1,1060, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 227,1,1,1059, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 228,1,1,1063, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 229,1,1,1062, +364,230,591, +365,231,590, +195,551,366, +195,550,367, +538,538,5,6,7,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538, + 538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,97, + 96,538,538,538,538,538,538,538,538,538,538,538,10,9,234,368,28,275,12, + 13,24,29,368,103,343,344,8,540,540, +93,5,6,7,97,95,78,9,235,32,23,372,13,398,398,398,33,369,370,343,344,371,94, +376,376,376,376,376,15,16,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,376,236,236,394,394,236,236, +93,5,6,7,97,96,95,98,10,78,9,237,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,374,343,344,238,375,100,94, +373,373,373,373,373,373,195,98,373,238,373,240, +365,239,384, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,374,98,10,78,285,9,117,279,280,281, + 282,283,240,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,374,293,308,310,312,339, + 340,341,342,343,344,346,359,374,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,343,344,374,8,94, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,428,10,9,225,241,28,32,31,12,13,24,29,375,48, + 377,49,48,47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49, + 49,49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,380,48,48,8,380,380, + 379,380,379,376,35,33,33,33, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,72,228,229,221,226,227, + 97,96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,242,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,473, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,473,473,381,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,473,94,345, +93,5,6,7,97,96,95,98,10,78,9,243,382,28,23,102,101,13,24,397,104,397,397,29, + 99,382,103,343,344,369,383,375,100,94, +5,6,7,9,244,145,12,13,384,343,344,8, +108,10,245,362,358, +10,246,385, +108,247,357, +93,5,6,7,78,9,248,32,23,12,13,386,386,386,33,343,344,8,94, +12,13,14,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46, + 29,30,17,18,19,20,53,21,22,23,56,352,58,54,10,9,225,249,28,32,31,12,13, + 24,63,29,64,214,226,229,48,57,212,214,214,214,214,214,214,214,214,214, + 214,66,65,58,49,48,47,47,48,48,48,48,62,48,48,48,48,48,48,300,48,49,49, + 49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,214,214,214, + 214,60,59,61,48,48,8,55,35,33,33,33, +318,250,351, +211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,251,249,387, +5,6,7,10,9,252,81,12,13,360,74,388,343,344,389,8, +211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,253,249,390, +365,254,391, +211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211,211, + 211,211,211,211,211,255,392,3, +12,13,14,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46, + 29,30,17,18,19,20,53,21,22,23,56,58,54,10,9,225,256,28,32,31,12,13,24, + 63,29,64,627,226,229,48,57,627,627,627,627,627,627,627,627,627,627,66, + 65,58,49,48,47,47,48,48,48,48,62,48,48,48,48,48,48,300,48,49,49,49,49, + 49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343,344,627,627,627,627,60, + 59,61,48,48,8,55,35,33,33,33, +14,5,15,16,6,7,11,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20, + 53,21,22,23,54,10,9,257,28,31,12,13,24,397,29,394,395,394,396,393,393, + 394,394,394,394,394,394,394,394,394,394,394,300,394,395,395,395,395,395, + 395,395,395,395,395,395,393,393,398,343,344,394,394,8,399,400,400,400, + 400, +401,401,15,16,401,401,29,30,17,18,19,20,53,21,22,23,401,401,401,401,401,401, + 401,258,401,401,401,401,401,401,401,401,401,401,401,401,401,300,401,401, + 401, +402,73,259,260,402,402, +5,6,7,10,78,9,260,403,404,12,13,360,74,150,343,344,8,404,405,405,404, +72,261,92,462, +592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592,592, + 592,592,592,592,592,592,592,592,592,592,592,592,592,592,262,257, +411,333,309,93,147,148,149,409,12,13,14,90,378,5,15,16,52,50,51,6,7,11,28, + 25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,56, + 167,168,169,170,165,172,173,174,406,175,72,176,177,108,209,210,211,212, + 213,214,215,216,217,218,220,408,73,201,202,222,223,205,206,203,204,207, + 208,224,225,197,407,228,229,221,226,227,97,96,295,95,198,287,288,289, + 290,291,67,219,199,200,196,410,195,54,98,10,78,285,9,117,279,280,281, + 282,283,239,263,241,241,241,241,241,241,241,241,241,241,241,241,413,241, + 412,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, + 241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, + 241,241,241,241,241,241,241,241,241,241,241,237,241,241,414,241,241,241, + 241,241,241,241,241,241,241,241,238,241,241,241,241,241,241,241,241,241, + 241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, + 241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241, + 241,241,241,241, +93,5,6,7,97,96,95,98,10,78,9,264,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,416,415,343,344,238,375,100,94, +465,465,264,465,264,265, +108,198,266,417,233, +5,6,7,78,9,267,140,328,12,13,139,343,344,8, +327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327, + 327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327, + 327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,327,10, + 327,327,268,361, +15,16,417,413,413,413, +416,416,416,416,15,16,416,416,416,416,416,416,416,416,416,416,416,416,416, + 416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416, + 416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416,416, + 416,416,270,269,269,269,269,419, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,414, + 418,418,418,418,418,418,418,418,418,418,418,418,418,418,418,300,418,418, + 418,418,418,418,418,418,418,418,418,418,418,418, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,411, + 268,268,268,268,268,268,268,268,268,268,268,268,268,268,300,268,268,268, + 268,268,268,268,268,268,268,268,268,268,268, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,419,98,10,78,285,9,117,279,280,281, + 282,283,273,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,419,293,308,310,312,339, + 340,341,342,343,344,346,359,419,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,343,344,419,8,94, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,97,96,195,98,365,10,9,274,277,28,32,421,12,13, + 24,274,423,29,273,277,103,48,377,49,48,47,47,48,48,48,48,48,48,48,48,48, + 48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27, + 343,344,48,48,8,420,422,276,379,422,379,35,33,33,33, +10,275,424, +195,98,433,426,425, +5,6,7,97,96,407,407,195,98,407,10,9,277,277,28,275,12,13,24,274,29,273,277, + 103,343,344,8,432,432,276, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,278,104,263, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 279,1,1,1032, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 280,1,1,1031, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 281,1,1,1030, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 282,1,1,1029, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 283,1,1,1028, +10,321,427, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 285,1,1,1035, +117,11,10, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 287,1,1,1053, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 288,1,1,1052, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 289,1,1,1051, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 290,1,1,1050, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 291,1,1,1049, +93,5,6,7,228,229,78,9,292,30,16,83,98,12,13,17,31,343,344,8,428, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,195,98,10,78,285,9,117,279,280,281, + 282,283,293,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,429,301,305,304,300,299,298,297,296, + 303,95,95,303,302,95,95,303,303,303,303,303,294,293,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,343,344,8,94, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,98,10,9, + 294,432,28,32,31,12,13,24,430,29,433,431,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 295,1,1,1056, +98,296,434, +67,297,435, +67,298,436, +67,299,437, +67,300,438, +98,301,439, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,302,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,440,306,306,29,306,301,305,304,300,299,298,297,296,303,66, + 303,302,66,66,303,303,303,303,303,294,293,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,303,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,65, + 65,303,302,65,65,303,303,303,303,303,294,293,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,304,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,64, + 64,303,302,64,64,303,303,303,303,303,294,293,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,305,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,63, + 63,303,302,63,63,303,303,303,303,303,294,293,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94, +199,200,196,410,195,98,62,443,444,442,441,46,47, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 307,132,28,32,31,12,13,24,447,29,445,446,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +197,407,108,449,448, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 309,1,1,1150, +224,225,97,112,452,451,450, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,607,287,288,289,290,291,607,199,200,98,10,78,285,9,117,279, + 280,281,282,283,311,28,23,284,294,293,306,306,306,306,306,306,286,286, + 12,13,306,306,292,306,306,307,306,306,29,306,301,305,304,300,299,298, + 297,296,303,308,308,303,302,308,308,303,303,303,303,303,294,293,609,308, + 310,312,313,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301, + 343,344,8,94,609,609,311,609, +226,227,115,454,453, +209,210,211,212,213,214,215,216,217,218,220,408,207,208,605,458,457,455,456, + 456,456,456,456,456,456,456,456,456,456,456, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 314,132,28,32,31,12,13,24,29,622,133,622,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 134,130,128,128,128,622, +72,73,315,486,486,492, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,316,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,342,293,308,310,312,339,340, + 341,342,343,344,346,359,342,301,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,343,344,8,94, +78,317,142,340, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 318,1,1,1094, +318,319,338, +533,533,533,10,320,363, +5,6,7,10,9,321,81,460,13,360,74,150,343,344,459,530, +5,6,7,10,9,322,81,12,13,360,74,150,343,344,8,527, +147,148,149,5,6,7,18,10,9,323,81,154,13,360,74,152,150,343,344,153,151,521, + 524,151,151,151, +147,148,149,12,13,14,5,15,16,50,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44, + 45,46,29,30,17,18,19,20,53,21,22,23,461,108,10,9,225,324,28,32,31,12,13, + 24,29,502,161,48,161,159,161,49,48,47,47,48,48,48,48,48,48,48,48,48,48, + 48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34,27,343, + 344,157,48,48,8,55,35,161,461,33,33,33,161,161,160,158,158,158,158, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,325,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,515,293,308,310,312,339,340, + 341,342,343,344,346,359,515,301,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,343,344,8,94, +198,505,462, +108,327,506, +23,23,23,23,73,23,23,23,328,463, +470,470,512,220,512,329,464,513,514, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,330,501,263, +465,465,15,16,465,465,29,30,17,18,19,20,53,21,22,23,465,465,465,465,465,465, + 465,331,465,465,465,465,465,465,465,465,465,465,465,465,465,300,465,465, + 465, +93,5,6,7,73,97,96,95,98,10,78,9,332,237,28,328,102,101,13,24,397,104,397, + 397,29,99,237,103,325,467,343,344,238,375,100,466,466,94, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 333,1,1,1151, +98,334,468, +333,472,630,334, +220,336,252, +333,337,469,469,334, +108,338,210, +207,208,118,458,457, +203,204,67,219,123,473,472,471,470, +205,206,126,475,474, +96,128,476, +223,130,477, +222,132,478, +309,93,636,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,636,636,636,228,229, + 221,226,227,97,96,295,95,636,287,288,289,290,291,199,200,636,98,636,10, + 78,285,9,117,279,280,281,282,283,345,28,23,284,294,293,306,306,306,306, + 306,306,286,286,12,13,306,306,292,306,306,307,306,306,29,306,301,305, + 304,300,299,298,297,296,638,303,308,308,303,302,308,308,303,303,303,303, + 303,294,293,308,310,312,339,340,341,342,343,344,346,347,638,638,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94,345, + 638, +202,134,479, +209,210,211,212,213,214,215,216,217,218,220,408,201,136,482,481,480,480,480, + 480,480,480,480,480,480,480,480,480, +198,197,483, +108,349,209, +93,5,6,7,97,96,95,98,10,78,9,203,382,28,23,102,101,13,24,397,104,397,397,29, + 99,382,103,484,343,344,484,383,375,100,94, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,225,351,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,486,301,305,304,300,299,298,297, + 296,486,303,308,308,303,302,308,308,303,303,303,303,303,294,485,293,308, + 310,312,339,340,341,342,343,344,346,347,486,486,202,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,343,344,8,94,345, +108,352,487, +173,353,488, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 354,490,28,32,31,12,13,24,29,489,491,491,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 355,490,28,32,31,12,13,24,29,489,492,492,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 356,490,28,32,31,12,13,24,29,489,493,493,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +318,357,178, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,358,174,28,191,32,31,12,13,24,29,192,174,174,174, + 174,174,174,174,174,174,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,174,174,174,174,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +408,201,136,482,481, +73,360,494, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,361,172,28,191,32,31,12,13,24,29,192,172,172,172, + 172,172,172,172,172,172,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,172,172,172,172,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,225,362,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,495,301,305,304,300,299,298,297, + 296,495,303,308,308,303,302,308,308,303,303,303,303,303,294,496,293,308, + 310,312,339,340,341,342,343,344,346,347,495,495,169,169,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,301,343,344,8,94,345, +93,5,6,7,97,96,95,98,10,78,9,363,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,497,265,343,344,238,375,100,94, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 364,1,1,1041, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 365,1,1,1038, +364,366,553, +364,367,552, +538,538,5,6,7,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538, + 538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,97, + 96,538,538,538,538,538,538,538,538,538,538,538,10,9,368,368,28,275,12, + 13,24,29,368,103,343,344,8,541,541, +5,9,369,400,402, +376,376,376,376,15,16,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376,376, + 376,376,370,236,393,393,236,236, +401,401,401,401,401,401,401,67,401,401,401,401,371,68, +399,399,399,399,399,399,399,399,399,399,399,12,372, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,428,10,9,373,28,32,31,12,13,24,29,48,377,49,48, + 47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49,49,49,49, + 49,49,49,47,47,47,47,47,33,34,27,343,344,380,48,48,8,380,380,379,380, + 379,35,33,33,33, +364,374,383, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,498,375,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,499,301,305,304,300,299,298,297, + 296,499,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310, + 312,339,340,341,342,343,344,346,347,499,499,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,343,344,8,94,345, +365,376,474, +93,420,5,6,7,502,97,96,95,420,195,98,420,10,78,9,377,504,28,23,102,101,13, + 24,397,503,397,397,29,500,99,504,103,343,344,505,506,505,100,502,502, + 501,94, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 378,1,1,1140, +378,198,440,507,442, +365,380,508, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,72,318,228,229,221,226, + 227,97,96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280, + 281,282,283,381,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296, + 509,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,509,509,479,381,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,509,509,94,345, +93,5,6,7,97,96,95,98,10,78,9,382,382,28,23,102,101,13,24,397,104,397,397,29, + 99,382,103,343,344,372,383,375,100,94, +220,195,98,370,241,240,242,371, +108,10,384,364,359, +93,5,6,7,78,9,385,32,23,12,13,510,510,510,33,343,344,8,94, +108,386,355, +318,387,350, +5,6,7,9,388,145,12,13,511,343,344,8, +108,389,353, +318,390,349, +108,391,365, +318,392,366, +275,275,15,16,275,275,29,30,17,18,19,20,53,21,22,23,275,275,275,275,275,275, + 275,275,275,275,275,393,86,86,282,86,86,86,86,86,86,86,86,86,86,86,300, + 86,86,86, +5,15,16,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21, + 22,23,10,9,394,28,31,12,13,24,29,271,513,512,512,271,271,271,271,271, + 271,271,271,271,271,271,300,271,513,513,513,513,513,513,513,513,513,513, + 513,512,512,343,344,271,271,8, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,279, + 514,514,514,514,514,514,514,514,514,514,514,514,514,514,514,300,514,514, + 514,514,514,514,514,514,514,514,514,514,514,514, +93,5,6,7,515,97,96,95,420,420,195,98,10,78,9,396,504,28,23,102,101,13,24, + 397,503,397,397,29,500,99,504,103,343,344,505,516,505,100,515,515,501, + 94, +67,397,517, +518,614,614,78,398,518,518, +220,78,610,520,519, +198,219,400,593,521, +93,5,6,7,97,96,95,98,10,78,9,401,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,467,343,344,238,375,100,94, +72,402,92,522, +10,547,361, +98,404,523, +198,542,524, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 406,1,1,1097, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 407,1,1,1064, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 408,1,1,1079, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 409,1,1,1145, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 410,1,1,1043, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 411,1,1,1152, +525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525, + 525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525, + 525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525, + 525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525, + 525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525, + 525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525, + 525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,525,412,525, +526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526, + 526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526, + 526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526, + 526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526, + 526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526, + 526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526, + 526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,526,413,526, +527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527, + 527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527, + 527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527, + 527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527, + 527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527, + 527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527, + 527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,527,414,527, +466,466,264,466,264,415, +108,198,416,417,234, +93,5,6,7,97,96,95,98,10,78,9,417,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,265,343,344,238,375,100,94, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,415, + 268,268,268,268,268,268,268,268,268,268,268,268,268,268,300,268,268,268, + 268,268,268,268,268,268,268,268,268,268,268, +364,419,436, +365,420,437, +10,321,528, +365,422,529, +530,15,16,376,376,376,376,376,423,236,530,530,236,236, +5,6,7,97,9,424,32,12,13,33,370,343,344,8, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,531,98,10,78,285,9,117,279,280,281, + 282,283,425,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,531,293,308,310,312,339, + 340,341,342,343,344,346,359,531,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,343,344,531,8,94, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,532,10,9,426,28,32,31,12,13,24,29,48,377,49,48, + 47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49,49,49,49, + 49,49,49,47,47,47,47,47,33,34,27,343,344,48,48,8,532,532,379,532,379,35, + 33,33,33, +93,5,6,7,25,26,54,78,9,427,32,23,12,13,26,26,26,533,33,322,323,343,344,8,94, +209,210,211,212,213,214,215,216,217,218,220,201,202,222,223,205,206,203,204, + 207,208,224,225,197,228,229,221,226,227,97,96,95,198,67,219,199,200,196, + 195,98,428,233,232,231,230,549,549,549,549,549,549,549,549,549,549,549, + 549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549,549, + 549,549,549,549,549,549,549,549, +364,429,534, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 430,132,28,32,31,12,13,24,29,537,536,535,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,98,10,9, + 431,432,28,32,31,12,13,24,538,29,539,131,129,130,131,131,131,131,131, + 131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8, + 130,128,128,128, +5,6,7,97,96,195,10,9,87,542,28,275,12,13,24,29,540,542,103,88,541,343,344,8, +76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76, + 76,76,76,76,76,76,76,76,76,76,76,76,76,98,76,433,543,78,78, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 434,132,28,32,31,12,13,24,545,29,544,446,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,435, + 132,28,32,31,12,13,24,29,546,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,436, + 132,28,32,31,12,13,24,29,547,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,437, + 132,28,32,31,12,13,24,29,548,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,438, + 132,28,32,31,12,13,24,29,549,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,551,10,78,285,9,117,279,280, + 281,282,283,439,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,550,551,301,305,304,300,299,298, + 297,296,550,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308, + 310,312,339,340,341,342,343,344,346,347,550,550,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94,345, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 440,132,28,32,31,12,13,24,447,29,552,446,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +93,5,6,7,25,26,95,54,10,78,9,441,28,23,557,12,13,556,42,42,42,42,42,555,29, + 45,554,553,554,554,343,344,8,94, +93,5,6,7,25,26,95,54,10,78,9,442,28,23,557,12,13,556,40,40,40,40,40,558,29, + 44,554,553,554,554,343,344,8,94, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,559,10,78,285,9,117,279,280, + 281,282,283,443,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,550,559,301,305,304,300,299,298, + 297,296,550,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308, + 310,312,339,340,341,342,343,344,346,347,550,550,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94,345, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,444,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,560,301,305,304,300,299,298,297,296, + 560,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,560,560,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,94,345, +365,445,561, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,562,446,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,563,301,305,304,300,299,298,297, + 296,563,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310, + 312,339,340,341,342,343,344,346,347,563,563,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,343,344,8,94,345, +365,447,19, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,448,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,107, + 107,303,302,107,107,303,303,303,303,303,294,293,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,449,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,106, + 106,303,302,106,106,303,303,303,303,303,294,293,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,450,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,564, + 564,303,302,564,564,303,303,303,303,303,294,293,564,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,451,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,565, + 565,303,302,565,565,303,303,303,303,303,294,293,565,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,452,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,566, + 566,303,302,566,566,303,303,303,303,303,294,293,566,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,453,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,567,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,454,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,568,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,455,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,569,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,456,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,293,603,308,310,312,313, + 301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8, + 94,603,603,311, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,457,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,570,301,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,458,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,571,301,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +532,532,67,459,68, +531,531,12,460, +318,461,485, +93,5,6,7,73,97,96,95,98,10,78,9,462,237,28,328,102,101,13,24,397,104,397, + 397,29,99,237,103,325,572,343,344,238,375,100,511,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,463,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,516,293,308,310,312,339,340, + 341,342,343,344,346,359,516,301,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,343,344,8,94, +93,409,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,464,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,518,293,308,310,312,339, + 340,341,342,343,344,346,359,518,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,343,344,8,517,94, +93,5,6,7,97,96,95,98,10,78,9,465,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,466,343,344,238,375,100,94, +108,198,466,462,499, +465,465,512,220,465,512,467,464,513,514, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9, + 468,573,28,32,31,12,13,24,29,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,574, + 128,128,128,574, +333,628,630,334, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,470,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,575,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,471,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,576,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,472,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,577,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,473,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,578,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,474,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,579,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,475,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,580,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,476,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,340,581, + 301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8, + 94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,477,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,340,341, + 582,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344, + 8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,478,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,340,341, + 342,583,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,343, + 344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,479,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,340,341, + 342,343,584,301,301,301,301,301,301,301,301,301,301,301,301,301,301,301, + 343,344,8,94, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,480,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,139, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,139,139,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,343,344,8,94,345, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,481,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,585,301,305,304,300,299,298,297,296, + 585,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,585,585,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,94,345, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,482,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,340,341, + 342,343,344,586,301,301,301,301,301,301,301,301,301,301,301,301,301,301, + 301,343,344,8,94, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,483,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,153, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,153,153,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,343,344,8,94,345, +198,204,243, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,485,206,263, +198,205,483, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,587,10,9, + 225,487,490,28,32,31,12,13,24,29,489,587,587,587,131,129,130,131,131, + 131,131,131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344, + 130,130,8,130,128,128,128, +98,488,588, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,225,489,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,590,301,305,304,300,299,298,297, + 296,590,303,308,308,303,302,308,308,303,303,303,303,303,294,589,293,308, + 310,312,339,340,341,342,343,344,346,347,590,590,187,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,301,343,344,8,94,345, +93,5,6,7,97,96,95,98,10,78,9,490,237,28,23,102,101,13,24,397,104,397,397,29, + 99,237,103,591,343,344,238,375,100,94, +365,491,592, +365,492,593, +365,493,594, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,494,173,28,191,32,31,12,13,24,29,192,173,173,173, + 173,173,173,173,173,173,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,173,173,173,173,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +108,198,495,483,175, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,496,171,263, +108,198,497,417,167, +411,333,309,93,147,148,149,409,12,13,14,90,378,5,15,16,52,50,51,6,7,11,28, + 25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,56, + 167,168,169,170,165,172,173,174,406,175,72,318,176,177,108,209,210,211, + 212,213,214,215,216,217,218,220,408,73,201,202,222,223,205,206,203,204, + 207,208,224,225,197,407,228,229,221,226,227,97,96,295,95,198,287,288, + 289,290,291,67,219,199,200,196,410,195,364,54,98,457,10,78,285,9,117, + 279,280,281,282,283,498,595,595,595,595,595,595,595,595,595,595,595,595, + 595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595, + 595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595, + 595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595, + 595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595, + 595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595,595, + 595,595,595,595,595,595,595,595,595,595,595,459,595,595,595,595,595,595, + 595,595,595,595,595,595, +198,454,596, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,597,98,10,78,285,9,117,279,280,281, + 282,283,500,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,597,293,308,310,312,339, + 340,341,342,343,344,346,359,597,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,343,344,597,8,94, +195,98,423,599,598, +220,448,600, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,97,96,195,98,365,10,9,225,503,277,28,32,421,12, + 13,24,274,603,29,273,277,103,604,48,377,49,48,47,47,48,48,48,48,48,48, + 48,48,48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47, + 33,34,27,343,344,605,48,48,8,601,602,602,276,379,602,379,35,33,33,33, +93,420,5,6,7,420,97,96,95,420,420,195,98,420,10,78,9,504,504,28,23,102,101, + 13,24,397,503,397,397,29,500,99,504,103,343,344,505,386,505,100,422,422, + 501,94, +195,98,385,607,606, +220,446,608, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,10,9,507,28,32,31,12,13,24,29,48,377,49,48,47, + 47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49,49,49,49,49, + 49,49,47,47,47,47,47,33,34,27,343,344,48,48,8,443,445,35,33,33,33, +609,376,15,16,376,376,376,376,376,376,376,376,508,236,609,609,236,236, +611,198,509,610,611, +108,510,356, +10,354,364, +275,275,15,16,275,275,29,30,17,18,19,20,53,21,22,23,275,275,275,275,275,275, + 275,275,275,275,275,512,86,86,283,86,86,86,86,86,86,86,86,86,86,86,300, + 86,86,86, +272,272,15,16,272,272,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53, + 21,22,23,272,272,272,272,272,272,272,272,272,272,272,513,163,163,163, + 163,281,163,163,163,163,163,163,163,163,163,163,163,300,163,163,163,163, + 163,163,163,163,163,163,163,163,163,163, +15,16,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,280, + 268,268,268,268,268,268,268,268,268,268,268,268,268,268,300,268,268,268, + 268,268,268,268,268,268,268,268,268,268,268, +220,600,612, +220,598,613, +14,5,15,16,6,7,11,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20, + 53,21,22,23,54,10,9,517,28,31,12,13,24,397,29,394,395,394,396,393,393, + 394,394,394,394,394,394,394,394,394,394,394,300,394,395,395,395,395,395, + 395,395,395,395,395,395,393,393,398,343,344,394,394,8,399,614,614,614, + 614, +220,616,615, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,519, + 132,28,32,31,12,13,24,29,612,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +220,611,611,520,616, +14,5,15,16,6,7,11,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20, + 53,21,22,23,54,10,9,521,28,31,12,13,24,397,29,394,395,394,396,393,393, + 394,394,394,394,394,394,394,394,394,394,394,300,394,395,395,395,395,395, + 395,395,395,395,395,395,393,393,398,343,344,394,394,8,399,595,595,595, +333,522,617,617,334, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,618,10,78,285,9,117,279,280, + 281,282,283,523,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,550,618,301,305,304,300,299,298, + 297,296,550,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308, + 310,312,339,340,341,342,343,344,346,347,550,550,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94,345, +5,6,7,10,78,9,524,403,404,12,13,360,74,150,343,344,8,404,544,404, +411,333,309,93,147,148,149,409,12,13,14,90,378,5,15,16,52,50,51,6,7,11,28, + 25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,56, + 167,168,169,170,165,172,173,174,406,175,72,318,176,177,108,209,210,211, + 212,213,214,215,216,217,218,220,408,73,201,202,222,223,205,206,203,204, + 207,208,224,225,197,407,228,229,221,226,227,97,96,295,95,198,287,288, + 289,290,291,67,219,199,200,196,410,195,364,54,98,365,10,78,285,9,117, + 279,280,281,282,283,525,253,253,253,253,253,253,253,253,253,253,253,253, + 413,254,253,412,246,253,253,253,253,253,253,253,253,253,253,253,253,253, + 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, + 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,254,253,253, + 254,414,253,253,253,253,253,253,253,253,253,253,253,255,253,253,253,253, + 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, + 253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253,253, + 253,253,253,253,253,253,253,253,253, +411,333,309,93,147,148,149,409,12,13,14,90,378,5,15,16,52,50,51,6,7,11,28, + 25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,56, + 167,168,169,170,165,172,173,174,406,175,72,318,176,177,108,209,210,211, + 212,213,214,215,216,217,218,220,408,73,201,202,222,223,205,206,203,204, + 207,208,224,225,197,407,228,229,221,226,227,97,96,295,95,198,287,288, + 289,290,291,67,219,199,200,196,410,195,364,54,98,365,10,78,285,9,117, + 279,280,281,282,283,526,249,249,249,249,249,249,249,249,249,249,249,249, + 413,245,249,412,250,249,249,249,249,249,249,249,249,249,249,249,249,249, + 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, + 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,250,249,249, + 250,414,249,249,249,249,249,249,249,249,249,249,249,251,249,249,249,249, + 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, + 249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249, + 249,249,249,249,249,249,249,249,249, +411,333,309,93,147,148,149,409,12,13,14,90,378,5,15,16,52,50,51,6,7,11,28, + 25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,56, + 167,168,169,170,165,172,173,174,406,175,72,318,176,177,108,209,210,211, + 212,213,214,215,216,217,218,220,408,73,201,202,222,223,205,206,203,204, + 207,208,224,225,197,407,228,229,221,226,227,97,96,295,95,198,287,288, + 289,290,291,67,219,199,200,196,410,195,364,54,98,365,10,78,285,9,117, + 279,280,281,282,283,527,257,257,257,257,257,257,257,257,257,257,257,257, + 413,258,257,412,258,257,257,257,257,257,257,257,257,257,257,257,257,257, + 257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257, + 257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,258,257,257, + 247,414,257,257,257,257,257,257,257,257,257,257,257,259,257,257,257,257, + 257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257, + 257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257,257, + 257,257,257,257,257,257,257,257,257, +5,6,7,25,26,97,9,528,32,12,13,33,370,322,323,343,344,8, +619,15,16,376,376,376,376,376,529,236,619,619,236,236, +309,378,378,378,378,378,530,434,434,620, +364,531,439, +365,532,621, +93,78,533,23,27,27,27,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,534,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,96, + 96,303,302,96,96,303,303,303,303,303,294,293,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,225,535,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,623,301,305,304,300,299,298,297, + 296,623,303,308,308,303,302,308,308,303,303,303,303,303,294,622,293,308, + 310,312,339,340,341,342,343,344,346,347,623,623,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94,345, +365,536,84, +365,537,624, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,538, + 132,28,32,31,12,13,24,29,625,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76, + 76,76,76,76,76,76,76,76,76,76,76,76,76,98,76,539,543,79,79, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,540,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,626,301,305,304,300,299,298,297,296, + 626,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,626,626,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,94,345, +195,91,627, +5,6,7,97,96,195,10,9,89,542,28,275,12,13,24,29,540,542,103,90,541,343,344,8, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,628,10,78,285,9,117,279,280, + 281,282,283,543,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,550,628,301,305,304,300,299,298, + 297,296,550,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308, + 310,312,339,340,341,342,343,344,346,347,550,550,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94,345, +365,544,53, +365,545,52, +219,546,629, +219,547,630, +219,548,631, +219,549,632, +198,37,596, +365,551,39, +365,552,67, +25,26,553,59,59,59, +10,554,633, +93,5,6,7,10,78,9,555,28,23,634,12,13,24,43,43,43,43,43,29,343,344,8,94, +5,6,7,25,26,95,9,556,30,12,13,31,636,635,636,636,343,344,8, +10,557,637, +93,5,6,7,10,78,9,558,28,23,634,12,13,24,41,41,41,41,41,29,343,344,8,94, +365,559,38, +198,364,560,35,483, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,561,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,100, + 100,303,302,100,100,303,303,303,303,303,294,293,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,562,102,263, +198,101,483, +197,407,111,449,448, +197,407,110,449,448, +197,407,109,449,448, +224,225,97,114,452,451,450, +224,225,97,113,452,451,450, +73,207,208,569,458,457,638, +226,227,117,454,453, +226,227,116,454,453, +220,512,464,513,514, +93,5,6,7,97,96,95,195,98,10,78,9,634,504,28,23,102,101,13,24,397,503,397, + 397,29,500,99,504,103,343,344,505,632,505,100,633,501,94, +365,574,639, +207,208,122,458,457, +207,208,121,458,457, +207,208,120,458,457, +207,208,119,458,457, +203,204,67,219,125,473,472,471,470, +203,204,67,219,124,473,472,471,470, +205,206,127,475,474, +96,129,476, +223,131,477, +222,133,478, +73,198,585,483,640, +202,135,479, +108,587,641, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,225, + 588,490,28,32,31,12,13,24,29,489,642,642,131,129,130,131,131,131,131, + 131,131,131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130, + 8,130,128,128,128, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,589,189,263, +198,188,483, +220,591,643, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,592,190,28,191,32,31,12,13,24,29,192,190,190,190, + 190,190,190,190,190,190,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,190,190,190,190,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,593,184,28,191,32,31,12,13,24,29,192,184,184,184, + 184,184,184,184,184,184,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,184,184,184,184,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,594,644,28,191,32,31,12,13,24,29,192,644,644,644, + 644,644,644,644,644,644,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,644,644,644,644,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +411,333,309,93,147,148,149,409,12,13,14,90,378,5,15,16,52,50,51,6,7,11,28, + 25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22,23,56, + 167,168,169,170,165,172,173,174,406,175,72,318,176,177,108,209,210,211, + 212,213,214,215,216,217,218,220,408,73,201,202,222,223,205,206,203,204, + 207,208,224,225,197,407,228,229,221,226,227,97,96,295,95,198,287,288, + 289,290,291,67,219,199,200,196,410,195,364,54,98,10,78,285,9,117,279, + 280,281,282,283,458,456,456,456,456,456,456,456,456,456,456,456,456,456, + 456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456, + 456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456, + 456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456, + 456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456, + 456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456, + 456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456,456, + 456,456,456, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,596,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,55, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,55,55,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,343,344,8,94,345, +364,597,426, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,645,98,10,78,285,9,117,279,280,281, + 282,283,598,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,645,293,308,310,312,339, + 340,341,342,343,344,346,359,645,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,343,344,645,8,94, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,646,10,9,599,28,32,31,12,13,24,29,48,377,49,48, + 47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49,49,49,49, + 49,49,49,47,47,47,47,47,33,34,27,343,344,48,48,8,646,646,379,646,379,35, + 33,33,33, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,600,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,449, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,449,449,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,343,344,8,94,345, +365,601,427, +365,602,647, +648,376,15,16,376,376,376,376,376,376,603,236,648,648,236,236, +93,5,6,7,97,96,95,98,10,78,9,649,604,237,28,23,102,101,13,24,397,104,397, + 397,29,99,237,103,451,343,344,238,375,100,94, +365,605,390, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,650,98,10,78,285,9,117,279,280,281, + 282,283,606,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,650,293,308,310,312,339, + 340,341,342,343,344,346,359,650,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,343,344,650,8,94, +12,13,14,378,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30, + 17,18,19,20,53,21,22,23,428,10,9,607,28,32,31,12,13,24,29,48,377,49,48, + 47,47,48,48,48,48,48,48,48,48,48,48,48,300,48,49,49,49,49,49,49,49,49, + 49,49,49,47,47,47,47,47,33,34,27,343,344,651,48,48,8,651,651,379,651, + 379,35,33,33,33, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,608,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,447, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,447,447,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,343,344,8,94,345, +309,378,378,378,378,378,378,378,378,378,609,380,380,620, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,72,228,229,221,226,227, + 97,96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,477,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,481, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,481,481,381,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,481,94,345, +318,611,478, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,612,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,293,601,308,310,312,313, + 301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8, + 94,601,601,311, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,613,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303, + 308,308,303,302,308,308,303,303,303,303,303,294,293,599,308,310,312,313, + 301,301,301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8, + 94,599,599,311, +198,219,614,652,521, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,615, + 132,28,32,31,12,13,24,29,617,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,616, + 132,28,32,31,12,13,24,29,613,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +333,464,630,334, +365,618,545, +309,378,378,378,378,378,619,435,435,620, +98,620,653, +654,15,16,376,376,376,376,376,621,236,654,654,236,236, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,622,86,263, +198,85,596, +76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76, + 76,76,76,76,76,76,76,76,76,76,76,76,76,98,76,624,543,80,80, +365,625,655, +198,364,626,92,483, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,627,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,656,293,308,310,312,339,340, + 341,342,343,344,346,359,656,301,301,301,301,301,301,301,301,301,301,301, + 301,301,301,301,343,344,8,94, +365,628,94, +98,629,657, +98,630,658, +98,631,659, +98,632,660, +95,633,661, +10,634,662, +25,26,635,61,61,61, +10,636,663, +93,5,6,7,25,26,95,54,78,9,637,32,23,12,13,26,26,26,533,33,665,664,665,665, + 343,344,8,94, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,638,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,666,301,301, + 301,301,301,301,301,301,301,301,301,301,301,301,301,343,344,8,94,606, +72,639,631,188,179, +93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97,96, + 295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281,282, + 283,640,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306,306, + 292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,303,308, + 308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339,340,341, + 342,343,344,346,359,137,301,301,301,301,301,301,301,301,301,301,301,301, + 301,301,301,343,344,8,94, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,667,10,78,285,9,117,279,280, + 281,282,283,641,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13, + 306,306,292,306,306,307,306,306,29,306,348,301,305,304,300,299,298,297, + 296,348,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310, + 312,339,340,341,342,343,344,346,347,348,348,667,301,301,301,301,301,301, + 301,301,301,301,301,301,301,301,301,343,344,8,94,345, +365,642,668, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,643,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,301,305,304,300,299,298,297,296,186, + 303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312,339, + 340,341,342,343,344,346,347,186,186,301,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,343,344,8,94,345, +406,182,669, +364,645,431, +365,646,670, +671,376,15,16,376,376,376,376,376,376,647,236,671,671,236,236, +309,378,378,378,378,378,378,378,648,424,424,620, +672,673,411,333,309,93,147,148,149,409,12,13,14,90,378,5,15,16,52,50,51,6,7, + 11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,29,30,17,18,19,20,53,21,22, + 23,56,167,168,169,170,165,172,173,174,406,175,72,318,176,177,108,209, + 210,211,212,213,214,215,216,217,218,220,408,73,201,202,222,223,205,206, + 203,204,207,208,224,225,197,407,228,229,221,226,227,97,96,295,95,198, + 287,288,289,290,291,67,219,199,200,196,410,195,364,54,98,365,10,78,285, + 9,117,279,280,281,282,283,649,674,674,674,674,674,674,674,674,674,674, + 674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674, + 674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674, + 674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674, + 674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674, + 674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674, + 674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674,674, + 674,674,674,674,674,674,674,674,674, +364,650,389, +365,651,675, +14,652,676, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,678,10,9, + 653,132,28,32,31,12,13,24,29,677,131,129,130,131,131,131,131,131,131, + 131,131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130, + 128,128,128,677,678, +309,378,378,378,378,378,654,438,438,620, +76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76, + 76,76,76,76,76,76,76,76,76,76,76,76,76,98,76,655,543,81,81, +364,656,93, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,657,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,679,301,305,304,300,299,298,297,296, + 679,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,679,679,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,94,345, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,658,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,680,301,305,304,300,299,298,297,296, + 680,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,680,680,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,94,345, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,659,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,681,301,305,304,300,299,298,297,296, + 681,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,681,681,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,94,345, +309,93,5,6,7,25,26,36,37,38,39,40,41,42,43,44,45,46,228,229,221,226,227,97, + 96,295,95,287,288,289,290,291,199,200,98,10,78,285,9,117,279,280,281, + 282,283,660,28,23,284,294,293,306,306,306,306,306,306,286,286,12,13,306, + 306,292,306,306,307,306,306,29,306,682,301,305,304,300,299,298,297,296, + 682,303,308,308,303,302,308,308,303,303,303,303,303,294,293,308,310,312, + 339,340,341,342,343,344,346,347,682,682,301,301,301,301,301,301,301,301, + 301,301,301,301,301,301,301,343,344,8,94,345, +25,26,661,56,56,56, +93,5,6,7,54,78,9,662,32,23,12,13,26,26,26,533,33,343,344,8,94, +95,663,683, +25,26,664,60,60,60, +10,665,684, +408,207,208,605,458,457,455, +365,667,685, +108,668,191, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,669,183,28,191,32,31,12,13,24,29,192,183,183,183, + 183,183,183,183,183,183,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,183,183,183,183,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +686,376,15,16,376,376,376,376,376,376,670,236,686,686,236,236, +309,378,378,378,378,378,378,378,671,425,425,620, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,672,1,1,1154, +1,1,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026, + 1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,1026,673,1,1,1153, +263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263,263, + 263,263,263,263,263,263,263,263,263,263,263,263,263,263,674,452,263, +687,376,15,16,376,376,376,376,376,376,675,236,687,687,236,236, +688,614,614,78,676,688,688, +198,640,689, +365,678,641, +198,365,679,51,483, +198,365,680,50,483, +198,365,681,49,483, +198,365,682,48,483, +25,26,683,58,58,58, +95,684,690, +12,13,14,90,5,15,16,52,50,51,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45, + 46,29,30,17,18,19,20,53,21,22,23,167,168,169,170,165,172,173,174,175,72, + 176,177,58,10,78,9,225,685,198,28,191,32,31,12,13,24,29,192,198,198,198, + 198,198,198,198,198,198,48,190,189,188,179,187,186,185,184,183,171,57, + 182,181,180,179,198,198,198,198,58,49,48,47,47,48,48,48,48,48,48,48,48, + 48,48,48,300,48,49,49,49,49,49,49,49,49,49,49,49,47,47,47,47,47,33,34, + 27,343,344,166,59,61,48,48,8,178,55,35,33,33,33, +309,378,378,378,378,378,378,378,686,430,430,620, +309,378,378,378,378,378,378,378,687,388,388,620, +220,618,691, +12,13,14,5,15,16,6,7,11,28,25,26,36,37,38,39,40,41,42,43,44,45,46,10,9,689, + 132,28,32,31,12,13,24,29,643,131,129,130,131,131,131,131,131,131,131, + 131,131,131,131,129,129,129,129,128,127,27,343,344,130,130,8,130,128, + 128,128, +25,26,690,57,57,57, +5,691,619, + +}; + + +static const unsigned short ag_sbt[] = { + 0, 48, 52, 98, 224, 226, 358, 490, 622, 625, 757, 889,1021,1153, + 1285,1417,1549,1681,1813,1945,2077,2209,2341,2473,2605,2617,2749,2881, + 2896,3028,3160,3292,3295,3298,3320,3339,3344,3476,3608,3740,3872,4004, + 4136,4268,4400,4532,4664,4796,4845,4933,4987,5119,5251,5383,5515,5647, + 5654,5786,5822,5825,5844,5851,5854,5857,5982,6033,6037,6132,6264,6334, + 6337,6353,6423,6555,6687,6690,6706,6714,6750,6882,6917,6924,6927,6941, + 6944,6972,7084,7113,7162,7235,7288,7420,7424,7572,7704,7850,7982,8114, + 8246,8378,8383,8397,8410,8413,8476,8510,8545,8557,8562,8694,8709,8724, + 8743,8746,8791,8794,8799,8802,8934,9059,9096,9100,9109,9112,9238,9279, + 9314,9409,9426,9443,9506,9568,9622,9652,9773,9776,9781,9795,9800,9804, + 9807,9876,9911,9914,9917,9920,9923,9930,10062,10194,10326,10338,10347, + 10361,10366,10370,10373,10376,10393,10396,10436,10486,10596,10599,10652, + 10657,10789,10792,10924,11056,11188,11320,11323,11455,11587,11719,11851, + 11983,12115,12120,12123,12253,12256,12259,12356,12501,12504,12507,12510, + 12658,12661,12785,12788,12839,12985,12988,13120,13252,13384,13516,13648, + 13780,13912,14044,14176,14308,14440,14572,14704,14836,14968,15100,15232, + 15364,15496,15628,15760,15892,16024,16156,16288,16420,16552,16684,16816, + 16948,17080,17212,17344,17476,17608,17611,17614,17617,17620,17687,17710, + 17774,17808,17820,17823,17949,18050,18180,18214,18226,18231,18234,18237, + 18256,18381,18384,18429,18445,18490,18493,18538,18661,18745,18786,18792, + 18813,18817,18852,19102,19137,19143,19148,19162,19221,19227,19290,19344, + 19397,19523,19631,19634,19639,19669,19795,19927,20059,20191,20323,20455, + 20458,20590,20593,20725,20857,20989,21121,21253,21274,21387,21455,21587, + 21590,21593,21596,21599,21602,21605,21715,21826,21937,22048,22061,22129, + 22134,22266,22273,22396,22401,22431,22500,22506,22630,22634,22766,22769, + 22775,22791,22807,22833,22945,23069,23072,23075,23085,23094,23220,23261, + 23299,23431,23434,23438,23441,23446,23449,23454,23463,23468,23471,23474, + 23477,23612,23615,23643,23646,23649,23684,23815,23818,23821,23889,23957, + 24025,24028,24173,24178,24181,24326,24458,24493,24625,24757,24760,24763, + 24830,24835,24898,24912,24925,25023,25026,25155,25158,25201,25333,25338, + 25341,25474,25508,25516,25521,25540,25543,25546,25558,25561,25564,25567, + 25570,25616,25688,25742,25784,25787,25794,25799,25804,25838,25842,25845, + 25848,25851,25983,26115,26247,26379,26511,26643,26770,26897,27024,27030, + 27035,27069,27122,27125,27128,27131,27134,27148,27162,27288,27385,27410, + 27492,27495,27563,27630,27654,27698,27766,27831,27896,27961,28026,28156, + 28224,28258,28292,28422,28550,28553,28682,28685,28796,28907,29019,29131, + 29243,29356,29469,29584,29704,29818,29932,29937,29941,29944,29981,30105, + 30231,30265,30270,30280,30347,30351,30466,30581,30696,30811,30927,31043, + 31160,31278,31397,31517,31644,31772,31893,32020,32023,32149,32152,32222, + 32225,32356,32390,32393,32396,32399,32544,32549,32675,32680,32932,32935, + 33061,33066,33069,33181,33225,33230,33233,33326,33344,33349,33352,33355, + 33401,33471,33524,33527,33530,33614,33617,33682,33687,33770,33775,33905, + 33925,34180,34435,34690,34708,34722,34732,34735,34738,34746,34857,34987, + 34990,34993,35058,35102,35230,35233,35257,35387,35390,35393,35396,35399, + 35402,35405,35408,35411,35414,35420,35423,35447,35466,35469,35493,35496, + 35501,35612,35738,35741,35746,35751,35756,35763,35770,35777,35782,35787, + 35792,35830,35833,35838,35843,35848,35853,35862,35871,35876,35879,35882, + 35885,35890,35893,35896,35964,36090,36093,36096,36241,36386,36531,36780, + 36907,36910,37036,37133,37260,37263,37266,37282,37317,37320,37446,37544, + 37671,37685,37815,37818,37938,38058,38063,38128,38193,38197,38200,38210, + 38213,38227,38353,38356,38400,38403,38408,38532,38535,38538,38541,38544, + 38547,38550,38553,38559,38562,38590,38706,38711,38834,38964,38967,39094, + 39097,39100,39103,39119,39131,39386,39389,39392,39395,39463,39473,39517, + 39520,39648,39776,39904,40032,40038,40059,40062,40068,40071,40078,40081, + 40084,40229,40245,40257,40386,40515,40641,40657,40664,40667,40670,40675, + 40680,40685,40690,40696,40699,40844,40856,40868,40871,40936,40942,40945 +}; + + +static const unsigned short ag_sbe[] = { + 44, 50, 94, 142, 225, 354, 486, 618, 623, 753, 885,1017,1149,1281, + 1413,1545,1677,1809,1941,2073,2205,2337,2469,2601,2609,2745,2877,2886, + 3024,3156,3288,3293,3296,3306,3327,3341,3472,3604,3736,3868,4000,4132, + 4264,4396,4528,4660,4792,4826,4880,4956,5115,5247,5379,5511,5643,5649, + 5782,5797,5823,5832,5847,5852,5855,5900,6008,6034,6073,6260,6290,6335, + 6343,6379,6551,6683,6688,6696,6709,6745,6878,6913,6919,6925,6932,6942, + 6953,7014,7096,7143,7203,7258,7416,7421,7479,7700,7769,7978,8110,8242, + 8374,8380,8395,8409,8411,8470,8487,8521,8552,8559,8690,8699,8714,8730, + 8744,8788,8792,8796,8800,8930,8977,9093,9097,9103,9110,9235,9261,9290, + 9350,9415,9432,9500,9531,9591,9634,9698,9774,9778,9786,9797,9801,9805, + 9874,9907,9912,9915,9918,9921,9925,10058,10190,10322,10330,10344,10355, + 10364,10369,10371,10374,10382,10394,10409,10463,10528,10597,10622,10653, + 10785,10790,10920,11052,11184,11316,11321,11451,11583,11715,11847,11979, + 12111,12116,12121,12169,12254,12257,12296,12410,12502,12505,12508,12565, + 12659,12705,12786,12814,12894,12986,13116,13248,13380,13512,13644,13776, + 13908,14040,14172,14304,14436,14568,14700,14832,14964,15096,15228,15360, + 15492,15624,15756,15888,16020,16152,16284,16416,16548,16680,16812,16944, + 17076,17208,17340,17472,17604,17609,17612,17615,17618,17672,17695,17768, + 17785,17817,17821,17868,17987,18096,18191,18218,18228,18232,18235,18243, + 18299,18382,18426,18434,18487,18491,18535,18580,18694,18768,18788,18798, + 18814,18850,18975,19113,19142,19145,19153,19219,19223,19284,19313,19367, + 19442,19564,19632,19636,19651,19792,19923,20055,20187,20319,20451,20456, + 20586,20591,20721,20853,20985,21117,21249,21261,21319,21413,21583,21588, + 21591,21594,21597,21600,21603,21649,21759,21870,21981,22054,22087,22131, + 22262,22269,22320,22398,22415,22457,22502,22550,22631,22762,22767,22773, + 22780,22796,22816,22875,22989,23070,23073,23083,23090,23217,23243,23273, + 23427,23432,23435,23439,23442,23447,23451,23458,23465,23469,23472,23475, + 23529,23613,23628,23644,23647,23660,23730,23816,23819,23847,23915,23983, + 24026,24082,24175,24179,24235,24372,24469,24621,24753,24758,24761,24815, + 24832,24892,24910,24924,24962,25024,25072,25156,25174,25329,25335,25339, + 25388,25485,25511,25518,25527,25541,25544,25550,25559,25562,25565,25568, + 25597,25646,25711,25757,25785,25791,25796,25801,25815,25839,25843,25846, + 25849,25979,26111,26243,26375,26507,26639,26768,26895,27022,27029,27032, + 27046,27092,27123,27126,27129,27132,27142,27153,27207,27325,27394,27450, + 27493,27521,27589,27638,27694,27724,27791,27856,27921,27986,28072,28182, + 28235,28269,28338,28467,28551,28599,28683,28729,28840,28951,29063,29175, + 29287,29400,29513,29629,29748,29862,29935,29940,29942,29956,30025,30150, + 30242,30267,30276,30306,30348,30395,30510,30625,30740,30855,30971,31087, + 31204,31322,31441,31562,31689,31816,31938,32021,32146,32150,32179,32223, + 32271,32367,32391,32394,32397,32453,32546,32672,32677,32805,32933,32980, + 33063,33067,33111,33198,33227,33231,33269,33338,33346,33350,33353,33382, + 33439,33494,33525,33528,33563,33615,33642,33685,33720,33771,33821,33911, + 34050,34305,34560,34697,34716,34728,34733,34736,34740,34790,34903,34988, + 34991,35018,35098,35147,35231,35241,35303,35388,35391,35394,35397,35400, + 35403,35406,35409,35412,35416,35421,35430,35454,35467,35476,35494,35498, + 35545,35735,35739,35743,35748,35753,35759,35766,35773,35779,35784,35788, + 35804,35831,35835,35840,35845,35850,35857,35866,35873,35877,35880,35883, + 35887,35891,35894,35922,36087,36091,36094,36150,36295,36440,36655,36825, + 36908,36955,37073,37178,37261,37264,37276,37294,37318,37365,37483,37589, + 37681,37731,37816,37863,37983,38060,38088,38153,38194,38198,38206,38211, + 38221,38350,38354,38396,38401,38405,38452,38533,38536,38539,38542,38545, + 38548,38551,38555,38560,38572,38634,38707,38755,38880,38965,39012,39095, + 39098,39101,39113,39127,39258,39387,39390,39393,39421,39469,39513,39518, + 39565,39693,39821,39949,40034,40045,40060,40064,40069,40074,40079,40082, + 40138,40239,40253,40382,40511,40638,40651,40661,40665,40668,40672,40677, + 40682,40687,40692,40697,40753,40852,40864,40869,40896,40938,40943,40945 +}; + + +static const unsigned char ag_fl[] = { + 2,1,1,2,1,1,1,1,1,1,2,1,1,1,1,1,2,2,1,3,1,1,1,1,1,1,3,4,1,1,2,2,3,3,1, + 4,0,1,4,4,3,4,3,4,3,3,2,2,7,7,7,7,4,4,1,3,4,6,5,2,4,3,1,2,2,2,2,4,1,1, + 1,1,1,1,1,1,0,1,3,4,5,6,1,2,3,2,3,1,2,1,2,1,3,4,3,2,4,1,2,1,4,2,3,2,3, + 1,3,3,1,3,3,3,1,3,3,1,3,3,1,3,3,3,3,1,3,3,1,3,1,3,1,3,1,3,1,3,1,5,1,3, + 1,1,1,1,1,1,1,1,1,1,1,1,1,3,1,1,1,1,1,1,1,1,1,1,2,0,1,3,1,2,1,2,3,4,3, + 2,0,1,3,1,1,2,5,7,5,1,4,2,1,2,5,7,0,1,0,1,0,1,8,2,1,1,2,1,2,1,2,2,2,3, + 3,0,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,1,2,3,2,3,4,1,2,2,2,2,0,2,1,1,1, + 3,3,3,0,2,2,2,0,2,2,2,0,2,2,2,0,1,2,3,1,3,1,1,2,2,1,2,0,1,3,0,1,2,3,1, + 2,3,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,3,3,1,1,2,2,3,3,2,3,1,4,4,0,1,4,5,1,3,1,3,1,1,1,1,1,1,5, + 5,4,1,5,2,5,6,4,4,5,1,2,2,3,3,5,5,3,1,3,1,2,2,1,2,1,0,1,0,1,6,0,1,4,3, + 1,2,1,6,4,3,2,1,4,2,1,1,1,3,3,4,3,4,1,1,2,2,0,1,2,1,2,1,2,2,3,0,1,2,3, + 0,1,2,1,4,5,3,3,0,1,6,4,2,1,4,5,3,3,6,4,1,1,2,3,1,3,2,4,2,4,1,2,4,1,2, + 1,2,0,1,3,0,1,3,2,4,2,3,4,2,2,2,3,3,2,3,1,0,1,4,2,1,3,0,1,4,6,1,2,3,3, + 3,4,5,1,1,1,1,2,1,4,2,3,1,1,0,1,3,1,1,2,1,3,1,2,2,2,3,2,2,1,1,3,1,1,1, + 0,1,3,0,1,3,3,3,2,1,1,1,2,0,1,2,2,2,1,3,4,1,1,1,2,1,1,3,3,1,1,1,1,1,1, + 1,1,1,1,1,1,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,0,5,1, + 3,1,1,2,4,2,4,1,3,1,1,5,0,1,2,1,2,3,4,0,1,2,4,6,8,4,1,3,1,1,1,2,4,3,1, + 2,5,2,2,1,1,0,1,2,0,1,4,1,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,0,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,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,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,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 +}; + +static const unsigned short ag_ptt[] = { + 0, 1, 1, 13, 16, 16, 16, 16, 16, 23, 23, 16, 5, 5, 26, 26, 26, 26, + 26, 26, 26, 35, 35, 34, 34, 34, 30, 30, 8, 8, 8, 8, 8, 8, 39, 39, + 44, 44, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, + 43, 43, 48, 48, 48, 48, 48, 48, 63, 63, 63, 63, 63, 63, 63, 63, 65, 65, + 65, 65, 65, 65, 77, 77, 67, 67, 67, 67, 74, 74, 78, 79, 79, 75, 75, 82, + 82, 82, 83, 83, 76, 68, 68, 85, 85, 64, 64, 32, 32, 87, 87, 89, 89, 89, + 92, 92, 92, 92, 95, 95, 95, 96, 96, 96, 99, 99, 99, 99, 99,102,102,102, + 105,105,106,106,108,108,110,110,112,112,114,114, 59, 59, 59,117,117,117, + 117,117,117,117,117,117,117,117, 41, 41, 84, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2,141,141,139,139,139,145,145,130,130,130,146,151,151,131,149, + 150,150,132,132,132,155,158,158,160,160,133,133,165,165,166,166,167,167, + 133,163,164,169,169,170,170,171,171,134,134,134,134,178,178, 14,179,180, + 180,180,180,180,180,136,136,136,136, 80,181,181,181,181,181,181,181,192, + 192,192,192, 81, 81, 81,193,193,195,195,195,197,198,194,199,199,199,199, + 200,200,200,200,201,201,201,201,205,205,137,137,142,142,172,208,208,172, + 209,209,210,210,172,212,212,172,172,213,213,213,213,213,214,216,216,216, + 216,216,222,222,222, 45, 45,207,207,140,140,140,140,140,206,206,206,206, + 206,206,206,206,206,206,206,211,211,211,211,243,243,215,215,215,215,215, + 61, 61,242,242,242,242,242,242,242,242, 7,252,252,241,241,251,251,253, + 253, 38, 38,185,185,256,256,258,259,257,261,187,262,188,188,188,189,189, + 247,247,247,247,247,186,184,184,173,173,265,265,265,159,159,266,271,271, + 273,273,266,274,274,266,266,275,275,276,276,276,276, 4, 4, 4,270,228, + 228,268,268,268,268,268,268,268,268,268,268,282,282, 53, 3, 3,283,283, + 3, 3,284,284, 3, 3,286,286,285,285,287,287,287,287,290,290,287,287, + 281,281,291,291,291,291,291,291,289,289,289,289,292,292,294,294,294,294, + 288,277,277,269,296,298,298,299,299,296,302,302,144,144,304,300,300,300, + 138,138,307,303,308,267,267,309,311,311,309,309,310,310,314,314,240,240, + 316,312,312,312,312,312,312,246,246,246,313,313,321,321,321,321,323,322, + 325,325,322,322,322,322,324,324,327,327,327,327,327,328,329,315,331,331, + 332,332,332,334,334,332,335,335,332,332,332,333,326,326,326, 36,342,342, + 340,341,301,343,343,344,345,345,345, 29,346,346,346,346,346,346,346,346, + 346,346,346,346,346,346,346,346,346,346,346,346,346,346,346,346,346,346, + 346,346,346,346,346,346,346,346,346,346,346,346,346,346,346,346,347,190, + 348,348,349,349,351,351,351,351, 88, 88, 88,352,352,355,355,353,350,350, + 350,350,356,356,350,350,350,350, 25,249,249,357,357,357,182,183,135,306, + 306,358,360,360,360,360,361,361,118,363,363,272,362,362,196,196,196,196, + 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196, + 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196, + 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196, + 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196, + 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196, + 196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196,196, + 196,196,196,196,196,196,202,202,202,203,203,203,204,204,204,295,295,295, + 295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295, + 295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295, + 295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295, + 295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295, + 295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295, + 295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295, + 295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,295,297,297, + 297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, + 297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, + 297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, + 297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, + 297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, + 297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297,297, + 297,297,297,297,297,297,297,297,297,297,297,297,297,297,317,317,365,365, + 366,366, 17, 18, 19, 20, 21, 22, 24, 27, 6, 28, 33, 31, 37, 42, 40, 46, + 47, 49, 50, 54, 52, 51, 55, 56, 57, 58, 60, 62, 66, 69, 70, 71, 72, 73, + 9, 10, 90, 91, 93, 94, 97, 98,100,101,103,104,107,109,111,113,116,115, + 119,120,121,122,123,124,125,126,127,128,129,143,147,148,152,153,154,156, + 157,161,162,168,174,175,176,177,191,217,218,219,220,221,223,224,225,226, + 227,229,230,231,232,233,234,235,236,237,238,239,244,245,248,250,254,255, + 260,263,264,278,279,280,293,305,318,319,320,330,336,337,338,339,354,359, + 364, 11, 12 +}; + + +static void ag_ra(void) +{ + switch(ag_rpx[(PCB).ag_ap]) { + case 1: ag_rp_1(V(0,(InputToken *))); break; + case 2: V(0,(TypeDefinition *)) = ag_rp_2(V(0,(InputToken *))); break; + case 3: V(0,(TypeDefinition *)) = ag_rp_3(V(0,(InputToken *))); break; + case 4: ag_rp_4(V(0,(InputToken *))); break; + case 5: V(0,(Scope * *)) = ag_rp_5(V(0,(Scope * *))); break; + case 6: V(0,(Scope * *)) = ag_rp_6(V(0,(Scope * *))); break; + case 7: V(0,(Scope * *)) = ag_rp_7(V(0,(TypeDefinition *))); break; + case 8: V(0,(Scope * *)) = ag_rp_8(V(0,(TypeDefinition *))); break; + case 9: V(0,(Scope * *)) = ag_rp_9(V(1,(TypeDefinition *))); break; + case 10: V(0,(Scope * *)) = ag_rp_10(V(1,(TypeDefinition *))); break; + case 11: V(0,(Scope * *)) = ag_rp_11(V(0,(Scope * *)), V(2,(TypeDefinition *))); break; + case 12: V(0,(Scope * *)) = ag_rp_12(V(0,(Scope * *)), V(2,(TypeDefinition *))); break; + case 13: ag_rp_13(); break; + case 14: ag_rp_14(); break; + case 15: ag_rp_15(); break; + case 16: ag_rp_16(); break; + case 17: ag_rp_17(); break; + case 18: ag_rp_18(); break; + case 19: ag_rp_19(); break; + case 20: ag_rp_20(); break; + case 21: ag_rp_21(); break; + case 22: ag_rp_22(); break; + case 23: V(0,(int *)) = ag_rp_23(); break; + case 24: ag_rp_24(); break; + case 25: ag_rp_25(); break; + case 26: ag_rp_26(); break; + case 27: ag_rp_27(); break; + case 28: ag_rp_28(); break; + case 29: ag_rp_29(); break; + case 30: ag_rp_30(); break; + case 31: ag_rp_31(); break; + case 32: ag_rp_32(); break; + case 33: ag_rp_33(); break; + case 34: ag_rp_34(); break; + case 35: ag_rp_35(); break; + case 36: ag_rp_36(); break; + case 37: ag_rp_37(); break; + case 38: ag_rp_38(V(1,(InputToken *))); break; + case 39: ag_rp_39(V(1,(TypeDefinition *))); break; + case 40: ag_rp_40(V(1,(Scope * *)), V(2,(InputToken *))); break; + case 41: ag_rp_41(V(1,(Scope * *)), V(2,(TypeDefinition *))); break; + case 42: ag_rp_42(V(1,(InputToken *))); break; + case 43: V(0,(TypeDefinition *)) = ag_rp_43(V(0,(InputToken *))); break; + case 44: V(0,(TypeDefinition *)) = ag_rp_44(V(0,(InputToken *))); break; + case 45: V(0,(Scope * *)) = ag_rp_45(); break; + case 46: V(0,(Scope * *)) = ag_rp_46(V(0,(TypeDefinition *))); break; + case 47: V(0,(Scope * *)) = ag_rp_47(V(0,(TypeDefinition *))); break; + case 48: V(0,(Scope * *)) = ag_rp_48(V(0,(Scope * *)), V(1,(TypeDefinition *))); break; + case 49: V(0,(Scope * *)) = ag_rp_49(V(0,(Scope * *)), V(1,(TypeDefinition *))); break; + case 50: V(0,(Scope * *)) = ag_rp_50(V(0,(Scope * *))); break; + case 51: V(0,(Scope * *)) = ag_rp_51(V(1,(Scope * *))); break; + case 52: V(0,(Scope * *)) = ag_rp_52(V(0,(Scope * *))); break; + case 53: V(0,(Scope * *)) = ag_rp_53(V(0,(Scope * *))); break; + case 54: V(0,(Scope * *)) = ag_rp_54(V(0,(Scope * *))); break; + case 55: V(0,(Scope * *)) = ag_rp_55(V(1,(Scope * *))); break; + case 56: V(0,(Scope * *)) = ag_rp_56(); break; + case 57: V(0,(Scope * *)) = ag_rp_57(V(0,(Scope * *))); break; + case 58: V(0,(Scope * *)) = ag_rp_58(V(0,(Scope * *))); break; + case 59: V(0,(Scope * *)) = ag_rp_59(V(0,(Scope * *))); break; + case 60: V(0,(Scope * *)) = ag_rp_60(V(0,(Scope * *))); break; + case 61: V(0,(Scope * *)) = ag_rp_61(V(0,(Scope * *))); break; + case 62: V(0,(Scope * *)) = ag_rp_62(V(0,(InputToken *))); break; + case 63: V(0,(Scope * *)) = ag_rp_63(V(0,(InputToken *))); break; + case 64: V(0,(Scope * *)) = ag_rp_64(V(1,(InputToken *))); break; + case 65: V(0,(Scope * *)) = ag_rp_65(V(1,(InputToken *))); break; + case 66: ag_rp_66(); break; + case 67: ag_rp_67(); break; + case 68: ag_rp_68(); break; + case 69: ag_rp_69(); break; + case 70: ag_rp_70(V(1,(Scope * *))); break; + case 71: ag_rp_71(V(2,(Scope * *))); break; + case 72: ag_rp_72(V(3,(Scope * *))); break; + case 73: ag_rp_73(V(1,(Scope * *))); break; + case 74: ag_rp_74(); break; + case 75: ag_rp_75(); break; + case 76: ag_rp_76(); break; + case 77: ag_rp_77(); break; + case 78: ag_rp_78(); break; + case 79: ag_rp_79(V(1,(InputToken *))); break; + case 80: ag_rp_80(V(1,(TypeDefinition *))); break; + case 81: ag_rp_81(V(1,(InputToken *))); break; + case 82: ag_rp_82(V(1,(Scope * *)), V(2,(InputToken *))); break; + case 83: ag_rp_83(V(1,(Scope * *)), V(3,(InputToken *))); break; + case 84: ag_rp_84(); break; + case 85: ag_rp_85(); break; + case 86: ag_rp_86(V(0,(Scope * *))); break; + case 87: ag_rp_87(V(2,(Scope * *))); break; + case 88: V(0,(Scope * *)) = ag_rp_88(V(0,(InputToken *))); break; + case 89: V(0,(Scope * *)) = ag_rp_89(V(0,(InputToken *))); break; + case 90: V(0,(Scope * *)) = ag_rp_90(V(0,(Scope * *))); break; + case 91: V(0,(Scope * *)) = ag_rp_91(V(2,(Scope * *))); break; + case 92: V(0,(Scope * *)) = ag_rp_92(V(2,(Scope * *))); break; + case 93: V(0,(Scope * *)) = ag_rp_93(V(2,(InputToken *))); break; + case 94: V(0,(Scope * *)) = ag_rp_94(V(2,(InputToken *))); break; + case 95: V(0,(Scope * *)) = ag_rp_95(V(0,(Scope * *)), V(1,(TypeDefinition *))); break; + case 96: ag_rp_96(); break; + case 97: ag_rp_97(); break; + case 98: ag_rp_98(V(1,(InputToken *))); break; + case 99: V(0,(InputToken *)) = ag_rp_99(V(0,(InputToken *))); break; + } + (PCB).la_ptr = (PCB).pointer; +} + +#define TOKEN_NAMES parse_token_names +const char *const parse_token_names[494] = { + "translation unit", + "line number", + "statement", + "type specifier seq", + "ptr operator", + "class name", + "IDENTIFIER", + "explicitly typed identifier", + "nested name specifier", + "NEW", + "DELETE", + "LINE", + "", + "translation unit", + "declaration list", + "eof", + "literal", + "HEXconstant", + "OCTconstant", + "DECconstant", + "FLOATconstant", + "CHARACTERconstant", + "STRINGliteral", + "", + "CLASS_NAME", + "template id", + "primary expression", + "THIS", + "QUAL", + "operator function id", + "qualified id", + "'('", + "expression hack 1", + "')'", + "unqualified id", + "id expression", + "conversion function id", + "TEMPLATE", + "namespace name", + "postfix expression", + "'['", + "expression", + "']'", + "expression list", + "", + "simple type specifier", + "'.'", + "ARROW", + "pseudo destructor name", + "INCR", + "DECR", + "DYNAMIC_CAST", + "'<'", + "type id", + "'>'", + "STATIC_CAST", + "REINTERPRET_CAST", + "CONST_CAST", + "TYPEID", + "assignment expression", + "','", + "nonclass type name", + "'~'", + "unary expression", + "cast expression", + "unary operator", + "SIZEOF", + "new expression", + "delete expression", + "'&'", + "'*'", + "'+'", + "'-'", + "'!'", + "new", + "new type id", + "new initializer", + "", + "new placement", + "expression list hack 2", + "retry", + "resynch", + "new declarator", + "direct new declarator", + "constant expression", + "delete", + "error", + "restricted assignment expression hack 5", + "restricted assignment expression", + "pm expression", + "DOT_STAR", + "ARROW_STAR", + "multiplicative expression", + "'/'", + "'%'", + "additive expression", + "shift expression", + "LS", + "RS", + "relational expression", + "LE", + "GE", + "equality expression", + "EQ", + "NE", + "and expression", + "exclusive or expression", + "'^'", + "inclusive or expression", + "'|'", + "logical and expression", + "AND", + "logical or expression", + "OR", + "conditional expression", + "'\\?'", + "':'", + "assignment operator", + "throw expression", + "'='", + "MULT_EQ", + "DIV_EQ", + "MOD_EQ", + "ADD_EQ", + "SUB_EQ", + "LS_EQ", + "RS_EQ", + "AND_EQ", + "OR_EQ", + "XOR_EQ", + "labeled statement", + "compound statement", + "selection statement", + "iteration statement", + "jump statement", + "try block", + "block declaration", + "variable declaration", + "function definition 2", + "statement try 2", + "type qualifier", + "", + "declarator list", + "';'", + "function definition 1", + "statement try 3", + "expression statement", + "CASE", + "DEFAULT", + "begin block", + "statement seq", + "", + "'}'", + "'{'", + "IF", + "condition", + "ELSE", + "SWITCH", + "condition kernel", + "declarator", + "condition kernel 2", + "WHILE", + "DO", + "for header", + "for init statement", + "", + "", + "", + "FOR", + "for init", + "for variable declaration", + "for init 2", + "decl specifier seq", + "init declarator list", + "BREAK", + "CONTINUE", + "RETURN", + "GOTO", + "declaration seq", + "declaration hack", + "declaration", + "simple declaration", + "explicit instantiation", + "explicit specialization", + "linkage specification", + "namespace definition", + "asm definition", + "namespace alias definition", + "using declaration", + "using directive", + "template header", + "EXPORT", + "attempt declarator list", + "resynch text", + "balanced braces", + "resynch item", + "", + "balanced parens", + "balanced brackets", + "not right paren", + "not right bracket", + "not right brace", + "", + "", + "", + "", + "fundamental type", + "predefined specifier", + "", + "", + "", + "user defined specifier", + "", + "restricted decl specifier seq", + "restricted specifier", + "qualified type name", + "storage class specifier", + "AUTO", + "REGISTER", + "STATIC", + "EXTERN", + "MUTABLE", + "function specifier", + "INLINE", + "VIRTUAL", + "EXPLICIT", + "FRIEND", + "TYPEDEF", + "cv qualifier", + "CHAR", + "WCHAR_T", + "BOOL", + "SHORT", + "INT", + "LONG", + "SIGNED", + "UNSIGNED", + "FLOAT", + "DOUBLE", + "VOID", + "class specifier", + "enum specifier", + "elaborated type specifier", + "user type specifier", + "ENUM_NAME", + "TYPEDEF_NAME", + "class key", + "name qualifier", + "ENUM", + "template argument list", + "TYPENAME", + "enumerator list", + "", + "enumerator definition", + "NAMESPACE_NAME", + "NAMESPACE_ALIAS", + "named namespace definition", + "unnamed namespace definition", + "original namespace definition", + "extension namespace definition", + "NAMESPACE", + "namespace body", + "qualified namespace specifier", + "USING", + "ASM", + "init declarator", + "direct declarator", + "initializer", + "declarator id", + "parameter declaration clause hack 4", + "cv qualifier seq", + "", + "exception specification", + "", + "", + "declarator hack", + "direct declarator hack", + "declarator hack 3", + "CONSTANT", + "VOLATILE", + "TEMPLATE_NAME", + "abstract declarator", + "", + "", + "", + "abstract declarator hack", + "", + "direct abstract declarator hack", + "parameter declaration clause hack 3", + "parameter declaration clause", + "", + "direct abstract declarator", + "parameter declaration list", + "ELLIPSIS", + "parameter declaration", + "", + "expression list hack 4", + "", + "", + "", + "constructor identifier", + "ctor initializer", + "", + "function body", + "constructor try block", + "TRY", + "handler seq", + "function identifier", + "function try block", + "initializer clause", + "initializer list", + "", + "class head", + "member specification", + "", + "base clause", + "specifier lookahead", + "", + "CLASS", + "STRUCT", + "UNION", + "member declaration hack", + "member declaration", + "member restore", + "member declarator list", + "", + "access specifier", + "member declarator", + "pure specifier", + "constant intializer", + "'0'", + "base specifier list", + "base specifier", + "qualified class name", + "", + "", + "PRIVATE", + "PROTECTED", + "PUBLIC", + "OPERATOR", + "conversion type id", + "conversion declarator", + "", + "mem initializer list", + "mem initializer", + "mem initializer id", + "operator", + "", + "template parameter list", + "template parameter", + "type parameter", + "template parameter declaration", + "restricted conditional expression", + "restricted throw expression", + "THROW", + "", + "", + "template argument", + "handler", + "CATCH", + "exception declaration", + "", + "type id list", + "", + "", + "", + "", + "HEXconstant", + "OCTconstant", + "DECconstant", + "FLOATconstant", + "CHARACTERconstant", + "STRINGliteral", + "CLASS_NAME", + "THIS", + "IDENTIFIER", + "QUAL", + "')'", + "'('", + "TEMPLATE", + "']'", + "'['", + "'.'", + "ARROW", + "INCR", + "DECR", + "'>'", + "'<'", + "DYNAMIC_CAST", + "STATIC_CAST", + "REINTERPRET_CAST", + "CONST_CAST", + "TYPEID", + "','", + "'~'", + "SIZEOF", + "'&'", + "'*'", + "'+'", + "'-'", + "'!'", + "NEW", + "DELETE", + "DOT_STAR", + "ARROW_STAR", + "'/'", + "'%'", + "LS", + "RS", + "LE", + "GE", + "EQ", + "NE", + "'^'", + "'|'", + "AND", + "OR", + "':'", + "'\\?'", + "'='", + "MULT_EQ", + "DIV_EQ", + "MOD_EQ", + "ADD_EQ", + "SUB_EQ", + "LS_EQ", + "RS_EQ", + "AND_EQ", + "OR_EQ", + "XOR_EQ", + "';'", + "CASE", + "DEFAULT", + "'}'", + "'{'", + "IF", + "ELSE", + "SWITCH", + "WHILE", + "DO", + "FOR", + "BREAK", + "CONTINUE", + "RETURN", + "GOTO", + "EXPORT", + "AUTO", + "REGISTER", + "STATIC", + "EXTERN", + "MUTABLE", + "INLINE", + "VIRTUAL", + "EXPLICIT", + "FRIEND", + "TYPEDEF", + "CHAR", + "WCHAR_T", + "BOOL", + "SHORT", + "INT", + "LONG", + "SIGNED", + "UNSIGNED", + "FLOAT", + "DOUBLE", + "VOID", + "ENUM_NAME", + "TYPEDEF_NAME", + "ENUM", + "TYPENAME", + "NAMESPACE_NAME", + "NAMESPACE_ALIAS", + "NAMESPACE", + "USING", + "ASM", + "CONSTANT", + "VOLATILE", + "TEMPLATE_NAME", + "ELLIPSIS", + "TRY", + "CLASS", + "STRUCT", + "UNION", + "'0'", + "PRIVATE", + "PROTECTED", + "PUBLIC", + "OPERATOR", + "THROW", + "CATCH", + "", + "LINE", + "", + +}; + +#ifndef MISSING_FORMAT +#define MISSING_FORMAT "Missing %s" +#endif +#ifndef UNEXPECTED_FORMAT +#define UNEXPECTED_FORMAT "Unexpected %s" +#endif +#ifndef UNNAMED_TOKEN +#define UNNAMED_TOKEN "input" +#endif + + +static void ag_diagnose(void) { + int ag_snd = (PCB).sn; + int ag_k = ag_sbt[ag_snd]; + + if (*TOKEN_NAMES[ag_tstt[ag_k]] && ag_astt[ag_k + 1] == ag_action_8) { + sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]); + } + else if (ag_astt[ag_sbe[(PCB).sn]] == ag_action_8 + && (ag_k = (int) ag_sbe[(PCB).sn] + 1) == (int) ag_sbt[(PCB).sn+1] - 1 + && *TOKEN_NAMES[ag_tstt[ag_k]]) { + sprintf((PCB).ag_msg, MISSING_FORMAT, TOKEN_NAMES[ag_tstt[ag_k]]); + } + else if ((PCB).token_number && *TOKEN_NAMES[(PCB).token_number]) { + sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, TOKEN_NAMES[(PCB).token_number]); + } + else if (isprint(INPUT_CODE((*(PCB).pointer))) && INPUT_CODE((*(PCB).pointer)) != '\\') { + char buf[20]; + sprintf(buf, "\'%c\'", (char) INPUT_CODE((*(PCB).pointer))); + sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, buf); + } + else sprintf((PCB).ag_msg, UNEXPECTED_FORMAT, UNNAMED_TOKEN); + (PCB).error_message = (PCB).ag_msg; + + +} +static int ag_action_1_r_proc(void); +static int ag_action_2_r_proc(void); +static int ag_action_3_r_proc(void); +static int ag_action_4_r_proc(void); +static int ag_action_1_s_proc(void); +static int ag_action_3_s_proc(void); +static int ag_action_1_proc(void); +static int ag_action_2_proc(void); +static int ag_action_3_proc(void); +static int ag_action_4_proc(void); +static int ag_action_5_proc(void); +static int ag_action_6_proc(void); +static int ag_action_7_proc(void); +static int ag_action_8_proc(void); +static int ag_action_9_proc(void); +static int ag_action_10_proc(void); +static int ag_action_11_proc(void); +static int ag_action_8_proc(void); + + +static int (*const ag_r_procs_scan[])(void) = { + ag_action_1_r_proc, + ag_action_2_r_proc, + ag_action_3_r_proc, + ag_action_4_r_proc +}; + +static int (*const ag_s_procs_scan[])(void) = { + ag_action_1_s_proc, + ag_action_2_r_proc, + ag_action_3_s_proc, + ag_action_4_r_proc +}; + +static int (*const ag_gt_procs_scan[])(void) = { + ag_action_1_proc, + ag_action_2_proc, + ag_action_3_proc, + ag_action_4_proc, + ag_action_5_proc, + ag_action_6_proc, + ag_action_7_proc, + ag_action_8_proc, + ag_action_9_proc, + ag_action_10_proc, + ag_action_11_proc, + ag_action_8_proc +}; + + +static int ag_action_1_er_proc(void); +static int ag_action_2_er_proc(void); +static int ag_action_3_er_proc(void); +static int ag_action_4_er_proc(void); + +static int (*const ag_er_procs_scan[])(void) = { + ag_action_1_er_proc, + ag_action_2_er_proc, + ag_action_3_er_proc, + ag_action_4_er_proc +}; + + +static void ag_error_resynch(void) { + int ag_k; + int ag_ssx = (PCB).ssx; + + ag_diagnose(); + SYNTAX_ERROR; + if ((PCB).exit_flag != AG_RUNNING_CODE) return; + while (1) { + ag_k = ag_sbt[(PCB).sn]; + while (ag_tstt[ag_k] != 86 && ag_tstt[ag_k]) ag_k++; + if (ag_tstt[ag_k] || (PCB).ssx == 0) break; + (PCB).sn = (PCB).ss[--(PCB).ssx]; + } + if (ag_tstt[ag_k] == 0) { + (PCB).sn = PCB.ss[(PCB).ssx = ag_ssx]; + (PCB).exit_flag = AG_SYNTAX_ERROR_CODE; + return; + } + ag_k = ag_sbt[(PCB).sn]; + while (ag_tstt[ag_k] != 86 && ag_tstt[ag_k]) ag_k++; + (PCB).ag_ap = ag_pstt[ag_k]; + (ag_er_procs_scan[ag_astt[ag_k]])(); + while (1) { + ag_k = ag_sbt[(PCB).sn]; + while (ag_tstt[ag_k] != (unsigned short) (PCB).token_number && ag_tstt[ag_k]) + ag_k++; + if (ag_tstt[ag_k] && ag_astt[ag_k] != ag_action_10) break; + if ((PCB).token_number == 15) + {(PCB).exit_flag = AG_SYNTAX_ERROR_CODE; return;} + (PCB).la_ptr = ++(PCB).pointer; + (PCB).token_number = (parse_token_type) AG_TCV(INPUT_CODE(*(PCB).la_ptr)); + (PCB).la_ptr++; + } + (PCB).la_ptr = (PCB).pointer; +} + + +static int ag_action_10_proc(void) { + int ag_t = (PCB).token_number; + (PCB).btsx = 0, (PCB).drt = -1; + do { + (PCB).pointer = (PCB).la_ptr; + (PCB).token_number = (parse_token_type) AG_TCV(INPUT_CODE(*(PCB).la_ptr)); + (PCB).la_ptr++; + } while ((PCB).token_number == (parse_token_type) ag_t); + (PCB).la_ptr = (PCB).pointer; + return 1; +} + +static int ag_action_11_proc(void) { + int ag_t = (PCB).token_number; + + (PCB).btsx = 0, (PCB).drt = -1; + do { + (*(InputToken *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; + (PCB).ssx--; + (PCB).pointer = (PCB).la_ptr; + ag_ra(); + if ((PCB).exit_flag != AG_RUNNING_CODE) return 0; + (PCB).ssx++; + (PCB).token_number = (parse_token_type) AG_TCV(INPUT_CODE(*(PCB).la_ptr)); + (PCB).la_ptr++; + } + while ((PCB).token_number == (parse_token_type) ag_t); + (PCB).la_ptr = (PCB).pointer; + return 1; +} + +static int ag_action_3_r_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap] - 1; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + (PCB).btsx = 0, (PCB).drt = -1; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + ag_ra(); + return (PCB).exit_flag == AG_RUNNING_CODE; +} + +static int ag_action_3_s_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap] - 1; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + (PCB).btsx = 0, (PCB).drt = -1; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + ag_ra(); + return (PCB).exit_flag == AG_RUNNING_CODE; +} + +static int ag_action_4_r_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap] - 1; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + return 1; +} + +static int ag_action_2_proc(void) { + (PCB).btsx = 0, (PCB).drt = -1; + if ((PCB).ssx >= 128) { + ag_trace_error(); + (PCB).exit_flag = AG_STACK_ERROR_CODE; + PARSER_STACK_OVERFLOW; + } + (*(InputToken *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; + GET_CONTEXT; + (PCB).ss[(PCB).ssx] = (PCB).sn; + (PCB).ssx++; + (PCB).sn = (PCB).ag_ap; + (PCB).pointer = (PCB).la_ptr; + return 0; +} + +static int ag_action_9_proc(void) { + if ((PCB).drt == -1) { + (PCB).drt=(PCB).token_number; + (PCB).dssx=(PCB).ssx; + (PCB).dsn=(PCB).sn; + } + ag_prot(); + (PCB).vs[(PCB).ssx] = ag_null_value; + GET_CONTEXT; + (PCB).ss[(PCB).ssx] = (PCB).sn; + (PCB).ssx++; + (PCB).sn = (PCB).ag_ap; + (PCB).la_ptr = (PCB).pointer; + return (PCB).exit_flag == AG_RUNNING_CODE; +} + +static int ag_action_2_r_proc(void) { + (PCB).ssx++; + (PCB).sn = (PCB).ag_ap; + return 0; +} + +static int ag_action_7_proc(void) { + --(PCB).ssx; + (PCB).la_ptr = (PCB).pointer; + (PCB).exit_flag = AG_SUCCESS_CODE; + return 0; +} + +static int ag_action_1_proc(void) { + (PCB).pointer = (PCB).la_ptr; + (PCB).exit_flag = AG_SUCCESS_CODE; + return 0; +} + +static int ag_action_1_r_proc(void) { + (PCB).exit_flag = AG_SUCCESS_CODE; + return 0; +} + +static int ag_action_1_s_proc(void) { + (PCB).exit_flag = AG_SUCCESS_CODE; + return 0; +} + +static int ag_action_4_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap] - 1; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + (PCB).btsx = 0, (PCB).drt = -1; + (*(InputToken *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + else GET_CONTEXT; + (PCB).ss[(PCB).ssx] = (PCB).sn; + (PCB).pointer = (PCB).la_ptr; + while ((PCB).exit_flag == AG_RUNNING_CODE) { + unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; + unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; + do { + unsigned ag_tx = (ag_t1 + ag_t2)/2; + if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; + else ag_t2 = ag_tx; + } while (ag_t1 < ag_t2); + (PCB).ag_ap = ag_pstt[ag_t1]; + if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; + } + return 0; +} + +static int ag_action_3_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap] - 1; + (PCB).btsx = 0, (PCB).drt = -1; + (*(InputToken *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + else GET_CONTEXT; + (PCB).ss[(PCB).ssx] = (PCB).sn; + (PCB).pointer = (PCB).la_ptr; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + ag_ra(); + while ((PCB).exit_flag == AG_RUNNING_CODE) { + unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; + unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; + do { + unsigned ag_tx = (ag_t1 + ag_t2)/2; + if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; + else ag_t2 = ag_tx; + } while (ag_t1 < ag_t2); + (PCB).ag_ap = ag_pstt[ag_t1]; + if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; + } + return 0; +} + +static int ag_action_8_proc(void) { + int ag_k = ag_sbt[(PCB).sn]; + while (ag_tstt[ag_k] != 86 && ag_tstt[ag_k]) ag_k++; + if (ag_tstt[ag_k] == 0) ag_undo(); + ag_trace_error(); + (PCB).la_ptr = (PCB).pointer; + ag_error_resynch(); + return (PCB).exit_flag == AG_RUNNING_CODE; +} + +static int ag_action_5_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap]; + (PCB).btsx = 0, (PCB).drt = -1; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + else { + GET_CONTEXT; + (PCB).ss[(PCB).ssx] = (PCB).sn; + } + (PCB).la_ptr = (PCB).pointer; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + ag_ra(); + while ((PCB).exit_flag == AG_RUNNING_CODE) { + unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; + unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; + do { + unsigned ag_tx = (ag_t1 + ag_t2)/2; + if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; + else ag_t2 = ag_tx; + } while (ag_t1 < ag_t2); + (PCB).ag_ap = ag_pstt[ag_t1]; + if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break; + } + return (PCB).exit_flag == AG_RUNNING_CODE; +} + +static int ag_action_6_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap]; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + if ((PCB).drt == -1) { + (PCB).drt=(PCB).token_number; + (PCB).dssx=(PCB).ssx; + (PCB).dsn=(PCB).sn; + } + if (ag_sd) { + (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + } + else { + ag_prot(); + (PCB).vs[(PCB).ssx] = ag_null_value; + GET_CONTEXT; + (PCB).ss[(PCB).ssx] = (PCB).sn; + } + (PCB).la_ptr = (PCB).pointer; + while ((PCB).exit_flag == AG_RUNNING_CODE) { + unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; + unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; + do { + unsigned ag_tx = (ag_t1 + ag_t2)/2; + if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; + else ag_t2 = ag_tx; + } while (ag_t1 < ag_t2); + (PCB).ag_ap = ag_pstt[ag_t1]; + if ((ag_r_procs_scan[ag_astt[ag_t1]])() == 0) break; + } + return (PCB).exit_flag == AG_RUNNING_CODE; +} + + +static int ag_action_2_er_proc(void) { + (PCB).btsx = 0, (PCB).drt = -1; + (*(InputToken *) &(PCB).vs[(PCB).ssx]) = *(PCB).pointer; + (PCB).ssx++; + (PCB).sn = (PCB).ag_ap; + return 0; +} + +static int ag_action_1_er_proc(void) { + (PCB).btsx = 0, (PCB).drt = -1; + (PCB).exit_flag = AG_SUCCESS_CODE; + return 0; +} + +static int ag_action_4_er_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap] - 1; + (PCB).btsx = 0, (PCB).drt = -1; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + else (PCB).ss[(PCB).ssx] = (PCB).sn; + while ((PCB).exit_flag == AG_RUNNING_CODE) { + unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; + unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; + do { + unsigned ag_tx = (ag_t1 + ag_t2)/2; + if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; + else ag_t2 = ag_tx; + } while (ag_t1 < ag_t2); + (PCB).ag_ap = ag_pstt[ag_t1]; + if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; + } + return 0; +} + +static int ag_action_3_er_proc(void) { + int ag_sd = ag_fl[(PCB).ag_ap] - 1; + (PCB).btsx = 0, (PCB).drt = -1; + if (ag_sd) (PCB).sn = (PCB).ss[(PCB).ssx -= ag_sd]; + else (PCB).ss[(PCB).ssx] = (PCB).sn; + (PCB).reduction_token = (parse_token_type) ag_ptt[(PCB).ag_ap]; + ag_ra(); + while ((PCB).exit_flag == AG_RUNNING_CODE) { + unsigned ag_t1 = ag_sbe[(PCB).sn] + 1; + unsigned ag_t2 = ag_sbt[(PCB).sn+1] - 1; + do { + unsigned ag_tx = (ag_t1 + ag_t2)/2; + if (ag_tstt[ag_tx] < (unsigned short)(PCB).reduction_token) ag_t1 = ag_tx + 1; + else ag_t2 = ag_tx; + } while (ag_t1 < ag_t2); + (PCB).ag_ap = ag_pstt[ag_t1]; + if ((ag_s_procs_scan[ag_astt[ag_t1]])() == 0) break; + } + return 0; +} + + +void init_parse(void) { + (PCB).la_ptr = (PCB).pointer; + (PCB).ss[0] = (PCB).sn = (PCB).ssx = 0; + (PCB).exit_flag = AG_RUNNING_CODE; + (PCB).btsx = 0, (PCB).drt = -1; +} + +void parse(void) { + init_parse(); + (PCB).exit_flag = AG_RUNNING_CODE; + while ((PCB).exit_flag == AG_RUNNING_CODE) { + unsigned ag_t1 = ag_sbt[(PCB).sn]; + if (ag_tstt[ag_t1]) { + unsigned ag_t2 = ag_sbe[(PCB).sn] - 1; + (PCB).token_number = (parse_token_type) AG_TCV(INPUT_CODE(*(PCB).la_ptr)); + (PCB).la_ptr++; + do { + unsigned ag_tx = (ag_t1 + ag_t2)/2; + if (ag_tstt[ag_tx] > (unsigned short)(PCB).token_number) + ag_t1 = ag_tx + 1; + else ag_t2 = ag_tx; + } while (ag_t1 < ag_t2); + if (ag_tstt[ag_t1] != (unsigned short)(PCB).token_number) + ag_t1 = ag_sbe[(PCB).sn]; + } + (PCB).ag_ap = ag_pstt[ag_t1]; + (ag_gt_procs_scan[ag_astt[ag_t1]])(); + } +} + +