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]])();
+  }
+}
+
+