view tests/agcl/parsifal/good/cpp.cpp @ 17:12171da8943f

Don't refer to CVS.
author David A. Holland
date Tue, 31 May 2022 01:56:37 -0400
parents 13d2b8934445
children
line wrap: on
line source

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