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