20#ifndef vtkVRMLImporter_Yacc_h
21#define vtkVRMLImporter_Yacc_h
46 void*
operator new(
size_t n)
48 return vtkVRMLAllocator::AllocateMemory(n);
51 void operator delete(
void *vtkNotUsed(ptr)) {}
68 void addField(
const char *name,
int type);
73 int hasField(
const char *name)
const;
76 const char *
getName()
const {
return name; }
78 void*
operator new(
size_t n)
80 return vtkVRMLAllocator::AllocateMemory(n);
83 void operator delete(
void *vtkNotUsed(ptr)) {}
89 void*
operator new(
size_t n)
91 return vtkVRMLAllocator::AllocateMemory(n);
94 void operator delete(
void *vtkNotUsed(ptr)) {}
108 void add(vtkVRMLVectorType<NameTypeRec*> &,
const char *,
int);
109 int has(
const vtkVRMLVectorType<NameTypeRec*> &,
const char *)
const;
113 vtkVRMLVectorType<NameTypeRec*> eventIns;
114 vtkVRMLVectorType<NameTypeRec*> eventOuts;
115 vtkVRMLVectorType<NameTypeRec*> fields;
138 int addField(
const char *type,
const char *name);
139 int addEventIn(
const char *type,
const char *name);
140 int addEventOut(
const char *type,
const char *name);
318 vtkVRMLVectorType<vtkVRMLUseStruct *>*
useList;
345 assert(nm !=
nullptr);
346 name =
static_cast<char*
>(
347 vtkVRMLAllocator::AllocateMemory((strlen(nm)+1)*
sizeof(
char)));
356 for (i = 0;i < eventIns.Count(); i++)
362 for (i = 0;i < eventOuts.Count(); i++)
368 for (i = 0;i < fields.Count(); i++)
378 add(eventIns, nodeName, type);
383 add(eventOuts, nodeName, type);
388 add(fields, nodeName, type);
393 size_t length = 20 + strlen(nodeName);
394 std::vector<char> tmp(length);
395 add(fields, nodeName, type);
396 snprintf(&tmp[0], length,
"set_%s", nodeName);
397 add(eventIns, &tmp[0], type);
398 snprintf(&tmp[0], length,
"%s_changed", nodeName);
399 add(eventOuts, &tmp[0], type);
403VrmlNodeType::add(vtkVRMLVectorType<NameTypeRec*> &recs,
const char *nodeName,
int type)
405 NameTypeRec *r =
new NameTypeRec;
406 r->name = vtkVRMLAllocator::StrDup(nodeName);
414 return has(eventIns, nodeName);
419 return has(eventOuts, nodeName);
424 return has(fields, nodeName);
432 if ( (type = has(fields, nodeName)) == 0)
return 0;
434 if (type != has(eventIns, nodeName))
return 0;
436 if (type != has(eventOuts, nodeName))
return 0;
441VrmlNodeType::has(
const vtkVRMLVectorType<NameTypeRec*> &recs,
const char *nodeName)
const
443 for (
int i = 0;i < recs.Count(); i++)
445 NameTypeRec *n = recs.Get(i);
446 if (strcmp(n->name, nodeName) == 0)
495 cerr <<
"PROTO " << _type->
getName() <<
" already defined\n";
514 for (
int i = 0;i <
typeList->Count(); i++)
518 if (nodeType ==
nullptr)
536 for (
int i = 0;i <
typeList->Count(); i++)
539 if (nt !=
nullptr && strcmp(nt->
getName(),_name) == 0)
556#define IDENTIFIER 258
560#define EXTERNPROTO 262
568#define EXPOSEDFIELD 270
575#define SFROTATION 277
583#define MFROTATION 285
641#define YYLTYPE yyltype
648#define YYTRANSLATE(x) ((unsigned)(x) <= 289 ? yytranslate[x] : 68)
651 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
652 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
653 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
654 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
655 2, 2, 2, 2, 2, 39, 2, 2, 2, 2,
656 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
657 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
658 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
659 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
660 35, 2, 36, 2, 2, 2, 2, 2, 2, 2,
661 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
662 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
663 2, 2, 37, 2, 38, 2, 2, 2, 2, 2,
664 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
665 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
666 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
667 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
668 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
669 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
670 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
671 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
672 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
673 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
674 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
675 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
676 2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
677 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
678 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
679 26, 27, 28, 29, 30, 31, 32, 33, 34
683static const short yyprhs[] = { 0,
684 0, 2, 3, 6, 8, 10, 12, 14, 15, 16,
685 22, 25, 27, 29, 30, 40, 41, 42, 51, 52,
686 55, 59, 63, 64, 70, 71, 77, 78, 81, 85,
687 89, 93, 97, 106, 107, 113, 114, 117, 118, 122,
688 124, 126, 130, 134, 135, 141, 147, 153, 155, 157,
689 159, 161, 163, 165, 167, 169, 171, 173, 175, 177,
690 179, 181, 183, 185, 187, 190, 193, 196, 199, 203,
694static const short yyrhs[] = { 41,
695 0, 0, 41, 42, 0, 43, 0, 46, 0, 58,
696 0, 59, 0, 0, 0, 4, 44, 3, 45, 59,
697 0, 5, 3, 0, 47, 0, 49, 0, 0, 6,
698 3, 48, 35, 52, 36, 37, 41, 38, 0, 0,
699 0, 7, 3, 50, 35, 56, 36, 51, 65, 0,
700 0, 52, 53, 0, 12, 3, 3, 0, 13, 3,
701 3, 0, 0, 14, 3, 3, 54, 65, 0, 0,
702 15, 3, 3, 55, 65, 0, 0, 56, 57, 0,
703 12, 3, 3, 0, 13, 3, 3, 0, 14, 3,
704 3, 0, 15, 3, 3, 0, 10, 3, 39, 3,
705 8, 3, 39, 3, 0, 0, 3, 60, 37, 61,
706 38, 0, 0, 61, 62, 0, 0, 3, 63, 65,
707 0, 58, 0, 46, 0, 12, 3, 3, 0, 13,
708 3, 3, 0, 0, 14, 3, 3, 64, 65, 0,
709 12, 3, 3, 9, 3, 0, 13, 3, 3, 9,
710 3, 0, 16, 0, 17, 0, 27, 0, 18, 0,
711 28, 0, 19, 0, 20, 0, 29, 0, 22, 0,
712 30, 0, 23, 0, 31, 0, 24, 0, 25, 0,
713 32, 0, 26, 0, 33, 0, 21, 43, 0, 21,
714 11, 0, 34, 66, 0, 9, 3, 0, 35, 67,
715 36, 0, 43, 0, 0, 67, 43, 0
721static const short yyrline[] = { 0,
722 106, 109, 111, 114, 116, 117, 120, 122, 123, 124,
723 125, 128, 130, 133, 135, 139, 141, 143, 145, 147,
724 150, 153, 155, 157, 158, 160, 163, 165, 168, 171,
725 173, 175, 179, 184, 186, 189, 191, 194, 196, 197,
726 198, 201, 202, 203, 206, 207, 209, 213, 215, 216,
727 217, 218, 219, 220, 221, 222, 223, 224, 225, 226,
728 227, 228, 229, 230, 232, 233, 234, 235, 238, 240,
732static const char *
const yytname[] = {
"$",
"error",
"$undefined.",
"IDENTIFIER",
733 "DEF",
"USE",
"PROTO",
"EXTERNPROTO",
"TO",
"IS",
"ROUTE",
"SFN_NULL",
"EVENTIN",
"EVENTOUT",
734 "FIELD",
"EXPOSEDFIELD",
"SFBOOL",
"SFCOLOR",
"SFFLOAT",
"SFIMAGE",
"SFINT32",
"SFNODE",
735 "SFROTATION",
"SFSTRING",
"SFTIME",
"SFVEC2F",
"SFVEC3F",
"MFCOLOR",
"MFFLOAT",
"MFINT32",
736 "MFROTATION",
"MFSTRING",
"MFVEC2F",
"MFVEC3F",
"MFNODE",
"'['",
"']'",
"'{'",
"'}'",
737 "'.'",
"vrmlscene",
"declarations",
"declaration",
"nodeDeclaration",
"@1",
"@2",
"protoDeclaration",
738 "proto",
"@3",
"externproto",
"@4",
"@5",
"interfaceDeclarations",
"interfaceDeclaration",
739 "@6",
"@7",
"externInterfaceDeclarations",
"externInterfaceDeclaration",
"routeDeclaration",
740 "node",
"@8",
"nodeGuts",
"nodeGut",
"@9",
"@10",
"fieldValue",
"mfnodeValue",
"nodes",
745static const short yyr1[] = { 0,
746 40, 41, 41, 42, 42, 42, 43, 44, 45, 43,
747 43, 46, 46, 48, 47, 50, 51, 49, 52, 52,
748 53, 53, 54, 53, 55, 53, 56, 56, 57, 57,
749 57, 57, 58, 60, 59, 61, 61, 63, 62, 62,
750 62, 62, 62, 64, 62, 62, 62, 65, 65, 65,
751 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
752 65, 65, 65, 65, 65, 65, 65, 65, 66, 66,
756static const short yyr2[] = { 0,
757 1, 0, 2, 1, 1, 1, 1, 0, 0, 5,
758 2, 1, 1, 0, 9, 0, 0, 8, 0, 2,
759 3, 3, 0, 5, 0, 5, 0, 2, 3, 3,
760 3, 3, 8, 0, 5, 0, 2, 0, 3, 1,
761 1, 3, 3, 0, 5, 5, 5, 1, 1, 1,
762 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
763 1, 1, 1, 1, 2, 2, 2, 2, 3, 1,
768 1, 34, 8, 0, 0, 0, 0, 3, 4, 5,
769 12, 13, 6, 7, 0, 0, 11, 14, 16, 0,
770 36, 9, 0, 0, 0, 0, 0, 19, 27, 0,
771 38, 0, 0, 0, 35, 41, 40, 37, 10, 0,
772 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
773 0, 20, 0, 0, 0, 0, 17, 28, 0, 0,
774 48, 49, 51, 53, 54, 0, 56, 58, 60, 61,
775 63, 50, 52, 55, 57, 59, 62, 64, 0, 39,
776 42, 43, 44, 0, 0, 0, 0, 2, 0, 0,
777 0, 0, 0, 0, 68, 66, 65, 71, 70, 67,
778 0, 0, 0, 21, 22, 23, 25, 0, 29, 30,
779 31, 32, 18, 33, 0, 46, 47, 45, 0, 0,
780 15, 69, 72, 24, 26, 0, 0, 0
784 1, 8, 9, 16, 27, 10, 11, 23, 12, 24,
785 93, 40, 52, 119, 120, 41, 58, 13, 14, 15,
786 26, 38, 43, 103, 80, 100, 115
790 79,-32768,-32768, -1, 0, 3, 4,-32768,-32768,-32768,
791 -32768,-32768,-32768,-32768, -28, 11,-32768,-32768,-32768, -18,
792 -32768,-32768, -6, 5, 32, -2, 38,-32768,-32768, 35,
793 -32768, 39, 41, 45,-32768,-32768,-32768,-32768,-32768, 19,
794 66, 48, 43, 50, 51, 54, 84, 85, 87, 88,
795 55,-32768, 90, 91, 92, 93,-32768,-32768, 58, 95,
796 -32768,-32768,-32768,-32768,-32768, 34,-32768,-32768,-32768,-32768,
797 -32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 23,-32768,
798 94, 96,-32768, 97, 98, 101, 103,-32768, 104, 105,
799 106, 107, 43, 108,-32768,-32768,-32768,-32768,-32768,-32768,
800 109, 110, 43,-32768,-32768,-32768,-32768, 12,-32768,-32768,
801 -32768,-32768,-32768,-32768, 20,-32768,-32768,-32768, 43, 43,
802 -32768,-32768,-32768,-32768,-32768, 99, 114,-32768
806 27,-32768, -66,-32768,-32768, 100,-32768,-32768,-32768,-32768,
807 -32768,-32768,-32768,-32768,-32768,-32768,-32768, 102, 89,-32768,
808 -32768,-32768,-32768,-32768, -73,-32768,-32768
816 31, 17, 18, 5, 6, 19, 20, 7, 21, 32,
817 33, 34, 99, 22, 2, 3, 4, 5, 6, 113,
818 25, 7, 2, 3, 4, 2, 3, 4, 28, 118,
819 47, 48, 49, 50, 30, 35, 2, 3, 4, 29,
820 2, 44, 42, 45, 96, 124, 125, 46, 123, 121,
821 59, 60, 81, 82, 51, 122, 83, 98, 61, 62,
822 63, 64, 65, 66, 67, 68, 69, 70, 71, 72,
823 73, 74, 75, 76, 77, 78, 79, 53, 54, 55,
824 56, 2, 3, 4, 5, 6, 84, 85, 7, 86,
825 87, 88, 89, 90, 91, 92, 94, 95, 127, 104,
826 105, 57, 101, 106, 102, 107, 109, 110, 111, 112,
827 114, 116, 117, 128, 108, 39, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 36, 0, 37
832 3, 3, 3, 6, 7, 3, 3, 10, 37, 12,
833 13, 14, 79, 3, 3, 4, 5, 6, 7, 93,
834 39, 10, 3, 4, 5, 3, 4, 5, 35, 103,
835 12, 13, 14, 15, 3, 38, 3, 4, 5, 35,
836 3, 3, 8, 3, 11, 119, 120, 3, 115, 38,
837 3, 9, 3, 3, 36, 36, 3, 35, 16, 17,
838 18, 19, 20, 21, 22, 23, 24, 25, 26, 27,
839 28, 29, 30, 31, 32, 33, 34, 12, 13, 14,
840 15, 3, 4, 5, 6, 7, 3, 3, 10, 3,
841 3, 37, 3, 3, 3, 3, 39, 3, 0, 3,
842 3, 36, 9, 3, 9, 3, 3, 3, 3, 3,
843 3, 3, 3, 0, 88, 27, -1, -1, -1, -1,
844 -1, -1, -1, -1, -1, 26, -1, 26
896 for(list_type::iterator it = this->m_allocs.begin();
897 it != this->m_allocs.end(); ++it)
904 void *rval = malloc(size);
905 m_allocs.push_back(rval);
920#define yyerrok (yyerrstatus = 0)
921#define yyclearin (yychar = YYEMPTY)
924#define YYACCEPT return(0)
925#define YYABORT return(1)
926#define YYERROR goto yyerrlab1
931#define YYFAIL goto yyerrlab
932#define YYRECOVERING() (!!yyerrstatus)
933#define YYBACKUP(token, value) \
935 if (yychar == YYEMPTY && yylen == 1) \
936 { yychar = (token), yylval = (value); \
937 yychar1 = YYTRANSLATE (yychar); \
942 { yyerror ("syntax error: cannot back up"); YYERROR; } \
952#define YYINITDEPTH 200
958#if defined(YYMAXDEPTH) && (YYMAXDEPTH == 0)
963#define YYMAXDEPTH 10000
999#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
1001#define YYPOPSTACK (yyvsp--, yyssp--)
1023 fprintf(stderr,
"Starting parse\n");
1049 if (yyssp >= yyss + yystacksize - 1)
1054 short *yyss1 = yyss;
1060 int size = yyssp - yyss + 1;
1068 yyoverflow(
"parser stack overflow",
1069 &yyss1, size *
sizeof (*yyssp),
1070 &yyvs1, size *
sizeof (*yyvsp),
1071 &yyls1, size *
sizeof (*yylsp),
1074 yyoverflow(
"parser stack overflow",
1075 &yyss1, size *
sizeof (*yyssp),
1076 &yyvs1, size *
sizeof (*yyvsp),
1080 yyss = yyss1; yyvs = yyvs1;
1088 yyerror(
"parser stack overflow");
1094 yyss = (
short *) yyallocator.
Allocate (yystacksize * sizeof (*yyssp));
1095 __yy_memcpy ((
char *)yyss1, (
char *)yyss, size *
sizeof (*yyssp));
1096 yyvs = (
YYSTYPE *) yyallocator.
Allocate (yystacksize * sizeof (*yyvsp));
1097 __yy_memcpy ((
char *)yyvs1, (
char *)yyvs, size *
sizeof (*yyvsp));
1099 yyls = (
YYLTYPE *) yyallocator.
Allocate (yystacksize * sizeof (*yylsp));
1100 __yy_memcpy ((
char *)yyls1, (
char *)yyls, size *
sizeof (*yylsp));
1104 yyssp = yyss + size - 1;
1105 yyvsp = yyvs + size - 1;
1107 yylsp = yyls + size - 1;
1112 fprintf(stderr,
"Stack size increased to %d\n", yystacksize);
1115 if (yyssp >= yyss + yystacksize - 1)
1121 fprintf(stderr,
"Entering state %d\n", yystate);
1146 fprintf(stderr,
"Reading a token: ");
1160 fprintf(stderr,
"Now at end of input.\n");
1170 fprintf (stderr,
"Next token is %d (%s",
yychar, yytname[yychar1]);
1176 fprintf (stderr,
")\n");
1211 fprintf(stderr,
"Shifting token %d (%s), ",
yychar, yytname[yychar1]);
1224 if (yyerrstatus) yyerrstatus--;
1240 yyval = yyvsp[1-yylen];
1249 fprintf (stderr,
"Reducing via rule %d (line %d), ",
1253 for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
1254 fprintf (stderr,
"%s ", yytname[yyrhs[i]]);
1255 fprintf (stderr,
" -> %s\n", yytname[
yyr1[yyn]]);
1274 { self->
useNode(yyvsp[0].
string);
1292 {
addEventIn(yyvsp[-1].
string, yyvsp[0].
string);
1300 {
int type =
addField(yyvsp[-1].
string, yyvsp[0].
string);
1314 {
addEventIn(yyvsp[-1].
string, yyvsp[0].
string);
1322 {
addField(yyvsp[-1].
string, yyvsp[0].
string);
1392 short *ssp1 = yyss - 1;
1393 fprintf (stderr,
"state stack now");
1394 while (ssp1 != yyssp)
1395 fprintf (stderr,
" %d", *++ssp1);
1396 fprintf (stderr,
"\n");
1408 yylsp->last_line = (yylsp-1)->last_line;
1409 yylsp->last_column = (yylsp-1)->last_column;
1414 yylsp->last_line = (yylsp+yylen-1)->last_line;
1415 yylsp->last_column = (yylsp+yylen-1)->last_column;
1427 if (yystate >= 0 && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
1441#ifdef YYERROR_VERBOSE
1452 for (x = (yyn < 0 ? -yyn : 0);
1453 x < (
sizeof(yytname) /
sizeof(
char *)); x++)
1455 size += strlen(yytname[x]) + 15, count++;
1456 msg = (
char *) malloc(size + 15);
1459 strcpy(msg,
"parse error");
1464 for (x = (yyn < 0 ? -yyn : 0);
1465 x < (
sizeof(yytname) /
sizeof(
char *)); x++)
1468 strcat(msg, count == 0 ?
", expecting `" :
" or `");
1469 strcat(msg, yytname[x]);
1478 yyerror (
"parse error; also virtual memory exceeded");
1488 if (yyerrstatus == 3)
1498 fprintf(stderr,
"Discarding token %d (%s).\n",
yychar, yytname[yychar1]);
1517 if (yyn)
goto yydefault;
1532 short *ssp1 = yyss - 1;
1533 fprintf (stderr,
"Error: state stack now");
1534 while (ssp1 != yyssp)
1535 fprintf (stderr,
" %d", *++ssp1);
1536 fprintf (stderr,
"\n");
1566 fprintf(stderr,
"Shifting error token, ");
1602 cerr <<
"Error: Empty PROTO stack!\n";
1631 const char *typeString,
const char *name)
1637 cerr <<
"Error: invalid field type: " << type <<
"\n";
1645 cerr <<
"Error: declaration outside of prototype\n";
1649 (t->*func)(name, type);
1656 if (strcmp(type,
"SFBool") == 0)
return SFBOOL;
1657 if (strcmp(type,
"SFColor") == 0)
return SFCOLOR;
1658 if (strcmp(type,
"SFFloat") == 0)
return SFFLOAT;
1659 if (strcmp(type,
"SFImage") == 0)
return SFIMAGE;
1660 if (strcmp(type,
"SFInt32") == 0)
return SFINT32;
1661 if (strcmp(type,
"SFNode") == 0)
return SFNODE;
1662 if (strcmp(type,
"SFRotation") == 0)
return SFROTATION;
1663 if (strcmp(type,
"SFString") == 0)
return SFSTRING;
1664 if (strcmp(type,
"SFTime") == 0)
return SFTIME;
1665 if (strcmp(type,
"SFVec2f") == 0)
return SFVEC2F;
1666 if (strcmp(type,
"SFVec3f") == 0)
return SFVEC3F;
1667 if (strcmp(type,
"MFColor") == 0)
return MFCOLOR;
1668 if (strcmp(type,
"MFFloat") == 0)
return MFFLOAT;
1669 if (strcmp(type,
"MFInt32") == 0)
return MFINT32;
1670 if (strcmp(type,
"MFNode") == 0)
return MFNODE;
1671 if (strcmp(type,
"MFRotation") == 0)
return MFROTATION;
1672 if (strcmp(type,
"MFString") == 0)
return MFSTRING;
1673 if (strcmp(type,
"MFVec2f") == 0)
return MFVEC2F;
1674 if (strcmp(type,
"MFVec3f") == 0)
return MFVEC3F;
1676 cerr <<
"Illegal field type: " << type <<
"\n";
1687 yyerror(
"interface declaration outside of Script or prototype");
1712#define YY_USE_PROTOS
1713#define YY_PROTO(proto) proto
1723#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
1729#define BEGIN yy_start = 1 + 2 *
1734#define YY_START ((yy_start - 1) / 2)
1737#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
1742#define YY_NEW_FILE yyrestart( yyin )
1744#define YY_END_OF_BUFFER_CHAR 0
1747#define YY_BUF_SIZE 16384
1762#define EOB_ACT_CONTINUE_SCAN 0
1763#define EOB_ACT_END_OF_FILE 1
1764#define EOB_ACT_LAST_MATCH 2
1786 *yy_cp = yy_hold_char; \
1787 yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
1788 YY_DO_BEFORE_ACTION; \
1844#define YY_CURRENT_BUFFER yy_current_buffer
1876#define yy_new_buffer yy_create_buffer
1904#define yytext_ptr yytext
1918#define YY_DO_BEFORE_ACTION \
1919 yytext_ptr = yy_bp; \
1920 yyleng = yy_cp - yy_bp; \
1921 yy_hold_char = *yy_cp; \
1925#define YY_END_OF_BUFFER 50
1928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1932 0, 0, 0, 0, 50, 48, 46, 47, 46, 14,
1933 46, 14, 14, 14, 14, 14, 14, 14, 14, 14,
1934 14, 48, 48, 48, 48, 48, 48, 48, 48, 25,
1935 48, 48, 48, 48, 23, 23, 48, 48, 48, 38,
1936 36, 38, 38, 48, 48, 35, 48, 48, 48, 48,
1937 48, 48, 48, 48, 48, 48, 19, 20, 48, 48,
1939 26, 17, 48, 24, 24, 18, 48, 48, 48, 39,
1940 37, 39, 39, 48, 48, 48, 48, 48, 48, 41,
1941 41, 42, 41, 41, 43, 48, 45, 45, 46, 47,
1942 46, 47, 47, 46, 46, 46, 46, 14, 14, 14,
1943 7, 14, 14, 14, 6, 14, 14, 14, 14, 0,
1944 15, 0, 0, 0, 0, 0, 0, 0, 0, 25,
1945 25, 0, 0, 0, 0, 0, 23, 23, 0, 0,
1946 0, 0, 0, 0, 38, 38, 38, 15, 0, 35,
1947 35, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1950 16, 0, 26, 26, 0, 24, 24, 0, 0, 0,
1951 0, 0, 0, 39, 39, 39, 16, 0, 0, 0,
1952 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
1953 41, 41, 41, 41, 41, 40, 45, 45, 47, 47,
1954 47, 46, 4, 14, 14, 14, 14, 5, 14, 14,
1955 14, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1956 0, 0, 0, 0, 0, 25, 0, 44, 44, 0,
1957 0, 0, 0, 44, 44, 0, 23, 0, 0, 0,
1958 0, 0, 0, 0, 0, 0, 0, 0, 0, 35,
1959 0, 0, 27, 0, 0, 0, 0, 0, 27, 0,
1961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1963 0, 0, 0, 0, 26, 24, 0, 0, 0, 0,
1964 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,
1965 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
1966 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
1967 46, 14, 9, 14, 14, 14, 14, 14, 0, 21,
1968 0, 0, 0, 0, 0, 0, 0, 0, 44, 44,
1969 0, 0, 0, 0, 0, 0, 0, 0, 27, 0,
1970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1973 0, 0, 0, 0, 0, 28, 0, 0, 0, 0,
1974 0, 0, 0, 0, 0, 0, 46, 14, 2, 8,
1975 14, 14, 12, 22, 0, 0, 33, 0, 0, 0,
1976 0, 0, 33, 0, 0, 0, 0, 33, 0, 0,
1977 0, 33, 0, 0, 0, 0, 0, 33, 0, 0,
1978 0, 44, 44, 44, 44, 0, 0, 0, 0, 0,
1979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1981 0, 0, 0, 27, 0, 0, 27, 0, 0, 29,
1983 0, 0, 0, 0, 0, 29, 0, 0, 0, 0,
1984 29, 0, 0, 0, 29, 0, 0, 0, 0, 0,
1985 29, 0, 0, 0, 0, 0, 34, 0, 0, 0,
1986 0, 0, 34, 0, 0, 0, 0, 34, 0, 0,
1987 0, 34, 0, 0, 0, 0, 0, 34, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1989 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1990 0, 0, 0, 0, 0, 0, 0, 0, 0, 28,
1991 0, 0, 28, 0, 0, 30, 0, 0, 0, 0,
1992 0, 30, 0, 0, 0, 0, 30, 0, 0, 0,
1994 30, 0, 0, 0, 0, 0, 30, 0, 0, 0,
1995 46, 14, 14, 14, 14, 33, 0, 0, 33, 0,
1996 33, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1998 0, 0, 29, 0, 0, 29, 0, 29, 0, 0,
1999 34, 0, 0, 34, 0, 34, 0, 0, 0, 0,
2000 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2001 0, 0, 0, 0, 0, 0, 0, 30, 0, 0,
2002 30, 0, 30, 0, 0, 46, 14, 10, 14, 14,
2003 0, 33, 0, 0, 33, 0, 0, 33, 0, 33,
2005 0, 0, 33, 0, 0, 31, 0, 0, 0, 0,
2006 0, 31, 0, 0, 0, 0, 31, 0, 0, 31,
2007 0, 0, 0, 0, 0, 31, 0, 0, 0, 0,
2008 0, 31, 0, 0, 0, 31, 0, 0, 0, 0,
2009 0, 31, 0, 0, 0, 0, 0, 0, 0, 31,
2010 0, 0, 0, 0, 29, 0, 0, 29, 0, 0,
2011 29, 0, 29, 0, 0, 29, 0, 34, 0, 0,
2012 34, 0, 0, 34, 0, 34, 0, 0, 34, 0,
2013 0, 32, 0, 0, 0, 0, 0, 32, 0, 0,
2014 0, 0, 32, 0, 0, 32, 0, 0, 0, 0,
2016 0, 32, 0, 0, 0, 0, 0, 32, 0, 0,
2017 0, 32, 0, 0, 0, 0, 0, 32, 0, 0,
2018 0, 0, 0, 0, 0, 32, 0, 0, 0, 0,
2019 30, 0, 0, 30, 0, 0, 30, 0, 30, 0,
2020 0, 30, 46, 14, 11, 14, 31, 0, 0, 31,
2021 0, 31, 0, 0, 31, 0, 31, 0, 0, 31,
2022 0, 32, 0, 0, 32, 0, 32, 0, 0, 32,
2023 0, 32, 0, 0, 32, 0, 46, 14, 14, 0,
2024 31, 0, 0, 31, 0, 0, 31, 0, 31, 0,
2025 0, 31, 0, 0, 31, 0, 31, 0, 0, 31,
2027 0, 0, 31, 0, 32, 0, 0, 32, 0, 0,
2028 32, 0, 32, 0, 0, 32, 0, 0, 32, 0,
2029 32, 0, 0, 32, 0, 0, 32, 46, 14, 14,
2030 46, 3, 14, 46, 13, 46, 46, 46, 46, 46,
2031 1, 46, 1, 1, 1, 1, 1, 0
2036 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
2037 1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
2038 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2039 1, 4, 5, 6, 7, 5, 5, 5, 1, 5,
2040 5, 5, 8, 2, 9, 10, 5, 11, 12, 13,
2041 12, 12, 12, 12, 12, 14, 12, 5, 5, 5,
2042 5, 5, 5, 5, 15, 16, 16, 17, 18, 19,
2043 5, 5, 20, 5, 5, 21, 22, 23, 24, 25,
2044 5, 26, 27, 28, 29, 30, 5, 31, 5, 5,
2045 32, 33, 34, 5, 5, 5, 16, 16, 16, 35,
2047 36, 37, 5, 5, 38, 5, 5, 39, 5, 40,
2048 41, 42, 5, 5, 43, 44, 45, 46, 5, 47,
2049 5, 5, 1, 5, 1, 5, 5, 5, 5, 5,
2050 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2051 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2052 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2053 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2054 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2055 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2056 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2058 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2059 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2060 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2061 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2062 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
2068 1, 2, 3, 2, 4, 5, 6, 4, 4, 1,
2069 7, 7, 7, 7, 7, 7, 7, 7, 7, 4,
2070 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2071 4, 8, 1, 8, 7, 7, 7, 4, 4, 4,
2077 0, 6, 13, 0, 59, 65, 92, 0, 104, 110,
2078 116, 122, 128, 134, 140, 146, 159, 165, 164, 177,
2079 183, 189, 195, 201, 207, 233, 259, 285, 311, 337,
2080 363, 389, 422, 455, 481, 507, 533, 559, 222, 228,
2081 256, 274, 324, 350, 787, 7663, 73, 79, 280, 0,
2082 247, 768, 753, 751, 745, 726, 725, 719, 715, 18,
2083 685, 702, 687, 682, 78, 96, 592, 170, 289, 368,
2084 300, 627, 51, 315, 380, 328, 342, 354, 673, 0,
2085 7663, 410, 677, 420, 376, 427, 436, 394, 708, 454,
2086 458, 743, 466, 470, 778, 676, 7663, 7663, 486, 491,
2088 496, 7663, 511, 517, 522, 7663, 544, 538, 813, 0,
2089 7663, 579, 665, 549, 563, 848, 604, 576, 883, 0,
2090 605, 7663, 617, 672, 7663, 631, 635, 639, 652, 302,
2091 658, 665, 666, 686, 692, 698, 725, 0, 652, 636,
2092 0, 636, 613, 607, 0, 617, 597, 590, 591, 605,
2093 7663, 596, 722, 0, 727, 918, 931, 751, 755, 792,
2094 759, 821, 0, 944, 957, 805, 786, 0, 825, 0,
2095 830, 970, 983, 856, 0, 869, 875, 0, 834, 900,
2096 987, 891, 895, 0, 996, 1022, 1035, 1003, 1007, 0,
2097 1040, 1053, 1066, 1073, 1077, 0, 1082, 1095, 1108, 1115,
2099 7663, 1119, 1124, 1132, 1140, 1144, 0, 1150, 0, 1159,
2100 1172, 1185, 1192, 0, 1205, 1211, 0, 1208, 0, 1213,
2101 1244, 1257, 1220, 1261, 1274, 1283, 1309, 1322, 1290, 0,
2102 1335, 1341, 1347, 1353, 1359, 7663, 1294, 0, 1234, 1365,
2103 1366, 1372, 0, 604, 580, 572, 569, 0, 552, 537,
2104 501, 511, 519, 1370, 1374, 1393, 1428, 1441, 0, 0,
2105 0, 1410, 1378, 1454, 1407, 1411, 1458, 1462, 1466, 1508,
2106 1521, 1534, 1547, 1560, 191, 1479, 0, 1477, 1483, 1606,
2107 1641, 1654, 0, 0, 0, 1575, 1487, 1667, 1491, 1572,
2108 1584, 1576, 1623, 1680, 0, 0, 0, 0, 230, 1588,
2110 1693, 1615, 1592, 1706, 1741, 0, 0, 0, 0, 1723,
2111 1720, 1758, 1725, 1762, 1775, 1810, 0, 0, 0, 0,
2112 1792, 1789, 1827, 1793, 1831, 0, 1836, 1840, 1853, 1888,
2113 0, 0, 0, 0, 1870, 1867, 1905, 1872, 1909, 1914,
2114 1949, 0, 0, 0, 0, 238, 1922, 1962, 1927, 1931,
2115 1975, 2010, 0, 0, 0, 0, 1992, 1935, 2027, 0,
2116 2040, 500, 0, 488, 493, 444, 443, 450, 456, 7663,
2117 1990, 2060, 2073, 2037, 2086, 2099, 2112, 2044, 0, 2116,
2118 1995, 2162, 2175, 2128, 2188, 2201, 2214, 2227, 2132, 2146,
2119 2240, 2253, 2288, 2301, 2261, 2314, 2327, 2340, 2353, 2366,
2121 2401, 2414, 2268, 2427, 2440, 2453, 2466, 2479, 2514, 2527,
2122 2374, 2540, 2553, 2566, 2579, 2383, 2487, 2592, 2605, 2640,
2123 2653, 2494, 2666, 2679, 2692, 2705, 2281, 437, 0, 0,
2124 50, 386, 0, 7663, 2379, 2498, 2622, 2718, 2731, 0,
2125 0, 0, 239, 2613, 2744, 2757, 2770, 2783, 2818, 2792,
2126 2617, 2831, 2866, 0, 0, 0, 0, 272, 2796, 2800,
2127 2845, 0, 2881, 205, 285, 2840, 2804, 2927, 2962, 2975,
2128 0, 0, 0, 2944, 2941, 2988, 3001, 3014, 3027, 3062,
2129 2946, 3035, 3075, 3110, 0, 0, 0, 0, 3092, 3039,
2130 3043, 3127, 3047, 3089, 3162, 3175, 400, 3094, 3135, 3144,
2132 3188, 3201, 0, 0, 0, 417, 3139, 3214, 3227, 3240,
2133 3253, 3288, 3262, 3266, 3301, 3336, 0, 0, 0, 0,
2134 437, 3270, 3274, 3315, 3310, 3341, 3346, 3381, 3394, 0,
2135 0, 0, 548, 3354, 3407, 3420, 3433, 3446, 3481, 3359,
2136 3363, 3494, 3529, 0, 0, 0, 0, 562, 3367, 3454,
2137 3463, 3503, 3458, 3542, 3577, 3590, 0, 0, 0, 3559,
2138 3507, 3603, 3616, 3629, 3642, 3677, 3512, 3556, 3690, 3725,
2139 0, 0, 0, 0, 3659, 3560, 3656, 3738, 3660, 3698,
2140 3773, 3786, 645, 3703, 3707, 3755, 3799, 3812, 0, 0,
2141 0, 661, 3711, 3825, 3838, 3851, 3864, 3899, 3747, 3872,
2143 3912, 3947, 0, 0, 0, 0, 680, 3876, 3880, 3926,
2144 3925, 390, 370, 351, 323, 3952, 3960, 3987, 4000, 4035,
2145 4048, 3967, 4083, 4096, 4131, 4144, 4008, 4157, 4170, 4183,
2146 4196, 4209, 4244, 4257, 4270, 4283, 4296, 4331, 4015, 4344,
2147 4357, 4370, 4065, 4056, 4383, 4396, 4431, 4444, 4104, 4479,
2148 4113, 4217, 4492, 4505, 4540, 4553, 4224, 4588, 4601, 4636,
2149 4649, 4304, 4662, 4675, 4688, 4701, 4714, 4749, 4762, 4775,
2150 4788, 4801, 4836, 4311, 4849, 4862, 4875, 4413, 4404, 4888,
2151 4901, 4936, 4949, 4452, 4984, 2858, 304, 0, 274, 296,
2152 3884, 3971, 4997, 5010, 688, 5023, 5036, 4522, 4019, 5049,
2154 5062, 5075, 689, 4061, 4108, 4461, 5088, 5101, 0, 0,
2155 0, 695, 4228, 5114, 5127, 5140, 5153, 4316, 4408, 5188,
2156 5223, 5236, 0, 0, 0, 712, 4456, 4519, 4570, 5249,
2157 5262, 5275, 5310, 4524, 4561, 5323, 5358, 0, 0, 0,
2158 0, 740, 4565, 4609, 4618, 4613, 5371, 5384, 5397, 5410,
2159 4722, 4726, 4731, 4809, 4813, 5445, 5458, 757, 5471, 5484,
2160 4918, 4817, 5497, 5510, 5523, 765, 4821, 4915, 5536, 5549,
2161 838, 5562, 5575, 4966, 4919, 5588, 5601, 5614, 862, 4964,
2162 4968, 5167, 5627, 5640, 0, 0, 0, 931, 5161, 5653,
2163 5666, 5679, 5692, 5197, 5201, 5727, 5762, 5775, 0, 0,
2165 0, 986, 5205, 5209, 5292, 5788, 5801, 5814, 5849, 5284,
2166 5331, 5862, 5897, 0, 0, 0, 0, 1022, 5335, 5339,
2167 5427, 5343, 5910, 5923, 5936, 5949, 5418, 5422, 5706, 5700,
2168 5735, 5984, 5997, 1023, 6010, 6023, 5831, 5739, 6036, 6049,
2169 6062, 1025, 5752, 268, 0, 250, 5879, 5828, 6075, 6088,
2170 6123, 6136, 5870, 6171, 6184, 6219, 6232, 5957, 6267, 6280,
2171 6315, 5966, 6096, 6103, 5833, 6144, 5875, 6151, 6192, 5962,
2172 6199, 6108, 6240, 6247, 6156, 6288, 6301, 236, 204, 6203,
2173 6251, 6328, 0, 1065, 3, 277, 6341, 6340, 6376, 6389,
2174 0, 1123, 376, 411, 6402, 6344, 6437, 6450, 0, 1129,
2176 435, 443, 6463, 6349, 6353, 6357, 6361, 6401, 6410, 6414,
2177 6464, 6418, 6499, 6422, 6472, 6478, 6504, 6508, 6513, 6521,
2178 6525, 6529, 6533, 6539, 6547, 6551, 6556, 3328, 213, 194,
2179 6569, 0, 188, 6575, 0, 6491, 3939, 5180, 5719, 6307,
2180 6579, 6586, 6592, 6593, 6599, 6600, 6606, 7663, 6619, 6627,
2181 6635, 6643, 6651, 6656, 6663, 6671, 6679, 6686, 6694, 6702,
2182 6710, 6718, 6726, 6733, 163, 6740, 6748, 6756, 6764, 157,
2183 6772, 6780, 6788, 6796, 6804, 104, 6812, 6820, 6825, 6832,
2184 6840, 6847, 93, 6854, 90, 6862, 6870, 66, 6878, 6886,
2185 6894, 6902, 6910, 6918, 6926, 6934, 6942, 6950, 6958, 6966,
2187 6974, 6982, 6990, 6998, 7006, 7011, 7018, 7026, 7034, 64,
2188 7042, 7050, 7058, 7066, 7074, 7082, 7090, 7098, 7106, 7114,
2189 7122, 7130, 7138, 7146, 7154, 7162, 7170, 7178, 7183, 7190,
2190 7198, 7206, 7214, 7222, 7230, 7238, 7246, 7254, 7262, 7270,
2191 7278, 7286, 7294, 7302, 7310, 7318, 7326, 7334, 7342, 7350,
2192 7358, 7366, 7374, 7382, 7387, 7394, 7402, 7410, 7418, 7426,
2193 7434, 7442, 7450, 7458, 7466, 7474, 7482, 7490, 7498, 7506,
2194 7514, 7522, 7530, 7538, 7546, 7554, 7562, 7570, 7578, 7586,
2195 7591, 7598, 7606, 7614, 7622, 7630, 7638, 7646, 7654
2200 949, 949, 948, 3, 949, 949, 949, 7, 7, 7,
2201 7, 7, 7, 7, 7, 7, 950, 950, 7, 7,
2202 7, 7, 7, 7, 7, 7, 7, 7, 7, 7,
2203 7, 7, 951, 951, 7, 7, 7, 7, 952, 952,
2204 952, 952, 7, 7, 948, 948, 948, 948, 953, 954,
2205 953, 954, 954, 954, 954, 954, 954, 954, 954, 954,
2206 954, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2207 948, 948, 72, 948, 948, 948, 948, 948, 948, 955,
2208 948, 956, 955, 948, 948, 948, 948, 948, 948, 948,
2209 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2211 948, 948, 948, 948, 948, 948, 948, 948, 948, 957,
2212 948, 958, 957, 948, 948, 948, 948, 948, 948, 959,
2213 959, 948, 960, 959, 948, 948, 948, 948, 948, 948,
2214 953, 948, 961, 953, 953, 953, 953, 954, 954, 954,
2215 954, 954, 954, 954, 954, 954, 954, 954, 954, 948,
2216 948, 948, 948, 67, 67, 948, 962, 948, 948, 948,
2217 948, 948, 73, 948, 963, 964, 948, 965, 948, 79,
2218 79, 948, 966, 948, 955, 956, 956, 955, 948, 948,
2219 948, 948, 948, 89, 89, 948, 967, 948, 948, 92,
2220 92, 948, 968, 948, 948, 95, 95, 948, 969, 948,
2222 948, 948, 948, 948, 948, 948, 970, 948, 109, 109,
2223 948, 971, 948, 957, 958, 958, 957, 948, 116, 116,
2224 948, 972, 948, 948, 948, 225, 948, 973, 948, 974,
2225 974, 975, 975, 975, 975, 948, 948, 976, 977, 977,
2226 977, 978, 979, 979, 979, 979, 979, 979, 979, 979,
2227 979, 948, 948, 948, 948, 948, 980, 980, 258, 258,
2228 258, 258, 948, 948, 948, 948, 948, 948, 948, 981,
2229 981, 981, 981, 981, 274, 982, 983, 948, 948, 948,
2230 984, 984, 282, 282, 282, 282, 948, 948, 948, 948,
2231 948, 948, 948, 967, 294, 294, 294, 294, 294, 948,
2233 948, 948, 948, 948, 968, 305, 305, 305, 305, 305,
2234 948, 948, 948, 948, 948, 969, 316, 316, 316, 316,
2235 316, 948, 948, 948, 948, 985, 948, 948, 948, 971,
2236 330, 330, 330, 330, 330, 948, 948, 948, 948, 948,
2237 972, 341, 341, 341, 341, 341, 948, 948, 948, 948,
2238 948, 973, 352, 352, 352, 352, 352, 948, 948, 976,
2239 978, 979, 979, 979, 979, 979, 979, 979, 948, 948,
2240 256, 948, 986, 948, 258, 948, 987, 258, 988, 274,
2241 280, 948, 989, 948, 282, 948, 990, 385, 948, 948,
2242 991, 948, 948, 992, 948, 993, 948, 994, 993, 948,
2244 948, 995, 948, 996, 948, 997, 996, 948, 948, 998,
2245 948, 999, 948, 1000, 999, 948, 948, 1001, 948, 948,
2246 1002, 948, 1003, 948, 1004, 1003, 1005, 1006, 1006, 1006,
2247 1006, 1006, 1006, 948, 948, 948, 948, 1007, 1007, 439,
2248 439, 439, 439, 948, 948, 1008, 1008, 447, 1009, 948,
2249 948, 948, 1009, 453, 453, 453, 453, 453, 447, 447,
2250 448, 1010, 948, 463, 463, 948, 948, 948, 1011, 1011,
2251 470, 470, 470, 470, 948, 948, 1012, 1012, 478, 1013,
2252 948, 948, 948, 1013, 484, 484, 484, 484, 484, 478,
2253 478, 478, 948, 948, 1014, 1014, 496, 948, 948, 948,
2255 1015, 1015, 502, 502, 502, 502, 948, 948, 1016, 1016,
2256 510, 1017, 948, 948, 948, 1017, 516, 516, 516, 516,
2257 516, 510, 510, 511, 948, 948, 948, 1018, 1018, 529,
2258 529, 529, 529, 948, 948, 1019, 1019, 537, 1020, 948,
2259 948, 948, 1020, 543, 543, 543, 543, 543, 537, 537,
2260 538, 948, 948, 948, 1021, 1021, 556, 556, 556, 556,
2261 948, 948, 1022, 1022, 564, 1023, 948, 948, 948, 1023,
2262 570, 570, 570, 570, 570, 564, 564, 564, 948, 948,
2263 1024, 1024, 582, 948, 948, 948, 1025, 1025, 588, 588,
2264 588, 588, 948, 948, 1026, 1026, 596, 1027, 948, 948,
2266 948, 1027, 602, 602, 602, 602, 602, 596, 596, 597,
2267 1028, 1029, 1029, 1029, 1029, 948, 948, 1030, 1031, 1031,
2268 948, 948, 1032, 948, 948, 1033, 948, 1034, 948, 1035,
2269 1034, 1036, 1036, 948, 1037, 1036, 948, 1035, 948, 1038,
2270 1037, 1038, 948, 948, 1039, 1040, 1040, 948, 948, 1041,
2271 948, 948, 1042, 1043, 1043, 948, 948, 1044, 948, 948,
2272 1045, 948, 1046, 948, 1047, 1046, 1048, 1048, 948, 1049,
2273 1048, 948, 1047, 948, 1050, 1049, 1050, 948, 948, 1051,
2274 1052, 1052, 948, 948, 1053, 1054, 1055, 1055, 1055, 1055,
2275 948, 948, 1056, 1056, 694, 1057, 1057, 697, 948, 948,
2277 1058, 1058, 702, 948, 948, 948, 1059, 1059, 708, 708,
2278 708, 708, 948, 948, 1060, 1060, 716, 948, 948, 948,
2279 1061, 1061, 722, 722, 722, 722, 716, 716, 717, 1062,
2280 1062, 731, 1063, 948, 948, 948, 1063, 737, 737, 737,
2281 737, 737, 731, 731, 732, 948, 948, 1064, 1064, 749,
2282 749, 749, 750, 948, 948, 1065, 1065, 757, 1066, 1066,
2283 760, 948, 948, 1067, 1067, 765, 948, 948, 1068, 1068,
2284 770, 1069, 1069, 773, 948, 948, 1070, 1070, 778, 948,
2285 948, 948, 1071, 1071, 784, 784, 784, 784, 948, 948,
2286 1072, 1072, 792, 948, 948, 948, 1073, 1073, 798, 798,
2288 798, 798, 792, 792, 793, 1074, 1074, 807, 1075, 948,
2289 948, 948, 1075, 813, 813, 813, 813, 813, 807, 807,
2290 808, 948, 948, 1076, 1076, 825, 825, 825, 826, 948,
2291 948, 1077, 1077, 833, 1078, 1078, 836, 948, 948, 1079,
2292 1079, 841, 1080, 1081, 1081, 1081, 948, 948, 1082, 1083,
2293 1083, 948, 948, 1084, 1085, 1085, 948, 948, 1086, 1087,
2294 1087, 948, 948, 784, 793, 792, 796, 948, 798, 808,
2295 807, 812, 948, 813, 826, 825, 1080, 1081, 1081, 948,
2296 948, 1082, 882, 882, 851, 851, 851, 948, 948, 1084,
2297 890, 890, 856, 856, 856, 948, 948, 1086, 898, 898,
2299 861, 861, 861, 948, 948, 784, 784, 784, 792, 792,
2300 793, 948, 948, 798, 798, 798, 807, 807, 808, 948,
2301 823, 813, 813, 813, 825, 825, 826, 1080, 1081, 1081,
2302 1080, 1081, 1081, 1080, 1081, 1080, 1080, 1088, 1088, 1088,
2303 948, 1088, 948, 1089, 1089, 1089, 1089, 0, 948, 948,
2304 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2305 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2306 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2307 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2308 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2310 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2311 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2312 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2313 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2314 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2315 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2316 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2317 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
2318 948, 948, 948, 948, 948, 948, 948, 948, 948
2323 948, 47, 48, 47, 948, 948, 49, 47, 48, 47,
2324 469, 472, 49, 46, 47, 48, 47, 50, 46, 51,
2325 46, 46, 46, 46, 46, 46, 46, 50, 50, 52,
2326 53, 50, 54, 50, 50, 55, 50, 56, 57, 50,
2327 58, 59, 50, 50, 46, 46, 46, 50, 60, 61,
2328 50, 50, 50, 50, 50, 50, 50, 50, 50, 50,
2329 47, 48, 47, 147, 148, 51, 47, 48, 47, 613,
2330 462, 51, 462, 614, 129, 130, 129, 62, 63, 131,
2331 132, 948, 132, 62, 63, 133, 64, 153, 154, 154,
2332 154, 154, 64, 47, 48, 47, 326, 948, 51, 277,
2334 65, 66, 67, 67, 67, 67, 155, 155, 155, 155,
2335 360, 63, 68, 69, 70, 70, 70, 70, 68, 69,
2336 70, 70, 70, 70, 71, 46, 72, 73, 73, 73,
2337 71, 46, 72, 73, 73, 73, 74, 46, 75, 76,
2338 76, 76, 74, 46, 75, 76, 76, 76, 77, 78,
2339 79, 79, 79, 79, 77, 78, 79, 79, 79, 79,
2340 47, 48, 47, 326, 81, 82, 47, 48, 47, 277,
2341 81, 82, 84, 85, 86, 86, 86, 86, 83, 159,
2342 160, 160, 160, 160, 83, 84, 85, 86, 86, 86,
2343 86, 87, 88, 89, 89, 89, 89, 87, 88, 89,
2345 89, 89, 89, 90, 91, 92, 92, 92, 92, 90,
2346 91, 92, 92, 92, 92, 93, 94, 95, 95, 95,
2347 95, 270, 935, 121, 48, 121, 96, 122, 123, 121,
2348 48, 121, 933, 122, 123, 270, 932, 270, 97, 930,
2349 98, 93, 94, 95, 95, 95, 95, 391, 135, 130,
2350 135, 270, 96, 136, 124, 418, 618, 121, 48, 121,
2351 124, 125, 123, 929, 97, 391, 98, 99, 100, 101,
2352 101, 101, 101, 418, 618, 121, 48, 121, 96, 125,
2353 123, 135, 130, 135, 469, 472, 136, 879, 124, 623,
2354 102, 878, 98, 99, 100, 101, 101, 101, 101, 161,
2356 161, 161, 161, 132, 96, 132, 124, 623, 133, 137,
2357 163, 163, 163, 163, 846, 270, 102, 845, 98, 103,
2358 46, 104, 105, 105, 105, 167, 167, 167, 167, 844,
2359 96, 270, 126, 46, 127, 128, 128, 128, 167, 167,
2360 167, 167, 106, 46, 98, 103, 46, 104, 105, 105,
2361 105, 169, 170, 170, 170, 170, 96, 690, 126, 46,
2362 127, 128, 128, 128, 171, 171, 171, 171, 106, 46,
2363 98, 107, 108, 109, 109, 109, 109, 159, 160, 160,
2364 160, 160, 96, 281, 284, 162, 181, 181, 181, 181,
2365 167, 167, 167, 167, 102, 689, 98, 107, 108, 109,
2367 109, 109, 109, 162, 185, 185, 185, 185, 96, 688,
2368 168, 135, 130, 135, 687, 134, 177, 391, 281, 284,
2369 102, 615, 98, 47, 48, 47, 168, 111, 112, 179,
2370 180, 180, 180, 180, 645, 391, 179, 180, 180, 180,
2371 180, 113, 484, 487, 182, 183, 184, 184, 184, 184,
2372 484, 487, 645, 102, 650, 98, 47, 48, 47, 612,
2373 111, 112, 182, 189, 190, 190, 190, 190, 191, 191,
2374 191, 191, 650, 434, 113, 195, 196, 196, 196, 196,
2375 197, 197, 197, 197, 433, 432, 102, 431, 98, 114,
2376 115, 116, 116, 116, 116, 202, 203, 203, 203, 203,
2378 96, 204, 204, 204, 204, 202, 203, 203, 203, 203,
2379 430, 429, 102, 205, 98, 114, 115, 116, 116, 116,
2380 116, 206, 206, 206, 206, 428, 96, 206, 206, 206,
2381 206, 205, 206, 206, 206, 206, 370, 369, 102, 368,
2382 98, 117, 118, 119, 119, 119, 119, 207, 210, 210,
2383 210, 210, 96, 208, 209, 209, 209, 209, 218, 219,
2384 219, 219, 219, 207, 97, 653, 98, 117, 118, 119,
2385 119, 119, 119, 220, 220, 220, 220, 367, 96, 658,
2386 135, 130, 135, 653, 134, 216, 226, 226, 226, 226,
2387 97, 366, 98, 156, 156, 156, 365, 658, 157, 364,
2389 363, 153, 154, 154, 154, 154, 231, 130, 231, 158,
2390 134, 232, 134, 224, 225, 225, 225, 225, 234, 130,
2391 234, 362, 134, 235, 253, 252, 251, 158, 164, 164,
2392 164, 250, 249, 165, 248, 247, 246, 163, 163, 163,
2393 163, 237, 237, 237, 237, 237, 237, 237, 237, 237,
2394 237, 237, 237, 129, 130, 129, 245, 166, 131, 135,
2395 130, 135, 418, 244, 136, 238, 132, 240, 132, 240,
2396 243, 133, 241, 166, 172, 172, 172, 236, 680, 173,
2397 418, 238, 169, 170, 170, 170, 170, 135, 130, 135,
2398 174, 217, 136, 135, 130, 135, 680, 685, 136, 135,
2400 130, 135, 201, 178, 136, 618, 623, 152, 174, 186,
2401 186, 186, 849, 151, 187, 685, 150, 183, 184, 184,
2402 184, 184, 149, 618, 623, 188, 135, 130, 135, 854,
2403 849, 136, 155, 155, 155, 155, 948, 155, 155, 155,
2404 155, 146, 145, 188, 192, 192, 192, 854, 144, 193,
2405 242, 143, 189, 190, 190, 190, 190, 859, 263, 263,
2406 194, 264, 264, 264, 264, 161, 161, 161, 161, 161,
2407 161, 161, 161, 142, 645, 859, 162, 141, 194, 198,
2408 198, 198, 650, 140, 199, 139, 948, 195, 196, 196,
2409 196, 196, 645, 948, 162, 200, 167, 167, 167, 167,
2411 650, 159, 160, 160, 160, 160, 164, 164, 164, 162,
2412 948, 165, 948, 200, 211, 211, 211, 948, 948, 212,
2413 948, 948, 208, 209, 209, 209, 209, 162, 265, 265,
2414 213, 266, 266, 266, 266, 171, 171, 171, 171, 948,
2415 171, 171, 171, 171, 181, 181, 181, 181, 213, 221,
2416 221, 221, 948, 948, 222, 653, 948, 218, 219, 219,
2417 219, 219, 948, 287, 287, 223, 288, 288, 288, 288,
2418 135, 130, 135, 653, 134, 177, 135, 130, 135, 658,
2419 134, 177, 948, 223, 227, 227, 227, 948, 948, 228,
2420 948, 948, 224, 225, 225, 225, 225, 658, 289, 289,
2422 229, 290, 290, 290, 290, 185, 185, 185, 185, 179,
2423 180, 180, 180, 180, 948, 948, 948, 182, 229, 156,
2424 156, 156, 948, 948, 157, 948, 254, 255, 256, 256,
2425 256, 256, 258, 156, 258, 182, 948, 259, 948, 260,
2426 261, 262, 262, 262, 262, 164, 164, 164, 864, 948,
2427 165, 948, 267, 948, 268, 269, 269, 269, 271, 164,
2428 271, 948, 948, 272, 948, 273, 864, 274, 275, 275,
2429 275, 172, 172, 172, 948, 948, 173, 948, 278, 279,
2430 280, 280, 280, 280, 282, 172, 282, 948, 948, 283,
2431 948, 284, 285, 286, 286, 286, 286, 181, 181, 181,
2433 181, 948, 948, 869, 182, 948, 185, 185, 185, 185,
2434 300, 300, 948, 301, 301, 301, 301, 191, 191, 191,
2435 191, 869, 182, 186, 186, 186, 948, 948, 187, 948,
2436 291, 292, 293, 293, 293, 293, 295, 186, 295, 874,
2437 680, 296, 685, 297, 298, 299, 299, 299, 299, 948,
2438 191, 191, 191, 191, 192, 192, 192, 874, 680, 193,
2439 685, 302, 303, 304, 304, 304, 304, 306, 192, 306,
2440 948, 948, 307, 948, 308, 309, 310, 310, 310, 310,
2441 311, 311, 849, 312, 312, 312, 312, 197, 197, 197,
2442 197, 948, 197, 197, 197, 197, 198, 198, 198, 948,
2444 849, 199, 948, 313, 314, 315, 315, 315, 315, 317,
2445 198, 317, 948, 948, 318, 948, 319, 320, 321, 321,
2446 321, 321, 322, 322, 948, 323, 323, 323, 323, 204,
2447 204, 204, 204, 202, 203, 203, 203, 203, 948, 948,
2448 854, 205, 204, 204, 204, 204, 859, 324, 324, 205,
2449 325, 325, 325, 325, 206, 206, 206, 206, 854, 205,
2450 210, 210, 210, 210, 859, 948, 948, 205, 948, 210,
2451 210, 210, 210, 211, 211, 211, 948, 948, 212, 948,
2452 327, 328, 329, 329, 329, 329, 331, 211, 331, 948,
2453 948, 332, 948, 333, 334, 335, 335, 335, 335, 336,
2455 336, 948, 337, 337, 337, 337, 135, 130, 135, 948,
2456 134, 216, 135, 130, 135, 948, 134, 216, 220, 220,
2457 220, 220, 948, 220, 220, 220, 220, 347, 347, 948,
2458 348, 348, 348, 348, 948, 240, 134, 240, 134, 948,
2459 241, 948, 134, 948, 134, 221, 221, 221, 948, 948,
2460 222, 948, 338, 339, 340, 340, 340, 340, 342, 221,
2461 342, 948, 948, 343, 948, 344, 345, 346, 346, 346,
2462 346, 226, 226, 226, 226, 227, 227, 227, 948, 948,
2463 228, 948, 948, 224, 225, 225, 225, 225, 948, 948,
2464 948, 229, 948, 226, 226, 226, 226, 358, 358, 948,
2466 359, 359, 359, 359, 237, 237, 237, 237, 948, 229,
2467 227, 227, 227, 948, 948, 228, 948, 349, 350, 351,
2468 351, 351, 351, 353, 227, 353, 948, 948, 354, 948,
2469 355, 356, 357, 357, 357, 357, 231, 130, 231, 948,
2470 948, 232, 234, 130, 234, 948, 134, 235, 234, 130,
2471 234, 948, 134, 235, 234, 130, 234, 948, 134, 235,
2472 234, 130, 234, 948, 134, 235, 240, 240, 240, 240,
2473 948, 241, 241, 135, 130, 135, 948, 948, 136, 255,
2474 256, 256, 256, 256, 371, 371, 371, 371, 264, 264,
2475 264, 264, 948, 361, 372, 372, 372, 948, 948, 373,
2477 948, 948, 255, 256, 256, 256, 256, 948, 948, 948,
2478 374, 375, 376, 375, 948, 948, 377, 266, 266, 266,
2479 266, 266, 266, 266, 266, 948, 948, 378, 374, 258,
2480 156, 258, 948, 948, 259, 948, 260, 261, 262, 262,
2481 262, 262, 258, 156, 258, 378, 948, 259, 948, 260,
2482 261, 262, 262, 262, 262, 156, 156, 156, 948, 948,
2483 157, 948, 948, 948, 264, 264, 264, 264, 269, 269,
2484 269, 269, 269, 269, 269, 269, 269, 269, 269, 269,
2485 164, 164, 164, 948, 948, 165, 279, 280, 280, 280,
2486 280, 948, 379, 381, 381, 381, 381, 288, 288, 288,
2488 288, 290, 290, 290, 290, 948, 948, 948, 379, 271,
2489 164, 271, 948, 948, 272, 948, 273, 948, 274, 275,
2490 275, 275, 271, 164, 271, 948, 948, 272, 948, 273,
2491 948, 274, 275, 275, 275, 271, 164, 271, 948, 948,
2492 272, 948, 273, 948, 274, 275, 275, 275, 271, 164,
2493 271, 948, 948, 272, 948, 273, 948, 274, 275, 275,
2494 275, 271, 164, 271, 948, 948, 272, 948, 273, 948,
2495 274, 275, 275, 275, 948, 948, 385, 386, 385, 948,
2496 948, 387, 290, 290, 290, 290, 389, 389, 389, 389,
2497 380, 948, 388, 292, 293, 293, 293, 293, 301, 301,
2499 301, 301, 392, 392, 392, 392, 380, 382, 382, 382,
2500 388, 948, 383, 948, 948, 279, 280, 280, 280, 280,
2501 948, 948, 948, 384, 303, 304, 304, 304, 304, 948,
2502 948, 948, 292, 293, 293, 293, 293, 948, 948, 948,
2503 390, 384, 282, 172, 282, 948, 948, 283, 948, 284,
2504 285, 286, 286, 286, 286, 282, 172, 282, 390, 948,
2505 283, 948, 284, 285, 286, 286, 286, 286, 172, 172,
2506 172, 948, 948, 173, 948, 948, 948, 288, 288, 288,
2507 288, 295, 186, 295, 948, 948, 296, 948, 297, 298,
2508 299, 299, 299, 299, 186, 186, 186, 948, 948, 187,
2510 948, 948, 948, 301, 301, 301, 301, 393, 393, 393,
2511 948, 948, 394, 948, 948, 303, 304, 304, 304, 304,
2512 948, 948, 948, 395, 396, 397, 396, 948, 948, 398,
2513 312, 312, 312, 312, 314, 315, 315, 315, 315, 948,
2514 399, 395, 306, 192, 306, 948, 948, 307, 948, 308,
2515 309, 310, 310, 310, 310, 948, 948, 948, 399, 192,
2516 192, 192, 948, 948, 193, 948, 948, 948, 312, 312,
2517 312, 312, 400, 400, 400, 400, 401, 401, 401, 948,
2518 948, 402, 948, 948, 314, 315, 315, 315, 315, 948,
2519 948, 948, 403, 404, 405, 404, 948, 948, 406, 323,
2521 323, 323, 323, 325, 325, 325, 325, 948, 948, 407,
2522 403, 317, 198, 317, 948, 948, 318, 948, 319, 320,
2523 321, 321, 321, 321, 948, 948, 948, 407, 198, 198,
2524 198, 948, 948, 199, 948, 948, 948, 323, 323, 323,
2525 323, 325, 325, 325, 325, 328, 329, 329, 329, 329,
2526 408, 408, 408, 408, 409, 409, 409, 948, 948, 410,
2527 948, 948, 328, 329, 329, 329, 329, 948, 948, 948,
2528 411, 412, 413, 412, 948, 948, 414, 337, 337, 337,
2529 337, 339, 340, 340, 340, 340, 948, 415, 411, 331,
2530 211, 331, 948, 948, 332, 948, 333, 334, 335, 335,
2532 335, 335, 948, 948, 948, 415, 211, 211, 211, 948,
2533 948, 212, 948, 948, 948, 337, 337, 337, 337, 416,
2534 416, 416, 416, 339, 340, 340, 340, 340, 948, 948,
2535 948, 417, 348, 348, 348, 348, 350, 351, 351, 351,
2536 351, 419, 419, 419, 419, 359, 359, 359, 359, 417,
2537 342, 221, 342, 948, 948, 343, 948, 344, 345, 346,
2538 346, 346, 346, 221, 221, 221, 948, 948, 222, 948,
2539 948, 948, 348, 348, 348, 348, 420, 420, 420, 948,
2540 948, 421, 948, 948, 350, 351, 351, 351, 351, 948,
2541 948, 948, 422, 423, 424, 423, 948, 948, 425, 948,
2543 371, 371, 371, 371, 948, 381, 381, 381, 381, 426,
2544 422, 353, 227, 353, 948, 948, 354, 948, 355, 356,
2545 357, 357, 357, 357, 948, 948, 948, 426, 227, 227,
2546 227, 948, 948, 228, 948, 948, 948, 359, 359, 359,
2547 359, 135, 130, 135, 444, 444, 136, 445, 445, 445,
2548 445, 459, 460, 948, 461, 461, 461, 461, 948, 948,
2549 427, 372, 372, 372, 948, 948, 373, 948, 435, 436,
2550 437, 437, 437, 437, 439, 372, 439, 948, 948, 440,
2551 948, 441, 442, 443, 443, 443, 443, 375, 376, 375,
2552 948, 948, 377, 948, 446, 447, 448, 448, 448, 448,
2554 376, 376, 376, 948, 948, 449, 948, 450, 451, 452,
2555 452, 452, 452, 454, 376, 454, 948, 948, 455, 948,
2556 456, 457, 458, 458, 458, 458, 463, 464, 464, 464,
2557 465, 465, 465, 465, 465, 475, 475, 948, 476, 476,
2558 476, 476, 389, 389, 389, 389, 270, 948, 948, 390,
2559 465, 465, 465, 493, 493, 948, 494, 494, 494, 494,
2560 948, 948, 270, 382, 382, 382, 948, 390, 383, 948,
2561 466, 467, 468, 468, 468, 468, 470, 382, 470, 948,
2562 948, 471, 948, 472, 473, 474, 474, 474, 474, 385,
2563 386, 385, 948, 948, 387, 948, 477, 478, 479, 479,
2565 479, 479, 386, 386, 386, 948, 948, 480, 948, 481,
2566 482, 483, 483, 483, 483, 485, 386, 485, 948, 948,
2567 486, 948, 487, 488, 489, 489, 489, 489, 282, 172,
2568 282, 948, 948, 283, 490, 491, 285, 492, 492, 492,
2569 492, 295, 186, 295, 948, 948, 296, 495, 496, 298,
2570 497, 497, 497, 497, 393, 393, 393, 948, 948, 394,
2571 948, 948, 948, 392, 392, 392, 392, 948, 507, 507,
2572 395, 508, 508, 508, 508, 534, 534, 948, 535, 535,
2573 535, 535, 135, 130, 611, 948, 948, 136, 395, 393,
2574 393, 393, 948, 948, 394, 948, 498, 499, 500, 500,
2576 500, 500, 502, 393, 502, 948, 948, 503, 948, 504,
2577 505, 506, 506, 506, 506, 396, 397, 396, 948, 948,
2578 398, 948, 509, 510, 511, 511, 511, 511, 397, 397,
2579 397, 948, 948, 512, 948, 513, 514, 515, 515, 515,
2580 515, 517, 397, 517, 948, 948, 518, 948, 519, 520,
2581 521, 521, 521, 521, 306, 192, 306, 948, 948, 307,
2582 522, 523, 309, 524, 524, 524, 524, 401, 401, 401,
2583 948, 948, 402, 948, 948, 948, 400, 400, 400, 400,
2584 948, 561, 561, 403, 562, 562, 562, 562, 436, 437,
2585 437, 437, 437, 416, 416, 416, 416, 948, 948, 948,
2587 417, 403, 401, 401, 401, 948, 948, 402, 948, 525,
2588 526, 527, 527, 527, 527, 529, 401, 529, 417, 948,
2589 530, 948, 531, 532, 533, 533, 533, 533, 404, 405,
2590 404, 948, 948, 406, 948, 536, 537, 538, 538, 538,
2591 538, 405, 405, 405, 948, 948, 539, 948, 540, 541,
2592 542, 542, 542, 542, 544, 405, 544, 948, 948, 545,
2593 948, 546, 547, 548, 548, 548, 548, 317, 198, 317,
2594 948, 948, 318, 549, 550, 320, 551, 551, 551, 551,
2595 409, 409, 409, 948, 948, 410, 948, 948, 948, 408,
2596 408, 408, 408, 948, 579, 579, 411, 580, 580, 580,
2598 580, 593, 593, 948, 594, 594, 594, 594, 616, 616,
2599 616, 616, 948, 948, 411, 409, 409, 409, 948, 948,
2600 410, 948, 552, 553, 554, 554, 554, 554, 556, 409,
2601 556, 948, 948, 557, 948, 558, 559, 560, 560, 560,
2602 560, 412, 413, 412, 948, 948, 414, 948, 563, 564,
2603 565, 565, 565, 565, 413, 413, 413, 948, 948, 566,
2604 948, 567, 568, 569, 569, 569, 569, 571, 413, 571,
2605 948, 948, 572, 948, 573, 574, 575, 575, 575, 575,
2606 331, 211, 331, 948, 948, 332, 576, 577, 334, 578,
2607 578, 578, 578, 342, 221, 342, 948, 948, 343, 581,
2609 582, 345, 583, 583, 583, 583, 420, 420, 420, 948,
2610 948, 421, 948, 948, 948, 419, 419, 419, 419, 948,
2611 948, 948, 422, 445, 445, 445, 445, 621, 621, 621,
2612 621, 436, 437, 437, 437, 437, 948, 948, 948, 617,
2613 422, 420, 420, 420, 948, 948, 421, 948, 584, 585,
2614 586, 586, 586, 586, 588, 420, 588, 617, 948, 589,
2615 948, 590, 591, 592, 592, 592, 592, 423, 424, 423,
2616 948, 948, 425, 948, 595, 596, 597, 597, 597, 597,
2617 424, 424, 424, 948, 948, 598, 948, 599, 600, 601,
2618 601, 601, 601, 603, 424, 603, 948, 948, 604, 948,
2620 605, 606, 607, 607, 607, 607, 353, 227, 353, 948,
2621 948, 354, 608, 609, 356, 610, 610, 610, 610, 439,
2622 372, 439, 948, 948, 440, 948, 441, 442, 443, 443,
2623 443, 443, 439, 372, 439, 948, 948, 440, 948, 441,
2624 442, 443, 443, 443, 443, 372, 372, 372, 948, 948,
2625 373, 948, 948, 948, 445, 445, 445, 445, 258, 156,
2626 258, 948, 948, 259, 948, 260, 447, 448, 448, 448,
2627 448, 258, 156, 258, 948, 948, 259, 948, 260, 261,
2628 619, 619, 619, 619, 375, 376, 375, 948, 948, 377,
2629 948, 948, 447, 448, 448, 448, 448, 948, 948, 948,
2631 620, 451, 452, 452, 452, 452, 461, 461, 461, 461,
2632 461, 461, 461, 461, 624, 624, 624, 624, 620, 454,
2633 376, 454, 948, 948, 455, 948, 456, 457, 458, 458,
2634 458, 458, 372, 372, 372, 948, 948, 373, 948, 948,
2635 451, 452, 452, 452, 452, 948, 948, 948, 622, 467,
2636 468, 468, 468, 468, 261, 461, 461, 461, 461, 135,
2637 130, 135, 378, 948, 136, 948, 622, 454, 376, 454,
2638 843, 948, 455, 948, 456, 457, 458, 458, 458, 458,
2639 378, 270, 271, 164, 271, 270, 270, 272, 270, 273,
2640 270, 463, 464, 464, 464, 465, 465, 465, 465, 465,
2642 270, 270, 270, 270, 270, 270, 270, 270, 270, 270,
2643 270, 380, 270, 270, 270, 465, 465, 465, 270, 270,
2644 270, 270, 270, 270, 270, 270, 270, 380, 625, 625,
2645 625, 948, 948, 626, 948, 948, 467, 468, 468, 468,
2646 468, 948, 948, 948, 627, 628, 629, 628, 948, 948,
2647 630, 476, 476, 476, 476, 482, 483, 483, 483, 483,
2648 948, 631, 627, 470, 382, 470, 948, 948, 471, 948,
2649 472, 473, 474, 474, 474, 474, 470, 382, 470, 631,
2650 948, 471, 948, 472, 473, 474, 474, 474, 474, 382,
2651 382, 382, 948, 948, 383, 948, 948, 948, 476, 476,
2653 476, 476, 282, 172, 282, 948, 948, 283, 948, 284,
2654 478, 479, 479, 479, 479, 282, 172, 282, 948, 948,
2655 283, 948, 284, 285, 632, 632, 632, 632, 633, 634,
2656 633, 948, 948, 635, 948, 948, 478, 479, 479, 479,
2657 479, 948, 948, 948, 636, 637, 637, 637, 637, 492,
2658 492, 492, 492, 492, 492, 492, 492, 494, 494, 494,
2659 494, 948, 636, 485, 386, 485, 948, 948, 486, 948,
2660 487, 488, 489, 489, 489, 489, 629, 629, 629, 948,
2661 948, 638, 948, 948, 482, 483, 483, 483, 483, 948,
2662 948, 948, 639, 640, 634, 640, 948, 948, 641, 494,
2664 494, 494, 494, 499, 500, 500, 500, 500, 948, 642,
2665 639, 485, 386, 485, 948, 948, 486, 948, 487, 488,
2666 489, 489, 489, 489, 948, 948, 948, 642, 385, 386,
2667 385, 948, 948, 387, 948, 948, 948, 492, 492, 492,
2668 492, 948, 948, 948, 388, 643, 643, 643, 643, 508,
2669 508, 508, 508, 499, 500, 500, 500, 500, 948, 948,
2670 948, 644, 388, 295, 186, 295, 948, 948, 296, 948,
2671 297, 298, 497, 497, 497, 497, 295, 186, 295, 644,
2672 948, 296, 948, 297, 298, 497, 497, 497, 497, 502,
2673 393, 502, 948, 948, 503, 948, 504, 505, 506, 506,
2675 506, 506, 502, 393, 502, 948, 948, 503, 948, 504,
2676 505, 506, 506, 506, 506, 393, 393, 393, 948, 948,
2677 394, 948, 948, 948, 508, 508, 508, 508, 306, 192,
2678 306, 948, 948, 307, 948, 308, 510, 511, 511, 511,
2679 511, 306, 192, 306, 948, 948, 307, 948, 308, 309,
2680 646, 646, 646, 646, 396, 397, 396, 948, 948, 398,
2681 948, 948, 510, 511, 511, 511, 511, 948, 948, 948,
2682 647, 514, 515, 515, 515, 515, 648, 648, 648, 648,
2683 524, 524, 524, 524, 524, 524, 524, 524, 647, 517,
2684 397, 517, 948, 948, 518, 948, 519, 520, 521, 521,
2686 521, 521, 393, 393, 393, 948, 948, 394, 948, 948,
2687 514, 515, 515, 515, 515, 948, 948, 948, 649, 526,
2688 527, 527, 527, 527, 309, 524, 524, 524, 524, 135,
2689 130, 931, 399, 948, 136, 948, 649, 517, 397, 517,
2690 948, 948, 518, 948, 519, 520, 521, 521, 521, 521,
2691 399, 651, 651, 651, 651, 526, 527, 527, 527, 527,
2692 948, 948, 948, 652, 535, 535, 535, 535, 541, 542,
2693 542, 542, 542, 656, 656, 656, 656, 551, 551, 551,
2694 551, 652, 529, 401, 529, 948, 948, 530, 948, 531,
2695 532, 533, 533, 533, 533, 529, 401, 529, 948, 948,
2697 530, 948, 531, 532, 533, 533, 533, 533, 401, 401,
2698 401, 948, 948, 402, 948, 948, 948, 535, 535, 535,
2699 535, 317, 198, 317, 948, 948, 318, 948, 319, 537,
2700 538, 538, 538, 538, 317, 198, 317, 948, 948, 318,
2701 948, 319, 320, 654, 654, 654, 654, 404, 405, 404,
2702 948, 948, 406, 948, 948, 537, 538, 538, 538, 538,
2703 948, 948, 948, 655, 551, 551, 551, 551, 659, 659,
2704 659, 659, 320, 551, 551, 551, 551, 948, 948, 948,
2705 407, 655, 544, 405, 544, 948, 948, 545, 948, 546,
2706 547, 548, 548, 548, 548, 401, 401, 401, 407, 948,
2708 402, 948, 948, 541, 542, 542, 542, 542, 948, 948,
2709 948, 657, 553, 554, 554, 554, 554, 562, 562, 562,
2710 562, 568, 569, 569, 569, 569, 948, 948, 948, 657,
2711 544, 405, 544, 948, 948, 545, 948, 546, 547, 548,
2712 548, 548, 548, 660, 660, 660, 948, 948, 661, 948,
2713 948, 553, 554, 554, 554, 554, 948, 948, 948, 662,
2714 663, 664, 663, 948, 948, 665, 672, 672, 672, 672,
2715 578, 578, 578, 578, 948, 948, 666, 662, 556, 409,
2716 556, 948, 948, 557, 948, 558, 559, 560, 560, 560,
2717 560, 556, 409, 556, 666, 948, 557, 948, 558, 559,
2719 560, 560, 560, 560, 409, 409, 409, 948, 948, 410,
2720 948, 948, 948, 562, 562, 562, 562, 331, 211, 331,
2721 948, 948, 332, 948, 333, 564, 565, 565, 565, 565,
2722 331, 211, 331, 948, 948, 332, 948, 333, 334, 667,
2723 667, 667, 667, 668, 669, 668, 948, 948, 670, 948,
2724 948, 564, 565, 565, 565, 565, 948, 948, 948, 671,
2725 675, 669, 675, 948, 948, 676, 578, 578, 578, 578,
2726 580, 580, 580, 580, 948, 948, 677, 671, 571, 413,
2727 571, 948, 948, 572, 948, 573, 574, 575, 575, 575,
2728 575, 664, 664, 664, 677, 948, 673, 948, 948, 568,
2730 569, 569, 569, 569, 948, 948, 948, 674, 580, 580,
2731 580, 580, 585, 586, 586, 586, 586, 678, 678, 678,
2732 678, 594, 594, 594, 594, 674, 571, 413, 571, 948,
2733 948, 572, 948, 573, 574, 575, 575, 575, 575, 412,
2734 413, 412, 948, 948, 414, 948, 948, 948, 578, 578,
2735 578, 578, 948, 948, 948, 415, 600, 601, 601, 601,
2736 601, 948, 948, 948, 585, 586, 586, 586, 586, 948,
2737 948, 948, 679, 415, 342, 221, 342, 948, 948, 343,
2738 948, 344, 345, 583, 583, 583, 583, 342, 221, 342,
2739 679, 948, 343, 948, 344, 345, 583, 583, 583, 583,
2741 588, 420, 588, 948, 948, 589, 948, 590, 591, 592,
2742 592, 592, 592, 588, 420, 588, 948, 948, 589, 948,
2743 590, 591, 592, 592, 592, 592, 420, 420, 420, 948,
2744 948, 421, 948, 948, 948, 594, 594, 594, 594, 353,
2745 227, 353, 948, 948, 354, 948, 355, 596, 597, 597,
2746 597, 597, 353, 227, 353, 948, 948, 354, 948, 355,
2747 356, 681, 681, 681, 681, 423, 424, 423, 948, 948,
2748 425, 948, 948, 596, 597, 597, 597, 597, 948, 948,
2749 948, 682, 683, 683, 683, 683, 610, 610, 610, 610,
2750 610, 610, 610, 610, 692, 692, 692, 692, 948, 682,
2752 603, 424, 603, 948, 948, 604, 948, 605, 606, 607,
2753 607, 607, 607, 420, 420, 420, 948, 948, 421, 948,
2754 948, 600, 601, 601, 601, 601, 135, 130, 135, 684,
2755 948, 136, 948, 948, 948, 356, 610, 610, 610, 610,
2756 135, 130, 135, 426, 948, 136, 948, 684, 603, 424,
2757 603, 948, 938, 604, 686, 605, 606, 607, 607, 607,
2758 607, 426, 616, 616, 616, 616, 948, 691, 691, 617,
2759 692, 692, 692, 692, 699, 699, 948, 700, 700, 700,
2760 700, 692, 692, 692, 692, 948, 948, 617, 439, 372,
2761 439, 948, 948, 440, 693, 694, 442, 695, 695, 695,
2763 695, 375, 376, 375, 948, 948, 377, 948, 260, 261,
2764 619, 619, 619, 619, 948, 713, 713, 620, 714, 714,
2765 714, 714, 746, 746, 948, 747, 747, 747, 747, 700,
2766 700, 700, 700, 948, 948, 620, 258, 156, 258, 948,
2767 948, 259, 696, 697, 261, 698, 698, 698, 698, 372,
2768 372, 372, 948, 948, 373, 948, 948, 948, 621, 621,
2769 621, 621, 948, 754, 754, 622, 755, 755, 755, 755,
2770 705, 706, 706, 706, 706, 643, 643, 643, 643, 948,
2771 948, 948, 644, 622, 454, 376, 454, 948, 948, 455,
2772 701, 702, 457, 703, 703, 703, 703, 625, 625, 625,
2774 644, 948, 626, 948, 948, 948, 624, 624, 624, 624,
2775 948, 762, 762, 627, 763, 763, 763, 763, 847, 847,
2776 847, 847, 948, 651, 651, 651, 651, 948, 948, 948,
2777 652, 627, 625, 625, 625, 948, 948, 626, 948, 704,
2778 705, 706, 706, 706, 706, 708, 625, 708, 652, 948,
2779 709, 948, 710, 711, 712, 712, 712, 712, 628, 629,
2780 628, 948, 948, 630, 948, 715, 716, 717, 717, 717,
2781 717, 629, 629, 629, 948, 948, 638, 948, 718, 719,
2782 720, 720, 720, 720, 722, 629, 722, 948, 948, 723,
2783 948, 724, 725, 726, 726, 726, 726, 470, 382, 470,
2785 948, 948, 471, 727, 728, 473, 729, 729, 729, 729,
2786 633, 634, 633, 948, 948, 635, 948, 284, 285, 632,
2787 632, 632, 632, 948, 767, 767, 636, 768, 768, 768,
2788 768, 775, 775, 948, 776, 776, 776, 776, 714, 714,
2789 714, 714, 948, 948, 636, 633, 634, 633, 948, 948,
2790 635, 948, 730, 731, 732, 732, 732, 732, 634, 634,
2791 634, 948, 948, 733, 948, 734, 735, 736, 736, 736,
2792 736, 738, 634, 738, 948, 948, 739, 948, 740, 741,
2793 742, 742, 742, 742, 282, 172, 282, 948, 948, 283,
2794 743, 744, 285, 745, 745, 745, 745, 629, 629, 629,
2796 948, 948, 638, 948, 948, 948, 637, 637, 637, 637,
2797 948, 789, 789, 639, 790, 790, 790, 790, 822, 822,
2798 948, 823, 823, 823, 823, 719, 720, 720, 720, 720,
2799 948, 639, 722, 629, 722, 948, 948, 723, 948, 724,
2800 725, 726, 726, 726, 726, 640, 634, 640, 948, 948,
2801 641, 948, 748, 749, 750, 750, 750, 750, 738, 634,
2802 738, 948, 948, 739, 948, 740, 741, 742, 742, 742,
2803 742, 485, 386, 485, 948, 948, 486, 751, 752, 488,
2804 753, 753, 753, 753, 502, 393, 502, 948, 948, 503,
2805 756, 757, 505, 758, 758, 758, 758, 396, 397, 396,
2807 948, 948, 398, 948, 308, 309, 646, 646, 646, 646,
2808 948, 830, 830, 647, 831, 831, 831, 831, 852, 852,
2809 852, 852, 948, 678, 678, 678, 678, 948, 948, 948,
2810 679, 647, 306, 192, 306, 948, 948, 307, 759, 760,
2811 309, 761, 761, 761, 761, 393, 393, 393, 679, 948,
2812 394, 948, 948, 948, 648, 648, 648, 648, 948, 838,
2813 838, 649, 839, 839, 839, 839, 729, 729, 729, 729,
2814 705, 706, 706, 706, 706, 948, 948, 948, 848, 649,
2815 517, 397, 517, 948, 948, 518, 764, 765, 520, 766,
2816 766, 766, 766, 529, 401, 529, 848, 948, 530, 769,
2818 770, 532, 771, 771, 771, 771, 404, 405, 404, 948,
2819 948, 406, 948, 319, 320, 654, 654, 654, 654, 948,
2820 948, 948, 655, 375, 376, 375, 948, 948, 377, 729,
2821 729, 729, 729, 735, 736, 736, 736, 736, 948, 378,
2822 655, 317, 198, 317, 948, 948, 318, 772, 773, 320,
2823 774, 774, 774, 774, 401, 401, 401, 378, 948, 402,
2824 948, 948, 948, 656, 656, 656, 656, 948, 948, 948,
2825 657, 857, 857, 857, 857, 745, 745, 745, 745, 473,
2826 729, 729, 729, 729, 948, 948, 948, 631, 657, 544,
2827 405, 544, 948, 948, 545, 777, 778, 547, 779, 779,
2829 779, 779, 660, 660, 660, 631, 948, 661, 948, 948,
2830 948, 659, 659, 659, 659, 948, 948, 948, 662, 745,
2831 745, 745, 745, 747, 747, 747, 747, 285, 745, 745,
2832 745, 745, 948, 948, 948, 388, 662, 660, 660, 660,
2833 948, 948, 661, 948, 780, 781, 782, 782, 782, 782,
2834 784, 660, 784, 388, 948, 785, 948, 786, 787, 788,
2835 788, 788, 788, 663, 664, 663, 948, 948, 665, 948,
2836 791, 792, 793, 793, 793, 793, 664, 664, 664, 948,
2837 948, 673, 948, 794, 795, 796, 796, 796, 796, 798,
2838 664, 798, 948, 948, 799, 948, 800, 801, 802, 802,
2840 802, 802, 556, 409, 556, 948, 948, 557, 803, 804,
2841 559, 805, 805, 805, 805, 668, 669, 668, 948, 948,
2842 670, 948, 333, 334, 667, 667, 667, 667, 948, 948,
2843 948, 671, 753, 753, 753, 753, 753, 753, 753, 753,
2844 488, 753, 753, 753, 753, 948, 948, 948, 642, 671,
2845 668, 669, 668, 948, 948, 670, 948, 806, 807, 808,
2846 808, 808, 808, 669, 669, 669, 642, 948, 809, 948,
2847 810, 811, 812, 812, 812, 812, 814, 669, 814, 948,
2848 948, 815, 948, 816, 817, 818, 818, 818, 818, 331,
2849 211, 331, 948, 948, 332, 819, 820, 334, 821, 821,
2851 821, 821, 664, 664, 664, 948, 948, 673, 948, 948,
2852 948, 672, 672, 672, 672, 948, 948, 948, 674, 755,
2853 755, 755, 755, 755, 755, 755, 755, 763, 763, 763,
2854 763, 768, 768, 768, 768, 948, 674, 798, 664, 798,
2855 948, 948, 799, 948, 800, 801, 802, 802, 802, 802,
2856 675, 669, 675, 948, 948, 676, 948, 824, 825, 826,
2857 826, 826, 826, 814, 669, 814, 948, 948, 815, 948,
2858 816, 817, 818, 818, 818, 818, 571, 413, 571, 948,
2859 948, 572, 827, 828, 574, 829, 829, 829, 829, 588,
2860 420, 588, 948, 948, 589, 832, 833, 591, 834, 834,
2862 834, 834, 423, 424, 423, 948, 948, 425, 948, 355,
2863 356, 681, 681, 681, 681, 948, 948, 948, 682, 396,
2864 397, 396, 948, 948, 398, 768, 768, 768, 768, 776,
2865 776, 776, 776, 948, 948, 399, 682, 353, 227, 353,
2866 948, 948, 354, 835, 836, 356, 837, 837, 837, 837,
2867 420, 420, 420, 399, 948, 421, 948, 948, 948, 683,
2868 683, 683, 683, 948, 948, 948, 684, 404, 405, 404,
2869 948, 948, 406, 781, 782, 782, 782, 782, 862, 862,
2870 862, 862, 948, 407, 684, 603, 424, 603, 948, 948,
2871 604, 840, 841, 606, 842, 842, 842, 842, 439, 372,
2873 439, 407, 948, 440, 948, 441, 442, 695, 695, 695,
2874 695, 439, 372, 439, 948, 948, 440, 948, 441, 442,
2875 695, 695, 695, 695, 258, 156, 258, 948, 948, 259,
2876 948, 260, 261, 698, 698, 698, 698, 258, 156, 258,
2877 948, 948, 259, 948, 260, 261, 698, 698, 698, 698,
2878 372, 372, 372, 948, 948, 373, 948, 948, 948, 700,
2879 700, 700, 700, 454, 376, 454, 948, 948, 455, 948,
2880 456, 457, 703, 703, 703, 703, 454, 376, 454, 948,
2881 948, 455, 948, 456, 457, 703, 703, 703, 703, 708,
2882 625, 708, 948, 948, 709, 948, 710, 711, 712, 712,
2884 712, 712, 708, 625, 708, 948, 948, 709, 948, 710,
2885 711, 712, 712, 712, 712, 625, 625, 625, 948, 948,
2886 626, 948, 948, 948, 714, 714, 714, 714, 470, 382,
2887 470, 948, 948, 471, 948, 472, 716, 717, 717, 717,
2888 717, 470, 382, 470, 948, 948, 471, 948, 472, 473,
2889 850, 850, 850, 850, 628, 629, 628, 948, 948, 630,
2890 948, 948, 716, 717, 717, 717, 717, 948, 948, 948,
2891 851, 790, 790, 790, 790, 948, 781, 782, 782, 782,
2892 782, 940, 941, 940, 863, 948, 942, 948, 851, 625,
2893 625, 625, 948, 948, 626, 948, 948, 719, 720, 720,
2895 720, 720, 863, 948, 948, 853, 795, 796, 796, 796,
2896 796, 867, 867, 867, 867, 805, 805, 805, 805, 805,
2897 805, 805, 805, 853, 722, 629, 722, 948, 948, 723,
2898 948, 724, 725, 726, 726, 726, 726, 722, 629, 722,
2899 948, 948, 723, 948, 724, 725, 726, 726, 726, 726,
2900 282, 172, 282, 948, 948, 283, 948, 284, 731, 732,
2901 732, 732, 732, 282, 172, 282, 948, 948, 283, 948,
2902 284, 285, 855, 855, 855, 855, 633, 634, 633, 948,
2903 948, 635, 948, 948, 731, 732, 732, 732, 732, 948,
2904 948, 948, 856, 811, 812, 812, 812, 812, 948, 948,
2906 948, 559, 805, 805, 805, 805, 948, 948, 948, 666,
2907 856, 738, 634, 738, 948, 948, 739, 948, 740, 741,
2908 742, 742, 742, 742, 629, 629, 629, 666, 948, 638,
2909 948, 948, 735, 736, 736, 736, 736, 948, 948, 948,
2910 858, 872, 872, 872, 872, 821, 821, 821, 821, 821,
2911 821, 821, 821, 823, 823, 823, 823, 948, 858, 738,
2912 634, 738, 948, 948, 739, 948, 740, 741, 742, 742,
2913 742, 742, 629, 629, 629, 948, 948, 638, 948, 948,
2914 948, 747, 747, 747, 747, 485, 386, 485, 948, 948,
2915 486, 948, 487, 749, 750, 750, 750, 750, 485, 386,
2917 485, 948, 948, 486, 948, 487, 488, 860, 860, 860,
2918 860, 640, 634, 640, 948, 948, 641, 948, 948, 749,
2919 750, 750, 750, 750, 948, 948, 948, 861, 829, 829,
2920 829, 829, 829, 829, 829, 829, 334, 821, 821, 821,
2921 821, 948, 948, 948, 415, 861, 502, 393, 502, 948,
2922 948, 503, 948, 504, 505, 758, 758, 758, 758, 502,
2923 393, 502, 415, 948, 503, 948, 504, 505, 758, 758,
2924 758, 758, 306, 192, 306, 948, 948, 307, 948, 308,
2925 309, 761, 761, 761, 761, 306, 192, 306, 948, 948,
2926 307, 948, 308, 309, 761, 761, 761, 761, 393, 393,
2928 393, 948, 948, 394, 948, 948, 948, 763, 763, 763,
2929 763, 517, 397, 517, 948, 948, 518, 948, 519, 520,
2930 766, 766, 766, 766, 517, 397, 517, 948, 948, 518,
2931 948, 519, 520, 766, 766, 766, 766, 529, 401, 529,
2932 948, 948, 530, 948, 531, 532, 771, 771, 771, 771,
2933 529, 401, 529, 948, 948, 530, 948, 531, 532, 771,
2934 771, 771, 771, 317, 198, 317, 948, 948, 318, 948,
2935 319, 320, 774, 774, 774, 774, 317, 198, 317, 948,
2936 948, 318, 948, 319, 320, 774, 774, 774, 774, 401,
2937 401, 401, 948, 948, 402, 948, 948, 948, 776, 776,
2939 776, 776, 544, 405, 544, 948, 948, 545, 948, 546,
2940 547, 779, 779, 779, 779, 544, 405, 544, 948, 948,
2941 545, 948, 546, 547, 779, 779, 779, 779, 784, 660,
2942 784, 948, 948, 785, 948, 786, 787, 788, 788, 788,
2943 788, 784, 660, 784, 948, 948, 785, 948, 786, 787,
2944 788, 788, 788, 788, 660, 660, 660, 948, 948, 661,
2945 948, 948, 948, 790, 790, 790, 790, 556, 409, 556,
2946 948, 948, 557, 948, 558, 792, 793, 793, 793, 793,
2947 556, 409, 556, 948, 948, 557, 948, 558, 559, 865,
2948 865, 865, 865, 663, 664, 663, 948, 948, 665, 948,
2950 948, 792, 793, 793, 793, 793, 948, 948, 948, 866,
2951 831, 831, 831, 831, 948, 574, 829, 829, 829, 829,
2952 940, 941, 940, 677, 948, 942, 948, 866, 660, 660,
2953 660, 948, 948, 661, 948, 948, 795, 796, 796, 796,
2954 796, 677, 948, 948, 868, 831, 831, 831, 831, 839,
2955 839, 839, 839, 135, 130, 135, 948, 948, 136, 948,
2956 948, 877, 868, 798, 664, 798, 948, 948, 799, 948,
2957 800, 801, 802, 802, 802, 802, 798, 664, 798, 948,
2958 948, 799, 948, 800, 801, 802, 802, 802, 802, 331,
2959 211, 331, 948, 948, 332, 948, 333, 807, 808, 808,
2961 808, 808, 331, 211, 331, 948, 948, 332, 948, 333,
2962 334, 870, 870, 870, 870, 668, 669, 668, 948, 948,
2963 670, 948, 948, 807, 808, 808, 808, 808, 948, 948,
2964 948, 871, 423, 424, 423, 880, 880, 425, 881, 881,
2965 881, 881, 559, 865, 865, 865, 865, 948, 426, 871,
2966 814, 669, 814, 948, 948, 815, 948, 816, 817, 818,
2967 818, 818, 818, 664, 664, 664, 426, 948, 673, 948,
2968 948, 811, 812, 812, 812, 812, 948, 888, 888, 873,
2969 889, 889, 889, 889, 948, 867, 867, 867, 867, 847,
2970 847, 847, 847, 948, 948, 948, 848, 873, 814, 669,
2972 814, 948, 948, 815, 948, 816, 817, 818, 818, 818,
2973 818, 664, 664, 664, 848, 948, 673, 948, 948, 948,
2974 823, 823, 823, 823, 571, 413, 571, 948, 948, 572,
2975 948, 573, 825, 826, 826, 826, 826, 571, 413, 571,
2976 948, 948, 572, 948, 573, 574, 875, 875, 875, 875,
2977 675, 669, 675, 948, 948, 676, 948, 948, 825, 826,
2978 826, 826, 826, 948, 896, 896, 876, 897, 897, 897,
2979 897, 334, 870, 870, 870, 870, 862, 862, 862, 862,
2980 948, 948, 948, 863, 876, 588, 420, 588, 948, 948,
2981 589, 948, 590, 591, 834, 834, 834, 834, 588, 420,
2983 588, 863, 948, 589, 948, 590, 591, 834, 834, 834,
2984 834, 353, 227, 353, 948, 948, 354, 948, 355, 356,
2985 837, 837, 837, 837, 353, 227, 353, 948, 948, 354,
2986 948, 355, 356, 837, 837, 837, 837, 420, 420, 420,
2987 948, 948, 421, 948, 948, 948, 839, 839, 839, 839,
2988 603, 424, 603, 948, 948, 604, 948, 605, 606, 842,
2989 842, 842, 842, 603, 424, 603, 948, 948, 604, 948,
2990 605, 606, 842, 842, 842, 842, 708, 625, 708, 948,
2991 948, 709, 882, 883, 711, 884, 884, 884, 884, 628,
2992 629, 628, 948, 948, 630, 948, 472, 473, 850, 850,
2994 850, 850, 948, 904, 904, 851, 905, 905, 905, 905,
2995 906, 907, 948, 908, 908, 908, 908, 948, 872, 872,
2996 872, 872, 948, 851, 470, 382, 470, 948, 948, 471,
2997 885, 886, 473, 887, 887, 887, 887, 625, 625, 625,
2998 948, 948, 626, 948, 948, 948, 852, 852, 852, 852,
2999 948, 909, 910, 853, 911, 911, 911, 911, 912, 912,
3000 948, 913, 913, 913, 913, 574, 875, 875, 875, 875,
3001 948, 853, 722, 629, 722, 948, 948, 723, 890, 891,
3002 725, 892, 892, 892, 892, 633, 634, 633, 948, 948,
3003 635, 948, 284, 285, 855, 855, 855, 855, 948, 914,
3005 915, 856, 916, 916, 916, 916, 917, 918, 948, 919,
3006 919, 919, 919, 881, 881, 881, 881, 948, 948, 856,
3007 282, 172, 282, 948, 948, 283, 893, 894, 285, 895,
3008 895, 895, 895, 629, 629, 629, 948, 948, 638, 948,
3009 948, 948, 857, 857, 857, 857, 948, 920, 920, 858,
3010 921, 921, 921, 921, 922, 923, 948, 924, 924, 924,
3011 924, 881, 881, 881, 881, 948, 948, 858, 738, 634,
3012 738, 948, 948, 739, 898, 899, 741, 900, 900, 900,
3013 900, 640, 634, 640, 948, 948, 641, 948, 487, 488,
3014 860, 860, 860, 860, 948, 925, 926, 861, 927, 927,
3016 927, 927, 135, 130, 135, 948, 948, 136, 940, 941,
3017 940, 928, 948, 942, 948, 861, 485, 386, 485, 948,
3018 948, 486, 901, 902, 488, 903, 903, 903, 903, 708,
3019 625, 708, 948, 948, 709, 948, 710, 711, 884, 884,
3020 884, 884, 628, 629, 628, 948, 948, 630, 469, 472,
3021 889, 889, 889, 889, 897, 897, 897, 897, 631, 905,
3022 905, 905, 905, 905, 905, 905, 905, 908, 908, 908,
3023 908, 908, 908, 908, 908, 948, 631, 625, 625, 625,
3024 948, 948, 626, 948, 948, 948, 889, 889, 889, 889,
3025 722, 629, 722, 948, 948, 723, 948, 724, 725, 892,
3027 892, 892, 892, 633, 634, 633, 948, 948, 635, 281,
3028 284, 908, 908, 908, 908, 948, 948, 948, 864, 388,
3029 911, 911, 911, 911, 911, 911, 911, 911, 913, 913,
3030 913, 913, 916, 916, 916, 916, 864, 388, 629, 629,
3031 629, 948, 948, 638, 948, 948, 948, 897, 897, 897,
3032 897, 738, 634, 738, 948, 948, 739, 948, 740, 741,
3033 900, 900, 900, 900, 640, 634, 640, 948, 948, 641,
3034 484, 487, 948, 559, 911, 911, 911, 911, 948, 948,
3035 642, 666, 916, 916, 916, 916, 948, 948, 916, 916,
3036 916, 916, 135, 130, 135, 869, 948, 136, 642, 666,
3038 660, 660, 660, 948, 948, 661, 948, 948, 948, 913,
3039 913, 913, 913, 869, 919, 919, 919, 919, 919, 919,
3040 919, 919, 334, 919, 919, 919, 919, 937, 948, 948,
3041 415, 921, 921, 921, 921, 921, 921, 921, 921, 924,
3042 924, 924, 924, 924, 924, 924, 924, 948, 415, 924,
3043 924, 924, 924, 948, 948, 948, 874, 927, 927, 927,
3044 927, 927, 927, 927, 927, 574, 927, 927, 927, 927,
3045 135, 130, 135, 677, 874, 136, 135, 130, 135, 948,
3046 943, 136, 943, 948, 948, 944, 948, 940, 941, 940,
3047 948, 677, 942, 943, 946, 943, 946, 948, 944, 947,
3049 946, 946, 946, 946, 948, 947, 947, 946, 948, 946,
3050 948, 948, 947, 934, 948, 948, 948, 948, 936, 46,
3051 46, 46, 46, 46, 46, 46, 46, 80, 80, 80,
3052 80, 80, 80, 80, 80, 110, 110, 110, 110, 110,
3053 110, 110, 110, 120, 120, 120, 120, 120, 120, 120,
3054 120, 134, 134, 134, 134, 134, 134, 134, 134, 138,
3055 948, 948, 138, 175, 948, 948, 175, 948, 175, 175,
3056 175, 176, 176, 176, 176, 176, 176, 176, 176, 214,
3057 948, 948, 214, 948, 214, 214, 215, 215, 215, 215,
3058 215, 215, 215, 215, 230, 230, 948, 230, 948, 230,
3060 230, 230, 233, 233, 233, 233, 233, 233, 233, 233,
3061 239, 239, 948, 239, 239, 239, 239, 239, 257, 257,
3062 257, 257, 257, 257, 257, 257, 270, 270, 270, 270,
3063 270, 270, 270, 270, 276, 276, 948, 948, 276, 276,
3064 281, 281, 281, 281, 281, 281, 281, 281, 294, 294,
3065 294, 294, 294, 294, 294, 294, 305, 305, 305, 305,
3066 305, 305, 305, 305, 316, 316, 316, 316, 316, 316,
3067 316, 316, 330, 330, 330, 330, 330, 330, 330, 330,
3068 341, 341, 341, 341, 341, 341, 341, 341, 352, 352,
3069 352, 352, 352, 352, 352, 352, 230, 230, 948, 230,
3071 948, 230, 230, 230, 233, 233, 233, 233, 233, 233,
3072 233, 233, 239, 239, 948, 239, 239, 239, 239, 239,
3073 134, 134, 134, 134, 134, 134, 134, 134, 138, 948,
3074 948, 138, 257, 257, 257, 257, 257, 257, 257, 257,
3075 270, 270, 270, 270, 270, 270, 270, 270, 276, 276,
3076 948, 948, 276, 276, 281, 281, 281, 281, 281, 281,
3077 281, 281, 438, 438, 438, 438, 438, 438, 438, 438,
3078 453, 453, 453, 453, 453, 453, 453, 453, 469, 469,
3079 469, 469, 469, 469, 469, 469, 484, 484, 484, 484,
3080 484, 484, 484, 484, 294, 294, 294, 294, 294, 294,
3082 294, 294, 501, 501, 501, 501, 501, 501, 501, 501,
3083 305, 305, 305, 305, 305, 305, 305, 305, 516, 516,
3084 516, 516, 516, 516, 516, 516, 528, 528, 528, 528,
3085 528, 528, 528, 528, 316, 316, 316, 316, 316, 316,
3086 316, 316, 543, 543, 543, 543, 543, 543, 543, 543,
3087 555, 555, 555, 555, 555, 555, 555, 555, 330, 330,
3088 330, 330, 330, 330, 330, 330, 570, 570, 570, 570,
3089 570, 570, 570, 570, 341, 341, 341, 341, 341, 341,
3090 341, 341, 587, 587, 587, 587, 587, 587, 587, 587,
3091 352, 352, 352, 352, 352, 352, 352, 352, 602, 602,
3093 602, 602, 602, 602, 602, 602, 134, 134, 134, 134,
3094 134, 134, 134, 134, 138, 948, 948, 138, 438, 438,
3095 438, 438, 438, 438, 438, 438, 257, 257, 257, 257,
3096 257, 257, 257, 257, 453, 453, 453, 453, 453, 453,
3097 453, 453, 469, 469, 469, 469, 469, 469, 469, 469,
3098 281, 281, 281, 281, 281, 281, 281, 281, 484, 484,
3099 484, 484, 484, 484, 484, 484, 294, 294, 294, 294,
3100 294, 294, 294, 294, 501, 501, 501, 501, 501, 501,
3101 501, 501, 305, 305, 305, 305, 305, 305, 305, 305,
3102 516, 516, 516, 516, 516, 516, 516, 516, 528, 528,
3104 528, 528, 528, 528, 528, 528, 316, 316, 316, 316,
3105 316, 316, 316, 316, 543, 543, 543, 543, 543, 543,
3106 543, 543, 555, 555, 555, 555, 555, 555, 555, 555,
3107 330, 330, 330, 330, 330, 330, 330, 330, 570, 570,
3108 570, 570, 570, 570, 570, 570, 341, 341, 341, 341,
3109 341, 341, 341, 341, 587, 587, 587, 587, 587, 587,
3110 587, 587, 352, 352, 352, 352, 352, 352, 352, 352,
3111 602, 602, 602, 602, 602, 602, 602, 602, 134, 134,
3112 134, 134, 134, 134, 134, 134, 138, 948, 948, 138,
3113 438, 438, 438, 438, 438, 438, 438, 438, 257, 257,
3115 257, 257, 257, 257, 257, 257, 453, 453, 453, 453,
3116 453, 453, 453, 453, 707, 707, 707, 707, 707, 707,
3117 707, 707, 469, 469, 469, 469, 469, 469, 469, 469,
3118 721, 721, 721, 721, 721, 721, 721, 721, 281, 281,
3119 281, 281, 281, 281, 281, 281, 737, 737, 737, 737,
3120 737, 737, 737, 737, 484, 484, 484, 484, 484, 484,
3121 484, 484, 501, 501, 501, 501, 501, 501, 501, 501,
3122 305, 305, 305, 305, 305, 305, 305, 305, 516, 516,
3123 516, 516, 516, 516, 516, 516, 528, 528, 528, 528,
3124 528, 528, 528, 528, 316, 316, 316, 316, 316, 316,
3126 316, 316, 543, 543, 543, 543, 543, 543, 543, 543,
3127 783, 783, 783, 783, 783, 783, 783, 783, 555, 555,
3128 555, 555, 555, 555, 555, 555, 797, 797, 797, 797,
3129 797, 797, 797, 797, 330, 330, 330, 330, 330, 330,
3130 330, 330, 813, 813, 813, 813, 813, 813, 813, 813,
3131 570, 570, 570, 570, 570, 570, 570, 570, 587, 587,
3132 587, 587, 587, 587, 587, 587, 352, 352, 352, 352,
3133 352, 352, 352, 352, 602, 602, 602, 602, 602, 602,
3134 602, 602, 134, 134, 134, 134, 134, 134, 134, 134,
3135 138, 948, 948, 138, 438, 438, 438, 438, 438, 438,
3137 438, 438, 257, 257, 257, 257, 257, 257, 257, 257,
3138 453, 453, 453, 453, 453, 453, 453, 453, 707, 707,
3139 707, 707, 707, 707, 707, 707, 469, 469, 469, 469,
3140 469, 469, 469, 469, 721, 721, 721, 721, 721, 721,
3141 721, 721, 281, 281, 281, 281, 281, 281, 281, 281,
3142 737, 737, 737, 737, 737, 737, 737, 737, 484, 484,
3143 484, 484, 484, 484, 484, 484, 501, 501, 501, 501,
3144 501, 501, 501, 501, 305, 305, 305, 305, 305, 305,
3145 305, 305, 516, 516, 516, 516, 516, 516, 516, 516,
3146 528, 528, 528, 528, 528, 528, 528, 528, 316, 316,
3148 316, 316, 316, 316, 316, 316, 543, 543, 543, 543,
3149 543, 543, 543, 543, 783, 783, 783, 783, 783, 783,
3150 783, 783, 555, 555, 555, 555, 555, 555, 555, 555,
3151 797, 797, 797, 797, 797, 797, 797, 797, 330, 330,
3152 330, 330, 330, 330, 330, 330, 813, 813, 813, 813,
3153 813, 813, 813, 813, 570, 570, 570, 570, 570, 570,
3154 570, 570, 587, 587, 587, 587, 587, 587, 587, 587,
3155 352, 352, 352, 352, 352, 352, 352, 352, 602, 602,
3156 602, 602, 602, 602, 602, 602, 134, 134, 134, 134,
3157 134, 134, 134, 134, 138, 948, 948, 138, 707, 707,
3159 707, 707, 707, 707, 707, 707, 469, 469, 469, 469,
3160 469, 469, 469, 469, 721, 721, 721, 721, 721, 721,
3161 721, 721, 281, 281, 281, 281, 281, 281, 281, 281,
3162 737, 737, 737, 737, 737, 737, 737, 737, 484, 484,
3163 484, 484, 484, 484, 484, 484, 939, 939, 939, 939,
3164 939, 939, 939, 939, 945, 945, 948, 945, 945, 945,
3165 945, 945, 45, 948, 948, 948, 948, 948, 948, 948,
3166 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
3167 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
3168 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
3170 948, 948, 948, 948, 948, 948, 948, 948, 948, 948
3175 0, 1, 1, 1, 0, 0, 1, 2, 2, 2,
3176 885, 885, 2, 3, 3, 3, 3, 3, 3, 3,
3177 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3178 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3179 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3180 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3181 5, 5, 5, 60, 60, 5, 6, 6, 6, 431,
3182 1010, 6, 988, 431, 47, 47, 47, 5, 5, 47,
3183 48, 73, 48, 6, 6, 48, 5, 65, 65, 65,
3184 65, 65, 6, 7, 7, 7, 985, 73, 7, 983,
3186 7, 7, 7, 7, 7, 7, 66, 66, 66, 66,
3187 976, 7, 9, 9, 9, 9, 9, 9, 10, 10,
3188 10, 10, 10, 10, 11, 11, 11, 11, 11, 11,
3189 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
3190 13, 13, 14, 14, 14, 14, 14, 14, 15, 15,
3191 15, 15, 15, 15, 16, 16, 16, 16, 16, 16,
3192 17, 17, 17, 970, 17, 17, 18, 18, 18, 965,
3193 18, 18, 19, 19, 19, 19, 19, 19, 17, 68,
3194 68, 68, 68, 68, 18, 20, 20, 20, 20, 20,
3195 20, 21, 21, 21, 21, 21, 21, 22, 22, 22,
3197 22, 22, 22, 23, 23, 23, 23, 23, 23, 24,
3198 24, 24, 24, 24, 24, 25, 25, 25, 25, 25,
3199 25, 275, 933, 39, 39, 39, 25, 39, 39, 40,
3200 40, 40, 930, 40, 40, 464, 929, 275, 25, 879,
3201 25, 26, 26, 26, 26, 26, 26, 299, 51, 51,
3202 51, 464, 26, 51, 39, 346, 443, 41, 41, 41,
3203 40, 41, 41, 878, 26, 299, 26, 27, 27, 27,
3204 27, 27, 27, 346, 443, 42, 42, 42, 27, 42,
3205 42, 49, 49, 49, 886, 886, 49, 846, 41, 458,
3206 27, 844, 27, 28, 28, 28, 28, 28, 28, 69,
3208 69, 69, 69, 130, 28, 130, 42, 458, 130, 49,
3209 71, 71, 71, 71, 690, 465, 28, 689, 28, 29,
3210 29, 29, 29, 29, 29, 74, 74, 74, 74, 687,
3211 29, 465, 43, 43, 43, 43, 43, 43, 76, 76,
3212 76, 76, 29, 43, 29, 30, 30, 30, 30, 30,
3213 30, 77, 77, 77, 77, 77, 30, 615, 44, 44,
3214 44, 44, 44, 44, 78, 78, 78, 78, 30, 44,
3215 30, 31, 31, 31, 31, 31, 31, 70, 70, 70,
3216 70, 70, 31, 893, 893, 70, 85, 85, 85, 85,
3217 75, 75, 75, 75, 31, 614, 31, 32, 32, 32,
3219 32, 32, 32, 70, 88, 88, 88, 88, 32, 613,
3220 75, 82, 82, 82, 612, 82, 82, 497, 894, 894,
3221 32, 432, 32, 33, 33, 33, 75, 33, 33, 84,
3222 84, 84, 84, 84, 506, 497, 86, 86, 86, 86,
3223 86, 33, 901, 901, 86, 87, 87, 87, 87, 87,
3224 902, 902, 506, 33, 521, 33, 34, 34, 34, 428,
3225 34, 34, 86, 90, 90, 90, 90, 90, 91, 91,
3226 91, 91, 521, 369, 34, 93, 93, 93, 93, 93,
3227 94, 94, 94, 94, 368, 367, 34, 366, 34, 35,
3228 35, 35, 35, 35, 35, 99, 99, 99, 99, 99,
3230 35, 100, 100, 100, 100, 101, 101, 101, 101, 101,
3231 365, 364, 35, 101, 35, 36, 36, 36, 36, 36,
3232 36, 103, 103, 103, 103, 362, 36, 104, 104, 104,
3233 104, 101, 105, 105, 105, 105, 253, 252, 36, 251,
3234 36, 37, 37, 37, 37, 37, 37, 104, 108, 108,
3235 108, 108, 37, 107, 107, 107, 107, 107, 114, 114,
3236 114, 114, 114, 104, 37, 533, 37, 38, 38, 38,
3237 38, 38, 38, 115, 115, 115, 115, 250, 38, 548,
3238 112, 112, 112, 533, 112, 112, 118, 118, 118, 118,
3239 38, 249, 38, 67, 67, 67, 247, 548, 67, 246,
3241 245, 67, 67, 67, 67, 67, 121, 121, 121, 67,
3242 112, 121, 112, 117, 117, 117, 117, 117, 123, 123,
3243 123, 244, 123, 123, 152, 150, 149, 67, 72, 72,
3244 72, 148, 147, 72, 146, 144, 143, 72, 72, 72,
3245 72, 126, 126, 126, 126, 127, 127, 127, 127, 128,
3246 128, 128, 128, 129, 129, 129, 142, 72, 129, 131,
3247 131, 131, 583, 140, 131, 127, 132, 133, 132, 133,
3248 139, 132, 133, 72, 79, 79, 79, 124, 592, 79,
3249 583, 127, 79, 79, 79, 79, 79, 134, 134, 134,
3250 79, 113, 134, 135, 135, 135, 592, 607, 135, 136,
3252 136, 136, 96, 83, 136, 695, 703, 64, 79, 89,
3253 89, 89, 712, 63, 89, 607, 62, 89, 89, 89,
3254 89, 89, 61, 695, 703, 89, 137, 137, 137, 726,
3255 712, 137, 153, 153, 153, 153, 155, 155, 155, 155,
3256 155, 59, 58, 89, 92, 92, 92, 726, 57, 92,
3257 137, 56, 92, 92, 92, 92, 92, 742, 158, 158,
3258 92, 158, 158, 158, 158, 159, 159, 159, 159, 161,
3259 161, 161, 161, 55, 758, 742, 161, 54, 92, 95,
3260 95, 95, 766, 53, 95, 52, 45, 95, 95, 95,
3261 95, 95, 758, 0, 161, 95, 167, 167, 167, 167,
3263 766, 160, 160, 160, 160, 160, 166, 166, 166, 160,
3264 0, 166, 0, 95, 109, 109, 109, 0, 0, 109,
3265 0, 0, 109, 109, 109, 109, 109, 160, 162, 162,
3266 109, 162, 162, 162, 162, 169, 169, 169, 169, 171,
3267 171, 171, 171, 171, 179, 179, 179, 179, 109, 116,
3268 116, 116, 0, 0, 116, 771, 0, 116, 116, 116,
3269 116, 116, 0, 174, 174, 116, 174, 174, 174, 174,
3270 176, 176, 176, 771, 176, 176, 177, 177, 177, 779,
3271 177, 177, 0, 116, 119, 119, 119, 0, 0, 119,
3272 0, 0, 119, 119, 119, 119, 119, 779, 182, 182,
3274 119, 182, 182, 182, 182, 183, 183, 183, 183, 180,
3275 180, 180, 180, 180, 0, 0, 0, 180, 119, 156,
3276 156, 156, 0, 0, 156, 0, 156, 156, 156, 156,
3277 156, 156, 157, 157, 157, 180, 0, 157, 0, 157,
3278 157, 157, 157, 157, 157, 164, 164, 164, 788, 0,
3279 164, 0, 164, 0, 164, 164, 164, 164, 165, 165,
3280 165, 0, 0, 165, 0, 165, 788, 165, 165, 165,
3281 165, 172, 172, 172, 0, 0, 172, 0, 172, 172,
3282 172, 172, 172, 172, 173, 173, 173, 0, 0, 173,
3283 0, 173, 173, 173, 173, 173, 173, 181, 181, 181,
3285 181, 0, 0, 802, 181, 185, 185, 185, 185, 185,
3286 188, 188, 0, 188, 188, 188, 188, 189, 189, 189,
3287 189, 802, 181, 186, 186, 186, 0, 0, 186, 0,
3288 186, 186, 186, 186, 186, 186, 187, 187, 187, 818,
3289 834, 187, 842, 187, 187, 187, 187, 187, 187, 191,
3290 191, 191, 191, 191, 192, 192, 192, 818, 834, 192,
3291 842, 192, 192, 192, 192, 192, 192, 193, 193, 193,
3292 0, 0, 193, 0, 193, 193, 193, 193, 193, 193,
3293 194, 194, 884, 194, 194, 194, 194, 195, 195, 195,
3294 195, 197, 197, 197, 197, 197, 198, 198, 198, 0,
3296 884, 198, 0, 198, 198, 198, 198, 198, 198, 199,
3297 199, 199, 0, 0, 199, 0, 199, 199, 199, 199,
3298 199, 199, 200, 200, 0, 200, 200, 200, 200, 202,
3299 202, 202, 202, 203, 203, 203, 203, 203, 0, 0,
3300 892, 203, 204, 204, 204, 204, 900, 205, 205, 204,
3301 205, 205, 205, 205, 206, 206, 206, 206, 892, 203,
3302 208, 208, 208, 208, 900, 0, 0, 204, 210, 210,
3303 210, 210, 210, 211, 211, 211, 0, 0, 211, 0,
3304 211, 211, 211, 211, 211, 211, 212, 212, 212, 0,
3305 0, 212, 0, 212, 212, 212, 212, 212, 212, 213,
3307 213, 0, 213, 213, 213, 213, 215, 215, 215, 0,
3308 215, 215, 216, 216, 216, 0, 216, 216, 218, 218,
3309 218, 218, 220, 220, 220, 220, 220, 223, 223, 0,
3310 223, 223, 223, 223, 0, 239, 215, 239, 215, 0,
3311 239, 0, 216, 0, 216, 221, 221, 221, 0, 0,
3312 221, 0, 221, 221, 221, 221, 221, 221, 222, 222,
3313 222, 0, 0, 222, 0, 222, 222, 222, 222, 222,
3314 222, 224, 224, 224, 224, 225, 225, 225, 0, 0,
3315 225, 0, 0, 225, 225, 225, 225, 225, 0, 0,
3316 0, 225, 226, 226, 226, 226, 226, 229, 229, 0,
3318 229, 229, 229, 229, 237, 237, 237, 237, 0, 225,
3319 227, 227, 227, 0, 0, 227, 0, 227, 227, 227,
3320 227, 227, 227, 228, 228, 228, 0, 0, 228, 0,
3321 228, 228, 228, 228, 228, 228, 231, 231, 231, 0,
3322 0, 231, 232, 232, 232, 0, 232, 232, 233, 233,
3323 233, 0, 233, 233, 234, 234, 234, 0, 234, 234,
3324 235, 235, 235, 0, 235, 235, 240, 241, 240, 241,
3325 0, 240, 241, 242, 242, 242, 0, 0, 242, 254,
3326 254, 254, 254, 254, 255, 255, 255, 255, 263, 263,
3327 263, 263, 0, 242, 256, 256, 256, 0, 0, 256,
3329 0, 0, 256, 256, 256, 256, 256, 0, 0, 0,
3330 256, 262, 262, 262, 0, 0, 262, 265, 265, 265,
3331 265, 266, 266, 266, 266, 0, 0, 262, 256, 257,
3332 257, 257, 0, 0, 257, 0, 257, 257, 257, 257,
3333 257, 257, 258, 258, 258, 262, 0, 258, 0, 258,
3334 258, 258, 258, 258, 258, 264, 264, 264, 0, 0,
3335 264, 0, 0, 0, 264, 264, 264, 264, 267, 267,
3336 267, 267, 268, 268, 268, 268, 269, 269, 269, 269,
3337 276, 276, 276, 0, 0, 276, 278, 278, 278, 278,
3338 278, 0, 268, 279, 279, 279, 279, 287, 287, 287,
3340 287, 289, 289, 289, 289, 0, 0, 0, 268, 270,
3341 270, 270, 0, 0, 270, 0, 270, 0, 270, 270,
3342 270, 270, 271, 271, 271, 0, 0, 271, 0, 271,
3343 0, 271, 271, 271, 271, 272, 272, 272, 0, 0,
3344 272, 0, 272, 0, 272, 272, 272, 272, 273, 273,
3345 273, 0, 0, 273, 0, 273, 0, 273, 273, 273,
3346 273, 274, 274, 274, 0, 0, 274, 0, 274, 0,
3347 274, 274, 274, 274, 0, 0, 286, 286, 286, 0,
3348 0, 286, 290, 290, 290, 290, 292, 292, 292, 292,
3349 274, 0, 286, 291, 291, 291, 291, 291, 300, 300,
3351 300, 300, 303, 303, 303, 303, 274, 280, 280, 280,
3352 286, 0, 280, 0, 0, 280, 280, 280, 280, 280,
3353 0, 0, 0, 280, 302, 302, 302, 302, 302, 0,
3354 0, 0, 293, 293, 293, 293, 293, 0, 0, 0,
3355 293, 280, 281, 281, 281, 0, 0, 281, 0, 281,
3356 281, 281, 281, 281, 281, 282, 282, 282, 293, 0,
3357 282, 0, 282, 282, 282, 282, 282, 282, 288, 288,
3358 288, 0, 0, 288, 0, 0, 0, 288, 288, 288,
3359 288, 294, 294, 294, 0, 0, 294, 0, 294, 294,
3360 294, 294, 294, 294, 301, 301, 301, 0, 0, 301,
3362 0, 0, 0, 301, 301, 301, 301, 304, 304, 304,
3363 0, 0, 304, 0, 0, 304, 304, 304, 304, 304,
3364 0, 0, 0, 304, 310, 310, 310, 0, 0, 310,
3365 311, 311, 311, 311, 313, 313, 313, 313, 313, 0,
3366 310, 304, 305, 305, 305, 0, 0, 305, 0, 305,
3367 305, 305, 305, 305, 305, 0, 0, 0, 310, 312,
3368 312, 312, 0, 0, 312, 0, 0, 0, 312, 312,
3369 312, 312, 314, 314, 314, 314, 315, 315, 315, 0,
3370 0, 315, 0, 0, 315, 315, 315, 315, 315, 0,
3371 0, 0, 315, 321, 321, 321, 0, 0, 321, 322,
3373 322, 322, 322, 324, 324, 324, 324, 0, 0, 321,
3374 315, 316, 316, 316, 0, 0, 316, 0, 316, 316,
3375 316, 316, 316, 316, 0, 0, 0, 321, 323, 323,
3376 323, 0, 0, 323, 0, 0, 0, 323, 323, 323,
3377 323, 325, 325, 325, 325, 327, 327, 327, 327, 327,
3378 328, 328, 328, 328, 329, 329, 329, 0, 0, 329,
3379 0, 0, 329, 329, 329, 329, 329, 0, 0, 0,
3380 329, 335, 335, 335, 0, 0, 335, 336, 336, 336,
3381 336, 338, 338, 338, 338, 338, 0, 335, 329, 330,
3382 330, 330, 0, 0, 330, 0, 330, 330, 330, 330,
3384 330, 330, 0, 0, 0, 335, 337, 337, 337, 0,
3385 0, 337, 0, 0, 0, 337, 337, 337, 337, 339,
3386 339, 339, 339, 340, 340, 340, 340, 340, 0, 0,
3387 0, 340, 347, 347, 347, 347, 349, 349, 349, 349,
3388 349, 350, 350, 350, 350, 358, 358, 358, 358, 340,
3389 341, 341, 341, 0, 0, 341, 0, 341, 341, 341,
3390 341, 341, 341, 348, 348, 348, 0, 0, 348, 0,
3391 0, 0, 348, 348, 348, 348, 351, 351, 351, 0,
3392 0, 351, 0, 0, 351, 351, 351, 351, 351, 0,
3393 0, 0, 351, 357, 357, 357, 0, 0, 357, 371,
3395 371, 371, 371, 371, 381, 381, 381, 381, 381, 357,
3396 351, 352, 352, 352, 0, 0, 352, 0, 352, 352,
3397 352, 352, 352, 352, 0, 0, 0, 357, 359, 359,
3398 359, 0, 0, 359, 0, 0, 0, 359, 359, 359,
3399 359, 361, 361, 361, 374, 374, 361, 374, 374, 374,
3400 374, 378, 378, 0, 378, 378, 378, 378, 0, 0,
3401 361, 372, 372, 372, 0, 0, 372, 0, 372, 372,
3402 372, 372, 372, 372, 373, 373, 373, 0, 0, 373,
3403 0, 373, 373, 373, 373, 373, 373, 375, 375, 375,
3404 0, 0, 375, 0, 375, 375, 375, 375, 375, 375,
3406 376, 376, 376, 0, 0, 376, 0, 376, 376, 376,
3407 376, 376, 376, 377, 377, 377, 0, 0, 377, 0,
3408 377, 377, 377, 377, 377, 377, 380, 380, 380, 380,
3409 380, 380, 380, 380, 380, 384, 384, 0, 384, 384,
3410 384, 384, 389, 389, 389, 389, 380, 0, 0, 389,
3411 380, 380, 380, 390, 390, 0, 390, 390, 390, 390,
3412 0, 0, 380, 382, 382, 382, 0, 389, 382, 0,
3413 382, 382, 382, 382, 382, 382, 383, 383, 383, 0,
3414 0, 383, 0, 383, 383, 383, 383, 383, 383, 385,
3415 385, 385, 0, 0, 385, 0, 385, 385, 385, 385,
3417 385, 385, 386, 386, 386, 0, 0, 386, 0, 386,
3418 386, 386, 386, 386, 386, 387, 387, 387, 0, 0,
3419 387, 0, 387, 387, 387, 387, 387, 387, 388, 388,
3420 388, 0, 0, 388, 388, 388, 388, 388, 388, 388,
3421 388, 391, 391, 391, 0, 0, 391, 391, 391, 391,
3422 391, 391, 391, 391, 392, 392, 392, 0, 0, 392,
3423 0, 0, 0, 392, 392, 392, 392, 0, 395, 395,
3424 392, 395, 395, 395, 395, 403, 403, 0, 403, 403,
3425 403, 403, 427, 427, 427, 0, 0, 427, 392, 393,
3426 393, 393, 0, 0, 393, 0, 393, 393, 393, 393,
3428 393, 393, 394, 394, 394, 0, 0, 394, 0, 394,
3429 394, 394, 394, 394, 394, 396, 396, 396, 0, 0,
3430 396, 0, 396, 396, 396, 396, 396, 396, 397, 397,
3431 397, 0, 0, 397, 0, 397, 397, 397, 397, 397,
3432 397, 398, 398, 398, 0, 0, 398, 0, 398, 398,
3433 398, 398, 398, 398, 399, 399, 399, 0, 0, 399,
3434 399, 399, 399, 399, 399, 399, 399, 400, 400, 400,
3435 0, 0, 400, 0, 0, 0, 400, 400, 400, 400,
3436 0, 411, 411, 400, 411, 411, 411, 411, 435, 435,
3437 435, 435, 435, 416, 416, 416, 416, 0, 0, 0,
3439 416, 400, 401, 401, 401, 0, 0, 401, 0, 401,
3440 401, 401, 401, 401, 401, 402, 402, 402, 416, 0,
3441 402, 0, 402, 402, 402, 402, 402, 402, 404, 404,
3442 404, 0, 0, 404, 0, 404, 404, 404, 404, 404,
3443 404, 405, 405, 405, 0, 0, 405, 0, 405, 405,
3444 405, 405, 405, 405, 406, 406, 406, 0, 0, 406,
3445 0, 406, 406, 406, 406, 406, 406, 407, 407, 407,
3446 0, 0, 407, 407, 407, 407, 407, 407, 407, 407,
3447 408, 408, 408, 0, 0, 408, 0, 0, 0, 408,
3448 408, 408, 408, 0, 417, 417, 408, 417, 417, 417,
3450 417, 422, 422, 0, 422, 422, 422, 422, 436, 436,
3451 436, 436, 0, 0, 408, 409, 409, 409, 0, 0,
3452 409, 0, 409, 409, 409, 409, 409, 409, 410, 410,
3453 410, 0, 0, 410, 0, 410, 410, 410, 410, 410,
3454 410, 412, 412, 412, 0, 0, 412, 0, 412, 412,
3455 412, 412, 412, 412, 413, 413, 413, 0, 0, 413,
3456 0, 413, 413, 413, 413, 413, 413, 414, 414, 414,
3457 0, 0, 414, 0, 414, 414, 414, 414, 414, 414,
3458 415, 415, 415, 0, 0, 415, 415, 415, 415, 415,
3459 415, 415, 415, 418, 418, 418, 0, 0, 418, 418,
3461 418, 418, 418, 418, 418, 418, 419, 419, 419, 0,
3462 0, 419, 0, 0, 0, 419, 419, 419, 419, 0,
3463 0, 0, 419, 444, 444, 444, 444, 451, 451, 451,
3464 451, 437, 437, 437, 437, 437, 0, 0, 0, 437,
3465 419, 420, 420, 420, 0, 0, 420, 0, 420, 420,
3466 420, 420, 420, 420, 421, 421, 421, 437, 0, 421,
3467 0, 421, 421, 421, 421, 421, 421, 423, 423, 423,
3468 0, 0, 423, 0, 423, 423, 423, 423, 423, 423,
3469 424, 424, 424, 0, 0, 424, 0, 424, 424, 424,
3470 424, 424, 424, 425, 425, 425, 0, 0, 425, 0,
3472 425, 425, 425, 425, 425, 425, 426, 426, 426, 0,
3473 0, 426, 426, 426, 426, 426, 426, 426, 426, 438,
3474 438, 438, 0, 0, 438, 0, 438, 438, 438, 438,
3475 438, 438, 439, 439, 439, 0, 0, 439, 0, 439,
3476 439, 439, 439, 439, 439, 445, 445, 445, 0, 0,
3477 445, 0, 0, 0, 445, 445, 445, 445, 446, 446,
3478 446, 0, 0, 446, 0, 446, 446, 446, 446, 446,
3479 446, 447, 447, 447, 0, 0, 447, 0, 447, 447,
3480 447, 447, 447, 447, 448, 448, 448, 0, 0, 448,
3481 0, 0, 448, 448, 448, 448, 448, 0, 0, 0,
3483 448, 450, 450, 450, 450, 450, 459, 459, 459, 459,
3484 460, 460, 460, 460, 467, 467, 467, 467, 448, 449,
3485 449, 449, 0, 0, 449, 0, 449, 449, 449, 449,
3486 449, 449, 452, 452, 452, 0, 0, 452, 0, 0,
3487 452, 452, 452, 452, 452, 0, 0, 0, 452, 466,
3488 466, 466, 466, 466, 461, 461, 461, 461, 461, 686,
3489 686, 686, 461, 0, 686, 0, 452, 453, 453, 453,
3490 686, 0, 453, 0, 453, 453, 453, 453, 453, 453,
3491 461, 463, 463, 463, 463, 463, 463, 463, 463, 463,
3492 463, 463, 463, 463, 463, 463, 463, 463, 463, 463,
3494 463, 463, 463, 463, 463, 463, 463, 463, 463, 463,
3495 463, 463, 463, 463, 463, 463, 463, 463, 463, 463,
3496 463, 463, 463, 463, 463, 463, 463, 463, 468, 468,
3497 468, 0, 0, 468, 0, 0, 468, 468, 468, 468,
3498 468, 0, 0, 0, 468, 474, 474, 474, 0, 0,
3499 474, 475, 475, 475, 475, 481, 481, 481, 481, 481,
3500 0, 474, 468, 469, 469, 469, 0, 0, 469, 0,
3501 469, 469, 469, 469, 469, 469, 470, 470, 470, 474,
3502 0, 470, 0, 470, 470, 470, 470, 470, 470, 476,
3503 476, 476, 0, 0, 476, 0, 0, 0, 476, 476,
3505 476, 476, 477, 477, 477, 0, 0, 477, 0, 477,
3506 477, 477, 477, 477, 477, 478, 478, 478, 0, 0,
3507 478, 0, 478, 478, 478, 478, 478, 478, 479, 479,
3508 479, 0, 0, 479, 0, 0, 479, 479, 479, 479,
3509 479, 0, 0, 0, 479, 482, 482, 482, 482, 490,
3510 490, 490, 490, 491, 491, 491, 491, 493, 493, 493,
3511 493, 0, 479, 480, 480, 480, 0, 0, 480, 0,
3512 480, 480, 480, 480, 480, 480, 483, 483, 483, 0,
3513 0, 483, 0, 0, 483, 483, 483, 483, 483, 0,
3514 0, 0, 483, 489, 489, 489, 0, 0, 489, 494,
3516 494, 494, 494, 498, 498, 498, 498, 498, 0, 489,
3517 483, 484, 484, 484, 0, 0, 484, 0, 484, 484,
3518 484, 484, 484, 484, 0, 0, 0, 489, 492, 492,
3519 492, 0, 0, 492, 0, 0, 0, 492, 492, 492,
3520 492, 0, 0, 0, 492, 499, 499, 499, 499, 507,
3521 507, 507, 507, 500, 500, 500, 500, 500, 0, 0,
3522 0, 500, 492, 495, 495, 495, 0, 0, 495, 0,
3523 495, 495, 495, 495, 495, 495, 496, 496, 496, 500,
3524 0, 496, 0, 496, 496, 496, 496, 496, 496, 501,
3525 501, 501, 0, 0, 501, 0, 501, 501, 501, 501,
3527 501, 501, 502, 502, 502, 0, 0, 502, 0, 502,
3528 502, 502, 502, 502, 502, 508, 508, 508, 0, 0,
3529 508, 0, 0, 0, 508, 508, 508, 508, 509, 509,
3530 509, 0, 0, 509, 0, 509, 509, 509, 509, 509,
3531 509, 510, 510, 510, 0, 0, 510, 0, 510, 510,
3532 510, 510, 510, 510, 511, 511, 511, 0, 0, 511,
3533 0, 0, 511, 511, 511, 511, 511, 0, 0, 0,
3534 511, 513, 513, 513, 513, 513, 514, 514, 514, 514,
3535 522, 522, 522, 522, 523, 523, 523, 523, 511, 512,
3536 512, 512, 0, 0, 512, 0, 512, 512, 512, 512,
3538 512, 512, 515, 515, 515, 0, 0, 515, 0, 0,
3539 515, 515, 515, 515, 515, 0, 0, 0, 515, 525,
3540 525, 525, 525, 525, 524, 524, 524, 524, 524, 928,
3541 928, 928, 524, 0, 928, 0, 515, 516, 516, 516,
3542 0, 0, 516, 0, 516, 516, 516, 516, 516, 516,
3543 524, 526, 526, 526, 526, 527, 527, 527, 527, 527,
3544 0, 0, 0, 527, 534, 534, 534, 534, 540, 540,
3545 540, 540, 540, 541, 541, 541, 541, 549, 549, 549,
3546 549, 527, 528, 528, 528, 0, 0, 528, 0, 528,
3547 528, 528, 528, 528, 528, 529, 529, 529, 0, 0,
3549 529, 0, 529, 529, 529, 529, 529, 529, 535, 535,
3550 535, 0, 0, 535, 0, 0, 0, 535, 535, 535,
3551 535, 536, 536, 536, 0, 0, 536, 0, 536, 536,
3552 536, 536, 536, 536, 537, 537, 537, 0, 0, 537,
3553 0, 537, 537, 537, 537, 537, 537, 538, 538, 538,
3554 0, 0, 538, 0, 0, 538, 538, 538, 538, 538,
3555 0, 0, 0, 538, 550, 550, 550, 550, 553, 553,
3556 553, 553, 551, 551, 551, 551, 551, 0, 0, 0,
3557 551, 538, 539, 539, 539, 0, 0, 539, 0, 539,
3558 539, 539, 539, 539, 539, 542, 542, 542, 551, 0,
3560 542, 0, 0, 542, 542, 542, 542, 542, 0, 0,
3561 0, 542, 552, 552, 552, 552, 552, 561, 561, 561,
3562 561, 567, 567, 567, 567, 567, 0, 0, 0, 542,
3563 543, 543, 543, 0, 0, 543, 0, 543, 543, 543,
3564 543, 543, 543, 554, 554, 554, 0, 0, 554, 0,
3565 0, 554, 554, 554, 554, 554, 0, 0, 0, 554,
3566 560, 560, 560, 0, 0, 560, 568, 568, 568, 568,
3567 576, 576, 576, 576, 0, 0, 560, 554, 555, 555,
3568 555, 0, 0, 555, 0, 555, 555, 555, 555, 555,
3569 555, 556, 556, 556, 560, 0, 556, 0, 556, 556,
3571 556, 556, 556, 556, 562, 562, 562, 0, 0, 562,
3572 0, 0, 0, 562, 562, 562, 562, 563, 563, 563,
3573 0, 0, 563, 0, 563, 563, 563, 563, 563, 563,
3574 564, 564, 564, 0, 0, 564, 0, 564, 564, 564,
3575 564, 564, 564, 565, 565, 565, 0, 0, 565, 0,
3576 0, 565, 565, 565, 565, 565, 0, 0, 0, 565,
3577 575, 575, 575, 0, 0, 575, 577, 577, 577, 577,
3578 579, 579, 579, 579, 0, 0, 575, 565, 566, 566,
3579 566, 0, 0, 566, 0, 566, 566, 566, 566, 566,
3580 566, 569, 569, 569, 575, 0, 569, 0, 0, 569,
3582 569, 569, 569, 569, 0, 0, 0, 569, 580, 580,
3583 580, 580, 584, 584, 584, 584, 584, 585, 585, 585,
3584 585, 593, 593, 593, 593, 569, 570, 570, 570, 0,
3585 0, 570, 0, 570, 570, 570, 570, 570, 570, 578,
3586 578, 578, 0, 0, 578, 0, 0, 0, 578, 578,
3587 578, 578, 0, 0, 0, 578, 599, 599, 599, 599,
3588 599, 0, 0, 0, 586, 586, 586, 586, 586, 0,
3589 0, 0, 586, 578, 581, 581, 581, 0, 0, 581,
3590 0, 581, 581, 581, 581, 581, 581, 582, 582, 582,
3591 586, 0, 582, 0, 582, 582, 582, 582, 582, 582,
3593 587, 587, 587, 0, 0, 587, 0, 587, 587, 587,
3594 587, 587, 587, 588, 588, 588, 0, 0, 588, 0,
3595 588, 588, 588, 588, 588, 588, 594, 594, 594, 0,
3596 0, 594, 0, 0, 0, 594, 594, 594, 594, 595,
3597 595, 595, 0, 0, 595, 0, 595, 595, 595, 595,
3598 595, 595, 596, 596, 596, 0, 0, 596, 0, 596,
3599 596, 596, 596, 596, 596, 597, 597, 597, 0, 0,
3600 597, 0, 0, 597, 597, 597, 597, 597, 0, 0,
3601 0, 597, 600, 600, 600, 600, 608, 608, 608, 608,
3602 609, 609, 609, 609, 691, 691, 691, 691, 0, 597,
3604 598, 598, 598, 0, 0, 598, 0, 598, 598, 598,
3605 598, 598, 598, 601, 601, 601, 0, 0, 601, 0,
3606 0, 601, 601, 601, 601, 601, 611, 611, 611, 601,
3607 0, 611, 0, 0, 0, 610, 610, 610, 610, 610,
3608 937, 937, 937, 610, 0, 937, 0, 601, 602, 602,
3609 602, 0, 937, 602, 611, 602, 602, 602, 602, 602,
3610 602, 610, 616, 616, 616, 616, 0, 617, 617, 616,
3611 617, 617, 617, 617, 622, 622, 0, 622, 622, 622,
3612 622, 692, 692, 692, 692, 0, 0, 616, 618, 618,
3613 618, 0, 0, 618, 618, 618, 618, 618, 618, 618,
3615 618, 619, 619, 619, 0, 0, 619, 0, 619, 619,
3616 619, 619, 619, 619, 0, 627, 627, 619, 627, 627,
3617 627, 627, 639, 639, 0, 639, 639, 639, 639, 699,
3618 699, 699, 699, 0, 0, 619, 620, 620, 620, 0,
3619 0, 620, 620, 620, 620, 620, 620, 620, 620, 621,
3620 621, 621, 0, 0, 621, 0, 0, 0, 621, 621,
3621 621, 621, 0, 644, 644, 621, 644, 644, 644, 644,
3622 704, 704, 704, 704, 704, 643, 643, 643, 643, 0,
3623 0, 0, 643, 621, 623, 623, 623, 0, 0, 623,
3624 623, 623, 623, 623, 623, 623, 623, 624, 624, 624,
3626 643, 0, 624, 0, 0, 0, 624, 624, 624, 624,
3627 0, 649, 649, 624, 649, 649, 649, 649, 705, 705,
3628 705, 705, 0, 651, 651, 651, 651, 0, 0, 0,
3629 651, 624, 625, 625, 625, 0, 0, 625, 0, 625,
3630 625, 625, 625, 625, 625, 626, 626, 626, 651, 0,
3631 626, 0, 626, 626, 626, 626, 626, 626, 628, 628,
3632 628, 0, 0, 628, 0, 628, 628, 628, 628, 628,
3633 628, 629, 629, 629, 0, 0, 629, 0, 629, 629,
3634 629, 629, 629, 629, 630, 630, 630, 0, 0, 630,
3635 0, 630, 630, 630, 630, 630, 630, 631, 631, 631,
3637 0, 0, 631, 631, 631, 631, 631, 631, 631, 631,
3638 632, 632, 632, 0, 0, 632, 0, 632, 632, 632,
3639 632, 632, 632, 0, 652, 652, 632, 652, 652, 652,
3640 652, 657, 657, 0, 657, 657, 657, 657, 713, 713,
3641 713, 713, 0, 0, 632, 633, 633, 633, 0, 0,
3642 633, 0, 633, 633, 633, 633, 633, 633, 634, 634,
3643 634, 0, 0, 634, 0, 634, 634, 634, 634, 634,
3644 634, 635, 635, 635, 0, 0, 635, 0, 635, 635,
3645 635, 635, 635, 635, 636, 636, 636, 0, 0, 636,
3646 636, 636, 636, 636, 636, 636, 636, 637, 637, 637,
3648 0, 0, 637, 0, 0, 0, 637, 637, 637, 637,
3649 0, 662, 662, 637, 662, 662, 662, 662, 674, 674,
3650 0, 674, 674, 674, 674, 718, 718, 718, 718, 718,
3651 0, 637, 638, 638, 638, 0, 0, 638, 0, 638,
3652 638, 638, 638, 638, 638, 640, 640, 640, 0, 0,
3653 640, 0, 640, 640, 640, 640, 640, 640, 641, 641,
3654 641, 0, 0, 641, 0, 641, 641, 641, 641, 641,
3655 641, 642, 642, 642, 0, 0, 642, 642, 642, 642,
3656 642, 642, 642, 642, 645, 645, 645, 0, 0, 645,
3657 645, 645, 645, 645, 645, 645, 645, 646, 646, 646,
3659 0, 0, 646, 0, 646, 646, 646, 646, 646, 646,
3660 0, 679, 679, 646, 679, 679, 679, 679, 719, 719,
3661 719, 719, 0, 678, 678, 678, 678, 0, 0, 0,
3662 678, 646, 647, 647, 647, 0, 0, 647, 647, 647,
3663 647, 647, 647, 647, 647, 648, 648, 648, 678, 0,
3664 648, 0, 0, 0, 648, 648, 648, 648, 0, 684,
3665 684, 648, 684, 684, 684, 684, 727, 727, 727, 727,
3666 706, 706, 706, 706, 706, 0, 0, 0, 706, 648,
3667 650, 650, 650, 0, 0, 650, 650, 650, 650, 650,
3668 650, 650, 650, 653, 653, 653, 706, 0, 653, 653,
3670 653, 653, 653, 653, 653, 653, 654, 654, 654, 0,
3671 0, 654, 0, 654, 654, 654, 654, 654, 654, 0,
3672 0, 0, 654, 698, 698, 698, 0, 0, 698, 728,
3673 728, 728, 728, 734, 734, 734, 734, 734, 0, 698,
3674 654, 655, 655, 655, 0, 0, 655, 655, 655, 655,
3675 655, 655, 655, 655, 656, 656, 656, 698, 0, 656,
3676 0, 0, 0, 656, 656, 656, 656, 0, 0, 0,
3677 656, 735, 735, 735, 735, 743, 743, 743, 743, 729,
3678 729, 729, 729, 729, 0, 0, 0, 729, 656, 658,
3679 658, 658, 0, 0, 658, 658, 658, 658, 658, 658,
3681 658, 658, 659, 659, 659, 729, 0, 659, 0, 0,
3682 0, 659, 659, 659, 659, 0, 0, 0, 659, 744,
3683 744, 744, 744, 746, 746, 746, 746, 745, 745, 745,
3684 745, 745, 0, 0, 0, 745, 659, 660, 660, 660,
3685 0, 0, 660, 0, 660, 660, 660, 660, 660, 660,
3686 661, 661, 661, 745, 0, 661, 0, 661, 661, 661,
3687 661, 661, 661, 663, 663, 663, 0, 0, 663, 0,
3688 663, 663, 663, 663, 663, 663, 664, 664, 664, 0,
3689 0, 664, 0, 664, 664, 664, 664, 664, 664, 665,
3690 665, 665, 0, 0, 665, 0, 665, 665, 665, 665,
3692 665, 665, 666, 666, 666, 0, 0, 666, 666, 666,
3693 666, 666, 666, 666, 666, 667, 667, 667, 0, 0,
3694 667, 0, 667, 667, 667, 667, 667, 667, 0, 0,
3695 0, 667, 751, 751, 751, 751, 752, 752, 752, 752,
3696 753, 753, 753, 753, 753, 0, 0, 0, 753, 667,
3697 668, 668, 668, 0, 0, 668, 0, 668, 668, 668,
3698 668, 668, 668, 669, 669, 669, 753, 0, 669, 0,
3699 669, 669, 669, 669, 669, 669, 670, 670, 670, 0,
3700 0, 670, 0, 670, 670, 670, 670, 670, 670, 671,
3701 671, 671, 0, 0, 671, 671, 671, 671, 671, 671,
3703 671, 671, 672, 672, 672, 0, 0, 672, 0, 0,
3704 0, 672, 672, 672, 672, 0, 0, 0, 672, 754,
3705 754, 754, 754, 755, 755, 755, 755, 762, 762, 762,
3706 762, 767, 767, 767, 767, 0, 672, 673, 673, 673,
3707 0, 0, 673, 0, 673, 673, 673, 673, 673, 673,
3708 675, 675, 675, 0, 0, 675, 0, 675, 675, 675,
3709 675, 675, 675, 676, 676, 676, 0, 0, 676, 0,
3710 676, 676, 676, 676, 676, 676, 677, 677, 677, 0,
3711 0, 677, 677, 677, 677, 677, 677, 677, 677, 680,
3712 680, 680, 0, 0, 680, 680, 680, 680, 680, 680,
3714 680, 680, 681, 681, 681, 0, 0, 681, 0, 681,
3715 681, 681, 681, 681, 681, 0, 0, 0, 681, 761,
3716 761, 761, 0, 0, 761, 768, 768, 768, 768, 775,
3717 775, 775, 775, 0, 0, 761, 681, 682, 682, 682,
3718 0, 0, 682, 682, 682, 682, 682, 682, 682, 682,
3719 683, 683, 683, 761, 0, 683, 0, 0, 0, 683,
3720 683, 683, 683, 0, 0, 0, 683, 774, 774, 774,
3721 0, 0, 774, 780, 780, 780, 780, 780, 781, 781,
3722 781, 781, 0, 774, 683, 685, 685, 685, 0, 0,
3723 685, 685, 685, 685, 685, 685, 685, 685, 693, 693,
3725 693, 774, 0, 693, 0, 693, 693, 693, 693, 693,
3726 693, 694, 694, 694, 0, 0, 694, 0, 694, 694,
3727 694, 694, 694, 694, 696, 696, 696, 0, 0, 696,
3728 0, 696, 696, 696, 696, 696, 696, 697, 697, 697,
3729 0, 0, 697, 0, 697, 697, 697, 697, 697, 697,
3730 700, 700, 700, 0, 0, 700, 0, 0, 0, 700,
3731 700, 700, 700, 701, 701, 701, 0, 0, 701, 0,
3732 701, 701, 701, 701, 701, 701, 702, 702, 702, 0,
3733 0, 702, 0, 702, 702, 702, 702, 702, 702, 707,
3734 707, 707, 0, 0, 707, 0, 707, 707, 707, 707,
3736 707, 707, 708, 708, 708, 0, 0, 708, 0, 708,
3737 708, 708, 708, 708, 708, 714, 714, 714, 0, 0,
3738 714, 0, 0, 0, 714, 714, 714, 714, 715, 715,
3739 715, 0, 0, 715, 0, 715, 715, 715, 715, 715,
3740 715, 716, 716, 716, 0, 0, 716, 0, 716, 716,
3741 716, 716, 716, 716, 717, 717, 717, 0, 0, 717,
3742 0, 0, 717, 717, 717, 717, 717, 0, 0, 0,
3743 717, 789, 789, 789, 789, 0, 782, 782, 782, 782,
3744 782, 938, 938, 938, 782, 0, 938, 0, 717, 720,
3745 720, 720, 0, 0, 720, 0, 0, 720, 720, 720,
3747 720, 720, 782, 0, 0, 720, 794, 794, 794, 794,
3748 794, 795, 795, 795, 795, 803, 803, 803, 803, 804,
3749 804, 804, 804, 720, 721, 721, 721, 0, 0, 721,
3750 0, 721, 721, 721, 721, 721, 721, 722, 722, 722,
3751 0, 0, 722, 0, 722, 722, 722, 722, 722, 722,
3752 730, 730, 730, 0, 0, 730, 0, 730, 730, 730,
3753 730, 730, 730, 731, 731, 731, 0, 0, 731, 0,
3754 731, 731, 731, 731, 731, 731, 732, 732, 732, 0,
3755 0, 732, 0, 0, 732, 732, 732, 732, 732, 0,
3756 0, 0, 732, 810, 810, 810, 810, 810, 0, 0,
3758 0, 805, 805, 805, 805, 805, 0, 0, 0, 805,
3759 732, 733, 733, 733, 0, 0, 733, 0, 733, 733,
3760 733, 733, 733, 733, 736, 736, 736, 805, 0, 736,
3761 0, 0, 736, 736, 736, 736, 736, 0, 0, 0,
3762 736, 811, 811, 811, 811, 819, 819, 819, 819, 820,
3763 820, 820, 820, 822, 822, 822, 822, 0, 736, 737,
3764 737, 737, 0, 0, 737, 0, 737, 737, 737, 737,
3765 737, 737, 747, 747, 747, 0, 0, 747, 0, 0,
3766 0, 747, 747, 747, 747, 748, 748, 748, 0, 0,
3767 748, 0, 748, 748, 748, 748, 748, 748, 749, 749,
3769 749, 0, 0, 749, 0, 749, 749, 749, 749, 749,
3770 749, 750, 750, 750, 0, 0, 750, 0, 0, 750,
3771 750, 750, 750, 750, 0, 0, 0, 750, 827, 827,
3772 827, 827, 828, 828, 828, 828, 821, 821, 821, 821,
3773 821, 0, 0, 0, 821, 750, 756, 756, 756, 0,
3774 0, 756, 0, 756, 756, 756, 756, 756, 756, 757,
3775 757, 757, 821, 0, 757, 0, 757, 757, 757, 757,
3776 757, 757, 759, 759, 759, 0, 0, 759, 0, 759,
3777 759, 759, 759, 759, 759, 760, 760, 760, 0, 0,
3778 760, 0, 760, 760, 760, 760, 760, 760, 763, 763,
3780 763, 0, 0, 763, 0, 0, 0, 763, 763, 763,
3781 763, 764, 764, 764, 0, 0, 764, 0, 764, 764,
3782 764, 764, 764, 764, 765, 765, 765, 0, 0, 765,
3783 0, 765, 765, 765, 765, 765, 765, 769, 769, 769,
3784 0, 0, 769, 0, 769, 769, 769, 769, 769, 769,
3785 770, 770, 770, 0, 0, 770, 0, 770, 770, 770,
3786 770, 770, 770, 772, 772, 772, 0, 0, 772, 0,
3787 772, 772, 772, 772, 772, 772, 773, 773, 773, 0,
3788 0, 773, 0, 773, 773, 773, 773, 773, 773, 776,
3789 776, 776, 0, 0, 776, 0, 0, 0, 776, 776,
3791 776, 776, 777, 777, 777, 0, 0, 777, 0, 777,
3792 777, 777, 777, 777, 777, 778, 778, 778, 0, 0,
3793 778, 0, 778, 778, 778, 778, 778, 778, 783, 783,
3794 783, 0, 0, 783, 0, 783, 783, 783, 783, 783,
3795 783, 784, 784, 784, 0, 0, 784, 0, 784, 784,
3796 784, 784, 784, 784, 790, 790, 790, 0, 0, 790,
3797 0, 0, 0, 790, 790, 790, 790, 791, 791, 791,
3798 0, 0, 791, 0, 791, 791, 791, 791, 791, 791,
3799 792, 792, 792, 0, 0, 792, 0, 792, 792, 792,
3800 792, 792, 792, 793, 793, 793, 0, 0, 793, 0,
3802 0, 793, 793, 793, 793, 793, 0, 0, 0, 793,
3803 830, 830, 830, 830, 0, 829, 829, 829, 829, 829,
3804 939, 939, 939, 829, 0, 939, 0, 793, 796, 796,
3805 796, 0, 0, 796, 0, 0, 796, 796, 796, 796,
3806 796, 829, 0, 0, 796, 831, 831, 831, 831, 838,
3807 838, 838, 838, 843, 843, 843, 0, 0, 843, 0,
3808 0, 843, 796, 797, 797, 797, 0, 0, 797, 0,
3809 797, 797, 797, 797, 797, 797, 798, 798, 798, 0,
3810 0, 798, 0, 798, 798, 798, 798, 798, 798, 806,
3811 806, 806, 0, 0, 806, 0, 806, 806, 806, 806,
3813 806, 806, 807, 807, 807, 0, 0, 807, 0, 807,
3814 807, 807, 807, 807, 807, 808, 808, 808, 0, 0,
3815 808, 0, 0, 808, 808, 808, 808, 808, 0, 0,
3816 0, 808, 837, 837, 837, 848, 848, 837, 848, 848,
3817 848, 848, 865, 865, 865, 865, 865, 0, 837, 808,
3818 809, 809, 809, 0, 0, 809, 0, 809, 809, 809,
3819 809, 809, 809, 812, 812, 812, 837, 0, 812, 0,
3820 0, 812, 812, 812, 812, 812, 0, 853, 853, 812,
3821 853, 853, 853, 853, 867, 867, 867, 867, 867, 847,
3822 847, 847, 847, 0, 0, 0, 847, 812, 813, 813,
3824 813, 0, 0, 813, 0, 813, 813, 813, 813, 813,
3825 813, 823, 823, 823, 847, 0, 823, 0, 0, 0,
3826 823, 823, 823, 823, 824, 824, 824, 0, 0, 824,
3827 0, 824, 824, 824, 824, 824, 824, 825, 825, 825,
3828 0, 0, 825, 0, 825, 825, 825, 825, 825, 825,
3829 826, 826, 826, 0, 0, 826, 0, 0, 826, 826,
3830 826, 826, 826, 0, 858, 858, 826, 858, 858, 858,
3831 858, 870, 870, 870, 870, 870, 862, 862, 862, 862,
3832 0, 0, 0, 862, 826, 832, 832, 832, 0, 0,
3833 832, 0, 832, 832, 832, 832, 832, 832, 833, 833,
3835 833, 862, 0, 833, 0, 833, 833, 833, 833, 833,
3836 833, 835, 835, 835, 0, 0, 835, 0, 835, 835,
3837 835, 835, 835, 835, 836, 836, 836, 0, 0, 836,
3838 0, 836, 836, 836, 836, 836, 836, 839, 839, 839,
3839 0, 0, 839, 0, 0, 0, 839, 839, 839, 839,
3840 840, 840, 840, 0, 0, 840, 0, 840, 840, 840,
3841 840, 840, 840, 841, 841, 841, 0, 0, 841, 0,
3842 841, 841, 841, 841, 841, 841, 849, 849, 849, 0,
3843 0, 849, 849, 849, 849, 849, 849, 849, 849, 850,
3844 850, 850, 0, 0, 850, 0, 850, 850, 850, 850,
3846 850, 850, 0, 863, 863, 850, 863, 863, 863, 863,
3847 864, 864, 0, 864, 864, 864, 864, 872, 872, 872,
3848 872, 872, 0, 850, 851, 851, 851, 0, 0, 851,
3849 851, 851, 851, 851, 851, 851, 851, 852, 852, 852,
3850 0, 0, 852, 0, 0, 0, 852, 852, 852, 852,
3851 0, 866, 866, 852, 866, 866, 866, 866, 868, 868,
3852 0, 868, 868, 868, 868, 875, 875, 875, 875, 875,
3853 0, 852, 854, 854, 854, 0, 0, 854, 854, 854,
3854 854, 854, 854, 854, 854, 855, 855, 855, 0, 0,
3855 855, 0, 855, 855, 855, 855, 855, 855, 0, 869,
3857 869, 855, 869, 869, 869, 869, 871, 871, 0, 871,
3858 871, 871, 871, 880, 880, 880, 880, 0, 0, 855,
3859 856, 856, 856, 0, 0, 856, 856, 856, 856, 856,
3860 856, 856, 856, 857, 857, 857, 0, 0, 857, 0,
3861 0, 0, 857, 857, 857, 857, 0, 873, 873, 857,
3862 873, 873, 873, 873, 874, 874, 0, 874, 874, 874,
3863 874, 881, 881, 881, 881, 0, 0, 857, 859, 859,
3864 859, 0, 0, 859, 859, 859, 859, 859, 859, 859,
3865 859, 860, 860, 860, 0, 0, 860, 0, 860, 860,
3866 860, 860, 860, 860, 0, 876, 876, 860, 876, 876,
3868 876, 876, 877, 877, 877, 0, 0, 877, 940, 940,
3869 940, 877, 0, 940, 0, 860, 861, 861, 861, 0,
3870 0, 861, 861, 861, 861, 861, 861, 861, 861, 882,
3871 882, 882, 0, 0, 882, 0, 882, 882, 882, 882,
3872 882, 882, 887, 887, 887, 0, 0, 887, 887, 887,
3873 888, 888, 888, 888, 896, 896, 896, 896, 887, 904,
3874 904, 904, 904, 905, 905, 905, 905, 906, 906, 906,
3875 906, 907, 907, 907, 907, 0, 887, 889, 889, 889,
3876 0, 0, 889, 0, 0, 0, 889, 889, 889, 889,
3877 890, 890, 890, 0, 0, 890, 0, 890, 890, 890,
3879 890, 890, 890, 895, 895, 895, 0, 0, 895, 895,
3880 895, 908, 908, 908, 908, 0, 0, 0, 908, 895,
3881 909, 909, 909, 909, 910, 910, 910, 910, 912, 912,
3882 912, 912, 914, 914, 914, 914, 908, 895, 897, 897,
3883 897, 0, 0, 897, 0, 0, 0, 897, 897, 897,
3884 897, 898, 898, 898, 0, 0, 898, 0, 898, 898,
3885 898, 898, 898, 898, 903, 903, 903, 0, 0, 903,
3886 903, 903, 0, 911, 911, 911, 911, 911, 0, 0,
3887 903, 911, 915, 915, 915, 915, 0, 0, 916, 916,
3888 916, 916, 936, 936, 936, 916, 0, 936, 903, 911,
3890 913, 913, 913, 0, 0, 913, 0, 0, 0, 913,
3891 913, 913, 913, 916, 917, 917, 917, 917, 918, 918,
3892 918, 918, 919, 919, 919, 919, 919, 936, 0, 0,
3893 919, 920, 920, 920, 920, 921, 921, 921, 921, 922,
3894 922, 922, 922, 923, 923, 923, 923, 0, 919, 924,
3895 924, 924, 924, 0, 0, 0, 924, 925, 925, 925,
3896 925, 926, 926, 926, 926, 927, 927, 927, 927, 927,
3897 931, 931, 931, 927, 924, 931, 934, 934, 934, 0,
3898 941, 934, 941, 0, 0, 941, 0, 942, 942, 942,
3899 0, 927, 942, 943, 944, 943, 944, 0, 943, 944,
3901 945, 946, 945, 946, 0, 945, 946, 947, 0, 947,
3902 0, 0, 947, 931, 0, 0, 0, 0, 934, 949,
3903 949, 949, 949, 949, 949, 949, 949, 950, 950, 950,
3904 950, 950, 950, 950, 950, 951, 951, 951, 951, 951,
3905 951, 951, 951, 952, 952, 952, 952, 952, 952, 952,
3906 952, 953, 953, 953, 953, 953, 953, 953, 953, 954,
3907 0, 0, 954, 955, 0, 0, 955, 0, 955, 955,
3908 955, 956, 956, 956, 956, 956, 956, 956, 956, 957,
3909 0, 0, 957, 0, 957, 957, 958, 958, 958, 958,
3910 958, 958, 958, 958, 959, 959, 0, 959, 0, 959,
3912 959, 959, 960, 960, 960, 960, 960, 960, 960, 960,
3913 961, 961, 0, 961, 961, 961, 961, 961, 962, 962,
3914 962, 962, 962, 962, 962, 962, 963, 963, 963, 963,
3915 963, 963, 963, 963, 964, 964, 0, 0, 964, 964,
3916 966, 966, 966, 966, 966, 966, 966, 966, 967, 967,
3917 967, 967, 967, 967, 967, 967, 968, 968, 968, 968,
3918 968, 968, 968, 968, 969, 969, 969, 969, 969, 969,
3919 969, 969, 971, 971, 971, 971, 971, 971, 971, 971,
3920 972, 972, 972, 972, 972, 972, 972, 972, 973, 973,
3921 973, 973, 973, 973, 973, 973, 974, 974, 0, 974,
3923 0, 974, 974, 974, 975, 975, 975, 975, 975, 975,
3924 975, 975, 977, 977, 0, 977, 977, 977, 977, 977,
3925 978, 978, 978, 978, 978, 978, 978, 978, 979, 0,
3926 0, 979, 980, 980, 980, 980, 980, 980, 980, 980,
3927 981, 981, 981, 981, 981, 981, 981, 981, 982, 982,
3928 0, 0, 982, 982, 984, 984, 984, 984, 984, 984,
3929 984, 984, 986, 986, 986, 986, 986, 986, 986, 986,
3930 987, 987, 987, 987, 987, 987, 987, 987, 989, 989,
3931 989, 989, 989, 989, 989, 989, 990, 990, 990, 990,
3932 990, 990, 990, 990, 991, 991, 991, 991, 991, 991,
3934 991, 991, 992, 992, 992, 992, 992, 992, 992, 992,
3935 993, 993, 993, 993, 993, 993, 993, 993, 994, 994,
3936 994, 994, 994, 994, 994, 994, 995, 995, 995, 995,
3937 995, 995, 995, 995, 996, 996, 996, 996, 996, 996,
3938 996, 996, 997, 997, 997, 997, 997, 997, 997, 997,
3939 998, 998, 998, 998, 998, 998, 998, 998, 999, 999,
3940 999, 999, 999, 999, 999, 999, 1000, 1000, 1000, 1000,
3941 1000, 1000, 1000, 1000, 1001, 1001, 1001, 1001, 1001, 1001,
3942 1001, 1001, 1002, 1002, 1002, 1002, 1002, 1002, 1002, 1002,
3943 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1003, 1004, 1004,
3945 1004, 1004, 1004, 1004, 1004, 1004, 1005, 1005, 1005, 1005,
3946 1005, 1005, 1005, 1005, 1006, 0, 0, 1006, 1007, 1007,
3947 1007, 1007, 1007, 1007, 1007, 1007, 1008, 1008, 1008, 1008,
3948 1008, 1008, 1008, 1008, 1009, 1009, 1009, 1009, 1009, 1009,
3949 1009, 1009, 1011, 1011, 1011, 1011, 1011, 1011, 1011, 1011,
3950 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1012, 1013, 1013,
3951 1013, 1013, 1013, 1013, 1013, 1013, 1014, 1014, 1014, 1014,
3952 1014, 1014, 1014, 1014, 1015, 1015, 1015, 1015, 1015, 1015,
3953 1015, 1015, 1016, 1016, 1016, 1016, 1016, 1016, 1016, 1016,
3954 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1017, 1018, 1018,
3956 1018, 1018, 1018, 1018, 1018, 1018, 1019, 1019, 1019, 1019,
3957 1019, 1019, 1019, 1019, 1020, 1020, 1020, 1020, 1020, 1020,
3958 1020, 1020, 1021, 1021, 1021, 1021, 1021, 1021, 1021, 1021,
3959 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1022, 1023, 1023,
3960 1023, 1023, 1023, 1023, 1023, 1023, 1024, 1024, 1024, 1024,
3961 1024, 1024, 1024, 1024, 1025, 1025, 1025, 1025, 1025, 1025,
3962 1025, 1025, 1026, 1026, 1026, 1026, 1026, 1026, 1026, 1026,
3963 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1027, 1028, 1028,
3964 1028, 1028, 1028, 1028, 1028, 1028, 1029, 0, 0, 1029,
3965 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1030, 1031, 1031,
3967 1031, 1031, 1031, 1031, 1031, 1031, 1032, 1032, 1032, 1032,
3968 1032, 1032, 1032, 1032, 1033, 1033, 1033, 1033, 1033, 1033,
3969 1033, 1033, 1034, 1034, 1034, 1034, 1034, 1034, 1034, 1034,
3970 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1035, 1036, 1036,
3971 1036, 1036, 1036, 1036, 1036, 1036, 1037, 1037, 1037, 1037,
3972 1037, 1037, 1037, 1037, 1038, 1038, 1038, 1038, 1038, 1038,
3973 1038, 1038, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039,
3974 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1040, 1041, 1041,
3975 1041, 1041, 1041, 1041, 1041, 1041, 1042, 1042, 1042, 1042,
3976 1042, 1042, 1042, 1042, 1043, 1043, 1043, 1043, 1043, 1043,
3978 1043, 1043, 1044, 1044, 1044, 1044, 1044, 1044, 1044, 1044,
3979 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1045, 1046, 1046,
3980 1046, 1046, 1046, 1046, 1046, 1046, 1047, 1047, 1047, 1047,
3981 1047, 1047, 1047, 1047, 1048, 1048, 1048, 1048, 1048, 1048,
3982 1048, 1048, 1049, 1049, 1049, 1049, 1049, 1049, 1049, 1049,
3983 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1050, 1051, 1051,
3984 1051, 1051, 1051, 1051, 1051, 1051, 1052, 1052, 1052, 1052,
3985 1052, 1052, 1052, 1052, 1053, 1053, 1053, 1053, 1053, 1053,
3986 1053, 1053, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054,
3987 1055, 0, 0, 1055, 1056, 1056, 1056, 1056, 1056, 1056,
3989 1056, 1056, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
3990 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1059, 1059,
3991 1059, 1059, 1059, 1059, 1059, 1059, 1060, 1060, 1060, 1060,
3992 1060, 1060, 1060, 1060, 1061, 1061, 1061, 1061, 1061, 1061,
3993 1061, 1061, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
3994 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1064, 1064,
3995 1064, 1064, 1064, 1064, 1064, 1064, 1065, 1065, 1065, 1065,
3996 1065, 1065, 1065, 1065, 1066, 1066, 1066, 1066, 1066, 1066,
3997 1066, 1066, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067,
3998 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1069, 1069,
4000 1069, 1069, 1069, 1069, 1069, 1069, 1070, 1070, 1070, 1070,
4001 1070, 1070, 1070, 1070, 1071, 1071, 1071, 1071, 1071, 1071,
4002 1071, 1071, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
4003 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1074,
4004 1074, 1074, 1074, 1074, 1074, 1074, 1075, 1075, 1075, 1075,
4005 1075, 1075, 1075, 1075, 1076, 1076, 1076, 1076, 1076, 1076,
4006 1076, 1076, 1077, 1077, 1077, 1077, 1077, 1077, 1077, 1077,
4007 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1078, 1079, 1079,
4008 1079, 1079, 1079, 1079, 1079, 1079, 1080, 1080, 1080, 1080,
4009 1080, 1080, 1080, 1080, 1081, 0, 0, 1081, 1082, 1082,
4011 1082, 1082, 1082, 1082, 1082, 1082, 1083, 1083, 1083, 1083,
4012 1083, 1083, 1083, 1083, 1084, 1084, 1084, 1084, 1084, 1084,
4013 1084, 1084, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
4014 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1087, 1087,
4015 1087, 1087, 1087, 1087, 1087, 1087, 1088, 1088, 1088, 1088,
4016 1088, 1088, 1088, 1088, 1089, 1089, 0, 1089, 1089, 1089,
4017 1089, 1089, 948, 948, 948, 948, 948, 948, 948, 948,
4018 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
4019 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
4020 948, 948, 948, 948, 948, 948, 948, 948, 948, 948,
4022 948, 948, 948, 948, 948, 948, 948, 948, 948, 948
4033 122, 127, 128, 129, 130, 131, 132, 133, 134, 135,
4034 136, 137, 138, 141, 145, 149, 157, 160, 164, 169,
4035 177, 178, 180, 184, 195, 199, 205, 206, 211, 220,
4036 234, 235, 240, 249, 260, 263, 264, 266, 270, 274,
4037 279, 281, 282, 289, 295, 302, 305, 309
4043#define REJECT reject_used_but_not_detected
4044#define yymore() yymore_used_but_not_detected
4045#define YY_MORE_ADJ 0
4062#define YY_INPUT(buf, result, max_size) (*theyyInput)(buf, result, max_size,this);
4105#ifdef YY_MALLOC_DECL
4121#ifndef YY_READ_BUF_SIZE
4122#define YY_READ_BUF_SIZE 8192
4131#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
4138#define YY_INPUT(buf,result,max_size) \
4139 if ( yy_current_buffer->yy_is_interactive ) \
4141 int c = getc( yyin ); \
4142 result = c == EOF ? 0 : 1; \
4143 buf[0] = (char) c; \
4145 else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
4146 && ferror( yyin ) ) \
4147 YY_FATAL_ERROR( "input in flex scanner failed" );
4155#define yyterminate() return YY_NULL
4159#ifndef YY_START_STACK_INCR
4160#define YY_START_STACK_INCR 25
4164#ifndef YY_FATAL_ERROR
4165#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
4172#define YY_DECL int yylex ( vtkVRMLImporter* self )
4178#ifndef YY_USER_ACTION
4179#define YY_USER_ACTION
4184#define YY_BREAK break;
4191 char *yy_cp, *yy_bp;
4202 fprintf(stderr,
"LEX--> Start State %d\n",
expectToken);
4236 default:
yyerror(
"ACK: Bad expectToken");
break;
4292 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
4294 yy_current_state = (int)
yy_def[yy_current_state];
4295 if ( yy_current_state >= 949 )
4296 yy_c =
yy_meta[(
unsigned int) yy_c];
4298 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + (
unsigned int) yy_c];
4301 while (
yy_base[yy_current_state] != 7663 );
4314 fprintf( stderr,
"--scanner backing up\n" );
4315 else if ( yy_act < 49 )
4316 fprintf( stderr,
"--accepting rule at line %d (\"%s\")\n",
4318 else if ( yy_act == 49 )
4319 fprintf( stderr,
"--accepting default rule (\"%s\")\n",
4321 else if ( yy_act == 50 )
4322 fprintf( stderr,
"--(end of buffer or a NUL)\n" );
4324 fprintf( stderr,
"--EOF (start condition %d)\n",
YY_START );
4334 goto yy_find_action;
4432 return tokenFieldType;
4462 sscanf(
yytext,
"%f", &num);
4484 num[0] = atof(strtok(
yytext,
" "));
4485 num[1] = atof(strtok(
nullptr,
" "));
4501 num[0] = atof(strtok(
yytext,
" "));
4502 num[1] = atof(strtok(
nullptr,
" "));
4503 num[2] = atof(strtok(
nullptr,
" "));
4511 num[0] = atof(strtok(
yytext,
" "));
4512 num[1] = atof(strtok(
nullptr,
" "));
4513 num[2] = atof(strtok(
nullptr,
" "));
4540 num[0] = atof(strtok(
yytext,
" "));
4541 num[1] = atof(strtok(
nullptr,
" "));
4542 num[2] = atof(strtok(
nullptr,
" "));
4550 num[0] = atof(strtok(
yytext,
" "));
4551 num[1] = atof(strtok(
nullptr,
" "));
4552 num[2] = atof(strtok(
nullptr,
" "));
4575 {
yyerror(
"String missing open-quote");
4581 {
yyerror(
"String missing open-quote");
4613 sscanf(
yytext,
"%d %d", &w, &
h);
4674 int yy_amount_of_matched_text = yy_cp -
yytext_ptr - 1;
4702 if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[
yy_n_chars] )
4723 if ( yy_next_state )
4727 yy_current_state = yy_next_state;
4734 goto yy_find_action;
4787 goto yy_find_action;
4794 "fatal flex scanner internal error--no action found" );
4812 int number_to_move, i;
4817 "fatal flex scanner internal error--end of buffer missed" );
4843 for ( i = 0; i < number_to_move; ++i )
4857 while ( num_to_read <= 0 )
4859#ifdef YY_USES_REJECT
4861 "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
4876 "fatal error - scanner input buffer overflow" );
4945 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
4947 yy_current_state = (int)
yy_def[yy_current_state];
4948 if ( yy_current_state >= 949 )
4949 yy_c =
yy_meta[(
unsigned int) yy_c];
4951 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + (
unsigned int) yy_c];
4954 return yy_current_state;
4975 while (
yy_chk[
yy_base[yy_current_state] + yy_c] != yy_current_state )
4977 yy_current_state = (int)
yy_def[yy_current_state];
4978 if ( yy_current_state >= 949 )
4979 yy_c =
yy_meta[(
unsigned int) yy_c];
4981 yy_current_state =
yy_nxt[
yy_base[yy_current_state] + (
unsigned int) yy_c];
4982 yy_is_jam = (yy_current_state == 948);
4984 return yy_is_jam ? 0 : yy_current_state;
5098 (void) fprintf( stderr,
"%s\n", msg );
5111 yytext[yyleng] = yy_hold_char; \
5112 yy_c_buf_p = yytext + n - YY_MORE_ADJ; \
5113 yy_hold_char = *yy_c_buf_p; \
5114 *yy_c_buf_p = '\0'; \
5124static void yy_flex_strncpy(
char *s1,
const char *s2,
int n )
5126 static void yy_flex_strncpy( s1, s2, n )
5133 for ( i = 0; i < n; ++i )
5141 return (
void *) malloc( size );
5146 return (
void *) realloc( ptr, size );
5161 result =
static_cast<int>(
5162 strlen(strncpy(buf, standardNodes[self->
memyyInput_i], max_size)));
5176 int c = getc( self->
yyin );
5177 result = c == EOF ? 0 : 1;
5180 else if( ((result =
static_cast<int>(fread( buf, 1, max_size, self->
yyin ))) == 0)
5181 && ferror( self->
yyin ) )
int hasEventOut(const char *name) const
const char * getName() const
void addField(const char *name, int type)
void addExposedField(const char *name, int type)
void addEventIn(const char *name, int type)
int hasEventIn(const char *name) const
int hasField(const char *name) const
void addEventOut(const char *name, int type)
VrmlNodeType(const char *nm)
int hasExposedField(const char *name) const
vtkIdType InsertNextTuple(const float *tuple) override
Insert the data tuple at the end of the array and return the tuple index at which the data was insert...
dynamic, self-adjusting array of float
vtkFrustumSelector is a vtkSelector that selects elements based on whether they are inside or interse...
void SetNumberOfComponents(int num) override
Set/Get the dimension (n) of the components.
vtkIdType InsertNextValue(ValueType value)
Insert data at the end of the array.
dynamic, self-adjusting array of vtkIdType
abstract base class for most VTK objects
represent and manipulate 3D points
void InsertPoint(vtkIdType id, const float x[3])
Insert point into object.
vtkIdType InsertNextPoint(const float x[3])
Insert point into next available slot.
virtual void useNode(const char *)
Needed by the yacc/lex grammar used.
virtual void exitNode()
Needed by the yacc/lex grammar used.
virtual void enterField(const char *)
Needed by the yacc/lex grammar used.
virtual void enterNode(const char *)
Needed by the yacc/lex grammar used.
virtual void exitField()
Needed by the yacc/lex grammar used.
vtkVRMLUseStruct(char *n, vtkObject *o)
std::list< void * > list_type
void * Allocate(size_t size)
int yyparse(vtkVRMLImporter *self)
void yyerror(const char *)
vtkVRMLVectorType< VrmlNodeType::FieldRec * > * currentField
void yy_load_buffer_state(void)
yy_state_type yy_last_accepting_state
struct yy_buffer_state * YY_BUFFER_STATE
void beginProto(const char *)
char * yy_last_accepting_cpos
void(* theyyInput)(char *, int &, int, vtkVRMLYaccData *)
yy_state_type yy_try_NUL_trans(yy_state_type current_state)
struct vtkVRMLYaccData::yyltype yyltype
YY_BUFFER_STATE yy_create_buffer(FILE *file, int size)
void * yy_flex_alloc(unsigned int)
void yyrestart(FILE *input_file)
vtkVRMLVectorType< vtkVRMLUseStruct * > * useList
int addField(const char *type, const char *name)
vtkVRMLVectorType< VrmlNodeType * > * CurrentProtoStack
int yy_get_next_buffer(void)
static void memyyInput(char *buf, int &result, int max_size, vtkVRMLYaccData *self)
void yy_flex_free(void *)
int add(void(VrmlNodeType::*)(const char *, int), const char *, const char *)
int addEventOut(const char *type, const char *name)
int addExposedField(const char *type, const char *name)
void yy_init_buffer(YY_BUFFER_STATE b, FILE *file)
void yy_delete_buffer(YY_BUFFER_STATE b)
vtkVRMLVectorType< VrmlNodeType * > * typeList
YY_BUFFER_STATE yy_current_buffer
void addToNameSpace(VrmlNodeType *)
int addEventIn(const char *type, const char *name)
int yy_did_buffer_switch_on_eof
static void defyyInput(char *buf, int &result, int max_size, vtkVRMLYaccData *self)
void yy_fatal_error(const char msg[])
int yylex(vtkVRMLImporter *self)
yy_state_type yy_get_previous_state(void)
const VrmlNodeType * find(const char *nm)
void * yy_flex_realloc(void *, unsigned int)
int fieldType(const char *type)
void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
const VrmlNodeType * nodeType
YY_BUFFER_STATUS_STATE yy_buffer_status
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
static const short yycheck[]
static const short int yy_accept[949]
static const int yy_ec[256]
static const char yytranslate[]
static const short yydefgoto[]
static const short int yy_base[1090]
static void __yy_memcpy(char *from, char *to, int count)
static const int yy_meta[48]
#define EOB_ACT_END_OF_FILE
static const short yytable[]
static const short yypact[]
static const short yypgoto[]
static const short yyr1[]
static const short yydefact[]
#define YY_INPUT(buf, result, max_size)
static const short yyr2[]
static const short int yy_def[1090]
#define YY_STATE_EOF(state)
#define YY_END_OF_BUFFER_CHAR
static const short int yy_nxt[7711]
#define YY_FATAL_ERROR(msg)
#define YY_DO_BEFORE_ACTION
#define EOB_ACT_LAST_MATCH
#define EOB_ACT_CONTINUE_SCAN
static const short int yy_chk[7711]
static const short int yy_rule_linenum[49]