47 #define YYBISON_VERSION "3.0.4" 50 #define YYSKELETON_NAME "yacc.c" 63 #define yyparse yyansi_cparse 64 #define yylex yyansi_clex 65 #define yyerror yyansi_cerror 66 #define yydebug yyansi_cdebug 67 #define yynerrs yyansi_cnerrs 69 #define yylval yyansi_clval 70 #define yychar yyansi_cchar 89 #define PARSER ansi_c_parser 96 #include "parser_static.inc" 104 #define YYMAXDEPTH 25600 113 #line 114 "ansi_c_y.tab.cpp" 116 # if defined __cplusplus && 201103L <= __cplusplus 117 # define YY_NULLPTR nullptr 119 # define YY_NULLPTR 0 124 #ifdef YYERROR_VERBOSE 125 # undef YYERROR_VERBOSE 126 # define YYERROR_VERBOSE 1 128 # define YYERROR_VERBOSE 0 133 #ifndef YY_YYANSI_C_ANSI_C_Y_TAB_HPP_INCLUDED 134 # define YY_YYANSI_C_ANSI_C_Y_TAB_HPP_INCLUDED 140 extern int yyansi_cdebug;
337 #define TOK_COMPLEX 260 338 #define TOK_BREAK 261 341 #define TOK_CONST 264 342 #define TOK_CONTINUE 265 343 #define TOK_DEFAULT 266 345 #define TOK_DOUBLE 268 348 #define TOK_EXTERN 271 349 #define TOK_FLOAT 272 353 #define TOK_INLINE 276 356 #define TOK_REGISTER 279 357 #define TOK_RESTRICT 280 358 #define TOK_RETURN 281 359 #define TOK_SHORT 282 360 #define TOK_SIGNED 283 361 #define TOK_SIZEOF 284 362 #define TOK_STATIC 285 363 #define TOK_STRUCT 286 364 #define TOK_SWITCH 287 365 #define TOK_TYPEDEF 288 366 #define TOK_UNION 289 367 #define TOK_UNSIGNED 290 369 #define TOK_VOLATILE 292 370 #define TOK_WCHAR_T 293 371 #define TOK_WHILE 294 372 #define TOK_ARROW 295 375 #define TOK_SHIFTLEFT 298 376 #define TOK_SHIFTRIGHT 299 381 #define TOK_ANDAND 304 383 #define TOK_ELLIPSIS 306 384 #define TOK_MULTASSIGN 307 385 #define TOK_DIVASSIGN 308 386 #define TOK_MODASSIGN 309 387 #define TOK_PLUSASSIGN 310 388 #define TOK_MINUSASSIGN 311 389 #define TOK_SHLASSIGN 312 390 #define TOK_SHRASSIGN 313 391 #define TOK_ANDASSIGN 314 392 #define TOK_XORASSIGN 315 393 #define TOK_ORASSIGN 316 394 #define TOK_IDENTIFIER 317 395 #define TOK_TYPEDEFNAME 318 396 #define TOK_INTEGER 319 397 #define TOK_FLOATING 320 398 #define TOK_CHARACTER 321 399 #define TOK_STRING 322 400 #define TOK_ASM_STRING 323 402 #define TOK_INT16 325 403 #define TOK_INT32 326 404 #define TOK_INT64 327 405 #define TOK_PTR32 328 406 #define TOK_PTR64 329 407 #define TOK_TYPEOF 330 408 #define TOK_GCC_AUTO_TYPE 331 409 #define TOK_GCC_FLOAT80 332 410 #define TOK_GCC_FLOAT128 333 411 #define TOK_GCC_FLOAT128_ALT 334 412 #define TOK_GCC_INT128 335 413 #define TOK_GCC_DECIMAL32 336 414 #define TOK_GCC_DECIMAL64 337 415 #define TOK_GCC_DECIMAL128 338 416 #define TOK_GCC_ASM 339 417 #define TOK_GCC_ASM_PAREN 340 418 #define TOK_GCC_ATTRIBUTE 341 419 #define TOK_GCC_ATTRIBUTE_ALIGNED 342 420 #define TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION 343 421 #define TOK_GCC_ATTRIBUTE_PACKED 344 422 #define TOK_GCC_ATTRIBUTE_VECTOR_SIZE 345 423 #define TOK_GCC_ATTRIBUTE_MODE 346 424 #define TOK_GCC_ATTRIBUTE_GNU_INLINE 347 425 #define TOK_GCC_ATTRIBUTE_WEAK 348 426 #define TOK_GCC_ATTRIBUTE_ALIAS 349 427 #define TOK_GCC_ATTRIBUTE_SECTION 350 428 #define TOK_GCC_ATTRIBUTE_NORETURN 351 429 #define TOK_GCC_ATTRIBUTE_CONSTRUCTOR 352 430 #define TOK_GCC_ATTRIBUTE_DESTRUCTOR 353 431 #define TOK_GCC_LABEL 354 432 #define TOK_MSC_ASM 355 433 #define TOK_MSC_BASED 356 434 #define TOK_CW_VAR_ARG_TYPEOF 357 435 #define TOK_BUILTIN_VA_ARG 358 436 #define TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P 359 437 #define TOK_CLANG_BUILTIN_CONVERTVECTOR 360 438 #define TOK_OFFSETOF 361 439 #define TOK_ALIGNOF 362 440 #define TOK_MSC_TRY 363 441 #define TOK_MSC_FINALLY 364 442 #define TOK_MSC_EXCEPT 365 443 #define TOK_MSC_LEAVE 366 444 #define TOK_MSC_DECLSPEC 367 445 #define TOK_INTERFACE 368 446 #define TOK_CDECL 369 447 #define TOK_STDCALL 370 448 #define TOK_FASTCALL 371 449 #define TOK_CLRCALL 372 450 #define TOK_FORALL 373 451 #define TOK_EXISTS 374 452 #define TOK_ACSL_FORALL 375 453 #define TOK_ACSL_EXISTS 376 454 #define TOK_ARRAY_OF 377 455 #define TOK_CPROVER_BITVECTOR 378 456 #define TOK_CPROVER_FLOATBV 379 457 #define TOK_CPROVER_FIXEDBV 380 458 #define TOK_CPROVER_ATOMIC 381 459 #define TOK_CPROVER_BOOL 382 460 #define TOK_CPROVER_THROW 383 461 #define TOK_CPROVER_CATCH 384 462 #define TOK_CPROVER_TRY 385 463 #define TOK_CPROVER_FINALLY 386 464 #define TOK_CPROVER_ID 387 465 #define TOK_CPROVER_LOOP_INVARIANT 388 466 #define TOK_CPROVER_REQUIRES 389 467 #define TOK_CPROVER_ENSURES 390 468 #define TOK_IMPLIES 391 469 #define TOK_EQUIVALENT 392 471 #define TOK_FALSE 394 474 #define TOK_ALIGNAS 397 475 #define TOK_ATOMIC_TYPE_QUALIFIER 398 476 #define TOK_ATOMIC_TYPE_SPECIFIER 399 477 #define TOK_GENERIC 400 478 #define TOK_IMAGINARY 401 479 #define TOK_NORETURN 402 480 #define TOK_STATIC_ASSERT 403 481 #define TOK_THREAD_LOCAL 404 482 #define TOK_NULLPTR 405 483 #define TOK_CONSTEXPR 406 484 #define TOK_SCANNER_ERROR 407 485 #define TOK_SCANNER_EOF 408 486 #define TOK_CATCH 409 487 #define TOK_CHAR16_T 410 488 #define TOK_CHAR32_T 411 489 #define TOK_CLASS 412 490 #define TOK_DELETE 413 491 #define TOK_DECLTYPE 414 492 #define TOK_EXPLICIT 415 493 #define TOK_FRIEND 416 494 #define TOK_MUTABLE 417 495 #define TOK_NAMESPACE 418 497 #define TOK_NOEXCEPT 420 498 #define TOK_OPERATOR 421 499 #define TOK_PRIVATE 422 500 #define TOK_PROTECTED 423 501 #define TOK_PUBLIC 424 502 #define TOK_TEMPLATE 425 504 #define TOK_THROW 427 505 #define TOK_TYPEID 428 506 #define TOK_TYPENAME 429 508 #define TOK_USING 431 509 #define TOK_VIRTUAL 432 510 #define TOK_SCOPE 433 511 #define TOK_DOTPM 434 512 #define TOK_ARROWPM 435 513 #define TOK_UNARY_TYPE_PREDICATE 436 514 #define TOK_BINARY_TYPE_PREDICATE 437 515 #define TOK_MSC_UUIDOF 438 516 #define TOK_MSC_IF_EXISTS 439 517 #define TOK_MSC_IF_NOT_EXISTS 440 518 #define TOK_UNDERLYING_TYPE 441 521 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 523 # define YYSTYPE_IS_TRIVIAL 1 524 # define YYSTYPE_IS_DECLARED 1 536 #line 537 "ansi_c_y.tab.cpp" 567 # ifdef __SIZE_TYPE__ 568 # define YYSIZE_T __SIZE_TYPE__ 569 # elif defined size_t 570 # define YYSIZE_T size_t 571 # elif ! defined YYSIZE_T 573 # define YYSIZE_T size_t 575 # define YYSIZE_T unsigned int 579 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) 582 # if defined YYENABLE_NLS && YYENABLE_NLS 584 # include <libintl.h> 585 # define YY_(Msgid) dgettext ("bison-runtime", Msgid) 589 # define YY_(Msgid) Msgid 594 # if (defined __GNUC__ \ 595 && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__))) \ 596 || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C 597 # define YY_ATTRIBUTE(Spec) __attribute__(Spec) 599 # define YY_ATTRIBUTE(Spec) 603 #ifndef YY_ATTRIBUTE_PURE 604 # define YY_ATTRIBUTE_PURE YY_ATTRIBUTE ((__pure__)) 607 #ifndef YY_ATTRIBUTE_UNUSED 608 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__)) 611 #if !defined _Noreturn \ 612 && (!defined __STDC_VERSION__ || __STDC_VERSION__ < 201112) 613 # if defined _MSC_VER && 1200 <= _MSC_VER 614 # define _Noreturn __declspec (noreturn) 616 # define _Noreturn YY_ATTRIBUTE ((__noreturn__)) 621 #if ! defined lint || defined __GNUC__ 622 # define YYUSE(E) ((void) (E)) 627 #if defined __GNUC__ && 407 <= __GNUC__ * 100 + __GNUC_MINOR__ 629 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \ 630 _Pragma ("GCC diagnostic push") \ 631 _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\ 632 _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"") 633 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \ 634 _Pragma ("GCC diagnostic pop") 636 # define YY_INITIAL_VALUE(Value) Value 638 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 639 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN 640 # define YY_IGNORE_MAYBE_UNINITIALIZED_END 642 #ifndef YY_INITIAL_VALUE 643 # define YY_INITIAL_VALUE(Value) 647 #if ! defined yyoverflow || YYERROR_VERBOSE 651 # ifdef YYSTACK_USE_ALLOCA 652 # if YYSTACK_USE_ALLOCA 654 # define YYSTACK_ALLOC __builtin_alloca 655 # elif defined __BUILTIN_VA_ARG_INCR 658 # define YYSTACK_ALLOC __alloca 659 # elif defined _MSC_VER 661 # define alloca _alloca 663 # define YYSTACK_ALLOC alloca 664 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS 667 # ifndef EXIT_SUCCESS 668 # define EXIT_SUCCESS 0 675 # ifdef YYSTACK_ALLOC 677 # define YYSTACK_FREE(Ptr) do { ; } while (0) 678 # ifndef YYSTACK_ALLOC_MAXIMUM 683 # define YYSTACK_ALLOC_MAXIMUM 4032 686 # define YYSTACK_ALLOC YYMALLOC 687 # define YYSTACK_FREE YYFREE 688 # ifndef YYSTACK_ALLOC_MAXIMUM 689 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM 691 # if (defined __cplusplus && ! defined EXIT_SUCCESS \ 692 && ! ((defined YYMALLOC || defined malloc) \ 693 && (defined YYFREE || defined free))) 695 # ifndef EXIT_SUCCESS 696 # define EXIT_SUCCESS 0 700 # define YYMALLOC malloc 701 # if ! defined malloc && ! defined EXIT_SUCCESS 707 # if ! defined free && ! defined EXIT_SUCCESS 715 #if (! defined yyoverflow \ 716 && (! defined __cplusplus \ 717 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) 727 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) 731 # define YYSTACK_BYTES(N) \ 732 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ 733 + YYSTACK_GAP_MAXIMUM) 735 # define YYCOPY_NEEDED 1 742 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ 745 YYSIZE_T yynewbytes; \ 746 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ 747 Stack = &yyptr->Stack_alloc; \ 748 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ 749 yyptr += yynewbytes / sizeof (*yyptr); \ 755 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED 759 # if defined __GNUC__ && 1 < __GNUC__ 760 # define YYCOPY(Dst, Src, Count) \ 761 __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src))) 763 # define YYCOPY(Dst, Src, Count) \ 767 for (yyi = 0; yyi < (Count); yyi++) \ 768 (Dst)[yyi] = (Src)[yyi]; \ 781 #define YYNTOKENS 211 787 #define YYNSTATES 1090 792 #define YYMAXUTOK 441 794 #define YYTRANSLATE(YYX) \ 795 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) 801 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
802 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
803 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
804 2, 2, 2, 201, 2, 2, 2, 203, 196, 2,
805 187, 188, 197, 198, 189, 199, 191, 202, 2, 2,
806 2, 2, 2, 2, 2, 2, 2, 2, 190, 210,
807 204, 209, 205, 208, 2, 2, 2, 2, 2, 2,
808 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
809 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
810 2, 192, 2, 193, 206, 2, 2, 2, 2, 2,
811 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
812 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
813 2, 2, 2, 194, 207, 195, 200, 2, 2, 2,
814 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
815 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
816 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
817 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
818 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
819 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
820 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
821 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
822 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
823 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
824 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
825 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
826 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
827 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
828 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
829 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
830 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
831 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
832 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
833 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
834 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
835 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
836 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
837 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
838 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
839 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
840 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
841 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
842 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
843 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
844 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
852 0, 257, 257, 263, 264, 277, 281, 285, 289, 293,
853 298, 299, 300, 301, 307, 308, 309, 311, 312, 313,
854 314, 315, 316, 317, 321, 331, 335, 342, 349, 359,
855 366, 380, 390, 399, 409, 417, 424, 431, 445, 453,
856 463, 471, 485, 486, 492, 493, 499, 500, 504, 514,
857 515, 517, 526, 535, 541, 547, 553, 560, 570, 584,
858 585, 589, 594, 602, 603, 609, 615, 620, 630, 635,
859 640, 645, 650, 655, 660, 665, 671, 680, 681, 688,
860 693, 701, 702, 704, 706, 711, 712, 714, 719, 720,
861 722, 727, 728, 730, 732, 734, 739, 740, 742, 747,
862 748, 753, 754, 759, 760, 765, 766, 771, 772, 780,
863 781, 789, 790, 795, 796, 803, 813, 814, 816, 818,
864 820, 822, 824, 826, 828, 830, 832, 834, 839, 840,
865 845, 850, 851, 857, 863, 869, 870, 871, 875, 887,
866 886, 899, 898, 911, 910, 926, 933, 937, 941, 946,
867 949, 955, 953, 971, 969, 985, 1003, 1001, 1018, 1019,
868 1020, 1021, 1022, 1026, 1027, 1028, 1029, 1030, 1034, 1035,
869 1039, 1040, 1044, 1051, 1052, 1059, 1066, 1067, 1074, 1075,
870 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1091,
871 1096, 1104, 1105, 1109, 1110, 1111, 1115, 1116, 1123, 1127,
872 1131, 1135, 1142, 1146, 1150, 1154, 1162, 1166, 1170, 1178,
873 1179, 1183, 1190, 1194, 1198, 1205, 1209, 1213, 1220, 1224,
874 1228, 1235, 1239, 1243, 1250, 1255, 1263, 1264, 1268, 1272,
875 1279, 1288, 1289, 1293, 1297, 1304, 1308, 1312, 1319, 1320,
876 1324, 1328, 1332, 1336, 1340, 1344, 1351, 1356, 1364, 1367,
877 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1379, 1383,
878 1384, 1385, 1386, 1387, 1388, 1389, 1390, 1391, 1392, 1393,
879 1394, 1395, 1396, 1397, 1398, 1399, 1400, 1401, 1402, 1403,
880 1404, 1405, 1411, 1418, 1425, 1429, 1430, 1431, 1435, 1440,
881 1452, 1449, 1470, 1466, 1490, 1486, 1503, 1505, 1510, 1512,
882 1514, 1516, 1518, 1520, 1522, 1524, 1526, 1528, 1530, 1532,
883 1534, 1540, 1543, 1547, 1548, 1555, 1557, 1563, 1566, 1570,
884 1571, 1579, 1582, 1586, 1591, 1599, 1600, 1601, 1605, 1612,
885 1623, 1631, 1658, 1666, 1677, 1680, 1691, 1700, 1712, 1715,
886 1719, 1731, 1729, 1743, 1740, 1753, 1764, 1773, 1776, 1780,
887 1785, 1790, 1797, 1808, 1812, 1819, 1820, 1829, 1834, 1841,
888 1850, 1855, 1863, 1871, 1878, 1886, 1895, 1903, 1910, 1918,
889 1926, 1933, 1941, 1949, 1957, 1964, 1975, 1976, 1980, 1984,
890 1989, 1993, 2002, 2006, 2016, 2017, 2023, 2032, 2040, 2048,
891 2050, 2058, 2059, 2067, 2073, 2088, 2095, 2102, 2110, 2117,
892 2125, 2137, 2138, 2139, 2140, 2141, 2142, 2143, 2144, 2145,
893 2146, 2147, 2148, 2152, 2161, 2173, 2181, 2188, 2197, 2208,
894 2215, 2223, 2235, 2242, 2247, 2254, 2269, 2278, 2287, 2298,
895 2299, 2303, 2315, 2328, 2327, 2359, 2376, 2383, 2385, 2387,
896 2389, 2394, 2416, 2421, 2428, 2432, 2438, 2449, 2455, 2464,
897 2473, 2481, 2489, 2494, 2502, 2512, 2514, 2515, 2516, 2517,
898 2529, 2535, 2542, 2550, 2559, 2571, 2575, 2579, 2583, 2589,
899 2599, 2604, 2612, 2616, 2620, 2626, 2636, 2641, 2649, 2653,
900 2657, 2665, 2670, 2678, 2682, 2686, 2691, 2699, 2707, 2709,
901 2713, 2714, 2718, 2723, 2727, 2728, 2732, 2736, 2743, 2770,
902 2775, 2778, 2782, 2787, 2795, 2800, 2801, 2805, 2812, 2816,
903 2820, 2824, 2832, 2836, 2840, 2848, 2853, 2863, 2864, 2865,
904 2869, 2875, 2881, 2889, 2897, 2904, 2911, 2918, 2928, 2929,
905 2930, 2934, 2941, 2951, 2959, 2960, 2964, 2965, 2970, 2974,
906 2975, 2980, 2988, 2990, 3000, 3001, 3006, 3012, 3017, 3025,
907 3027, 3032, 3042, 3043, 3048, 3049, 3053, 3054, 3059, 3066,
908 3079, 3085, 3087, 3097, 3104, 3109, 3110, 3111, 3115, 3116,
909 3120, 3122, 3133, 3132, 3155, 3156, 3164, 3163, 3189, 3196,
910 3206, 3214, 3221, 3230, 3239, 3252, 3258, 3266, 3271, 3281,
911 3292, 3298, 3306, 3311, 3321, 3332, 3334, 3336, 3338, 3344,
912 3353, 3355, 3357, 3358
916 #if YYDEBUG || YYERROR_VERBOSE || 0 919 static const char *
const yytname[] =
921 "$end",
"error",
"$undefined",
"\"auto\"",
"\"bool\"",
"\"complex\"",
922 "\"break\"",
"\"case\"",
"\"char\"",
"\"const\"",
"\"continue\"",
923 "\"default\"",
"\"do\"",
"\"double\"",
"\"else\"",
"\"enum\"",
924 "\"extern\"",
"\"float\"",
"\"for\"",
"\"goto\"",
"\"if\"",
"\"inline\"",
925 "\"int\"",
"\"long\"",
"\"register\"",
"\"restrict\"",
"\"return\"",
926 "\"short\"",
"\"signed\"",
"\"sizeof\"",
"\"static\"",
"\"struct\"",
927 "\"switch\"",
"\"typedef\"",
"\"union\"",
"\"unsigned\"",
"\"void\"",
928 "\"volatile\"",
"\"wchar_t\"",
"\"while\"",
"\"->\"",
"\"++\"",
"\"--\"",
929 "\"<<\"",
"\">>\"",
"\"<=\"",
"\">=\"",
"\"==\"",
"\"!=\"",
"\"&&\"",
930 "\"||\"",
"\"...\"",
"\"*=\"",
"\"/=\"",
"\"%=\"",
"\"+=\"",
"\"-=\"",
931 "\"<<=\"",
"\">>=\"",
"\"&=\"",
"\"^=\"",
"\"|=\"",
"TOK_IDENTIFIER",
932 "TOK_TYPEDEFNAME",
"TOK_INTEGER",
"TOK_FLOATING",
"TOK_CHARACTER",
933 "TOK_STRING",
"TOK_ASM_STRING",
"\"__int8\"",
"\"__int16\"",
934 "\"__int32\"",
"\"__int64\"",
"\"__ptr32\"",
"\"__ptr64\"",
"\"typeof\"",
935 "\"__auto_type\"",
"\"__float80\"",
"\"__float128\"",
"\"_Float128\"",
936 "\"__int128\"",
"\"_Decimal32\"",
"\"_Decimal64\"",
"\"_Decimal128\"",
937 "\"__asm__\"",
"\"__asm__ (with parentheses)\"",
"\"__attribute__\"",
938 "\"aligned\"",
"\"transparent_union\"",
"\"packed\"",
"\"vector_size\"",
939 "\"mode\"",
"\"__gnu_inline__\"",
"\"weak\"",
"\"alias\"",
"\"section\"",
940 "\"noreturn\"",
"\"constructor\"",
"\"destructor\"",
"\"__label__\"",
941 "\"__asm\"",
"\"__based\"",
"\"_var_arg_typeof\"",
942 "\"__builtin_va_arg\"",
"\"__builtin_types_compatible_p\"",
943 "\"__builtin_convertvector\"",
"\"__offsetof\"",
"\"__alignof__\"",
944 "\"__try\"",
"\"__finally\"",
"\"__except\"",
"\"__leave\"",
945 "\"__declspec\"",
"\"__interface\"",
"\"__cdecl\"",
"\"__stdcall\"",
946 "\"__fastcall\"",
"\"__clrcall\"",
"\"forall\"",
"\"exists\"",
947 "\"\\\\forall\"",
"\"\\\\exists\"",
"\"array_of\"",
948 "\"__CPROVER_bitvector\"",
"\"__CPROVER_floatbv\"",
949 "\"__CPROVER_fixedbv\"",
"\"__CPROVER_atomic\"",
"\"__CPROVER_bool\"",
950 "\"__CPROVER_throw\"",
"\"__CPROVER_catch\"",
"\"__CPROVER_try\"",
951 "\"__CPROVER_finally\"",
"\"__CPROVER_ID\"",
952 "\"__CPROVER_loop_invariant\"",
"\"__CPROVER_requires\"",
953 "\"__CPROVER_ensures\"",
"\"==>\"",
"\"<==>\"",
"\"TRUE\"",
"\"FALSE\"",
954 "\"__real__\"",
"\"__imag__\"",
"\"_Alignas\"",
"\"_Atomic\"",
955 "\"_Atomic()\"",
"\"_Generic\"",
"\"_Imaginary\"",
"\"_Noreturn\"",
956 "\"_Static_assert\"",
"\"_Thread_local\"",
"\"nullptr\"",
957 "\"constexpr\"",
"TOK_SCANNER_ERROR",
"TOK_SCANNER_EOF",
"\"catch\"",
958 "\"char16_t\"",
"\"char32_t\"",
"\"class\"",
"\"delete\"",
959 "\"decltype\"",
"\"explicit\"",
"\"friend\"",
"\"mutable\"",
960 "\"namespace\"",
"\"new\"",
"\"noexcept\"",
"\"operator\"",
961 "\"private\"",
"\"protected\"",
"\"public\"",
"\"template\"",
"\"this\"",
962 "\"throw\"",
"\"typeid\"",
"\"typename\"",
"\"try\"",
"\"using\"",
963 "\"virtual\"",
"\"::\"",
"\".*\"",
"\"->*\"",
"TOK_UNARY_TYPE_PREDICATE",
964 "TOK_BINARY_TYPE_PREDICATE",
"\"__uuidof\"",
"\"__if_exists\"",
965 "\"__if_not_exists\"",
"\"__underlying_type\"",
"'('",
"')'",
"','",
966 "':'",
"'.'",
"'['",
"']'",
"'{'",
"'}'",
"'&'",
"'*'",
"'+'",
"'-'",
967 "'~'",
"'!'",
"'/'",
"'%'",
"'<'",
"'>'",
"'^'",
"'|'",
"'?'",
"'='",
968 "';'",
"$accept",
"grammar",
"identifier",
"typedef_name",
"integer",
969 "floating",
"character",
"string",
"constant",
"primary_expression",
970 "generic_selection",
"generic_assoc_list",
"generic_association",
971 "gcc_builtin_expressions",
"clang_builtin_expressions",
972 "cw_builtin_expressions",
"offsetof",
"offsetof_member_designator",
973 "quantifier_expression",
"loop_invariant_opt",
"requires_opt",
974 "ensures_opt",
"statement_expression",
"postfix_expression",
975 "member_name",
"argument_expression_list",
"unary_expression",
976 "cast_expression",
"multiplicative_expression",
"additive_expression",
977 "shift_expression",
"relational_expression",
"equality_expression",
978 "and_expression",
"exclusive_or_expression",
"inclusive_or_expression",
979 "logical_and_expression",
"logical_or_expression",
980 "logical_implication_expression",
"logical_equivalence_expression",
981 "conditional_expression",
"assignment_expression",
"comma_expression",
982 "constant_expression",
"comma_expression_opt",
"declaration",
983 "static_assert_declaration",
"default_declaring_list",
"@1",
"@2",
"$@3",
984 "post_declarator_attribute",
"post_declarator_attributes",
985 "post_declarator_attributes_opt",
"declaring_list",
"@4",
"@5",
"$@6",
986 "declaration_specifier",
"type_specifier",
"declaration_qualifier_list",
987 "type_qualifier_list",
"attribute_type_qualifier_list",
988 "declaration_qualifier",
"type_qualifier",
"alignas_specifier",
989 "attribute_or_type_qualifier",
990 "attribute_or_type_qualifier_or_storage_class",
991 "attribute_type_qualifier_storage_class_list",
992 "basic_declaration_specifier",
"basic_type_specifier",
993 "sue_declaration_specifier",
"sue_type_specifier",
994 "typedef_declaration_specifier",
"typeof_declaration_specifier",
995 "atomic_declaration_specifier",
"typedef_type_specifier",
996 "typeof_specifier",
"typeof_type_specifier",
"atomic_specifier",
997 "atomic_type_specifier",
"msc_decl_identifier",
"msc_decl_modifier",
998 "msc_declspec_seq",
"msc_declspec",
"msc_declspec_opt",
"storage_class",
999 "basic_type_name",
"elaborated_type_name",
"array_of_construct",
1000 "pragma_packed",
"aggregate_name",
"$@7",
"$@8",
"$@9",
"aggregate_key",
1001 "gcc_type_attribute",
"gcc_attribute",
"gcc_attribute_list",
1002 "gcc_attribute_specifier",
"gcc_type_attribute_opt",
1003 "gcc_type_attribute_list",
"member_declaration_list_opt",
1004 "member_declaration_list",
"member_declaration",
1005 "member_default_declaring_list",
"member_declaring_list",
1006 "member_declarator",
"member_identifier_declarator",
1007 "bit_field_size_opt",
"bit_field_size",
"enum_name",
"$@10",
"$@11",
1008 "enum_key",
"enumerator_list_opt",
"enumerator_list",
1009 "enumerator_declaration",
"enumerator_value_opt",
"parameter_type_list",
1010 "KnR_parameter_list",
"KnR_parameter",
"parameter_list",
1011 "parameter_declaration",
"identifier_or_typedef_name",
"type_name",
1012 "initializer_opt",
"initializer",
"initializer_list",
1013 "initializer_list_opt",
"designated_initializer",
"designator",
1014 "statement",
"declaration_statement",
"labeled_statement",
1015 "compound_statement",
"compound_scope",
"statement_list",
1016 "expression_statement",
"selection_statement",
1017 "declaration_or_expression_statement",
"iteration_statement",
"$@12",
1018 "jump_statement",
"gcc_local_label_statement",
"gcc_local_label_list",
1019 "gcc_local_label",
"gcc_asm_statement",
"msc_asm_statement",
1020 "msc_seh_statement",
"cprover_exception_statement",
1021 "volatile_or_goto_opt",
"gcc_asm_commands",
"gcc_asm_assembler_template",
1022 "gcc_asm_outputs",
"gcc_asm_output",
"gcc_asm_output_list",
1023 "gcc_asm_inputs",
"gcc_asm_input",
"gcc_asm_input_list",
1024 "gcc_asm_clobbered_registers",
"gcc_asm_clobbered_register",
1025 "gcc_asm_clobbered_registers_list",
"gcc_asm_labels",
1026 "gcc_asm_labels_list",
"gcc_asm_label",
"translation_unit",
1027 "external_definition_list",
"external_definition",
"asm_definition",
1028 "function_definition",
"function_body",
"KnR_parameter_header_opt",
1029 "KnR_parameter_header",
"KnR_parameter_declaration",
1030 "KnR_declaration_qualifier_list",
"KnR_basic_declaration_specifier",
1031 "KnR_typedef_declaration_specifier",
"KnR_sue_declaration_specifier",
1032 "KnR_declaration_specifier",
"KnR_parameter_declaring_list",
1033 "function_head",
"declarator",
"paren_attribute_declarator",
1034 "typedef_declarator",
"parameter_typedef_declarator",
1035 "clean_typedef_declarator",
"clean_postfix_typedef_declarator",
1036 "paren_typedef_declarator",
"paren_postfix_typedef_declarator",
1037 "simple_paren_typedef_declarator",
"identifier_declarator",
1038 "unary_identifier_declarator",
"postfix_identifier_declarator",
1039 "paren_identifier_declarator",
"abstract_declarator",
1040 "parameter_abstract_declarator",
"postfixing_abstract_declarator",
1041 "$@13",
"parameter_postfixing_abstract_declarator",
"$@14",
1042 "array_abstract_declarator",
"unary_abstract_declarator",
1043 "parameter_unary_abstract_declarator",
"postfix_abstract_declarator",
1044 "parameter_postfix_abstract_declarator",
YY_NULLPTR 1053 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1054 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1055 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1056 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1057 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1058 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1059 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1060 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1061 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1062 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1063 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1064 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1065 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1066 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1067 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1068 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1069 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1070 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1071 435, 436, 437, 438, 439, 440, 441, 40, 41, 44,
1072 58, 46, 91, 93, 123, 125, 38, 42, 43, 45,
1073 126, 33, 47, 37, 60, 62, 94, 124, 63, 61,
1078 #define YYPACT_NINF -1002 1080 #define yypact_value_is_default(Yystate) \ 1081 (!!((Yystate) == (-1002))) 1083 #define YYTABLE_NINF -573 1085 #define yytable_value_is_error(Yytable_value) \ 1092 1899, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
1093 -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
1094 -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
1095 -1002, -1002, -137, 322, -1002, -1002, -1002, -1002, -1002, -1002,
1096 -1002, -1002, -120, -109, -86, -69, -111, -36, 28, 43,
1097 -1002, -1002, 71, 76, -1002, 84, -1002, 87, -1002, 682,
1098 183, 3465, 682, -1002, 307, -1002, 5, -1002, 112, -134,
1099 -125, 886, 919, 2201, 2201, -1002, -1002, 5657, 5657, 5740,
1100 5740, 5740, 5740, 5740, 5740, 900, 1239, 900, 1239, -1002,
1101 -1002, 5, -1002, -1002, -1002, 5, -1002, -1002, 5, -1002,
1102 1899, -1002, -1002, -1002, 214, -1002, -1002, -1002, 152, 4146,
1103 779, 1368, 152, 173, -1002, -1002, -1002, -1002, -1002, -1002,
1104 -1002, -1002, 288, 177, 4698, 129, 5, 4698, 4698, 4698,
1105 -1002, 4146, 5, 4698, 216, 211, 222, 3465, -1002, -1002,
1106 -1002, -1002, -1002, -1002, -1002, -1002, 5, -1002, 682, -1002,
1107 5, -1002, -1002, 876, -1002, 1050, 5, -1002, -1002, 5,
1108 5, -1002, 5, -1002, -1002, 122, 5, -1002, 900, 900,
1109 -1002, 5, -1002, -1002, 127, 5, 5, -1002, 5, 5,
1110 -1002, -1002, -1002, 5, 5, 5, 5, 5, 1447, 5,
1111 1447, 5, -1002, 297, -17, -1002, 249, 310, 169, 3375,
1112 -1002, -1002, 264, 4805, 4811, 4811, -17, -1002, -1002, -1002,
1113 -1002, 324, 334, 336, 339, 346, 4911, -1002, -1002, -1002,
1114 -1002, 4698, 4698, 348, 4060, 4698, 4698, 4698, 4698, 4698,
1115 4698, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
1116 -1002, -1002, -1002, -1002, -1002, 16, -1002, 1354, 190, -70,
1117 125, -19, 284, 364, 338, 335, 509, 4, -1002, -84,
1118 -1002, -1002, 227, 5905, 397, 362, 1673, -1002, 273, 424,
1119 432, 152, 779, 1675, -1002, -1002, -1002, -1002, 104, -1002,
1120 173, 396, -1002, 438, 1636, 234, -1002, -1002, -1002, -1002,
1121 -1002, 452, -1002, 138, 447, 187, 280, 313, 255, 455,
1122 467, 471, 152, -1002, -1002, -1002, -1002, -1002, -1002, 322,
1123 -1002, -1002, -1002, -1002, -1002, -1002, 456, -1002, 1447, 1447,
1124 -1002, 456, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
1125 -1002, -1002, -1002, -1002, -17, -1002, -1002, 473, 36, 4698,
1126 484, -1002, 5491, 35, 5344, -1002, 4177, -1002, 481, -1002,
1127 -1002, 3516, -1002, -1002, 4704, 4060, -1002, 4060, -1002, -1002,
1128 -1002, -1002, 5, 4698, 5, 4698, 5, 4060, -1002, 482,
1129 493, 5050, 5050, -1002, -1002, 4698, 283, 497, 512, 518,
1130 -1002, -1002, -1002, -1002, -1002, -1002, -17, -1002, -1002, 4286,
1131 -17, 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698,
1132 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698,
1133 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698, 4698,
1134 4698, 4698, 4698, 4373, -1002, 4698, 176, 2488, 5985, 900,
1135 900, -1002, -1002, -1002, 337, 362, 530, 152, 152, 536,
1136 377, 362, -1002, -1002, 689, 718, 553, -1002, 4404, 538,
1137 569, -1002, -1002, 577, 580, -1002, -1002, 585, 587, -1002,
1138 -1002, -1002, -1002, -1002, 292, -1002, 757, -1002, -1002, -1002,
1139 -1002, 589, 593, -1002, -1002, -1002, 4698, -1002, 456, 173,
1140 456, 456, 4404, -1002, -1002, 594, 602, -17, -1002, 605,
1141 -1002, 595, 4698, -1002, -1002, 322, 5822, 1239, 5657, 5740,
1142 -1002, 5491, -1002, 5574, 5657, 5740, -1002, 322, 22, -1002,
1143 315, -1002, 63, 63, 2054, 2054, 620, 623, -1002, -1002,
1144 -1002, -1002, 622, -1002, 4490, 624, 638, 642, 644, 650,
1145 655, 656, 660, 662, 5050, 5050, 1477, 886, 919, 2201,
1146 2201, 1477, 663, -1002, 4591, -1002, 2635, -1002, -1002, -1002,
1147 -1002, 386, -1002, -1002, 352, -1002, -1002, -1002, -1002, -1002,
1148 -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 190,
1149 190, -70, -70, 125, 125, 125, 125, -19, -19, 284,
1150 364, 338, 335, 509, -1002, -1002, 4698, 189, -1002, 27,
1151 3601, -1002, -1002, -1002, -1002, -1002, -1002, -1002, 152, -1002,
1152 -1002, -1002, -1002, 379, -1002, -1002, 288, 3958, -1002, -1002,
1153 -1002, 4698, 4698, 35, 786, 790, 670, 1636, 671, 676,
1154 657, 4698, 4698, 679, -1002, -1002, -1002, -1002, -1002, 559,
1155 677, 5, 678, 685, -1002, 5, -17, -1002, 687, -1002,
1156 -1002, 5, 5, -1002, 5, -1002, 5, -17, -17, 5,
1157 5, 5, -1002, 322, -1002, 5491, 35, 578, 1253, 682,
1158 -1002, 5, -1002, -1002, -1002, -1002, -1002, 5, -1002, 641,
1159 1812, 5, -1002, 5, -1002, 5491, 5197, -1002, -1002, -1002,
1160 683, 683, -1002, 5, 5, 5, -17, 683, 4698, 4698,
1161 4698, -1002, 173, 173, -1002, -1002, -1002, 57, 3958, -1002,
1162 668, 4698, 674, 690, 3033, -1002, 4597, 694, 3631, 698,
1163 702, 696, 104, -17, 2, -1002, -1002, 688, -1002, -1002,
1164 703, 58, 706, 695, -1002, 710, -1002, -1002, -1002, -1002,
1165 2834, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002, -1002,
1166 -1002, 4698, -1002, -1002, 4698, 724, 725, 727, 3601, -1002,
1167 -1002, -1002, -1002, 728, 730, -17, 4698, 737, 738, -1002,
1168 742, 740, -1002, 3717, 409, 430, 748, 750, 752, -1002,
1169 -1002, -1002, -1002, 215, 358, 384, -1002, 456, -1002, 731,
1170 5905, 751, 591, -1002, 32, 90, 559, -1002, 5, -17,
1171 736, 755, -1002, -1002, -1002, -1002, -1002, 5, 5, -1002,
1172 -1002, -1002, -1002, -1002, 5491, -1002, -1002, 764, 768, 1253,
1173 -1002, -1002, -1002, 1812, -1002, -1002, -1002, -1002, -1002, 775,
1174 776, 782, -12, -1002, 75, 119, 777, 434, -1002, 787,
1175 783, 784, -1002, 12, -1002, 3033, 945, 799, 780, 115,
1176 4698, -1002, 156, 4698, 4698, -1002, -21, 164, -1002, -1002,
1177 924, 522, -1002, 118, -1002, 3033, -1002, -1002, -1002, -1002,
1178 -1002, 152, 152, -1002, -1002, -15, 803, -1002, 24, 4404,
1179 3748, -1002, -17, 4698, 4404, -1002, -1002, -1002, -1002, -1002,
1180 -1002, 446, -1002, -1002, -1002, -1002, 1078, 2347, 5, -1002,
1181 610, -1002, 1078, -1002, 801, -1002, -1002, 4698, -1002, 5,
1182 -1002, -1002, 208, -1002, -1002, -1002, -1002, -1002, -17, -1002,
1183 -17, 4698, -1002, -1002, 4698, -1002, 57, 4698, 3857, -1002,
1184 4698, 3033, -1002, 807, 3232, -1002, -1002, 462, -1002, 475,
1185 809, 288, 930, -17, -1002, 812, -1002, 815, -1002, -1002,
1186 802, -1002, -1002, -1002, -17, 822, -1002, 827, 17, 824,
1187 4698, -1002, -1002, -1002, -1002, -1002, 29, -1002, -1002, 215,
1188 4698, -1002, 5, 829, -1002, 5, 829, -1002, -1002, -1002,
1189 5, -1002, -1002, 832, -1002, -1002, -1002, 391, -1002, -1002,
1190 -1002, -1002, 831, -1002, 4698, -1002, -1002, 4698, 3033, 3033,
1191 884, 837, 834, -1002, -1002, -1002, 4698, -1002, -1002, -1002,
1192 838, 4698, -15, -17, 840, -1002, 841, 288, 843, 403,
1193 4698, -1002, 828, -1002, -1002, 5, -1002, -1002, 5, -1002,
1194 -1002, -1002, 3033, 491, 830, 1020, -1002, 851, 3033, 835,
1195 -1002, 501, 288, 508, -1002, 853, 4698, 17, -1002, -1002,
1196 855, -17, -1002, -1002, 417, 215, -1002, -1002, -1002, -1002,
1197 884, 4698, 3033, 4698, -1002, -1002, -1002, 861, -1002, 288,
1198 532, -1002, 288, -1002, 864, -1002, -1002, 866, 845, 868,
1199 -1002, 869, -1002, 4698, 875, -1002, -1002, -17, -1002, -1002,
1200 884, -1002, 543, 4698, -1002, 3033, -1002, 547, -1002, -1002
1208 488, 253, 279, 280, 264, 181, 275, 346, 251, 267,
1209 255, 259, 266, 254, 182, 265, 276, 252, 296, 250,
1210 297, 277, 278, 183, 3, 5, 260, 261, 262, 263,
1211 185, 186, 0, 0, 268, 269, 270, 271, 272, 273,
1212 274, 257, 0, 0, 0, 0, 0, 0, 0, 0,
1213 184, 284, 0, 0, 180, 0, 316, 0, 256, 0,
1214 0, 0, 0, 495, 0, 563, 317, 493, 0, 0,
1215 0, 0, 0, 0, 0, 173, 188, 158, 163, 159,
1216 164, 160, 161, 162, 165, 226, 166, 231, 167, 258,
1217 168, 317, 209, 287, 285, 317, 170, 286, 317, 2,
1218 489, 490, 494, 492, 44, 523, 554, 556, 555, 317,
1219 0, 0, 536, 149, 530, 529, 535, 538, 539, 534,
1220 544, 528, 0, 0, 0, 0, 317, 0, 0, 0,
1221 4, 317, 317, 0, 0, 0, 0, 0, 191, 176,
1222 192, 557, 558, 1, 319, 221, 318, 135, 0, 137,
1223 317, 136, 133, 149, 134, 149, 317, 172, 179, 317,
1224 317, 178, 317, 206, 171, 139, 317, 174, 227, 232,
1225 169, 317, 210, 175, 141, 317, 317, 204, 317, 317,
1226 208, 211, 207, 317, 317, 317, 317, 317, 229, 317,
1227 234, 317, 202, 248, 341, 491, 0, 46, 576, 0,
1228 560, 570, 574, 0, 0, 0, 0, 6, 7, 8,
1229 9, 0, 0, 0, 0, 0, 0, 422, 422, 422,
1230 422, 0, 0, 0, 317, 0, 0, 0, 0, 0,
1231 0, 14, 10, 11, 12, 13, 15, 49, 23, 18,
1232 19, 20, 21, 22, 17, 63, 77, 81, 85, 88,
1233 91, 96, 99, 101, 103, 105, 107, 109, 111, 113,
1234 116, 128, 0, 0, 0, 0, 0, 552, 0, 0,
1235 0, 0, 0, 0, 533, 540, 547, 537, 455, 148,
1236 150, 0, 146, 0, 311, 0, 237, 235, 236, 247,
1237 243, 238, 244, 0, 0, 0, 0, 0, 0, 0,
1238 0, 0, 561, 564, 497, 177, 559, 320, 143, 0,
1239 151, 153, 213, 216, 219, 198, 382, 222, 228, 233,
1240 203, 382, 200, 201, 199, 205, 214, 217, 220, 223,
1241 212, 215, 218, 249, 290, 376, 377, 0, 317, 0,
1242 0, 422, 575, 0, 0, 578, 0, 130, 0, 193,
1243 196, 0, 195, 194, 0, 317, 73, 317, 64, 65,
1244 444, 67, 317, 0, 317, 0, 317, 317, 75, 0,
1245 0, 0, 0, 79, 80, 0, 0, 0, 0, 0,
1246 66, 68, 69, 70, 71, 72, 0, 55, 56, 0,
1247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1248 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1249 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1250 0, 0, 0, 0, 224, 0, 378, 380, 163, 164,
1251 165, 166, 167, 225, 0, 0, 0, 542, 549, 0,
1252 0, 0, 541, 548, 457, 456, 0, 147, 0, 0,
1253 301, 299, 298, 0, 0, 304, 305, 0, 0, 308,
1254 309, 310, 312, 313, 0, 187, 0, 246, 245, 288,
1255 281, 0, 0, 189, 190, 230, 0, 562, 382, 149,
1256 382, 382, 0, 140, 142, 0, 294, 347, 345, 0,
1257 81, 0, 0, 499, 498, 0, 0, 173, 163, 165,
1258 505, 571, 502, 0, 517, 518, 519, 0, 0, 359,
1259 0, 357, 362, 369, 366, 373, 0, 355, 360, 580,
1260 581, 579, 0, 197, 0, 0, 0, 0, 0, 0,
1261 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1262 0, 0, 0, 16, 0, 48, 131, 59, 60, 54,
1263 51, 0, 61, 53, 0, 118, 119, 120, 121, 122,
1264 123, 124, 125, 126, 127, 117, 82, 83, 84, 86,
1265 87, 89, 90, 94, 95, 92, 93, 97, 98, 100,
1266 102, 104, 106, 108, 110, 112, 0, 0, 129, 576,
1267 585, 589, 379, 567, 565, 566, 381, 553, 531, 543,
1268 551, 550, 545, 0, 458, 459, 0, 390, 384, 155,
1269 496, 0, 0, 0, 0, 0, 0, 311, 0, 0,
1270 0, 0, 0, 0, 144, 156, 152, 154, 383, 317,
1271 0, 317, 0, 348, 349, 317, 347, 45, 0, 521,
1272 506, 317, 317, 503, 317, 507, 317, 0, 0, 317,
1273 317, 317, 520, 0, 504, 500, 0, 576, 590, 594,
1274 365, 317, 363, 602, 568, 569, 372, 317, 370, 576,
1275 590, 317, 367, 317, 374, 500, 0, 582, 584, 583,
1276 74, 0, 32, 317, 317, 317, 0, 76, 0, 0,
1277 422, 39, 149, 149, 139, 141, 41, 317, 390, 78,
1278 0, 0, 0, 0, 131, 433, 0, 0, 0, 0,
1279 0, 0, 455, 0, 0, 422, 451, 0, 422, 419,
1280 14, 317, 132, 0, 413, 0, 423, 403, 401, 402,
1281 131, 404, 405, 406, 407, 409, 408, 410, 411, 412,
1282 52, 0, 50, 115, 0, 0, 0, 0, 586, 587,
1283 532, 546, 465, 0, 460, 0, 0, 14, 0, 391,
1284 389, 0, 387, 0, 0, 0, 0, 0, 0, 315,
1285 314, 240, 239, 0, 0, 0, 138, 382, 327, 0,
1286 0, 0, 317, 323, 0, 0, 317, 295, 317, 351,
1287 353, 0, 47, 509, 512, 513, 508, 317, 317, 510,
1288 511, 514, 522, 573, 501, 358, 575, 0, 0, 591,
1289 592, 364, 371, 591, 368, 375, 577, 356, 361, 0,
1290 0, 0, 0, 34, 0, 0, 0, 0, 25, 0,
1291 389, 0, 438, 0, 437, 131, 0, 0, 0, 0,
1292 0, 439, 0, 0, 131, 421, 0, 0, 442, 448,
1293 0, 0, 452, 0, 425, 131, 420, 424, 62, 114,
1294 597, 595, 596, 588, 145, 467, 461, 395, 0, 0,
1295 0, 385, 0, 0, 0, 393, 302, 300, 303, 306,
1296 307, 0, 282, 283, 157, 328, 334, 0, 317, 324,
1297 0, 326, 334, 325, 0, 342, 350, 0, 352, 317,
1298 515, 516, 600, 601, 593, 29, 30, 31, 0, 33,
1299 0, 0, 38, 40, 0, 24, 317, 0, 0, 57,
1300 0, 131, 418, 0, 131, 436, 435, 0, 440, 0,
1301 0, 0, 0, 0, 441, 0, 422, 0, 422, 422,
1302 170, 415, 599, 598, 0, 0, 470, 466, 473, 462,
1303 0, 396, 394, 386, 388, 400, 0, 392, 241, 0,
1304 0, 331, 317, 338, 329, 317, 338, 289, 330, 332,
1305 317, 354, 344, 576, 603, 37, 35, 0, 28, 26,
1306 27, 58, 0, 416, 0, 429, 430, 131, 131, 131,
1307 42, 0, 0, 443, 447, 450, 0, 453, 454, 414,
1308 0, 0, 0, 0, 0, 476, 472, 479, 463, 0,
1309 0, 398, 0, 340, 335, 317, 339, 337, 317, 291,
1310 289, 36, 131, 0, 0, 426, 428, 0, 131, 0,
1311 446, 0, 0, 0, 471, 0, 0, 0, 480, 481,
1312 478, 484, 464, 397, 0, 0, 333, 336, 293, 417,
1313 42, 131, 131, 0, 431, 445, 422, 0, 468, 0,
1314 0, 477, 0, 487, 483, 485, 399, 0, 0, 0,
1315 427, 0, 449, 0, 0, 474, 482, 0, 242, 432,
1316 42, 43, 0, 0, 486, 131, 469, 0, 434, 475
1322 -1002, -1002, 0, 47, -1002, -1002, -1002, -108, -1002, -302,
1323 -1002, -1002, 147, -1002, -1002, -1002, -1002, -1002, -1002, -1001,
1324 -1002, -1002, -1002, -1002, -235, -1002, 146, -123, 55, 353,
1325 381, 365, 648, 649, 647, 653, 659, -1002, 389, -1002,
1326 -334, 825, 3, -170, -841, 60, -589, -1002, -1002, -1002,
1327 -1002, 788, -1002, -104, -1002, -1002, -1002, -1002, 8, 267,
1328 39, 228, -54, 13, 1288, -1002, -131, 729, -1002, -1002,
1329 -226, -1002, -225, -1002, -1002, -1002, -99, -62, -9, -50,
1330 143, -462, 789, -1002, 894, -1002, 1031, -56, -39, -1002,
1331 69, -1002, -1002, -1002, -1002, 590, -1002, 474, -1002, 588,
1332 983, -74, 304, -1002, 312, -1002, -1002, 203, 207, 135,
1333 -661, -1002, -1002, -1002, 604, 485, -1002, 329, -1002, -1002,
1334 -1002, 470, -1002, 454, -181, 874, -291, -236, 433, 439,
1335 -804, -1002, 265, 220, -1002, -222, 586, -1002, 223, -1002,
1336 -1002, -1002, -1002, -1002, -1002, -1002, -205, -1002, -1002, -1002,
1337 -1002, 426, 217, -1002, -1002, 144, -1002, -1002, 113, -1002,
1338 -1002, 89, -1002, -1002, -1002, 78, -1002, -1002, 1052, -1002,
1339 -1002, -1002, 478, 814, -481, -1002, -1002, -1002, -1002, -1002,
1340 -1002, -1002, 15, 1046, -1002, -101, -94, -1002, 64, -1002,
1341 -95, 88, -28, -1002, -27, -408, -471, 1, -1002, 546,
1342 -1002, -1002, 571, -592, 574, -588
1348 -1, 64, 231, 112, 232, 233, 234, 235, 236, 237,
1349 238, 827, 828, 239, 240, 241, 242, 822, 243, 1028,
1350 197, 341, 244, 245, 758, 551, 246, 247, 248, 249,
1351 250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
1352 260, 261, 722, 608, 723, 724, 68, 69, 316, 321,
1353 478, 279, 280, 310, 70, 480, 481, 777, 537, 538,
1354 539, 540, 273, 157, 75, 76, 139, 350, 351, 77,
1355 78, 79, 80, 81, 82, 83, 84, 85, 86, 87,
1356 88, 291, 292, 293, 89, 334, 90, 91, 92, 93,
1357 1019, 94, 485, 630, 631, 95, 462, 463, 464, 144,
1358 263, 146, 781, 782, 783, 784, 785, 961, 964, 1015,
1359 962, 97, 337, 489, 98, 632, 633, 634, 898, 516,
1360 510, 511, 517, 518, 725, 829, 483, 759, 760, 761,
1361 762, 763, 726, 727, 728, 729, 379, 730, 731, 732,
1362 987, 733, 837, 734, 735, 847, 1063, 736, 737, 738,
1363 739, 446, 753, 754, 866, 946, 947, 949, 1005, 1006,
1364 1008, 1039, 1040, 1042, 1064, 1065, 99, 100, 101, 102,
1365 103, 494, 803, 804, 502, 503, 504, 505, 506, 507,
1366 508, 104, 963, 114, 115, 116, 117, 118, 119, 120,
1367 440, 121, 106, 107, 108, 592, 810, 439, 343, 201,
1368 344, 202, 594, 664, 595, 665
1376 65, 361, 378, 930, 620, 491, 305, 137, 71, 281,
1377 275, 159, 168, 338, 283, 271, 269, 162, 171, 596,
1378 643, 176, 179, 160, 169, 360, 410, 411, 908, 348,
1379 484, 134, 135, 65, 163, 172, 268, 428, 429, 73,
1380 779, 662, 668, 672, 674, 24, 25, 66, 113, 1068,
1381 109, 311, 210, 422, 420, 148, 386, 387, 388, 65,
1382 67, 65, 65, 920, 150, 807, 954, 122, 826, 808,
1383 849, 65, 65, 65, 65, 950, 149, 807, 123, 1085,
1384 1010, 808, 134, 135, 210, 151, 153, 155, 105, -572,
1385 175, 43, 180, 126, 183, 184, 185, 24, 373, 374,
1386 65, 124, 380, 381, 382, 383, 384, 385, 71, 200,
1387 65, 65, 262, 277, 954, 52, 498, 429, 125, 493,
1388 156, 166, 43, 444, 423, 24, 25, 285, 406, 407,
1389 295, 296, 297, 378, 298, 378, 200, 65, 130, 73,
1390 421, 445, 305, 43, 43, 378, 1024, 66, 65, 141,
1391 142, 549, 56, 486, 286, 553, 127, 267, 638, -572,
1392 67, 165, 174, 286, 430, 275, 931, 52, 408, 409,
1393 434, 269, 442, 932, 270, 276, 909, 944, 269, 910,
1394 911, 522, 749, 56, 525, 412, 413, 624, 105, 626,
1395 627, 287, 288, 779, 335, 52, 850, 779, 268, 141,
1396 287, 288, 921, 389, 56, 56, 335, 390, 391, 1003,
1397 1069, 653, 609, 425, 589, 342, 490, 951, 425, 199,
1398 128, 890, 1011, 381, 590, 306, 965, 376, 74, 965,
1399 -343, -572, 654, 591, 691, 129, 308, 134, 135, 696,
1400 286, 336, 891, 499, 134, 135, 628, 938, -377, 939,
1401 657, 136, 743, 336, 431, 199, -526, -526, 278, 43,
1402 658, -527, -527, 131, 425, 65, 65, 72, 65, 659,
1403 912, 132, 65, 65, 133, 498, 429, 287, 288, 892,
1404 566, 567, 568, 490, 490, 490, 490, 490, 490, 490,
1405 490, 490, 490, 490, 490, 490, 490, 490, 490, 490,
1406 893, -572, 1016, 477, 425, 1016, 635, 143, 425, 65,
1407 66, 881, 267, 188, 913, 190, -526, 289, 290, 267,
1408 56, -527, 147, 643, 479, 926, 467, 290, 74, 270,
1409 276, 414, 415, 431, 335, 24, 270, 443, 904, 198,
1410 863, 269, 904, 509, 199, 425, 603, 269, 196, 356,
1411 358, 359, 512, 933, 141, 210, 436, 342, 376, 43,
1412 376, 306, 368, 589, 284, 168, 928, 72, 199, 490,
1413 376, 171, 179, 590, 934, 625, 425, 169, 425, 744,
1414 470, 336, 591, 514, 24, 25, 547, 403, 172, 66,
1415 547, 66, 404, 405, 554, 973, 318, 319, 198, 303,
1416 199, 381, 499, 199, 302, 52, 432, 134, 135, 45,
1417 859, 660, 666, 134, 135, 424, 425, 304, 66, 66,
1418 56, 699, 465, 425, 24, 25, 587, 593, 593, 498,
1419 429, 536, 541, 548, 168, 65, 339, 548, 599, 600,
1420 171, 65, 179, 473, 425, 340, 169, 646, 650, 498,
1421 429, 823, 159, 168, 52, 635, 354, 172, 162, 171,
1422 59, 569, 570, 490, 160, 169, 797, 798, 378, 425,
1423 61, 543, 425, 471, 166, 163, 172, 159, 168, 62,
1424 616, 617, 267, 162, 171, 432, 884, 335, 267, 160,
1425 169, 427, 431, 851, 52, 65, 853, 1012, 752, 270,
1426 163, 172, 425, 655, 656, 270, 472, 65, 848, 110,
1427 639, 362, 65, 65, 65, 65, 645, 649, 651, 111,
1428 867, 363, 652, 364, 198, 597, 365, 875, 62, 199,
1429 426, 833, 360, 366, 336, 375, 748, 65, 65, 65,
1430 65, 425, 418, 166, 417, 742, 720, 425, 66, 265,
1431 644, 882, 692, 693, 428, 429, 499, 275, 419, 266,
1432 416, 156, 166, 269, 198, 602, 198, 751, 62, 199,
1433 496, 199, 515, 425, 740, 741, 499, 883, 498, 429,
1434 425, 66, 66, 1067, 1021, 433, 156, 166, 96, 311,
1435 745, 593, 425, 721, 688, 689, 1043, 876, 425, 750,
1436 661, 667, 671, 673, 809, 448, 425, 757, 635, 495,
1437 1066, 513, 437, 766, 764, 765, 813, 305, 877, 425,
1438 438, 490, 915, 916, 774, 775, 449, 694, 695, 134,
1439 135, 936, 937, 952, 958, 959, 335, 955, 957, 466,
1440 24, 134, 135, 474, 432, 43, 431, 335, 335, 140,
1441 988, 425, 469, 65, 548, 475, 509, 65, 65, 65,
1442 476, 164, 173, 989, 425, 482, 431, 487, 802, 65,
1443 65, 492, 24, 975, 520, 976, 534, 43, 305, 1050,
1444 425, 430, 305, 336, 512, 544, 547, 535, 96, 1056,
1445 425, 824, 825, 376, 336, 336, 1058, 425, 757, 140,
1446 545, 282, 66, 24, 720, 499, 56, 57, 442, 839,
1447 52, 842, 546, 335, 995, 514, 997, 998, 598, 1071,
1448 1075, 425, 66, 66, 601, 140, 604, 971, 993, 496,
1449 720, 1086, 425, 548, 307, 1089, 425, 605, 56, 57,
1450 606, 282, 52, 282, 24, 548, 141, 142, 610, 593,
1451 982, 721, 360, 838, -321, 547, 611, 945, 141, 868,
1452 336, 571, 572, 1000, 612, 657, 806, 613, 495, 778,
1453 199, 431, 614, 52, 615, 658, 173, 721, 173, 577,
1454 578, 621, 286, 637, 659, 622, -322, 353, 629, 335,
1455 1013, 573, 574, 575, 576, 431, -292, 59, 432, 636,
1456 960, 778, 548, 369, 370, 371, 372, 61, 675, 65,
1457 584, 585, 676, 65, 52, 677, 62, 679, 432, 287,
1458 288, 618, 1035, 752, 619, 168, 680, 66, 669, 806,
1459 681, 171, 682, 199, 1072, 720, 336, 169, 670, 683,
1460 1004, 24, 25, 927, 684, 685, 929, 659, 172, 686,
1461 687, 66, 697, 767, 140, 720, 307, 768, 769, 771,
1462 360, 140, 942, 943, 772, 43, 773, 776, 282, 59,
1463 757, 786, 547, 788, 789, 792, 956, 698, 832, 61,
1464 835, 840, 721, 496, 834, 843, 65, 65, 62, 844,
1465 65, 845, 65, -376, 945, 425, 360, 306, 852, 1038,
1466 855, 306, 721, 496, 515, 854, 173, 173, 547, 5,
1467 547, 52, 860, 861, 977, 862, 864, 548, 757, 548,
1468 865, 720, 495, 432, 1057, 14, 56, -59, 869, 1004,
1469 490, 870, 96, 335, 166, 871, 878, 23, 879, 353,
1470 880, 885, 495, 513, 335, 897, 888, 432, 24, 25,
1471 899, 1074, 902, 1009, 1038, 548, 903, 548, 301, 96,
1472 96, 278, 43, 905, 906, 548, 265, 914, 721, 836,
1473 907, 66, 918, 30, 31, 966, 266, 917, 966, 919,
1474 336, 24, 25, 264, 923, 62, 924, 1023, 720, 720,
1475 925, 336, 935, 948, 984, 857, 970, 990, 992, 1031,
1476 294, 44, 996, 335, 1033, 299, 300, 994, 887, 1001,
1477 -524, -524, 999, 1044, 1007, 173, 1002, 1027, 52, 960,
1478 806, 1022, 720, 56, 347, 1029, 50, 1036, 720, 1030,
1479 1037, 1032, 496, 1041, 1052, 721, 721, 1045, 1053, 1060,
1480 1051, 335, 53, 54, 1062, 1055, 1059, 886, 1073, 145,
1481 336, 52, 720, 1077, 1078, 1079, 1080, 1081, 663, 663,
1482 663, 663, 1083, 979, 579, 581, 580, 282, 447, 721,
1483 -524, 495, 582, 110, 192, 721, 1082, 335, 193, 583,
1484 523, 194, 468, 111, 173, 720, 1087, 333, 336, 1048,
1485 894, 770, 62, 647, 889, 969, 152, 968, 377, 721,
1486 922, 1018, 164, 173, 161, 170, 110, 648, 161, 178,
1487 161, 182, 161, 161, 161, 187, 111, 189, 896, 191,
1488 941, 791, 96, 96, 336, 62, 805, 164, 173, 154,
1489 818, 830, 721, 309, 96, 278, 43, 831, 846, 312,
1490 24, 25, 313, 314, 985, 315, 1034, 986, 991, 317,
1491 1061, 1076, 195, 816, 320, 1084, 501, 274, 322, 323,
1492 746, 324, 325, 747, 0, 0, 326, 327, 328, 329,
1493 330, 0, 331, 0, 332, 0, 347, 0, 140, 347,
1494 0, 0, 0, 0, -525, -525, 983, 0, 529, 0,
1495 531, 0, 0, 0, 0, 0, 0, 56, 0, 0,
1496 542, 0, 0, 663, 663, 0, 0, 0, 0, 0,
1497 52, 0, 0, 0, 552, 663, 663, 555, 556, 557,
1498 558, 559, 560, 561, 562, 563, 564, 565, 0, 526,
1499 352, 527, 0, 0, 0, 0, 528, 0, 530, 0,
1500 532, 533, 1, 0, -525, 0, 140, 0, 0, 0,
1501 588, 0, 0, 1025, 1026, 8, 0, 0, 140, 0,
1502 10, 0, 5, 13, 96, 110, 0, 0, 960, 17,
1503 0, 0, 19, 347, 0, 111, 0, 0, 14, 0,
1504 282, 282, 0, 0, 62, 0, 0, 1049, 0, 0,
1505 23, 0, 96, 1054, 0, 0, 0, 0, 0, 0,
1506 0, 623, 0, 0, 0, 0, 0, 347, 0, 0,
1507 0, 0, 0, 0, 0, 24, 25, 1070, 96, 0,
1508 0, 488, 0, 41, 0, 0, 30, 31, 0, 0,
1509 0, 0, 0, 0, 0, 0, 140, 0, 0, 43,
1510 0, 0, 0, 0, 0, 0, 0, 0, 0, 138,
1511 1088, 45, 0, 0, 44, 663, 0, 0, 0, 663,
1512 0, 158, 167, 0, 0, 158, 177, 158, 181, 158,
1513 158, 158, 186, 500, 0, 0, 0, 5, 0, 50,
1514 0, 0, 352, 0, 0, 52, 0, 0, 58, 0,
1515 0, 0, 0, 14, 0, 53, 54, 140, 0, 138,
1516 56, 140, 0, 0, 0, 23, 392, 393, 394, 395,
1517 396, 397, 398, 399, 400, 401, 0, 0, 0, 0,
1518 0, 0, 0, 96, 0, 138, 0, 0, 0, 0,
1519 24, 25, 347, 0, 0, 0, 0, 0, 0, 0,
1520 657, 30, 31, 940, 0, 199, 0, 0, 974, 0,
1521 658, 0, 0, 0, 43, 0, 5, 0, 0, 659,
1522 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,
1523 0, 0, 14, 0, 0, 173, 167, 0, 167, 0,
1524 0, 0, 0, 0, 23, 0, 0, 349, 0, 0,
1525 0, 0, 0, 0, 50, 0, 0, 0, 0, 0,
1526 52, 0, 0, 0, 0, 0, 0, 0, 0, 96,
1527 53, 54, 96, 0, 0, 56, 0, 0, 0, 0,
1528 30, 31, 0, 347, 0, 0, 347, 0, 640, 641,
1529 642, 0, 500, 43, 161, 161, 161, 0, 0, 24,
1530 0, 207, 208, 209, 210, 161, 170, 0, 44, 0,
1531 0, 0, 0, 0, 138, 272, 0, 819, 820, 821,
1532 0, 138, 0, 402, 0, 111, 858, 0, 0, 0,
1533 161, 170, 0, 50, 62, 0, 96, 96, 0, 211,
1534 212, 213, 214, 215, 0, 0, 0, 0, 347, 53,
1535 54, 0, 0, 0, 56, 217, 218, 219, 220, 0,
1536 0, 0, 0, 0, 0, 0, 167, 167, 0, 52,
1537 96, 0, 780, 0, 787, 0, 96, 0, 790, 0,
1538 0, 0, 223, 0, 793, 794, 0, 795, 0, 796,
1539 497, 0, 799, 800, 801, 0, 0, 0, 0, 349,
1540 96, 0, 0, 0, 811, 0, 0, 0, 0, 0,
1541 812, 0, 0, 0, 814, 0, 815, 0, 0, 0,
1542 0, 0, 0, 0, 690, 0, 0, 0, 0, 0,
1543 0, 0, 0, 96, 0, 0, 0, 0, 0, 0,
1544 0, 0, 5, 0, 5, 0, 500, 0, 0, 0,
1545 0, 0, 0, 0, 347, 347, 0, 0, 14, 347,
1546 14, 0, 0, 0, 145, 0, 500, 0, 0, 0,
1547 23, 0, 23, 0, 0, 167, 177, 181, 186, 0,
1548 0, 0, 347, 450, 451, 452, 453, 454, 455, 456,
1549 457, 458, 459, 460, 461, 24, 25, 24, 25, 978,
1550 0, 0, 980, 347, 0, 347, 30, 31, 30, 31,
1551 0, 0, 0, 0, 0, 0, 0, 0, 0, 43,
1552 0, 43, 0, 0, 0, 780, 0, 0, 0, 780,
1553 0, 895, 0, 0, 44, 0, 44, 0, 0, 0,
1554 900, 901, 0, 0, 167, 347, 177, 186, 0, 497,
1555 0, 158, 158, 158, 0, 0, 0, 0, 0, 50,
1556 0, 50, 158, 167, 0, 52, 0, 52, 0, 0,
1557 0, 0, 0, 0, 0, 53, 54, 53, 54, 0,
1558 56, 5, 56, 0, 0, 0, 0, 158, 167, 0,
1559 0, 0, 0, 0, 0, 500, 0, 14, 0, 0,
1560 0, 0, 0, 0, 0, 0, 0, 0, 0, 23,
1561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1562 435, 0, 441, 0, 0, 0, 0, 0, 0, 0,
1563 266, 967, 266, 0, 24, 0, 0, 0, 138, 62,
1564 0, 62, 972, 0, 0, 30, 31, 0, 0, 0,
1565 0, 0, 0, 0, 0, 0, 0, 0, 43, 0,
1566 0, 0, 1, 2, 3, 0, 0, 4, 5, 0,
1567 0, 0, 6, 44, 7, 8, 9, 0, 0, 0,
1568 10, 11, 12, 13, 14, 0, 15, 16, 0, 17,
1569 18, 0, 19, 20, 21, 22, 23, 0, 50, 0,
1570 0, 0, 0, 497, 52, 1014, 138, 0, 1017, 0,
1571 0, 0, 0, 1020, 53, 54, 0, 0, 138, 56,
1572 0, 24, 25, 497, 0, 0, 0, 0, 26, 27,
1573 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
1574 38, 39, 40, 41, 42, 43, 0, 0, 0, 0,
1575 0, 0, 0, 0, 0, 0, 0, 0, 1046, 669,
1576 44, 1047, 0, 0, 199, 0, 0, 0, 0, 670,
1577 0, 45, 0, 0, 0, 0, 0, 0, 659, 0,
1578 0, 46, 47, 48, 49, 50, 51, 0, 0, 0,
1579 0, 52, 0, 0, 0, 0, 138, 0, 0, 0,
1580 0, 53, 54, 55, 0, 0, 56, 57, 58, 0,
1581 0, 0, 0, 0, 0, 0, 0, 1, 2, 3,
1582 0, 0, 4, 5, 0, 0, 0, 6, 0, 7,
1583 8, 9, 0, 0, 0, 10, 11, 12, 13, 14,
1584 0, 15, 16, 0, 17, 18, 59, 19, 20, 21,
1585 22, 23, 497, 60, 0, 0, 61, 138, 0, 0,
1586 0, 138, 0, 0, 0, 62, 0, 0, 0, 63,
1587 0, 0, 0, 0, 0, 0, 24, 25, 0, 0,
1588 0, 0, 0, 26, 27, 28, 29, 30, 31, 32,
1589 0, 34, 35, 36, 37, 38, 39, 40, 41, 0,
1590 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1591 0, 0, 0, 0, 0, 44, 0, 0, 0, 0,
1592 0, 0, 0, 0, 0, 0, 45, 0, 0, 0,
1593 0, 0, 0, 0, 0, 167, 46, 47, 48, 49,
1594 50, 51, 0, 0, 0, 0, 52, 0, 0, 0,
1595 0, 0, 0, 0, 0, 0, 53, 54, 55, 0,
1596 0, 56, 0, 58, 1, 2, 3, 0, 0, 4,
1597 5, 0, 0, 0, 6, 0, 7, 8, 9, 0,
1598 0, 0, 10, 11, 12, 13, 14, 0, 15, 16,
1599 0, 17, 18, 0, 19, 20, 21, 22, 23, 0,
1600 0, 669, 0, 0, 0, 0, 199, 0, 0, 0,
1601 0, 670, 0, 0, 0, 0, 0, 0, 0, 0,
1602 659, 0, 0, 24, 25, 0, 0, 0, 0, 0,
1603 26, 27, 28, 29, 30, 31, 32, 0, 34, 35,
1604 36, 37, 38, 39, 40, 41, 0, 43, 0, 0,
1605 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1606 0, 0, 44, 0, 0, 0, 0, 0, 0, 0,
1607 0, 0, 0, 45, 0, 0, 0, 0, 0, 0,
1608 0, 0, 0, 46, 47, 48, 49, 50, 51, 0,
1609 0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
1610 0, 0, 0, 53, 54, 55, 0, 0, 56, 0,
1611 58, 2, 3, 0, 0, 4, 5, 0, 0, 0,
1612 6, 0, 7, 0, 9, 0, 0, 0, 0, 11,
1613 12, 0, 14, 0, 15, 16, 0, 0, 18, 0,
1614 0, 20, 21, 22, 23, 0, 0, 0, 59, 0,
1615 0, 0, 0, 0, 0, 0, 0, 0, 61, 0,
1616 0, 0, 0, 0, 0, 0, 0, 62, 0, 24,
1617 25, 0, 0, 0, 0, 0, 26, 27, 28, 29,
1618 30, 31, 32, 0, 34, 35, 36, 37, 38, 39,
1619 40, 0, 0, 43, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
1621 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1622 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
1623 47, 48, 49, 50, 51, 0, 0, 0, 0, 52,
1624 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
1625 54, 55, 2, 3, 56, 0, 4, 5, 0, 0,
1626 0, 6, 0, 7, 0, 9, 0, 0, 0, 0,
1627 11, 12, 0, 14, 0, 15, 16, 0, 0, 18,
1628 0, 0, 20, 21, 22, 23, 0, 0, 0, 0,
1629 0, 0, 0, 0, 59, 0, 0, 960, 0, 0,
1630 0, 0, 0, 0, 61, 0, 0, 0, 0, 0,
1631 0, 25, 0, 62, 0, 0, 0, 26, 27, 28,
1632 29, 30, 31, 32, 0, 34, 35, 36, 37, 38,
1633 39, 40, 0, 0, 43, 0, 0, 0, 0, 0,
1634 0, 0, 0, 0, 0, 0, 0, 0, 0, 44,
1635 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1637 46, 47, 48, 49, 50, 51, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1639 53, 54, 55, 0, 0, 56, 0, 0, 1, 2,
1640 3, 700, 701, 4, 5, 702, 703, 704, 6, 0,
1641 7, 8, 9, 705, 706, 707, 10, 11, 12, 13,
1642 14, 708, 15, 16, 203, 17, 18, 709, 19, 20,
1643 21, 22, 23, 0, 710, 589, 204, 205, 0, 0,
1644 199, 0, 0, 0, 206, 590, 0, 0, 0, 0,
1645 0, 0, 0, 0, 591, 0, 0, 24, 25, 207,
1646 208, 209, 210, 711, 26, 27, 28, 29, 30, 31,
1647 32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
1648 712, 43, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 713, 714, 44, 211, 212, 213,
1650 214, 215, 216, 715, 0, 0, 716, 45, 0, 0,
1651 0, 0, 0, 217, 218, 219, 220, 46, 47, 48,
1652 49, 50, 51, 717, 0, 718, 0, 52, 0, 0,
1653 0, 0, 0, 0, 0, 221, 222, 53, 54, 55,
1654 223, 0, 56, 57, 58, 0, 0, 0, 0, 0,
1655 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1658 0, 0, 224, 0, 0, 0, 0, 0, 0, -422,
1659 719, 225, 226, 227, 228, 229, 230, 1, 2, 3,
1660 700, 701, 4, 5, 702, 703, 704, 6, 0, 7,
1661 8, 9, 705, 706, 707, 10, 11, 12, 13, 14,
1662 708, 15, 16, 203, 17, 18, 709, 19, 20, 21,
1663 22, 23, 0, 710, 0, 204, 205, 0, 0, 0,
1664 0, 0, 0, 206, 0, 0, 0, 0, 0, 0,
1665 0, 0, 0, 0, 0, 0, 24, 25, 207, 208,
1666 209, 210, 0, 26, 27, 28, 29, 30, 31, 32,
1667 33, 34, 35, 36, 37, 38, 39, 40, 41, 712,
1668 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1669 0, 0, 0, 713, 714, 44, 211, 212, 213, 214,
1670 215, 216, 715, 0, 0, 716, 45, 0, 0, 0,
1671 0, 0, 217, 218, 219, 220, 46, 47, 48, 49,
1672 50, 51, 717, 0, 718, 0, 52, 0, 0, 0,
1673 0, 0, 0, 0, 221, 222, 53, 54, 55, 223,
1674 0, 56, 57, 58, 0, 0, 0, 0, 0, 0,
1675 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1676 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1677 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1678 0, 224, 0, 0, 0, 0, 0, 0, -422, 856,
1679 225, 226, 227, 228, 229, 230, 1, 2, 3, 700,
1680 701, 4, 5, 702, 703, 704, 6, 0, 7, 8,
1681 9, 705, 706, 707, 10, 11, 12, 13, 14, 708,
1682 15, 16, 203, 17, 18, 709, 19, 20, 21, 22,
1683 23, 0, 710, 0, 204, 205, 0, 0, 0, 0,
1684 0, 0, 206, 0, 0, 0, 0, 0, 0, 0,
1685 0, 0, 0, 0, 0, 24, 25, 207, 208, 209,
1686 210, 0, 26, 27, 28, 29, 30, 31, 32, 33,
1687 34, 35, 36, 37, 38, 39, 40, 41, 712, 43,
1688 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1689 0, 0, 713, 714, 44, 211, 212, 213, 214, 215,
1690 216, 715, 0, 0, 716, 45, 0, 0, 0, 0,
1691 0, 217, 218, 219, 220, 46, 47, 48, 49, 50,
1692 51, 717, 0, 718, 0, 52, 0, 0, 0, 0,
1693 0, 0, 0, 221, 222, 53, 54, 55, 223, 0,
1694 56, 57, 58, 0, 0, 0, 0, 0, 0, 0,
1695 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1696 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1697 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1698 224, 0, 0, 0, 0, 0, 0, -422, 0, 225,
1699 226, 227, 228, 229, 230, 1, 2, 3, 0, 0,
1700 4, 5, 0, 0, 0, 6, 0, 7, 8, 9,
1701 0, 0, 0, 10, 11, 12, 13, 14, 0, 15,
1702 16, 203, 17, 18, 0, 19, 20, 21, 22, 23,
1703 0, 0, 0, 204, 205, 0, 0, 0, 0, 0,
1704 0, 206, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 24, 25, 207, 208, 209, 210,
1706 0, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1707 35, 36, 37, 38, 39, 40, 41, 0, 43, 0,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 44, 211, 212, 213, 214, 215, 216,
1710 0, 0, 0, 0, 45, 0, 0, 0, 0, 0,
1711 217, 218, 219, 220, 46, 47, 48, 49, 50, 51,
1712 0, 0, 0, 0, 52, 0, 0, 0, 0, 0,
1713 0, 0, 221, 222, 53, 54, 55, 223, 1, 56,
1714 57, 58, 0, 0, 5, 0, 0, 0, 0, 0,
1715 0, 8, 0, 0, 0, 0, 10, 0, 0, 13,
1716 14, 0, 0, 0, 203, 17, 0, 0, 19, 0,
1717 0, 0, 23, 0, 0, 0, 204, 205, 0, 224,
1718 0, 0, 0, 0, 206, 0, 0, 0, 225, 226,
1719 227, 228, 229, 230, 0, 0, 0, 24, 0, 207,
1720 208, 209, 210, 0, 0, 0, 0, 0, 30, 31,
1721 0, 0, 0, 0, 0, 0, 0, 0, 0, 41,
1722 0, 43, 0, 0, 0, 0, 0, 0, 0, 0,
1723 0, 0, 0, 0, 5, 0, 44, 211, 212, 213,
1724 214, 215, 216, 0, 0, 0, 0, 45, 0, 0,
1725 14, 0, 0, 217, 218, 219, 220, 0, 0, 0,
1726 0, 50, 23, 0, 0, 0, 0, 52, 0, 0,
1727 0, 0, 0, 0, 0, 221, 222, 53, 54, 1,
1728 223, 0, 56, 0, 58, 5, 0, 24, 0, 0,
1729 0, 0, 8, 0, 0, 0, 0, 10, 30, 31,
1730 13, 14, 0, 0, 0, 203, 17, 0, 0, 19,
1731 0, 43, 0, 23, 0, 0, 0, 204, 205, 0,
1732 0, 0, 224, 0, 0, 206, 44, 0, 345, 0,
1733 0, 225, 346, 227, 228, 229, 230, 0, 24, 0,
1734 207, 208, 209, 210, 0, 0, 0, 0, 0, 30,
1735 31, 50, 0, 0, 0, 0, 0, 52, 0, 0,
1736 41, 0, 43, 0, 0, 0, 0, 53, 54, 0,
1737 5, 0, 56, 0, 0, 0, 0, 44, 211, 212,
1738 213, 214, 215, 216, 0, 0, 14, 0, 45, 0,
1739 0, 0, 0, 0, 217, 218, 219, 220, 23, 0,
1740 0, 0, 50, 0, 0, 0, 0, 0, 52, 0,
1741 0, 0, 59, 0, 0, 0, 221, 222, 53, 54,
1742 203, 223, 61, 56, 0, 58, 0, 0, 0, 0,
1743 0, 62, 204, 205, 30, 31, 0, 0, 0, 0,
1744 206, 0, 0, 0, 0, 0, 0, 43, 0, 0,
1745 0, 0, 0, 24, 0, 207, 208, 209, 210, 0,
1746 0, 0, 44, 224, 0, 0, 0, 0, 0, 521,
1747 0, 0, 225, 226, 227, 228, 229, 230, 0, 0,
1748 0, 0, 0, 0, 0, 0, 0, 50, 0, 0,
1749 0, 0, 0, 211, 212, 213, 214, 215, 216, 0,
1750 0, 0, 0, 53, 54, 0, 203, 0, 56, 217,
1751 218, 219, 220, 0, 0, 0, 0, 0, 204, 205,
1752 0, 0, 0, 52, 0, 0, 206, 0, 0, 0,
1753 0, 221, 222, 0, 0, 0, 223, 203, 0, 24,
1754 0, 207, 208, 209, 210, 0, 0, 0, 589, 204,
1755 205, 0, 0, 199, 0, 0, 0, 206, 590, 0,
1756 0, 0, 0, 0, 0, 0, 0, 591, 0, 0,
1757 24, 25, 207, 208, 209, 210, 0, 0, 224, 211,
1758 212, 213, 214, 215, 216, 0, 0, 225, 226, 227,
1759 228, 229, 230, 0, 0, 217, 218, 219, 220, 0,
1760 0, 841, 0, 0, 0, 0, 0, 0, 0, 52,
1761 211, 212, 213, 214, 215, 216, 0, 221, 222, 0,
1762 0, 0, 223, 0, 0, 0, 217, 218, 219, 220,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 52, 0, 0, 0, 0, 0, 203, 0, 221, 222,
1765 0, 0, 0, 223, 0, 0, 0, 0, 204, 205,
1766 0, 0, 0, 0, 224, 0, 206, 0, 872, 873,
1767 0, 607, 0, 225, 226, 227, 228, 229, 230, 24,
1768 25, 207, 208, 209, 210, 0, 874, 0, 0, 0,
1769 0, 0, 0, 0, 0, 224, 0, 0, 0, 755,
1770 756, 0, 607, 953, 225, 226, 227, 228, 229, 230,
1771 0, 0, 0, 0, 0, 0, 0, 0, 0, 211,
1772 212, 213, 214, 215, 216, 0, 0, 0, 0, 0,
1773 0, 0, 0, 0, 0, 217, 218, 219, 220, 0,
1774 0, 0, 0, 0, 0, 0, 0, 203, 0, 52,
1775 0, 0, 0, 0, 0, 0, 0, 221, 222, 204,
1776 205, 0, 223, 0, 0, 0, 0, 206, 0, 0,
1777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1778 24, 25, 207, 208, 209, 210, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1780 0, 0, 0, 0, 224, 0, 0, 0, 755, 756,
1781 0, 607, 981, 225, 226, 227, 228, 229, 230, 0,
1782 211, 212, 213, 214, 215, 216, 0, 0, 0, 0,
1783 0, 0, 0, 0, 0, 0, 217, 218, 219, 220,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 203,
1785 52, 0, 0, 0, 0, 0, 0, 0, 221, 222,
1786 0, 204, 205, 223, 0, 0, 0, 0, 0, 206,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 24, 0, 207, 208, 209, 210, 0, 0,
1789 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1790 0, 0, 0, 0, 0, 224, 43, 0, 0, 755,
1791 756, 0, 607, 0, 225, 226, 227, 228, 229, 230,
1792 0, 0, 211, 212, 213, 214, 215, 216, 0, 0,
1793 0, 0, 0, 0, 0, 203, 0, 0, 217, 218,
1794 219, 220, 0, 0, 0, 0, 0, 204, 205, 0,
1795 0, 0, 52, 0, 0, 206, 0, 0, 0, 0,
1796 221, 222, 0, 0, 0, 223, 203, 56, 24, 0,
1797 207, 208, 209, 210, 0, 0, 0, 0, 204, 205,
1798 0, 0, 0, 0, 0, 0, 206, 0, 0, 0,
1799 0, 0, 43, 0, 0, 0, 0, 0, 0, 24,
1800 0, 207, 208, 209, 210, 0, 0, 224, 211, 212,
1801 213, 214, 215, 216, -422, 0, 225, 226, 227, 228,
1802 229, 230, 0, 0, 217, 218, 219, 220, 0, 0,
1803 0, 0, 0, 0, 0, 0, 0, 0, 52, 211,
1804 212, 213, 214, 215, 216, 0, 221, 222, 0, 0,
1805 0, 223, 0, 56, 0, 217, 218, 219, 220, 0,
1806 0, 0, 0, 0, 0, 0, 0, 0, 0, 52,
1807 0, 0, 0, 0, 0, 203, 0, 221, 222, 0,
1808 0, 0, 223, 0, 0, 0, 0, 204, 205, 0,
1809 0, 0, 0, 224, 0, 206, 0, 0, 0, 0,
1810 0, 0, 225, 226, 227, 228, 229, 230, 24, 0,
1811 207, 208, 209, 210, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 224, 0, 0, 0, 0, 0,
1813 519, 0, 0, 225, 226, 227, 228, 229, 230, 0,
1814 0, 0, 0, 0, 0, 0, 0, 0, 211, 212,
1815 213, 214, 215, 216, 0, 0, 0, 0, 0, 0,
1816 0, 0, 203, 0, 217, 218, 219, 220, 0, 0,
1817 0, 0, 0, 0, 204, 205, 0, 0, 52, 0,
1818 0, 0, 206, 0, 0, 0, 221, 222, 0, 0,
1819 0, 223, 0, 203, 0, 24, 0, 207, 208, 209,
1820 210, 0, 0, 0, 0, 204, 205, 0, 0, 0,
1821 0, 0, 0, 206, 0, 0, 0, 0, 0, 0,
1822 0, 0, 0, 0, 0, 0, 24, 0, 207, 208,
1823 209, 210, 0, 224, 550, 211, 212, 213, 214, 215,
1824 216, 0, 225, 226, 227, 228, 229, 230, 0, 0,
1825 0, 217, 218, 219, 220, 0, 0, 0, 0, 0,
1826 0, 0, 0, 0, 0, 52, 211, 212, 213, 214,
1827 215, 216, 0, 221, 222, 0, 0, 0, 223, 203,
1828 0, 0, 217, 218, 219, 220, 0, 0, 0, 0,
1829 0, 204, 205, 0, 0, 0, 52, 0, 0, 206,
1830 0, 0, 0, 0, 221, 222, 0, 0, 0, 223,
1831 0, 0, 24, 0, 207, 208, 209, 210, 0, 0,
1832 224, 0, 0, 586, 0, 0, 0, 0, 0, 225,
1833 226, 227, 228, 229, 230, 0, 0, 0, 0, 0,
1834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1835 0, 224, 211, 212, 213, 214, 215, 216, 607, 0,
1836 225, 226, 227, 228, 229, 230, 0, 0, 217, 218,
1837 219, 220, 0, 0, 0, 0, 0, 0, 0, 0,
1838 203, 0, 52, 0, 0, 0, 203, 0, 0, 0,
1839 221, 222, 204, 205, 0, 223, 0, 0, 204, 205,
1840 206, 0, 0, 0, 0, 0, 206, 0, 0, 0,
1841 0, 0, 0, 24, 0, 207, 208, 209, 210, 24,
1842 25, 207, 208, 209, 210, 0, 0, 0, 0, 0,
1843 0, 0, 0, 0, 0, 0, 0, 224, 0, 0,
1844 0, 0, 0, 678, 0, 0, 225, 226, 227, 228,
1845 229, 230, 0, 211, 212, 213, 214, 215, 216, 211,
1846 212, 213, 214, 215, 216, 0, 0, 0, 0, 217,
1847 218, 219, 220, 0, 0, 217, 218, 219, 220, 0,
1848 0, 0, 0, 52, 0, 0, 0, 203, 0, 52,
1849 0, 221, 222, 203, 0, 0, 223, 221, 222, 204,
1850 205, 0, 223, 0, 0, 204, 205, 206, 0, 0,
1851 0, 0, 0, 206, 0, 0, 0, 0, 0, 0,
1852 24, 0, 207, 208, 209, 210, 24, 0, 207, 208,
1853 209, 210, 0, 0, 0, 0, 0, 0, 224, 0,
1854 0, 0, 0, 0, 224, 698, 0, 225, 226, 227,
1855 228, 229, 230, 225, 226, 227, 228, 229, 230, 0,
1856 211, 212, 213, 214, 215, 216, 211, 212, 213, 214,
1857 215, 216, 0, 0, 0, 0, 217, 218, 219, 220,
1858 0, 0, 217, 218, 219, 220, 0, 0, 0, 0,
1859 52, 0, 0, 0, 203, 0, 52, 0, 221, 222,
1860 203, 0, 0, 223, 221, 222, 204, 205, 0, 223,
1861 0, 0, 204, 205, 206, 0, 0, 0, 0, 0,
1862 206, 0, 0, 0, 0, 0, 0, 24, 0, 207,
1863 208, 209, 210, 24, 0, 207, 208, 209, 210, 0,
1864 0, 0, 0, 0, 0, 224, 0, 0, 0, 0,
1865 0, 224, 0, 0, 225, 226, 227, 228, 229, 230,
1866 225, 524, 227, 228, 229, 230, 0, 211, 212, 213,
1867 214, 215, 216, 211, 212, 213, 214, 215, 216, 0,
1868 0, 0, 0, 217, 218, 219, 220, 0, 0, 217,
1869 218, 219, 220, 0, 0, 0, 0, 52, 0, 0,
1870 203, 0, 0, 52, 0, 0, 0, 0, 0, 0,
1871 223, 0, 204, 205, 0, 0, 223, 0, 0, 0,
1872 206, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1873 0, 0, 0, 24, 0, 207, 208, 209, 210, 0,
1874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1875 0, 0, 355, 0, 0, 0, 0, 0, 357, 0,
1876 0, 225, 226, 227, 228, 229, 230, 225, 226, 227,
1877 228, 229, 230, 211, 212, 213, 214, 215, 216, 0,
1878 0, 0, 0, 0, 0, 0, 0, 0, 0, 217,
1879 218, 219, 220, 0, 0, 0, 0, 0, 0, 0,
1880 0, 0, 0, 52, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 1, 2, 3, 223, 0, 4, 5,
1882 0, 0, 0, 6, 0, 7, 8, 9, 0, 0,
1883 0, 10, 11, 12, 13, 14, 0, 15, 16, 0,
1884 17, 18, 0, 19, 20, 21, 22, 23, 0, 0,
1885 0, 0, 0, 0, 0, 0, 0, 0, 367, 0,
1886 0, 0, 0, 0, 0, 0, 0, 225, 226, 227,
1887 228, 229, 230, 25, 0, 0, 0, 0, 0, 26,
1888 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
1889 37, 38, 39, 40, 41, 0, 43, 0, 0, 0,
1890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1891 0, 44, 0, 0, 0, 0, 0, 0, 0, 0,
1892 0, 0, 45, 0, 0, 0, 0, 0, 0, 0,
1893 0, 0, 46, 47, 48, 49, 50, 51, 0, 0,
1894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1895 0, 0, 53, 54, 55, 0, 0, 56, 57, 58,
1896 1, 2, 3, 0, 0, 4, 5, 0, 0, 0,
1897 6, 0, 7, 8, 9, 0, 0, 0, 10, 11,
1898 12, 13, 14, 0, 15, 16, 0, 17, 18, 0,
1899 19, 20, 21, 22, 23, 0, 0, 0, 0, 0,
1900 0, 0, 0, 0, 0, 0, 0, 0, 817, 0,
1901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1902 25, 0, 0, 0, 0, 0, 26, 27, 28, 29,
1903 30, 31, 32, 0, 34, 35, 36, 37, 38, 39,
1904 40, 41, 0, 43, 0, 0, 0, 0, 0, 0,
1905 0, 0, 0, 0, 0, 0, 0, 0, 44, 0,
1906 0, 0, 0, 0, 0, 0, 0, 0, 0, 45,
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 46,
1908 47, 48, 49, 50, 51, 0, 0, 0, 0, 0,
1909 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
1910 54, 55, 0, 0, 56, 0, 58, 1, 2, 3,
1911 0, 0, 4, 5, 0, 0, 0, 6, 0, 7,
1912 8, 9, 0, 0, 0, 10, 11, 12, 13, 14,
1913 0, 15, 16, 0, 17, 18, 0, 19, 20, 21,
1914 22, 23, 0, 0, 0, 0, 0, 0, 0, 0,
1915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1916 0, 0, 0, 0, 0, 0, 0, 25, 0, 0,
1917 0, 0, 0, 26, 27, 28, 29, 30, 31, 32,
1918 0, 34, 35, 36, 37, 38, 39, 40, 41, 0,
1919 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1920 0, 0, 0, 0, 0, 44, 0, 0, 0, 0,
1921 0, 0, 0, 0, 0, 0, 45, 0, 0, 0,
1922 0, 0, 0, 0, 0, 0, 46, 47, 48, 49,
1923 50, 51, 0, 0, 0, 0, 0, 0, 0, 0,
1924 0, 0, 0, 0, 0, 0, 53, 54, 55, 0,
1925 0, 56, 0, 58, 1, 2, 3, 0, 0, 4,
1926 5, 0, 0, 0, 6, 0, 7, 8, 9, 0,
1927 0, 0, 10, 11, 12, 13, 14, 0, 15, 16,
1928 0, 17, 18, 0, 19, 20, 21, 22, 23, 0,
1929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1931 0, 0, 0, 0, 25, 0, 0, 0, 0, 0,
1932 26, 27, 28, 29, 30, 31, 32, 0, 34, 35,
1933 36, 37, 38, 39, 40, 41, 0, 1, 2, 3,
1934 0, 0, 4, 5, 0, 0, 0, 6, 0, 7,
1935 8, 9, 44, 0, 0, 10, 11, 12, 13, 14,
1936 0, 15, 16, 45, 17, 18, 0, 19, 20, 21,
1937 22, 23, 0, 46, 47, 48, 49, 50, 51, 0,
1938 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1939 0, 0, 0, 53, 54, 55, 0, 25, 0, 0,
1940 58, 0, 0, 26, 27, 28, 29, 30, 31, 0,
1941 0, 34, 35, 36, 37, 38, 39, 40, 41, 0,
1942 1, 2, 3, 0, 0, 4, 5, 0, 0, 0,
1943 6, 0, 0, 8, 9, 44, 0, 0, 10, 11,
1944 12, 13, 14, 0, 15, 16, 45, 17, 0, 0,
1945 19, 0, 21, 22, 23, 0, 0, 47, 48, 49,
1946 50, 51, 0, 0, 0, 0, 0, 0, 0, 0,
1947 0, 0, 0, 0, 0, 0, 53, 54, 0, 0,
1948 0, 0, 0, 58, 0, 0, 26, 27, 28, 29,
1949 30, 31, 0, 0, 34, 35, 36, 37, 38, 39,
1950 40, 41, 0, 1, 0, 0, 0, 0, 0, 5,
1951 0, 0, 0, 0, 0, 0, 8, 0, 44, 0,
1952 0, 10, 0, 0, 13, 14, 0, 0, 0, 45,
1953 17, 0, 0, 19, 0, 0, 0, 23, 0, 0,
1954 47, 48, 49, 50, 51, 0, 0, 0, 0, 0,
1955 0, 0, 0, 0, 0, 0, 0, 0, 0, 53,
1956 54, 0, 0, 0, 0, 0, 58, 0, 0, 0,
1957 0, 0, 0, 30, 31, 0, 0, 0, 0, 0,
1958 0, 0, 0, 0, 41, 0, 2, 3, 0, 0,
1959 4, 5, 0, 0, 0, 6, 0, 7, 0, 9,
1960 0, 44, 0, 0, 11, 12, 0, 14, 0, 15,
1961 16, 0, 45, 18, 0, 0, 20, 21, 22, 23,
1962 0, 0, 0, 0, 0, 0, 50, 0, 0, 0,
1963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1964 0, 0, 53, 54, 0, 25, 0, 0, 0, 58,
1965 0, 26, 27, 28, 29, 30, 31, 32, 0, 34,
1966 35, 36, 37, 38, 39, 40, 0, 0, 43, 2,
1967 3, 0, 0, 4, 5, 0, 0, 0, 6, 0,
1968 7, 0, 9, 44, 0, 0, 0, 11, 12, 0,
1969 14, 0, 15, 16, 0, 0, 18, 0, 0, 20,
1970 21, 22, 23, 0, 46, 47, 48, 49, 50, 51,
1971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1972 0, 0, 0, 0, 53, 54, 55, 0, 25, 56,
1973 0, 0, 0, 0, 26, 27, 28, 29, 30, 31,
1974 32, 0, 34, 35, 36, 37, 38, 39, 40, 2,
1975 3, 0, 0, 4, 5, 0, 0, 0, 6, 0,
1976 0, 0, 9, 0, 0, 0, 44, 11, 12, 0,
1977 14, 0, 15, 16, 0, 0, 0, 0, 0, 0,
1978 21, 22, 23, 0, 0, 0, 0, 46, 47, 48,
1979 49, 50, 51, 0, 0, 0, 0, 0, 0, 0,
1980 0, 0, 0, 0, 0, 0, 0, 53, 54, 55,
1981 0, 0, 0, 0, 26, 27, 28, 29, 30, 31,
1982 0, 0, 34, 35, 36, 37, 38, 39, 40, 0,
1983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1984 0, 0, 0, 0, 0, 0, 44, 0, 0, 0,
1985 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1986 0, 0, 0, 0, 0, 0, 0, 0, 47, 48,
1987 49, 50, 51, 0, 0, 0, 0, 0, 0, 0,
1988 0, 0, 0, 0, 0, 0, 0, 53, 54
1993 0, 206, 224, 844, 466, 339, 137, 61, 0, 113,
1994 111, 73, 74, 194, 122, 110, 110, 73, 74, 427,
1995 501, 77, 78, 73, 74, 206, 45, 46, 40, 199,
1996 321, 59, 59, 33, 73, 74, 110, 263, 263, 0,
1997 629, 512, 513, 514, 515, 62, 63, 0, 33, 1050,
1998 187, 155, 67, 137, 50, 189, 40, 41, 42, 59,
1999 0, 61, 62, 51, 189, 657, 870, 187, 11, 657,
2000 68, 71, 72, 73, 74, 51, 210, 669, 187, 1080,
2001 51, 669, 110, 110, 67, 210, 71, 72, 0, 62,
2002 77, 86, 79, 204, 81, 82, 83, 62, 221, 222,
2003 100, 187, 225, 226, 227, 228, 229, 230, 100, 108,
2004 110, 111, 109, 112, 918, 132, 342, 342, 187, 341,
2005 73, 74, 86, 19, 208, 62, 63, 124, 198, 199,
2006 127, 128, 129, 355, 131, 357, 135, 137, 67, 100,
2007 136, 37, 273, 86, 86, 367, 987, 100, 148, 61,
2008 62, 386, 147, 334, 25, 390, 192, 110, 492, 132,
2009 100, 73, 74, 25, 263, 266, 187, 132, 43, 44,
2010 265, 265, 273, 194, 110, 111, 188, 192, 272, 191,
2011 192, 351, 590, 147, 354, 204, 205, 478, 100, 480,
2012 481, 62, 63, 782, 194, 132, 194, 786, 272, 111,
2013 62, 63, 190, 187, 147, 147, 206, 191, 192, 192,
2014 1051, 189, 448, 189, 187, 188, 339, 193, 189, 192,
2015 192, 189, 193, 346, 197, 137, 887, 224, 0, 890,
2016 194, 62, 210, 206, 536, 192, 148, 265, 265, 541,
2017 25, 194, 210, 342, 272, 272, 482, 129, 190, 131,
2018 187, 68, 586, 206, 263, 192, 134, 135, 85, 86,
2019 197, 134, 135, 187, 189, 265, 266, 0, 268, 206,
2020 195, 187, 272, 273, 187, 501, 501, 62, 63, 189,
2021 403, 404, 405, 406, 407, 408, 409, 410, 411, 412,
2022 413, 414, 415, 416, 417, 418, 419, 420, 421, 422,
2023 210, 132, 963, 302, 189, 966, 487, 0, 189, 309,
2024 263, 773, 265, 85, 195, 87, 194, 188, 189, 272,
2025 147, 194, 210, 804, 309, 210, 188, 189, 100, 265,
2026 266, 47, 48, 342, 334, 62, 272, 273, 809, 187,
2027 748, 435, 813, 343, 192, 189, 441, 441, 134, 203,
2028 204, 205, 344, 189, 266, 67, 268, 188, 355, 86,
2029 357, 273, 216, 187, 187, 427, 210, 100, 192, 492,
2030 367, 427, 428, 197, 210, 479, 189, 427, 189, 190,
2031 193, 334, 206, 344, 62, 63, 386, 197, 427, 342,
2032 390, 344, 202, 203, 391, 187, 168, 169, 187, 188,
2033 192, 524, 501, 192, 188, 132, 263, 435, 435, 112,
2034 744, 512, 513, 441, 441, 188, 189, 195, 371, 372,
2035 147, 544, 188, 189, 62, 63, 423, 426, 427, 655,
2036 655, 371, 372, 386, 496, 435, 187, 390, 437, 438,
2037 496, 441, 498, 188, 189, 135, 496, 503, 504, 675,
2038 675, 686, 514, 515, 132, 636, 192, 496, 514, 515,
2039 187, 406, 407, 586, 514, 515, 647, 648, 690, 189,
2040 197, 188, 189, 193, 427, 514, 515, 539, 540, 206,
2041 188, 189, 435, 539, 540, 342, 777, 487, 441, 539,
2042 540, 263, 501, 715, 132, 495, 718, 959, 606, 435,
2043 539, 540, 189, 188, 189, 441, 193, 507, 713, 187,
2044 495, 187, 512, 513, 514, 515, 503, 504, 505, 197,
2045 755, 187, 507, 187, 187, 188, 187, 763, 206, 192,
2046 263, 701, 713, 187, 487, 187, 590, 537, 538, 539,
2047 540, 189, 207, 496, 206, 193, 546, 189, 501, 187,
2048 503, 193, 537, 538, 780, 780, 655, 658, 49, 197,
2049 196, 514, 515, 657, 187, 188, 187, 188, 206, 192,
2050 342, 192, 344, 189, 188, 189, 675, 193, 804, 804,
2051 189, 534, 535, 1045, 193, 188, 539, 540, 0, 693,
2052 589, 590, 189, 546, 534, 535, 193, 188, 189, 598,
2053 512, 513, 514, 515, 658, 209, 189, 607, 789, 342,
2054 193, 344, 188, 613, 611, 612, 670, 748, 188, 189,
2055 188, 744, 188, 189, 621, 622, 188, 539, 540, 657,
2056 657, 109, 110, 869, 188, 189, 636, 872, 874, 187,
2057 62, 669, 669, 188, 501, 86, 655, 647, 648, 61,
2058 188, 189, 205, 653, 607, 188, 656, 657, 658, 659,
2059 189, 73, 74, 188, 189, 209, 675, 194, 653, 669,
2060 670, 187, 62, 908, 193, 910, 194, 86, 809, 188,
2061 189, 780, 813, 636, 676, 188, 686, 194, 100, 188,
2062 189, 688, 689, 690, 647, 648, 188, 189, 698, 111,
2063 188, 113, 655, 62, 704, 804, 147, 148, 809, 706,
2064 132, 708, 194, 713, 936, 676, 938, 939, 188, 1053,
2065 188, 189, 675, 676, 188, 137, 37, 897, 933, 501,
2066 730, 188, 189, 686, 146, 188, 189, 19, 147, 148,
2067 187, 153, 132, 155, 62, 698, 658, 659, 210, 748,
2068 920, 704, 933, 706, 195, 755, 187, 865, 670, 756,
2069 713, 408, 409, 944, 187, 187, 188, 187, 501, 210,
2070 192, 780, 187, 132, 187, 197, 188, 730, 190, 414,
2071 415, 192, 25, 188, 206, 192, 195, 199, 194, 789,
2072 960, 410, 411, 412, 413, 804, 194, 187, 655, 194,
2073 190, 210, 755, 217, 218, 219, 220, 197, 188, 809,
2074 421, 422, 189, 813, 132, 193, 206, 193, 675, 62,
2075 63, 64, 1003, 931, 67, 887, 188, 780, 187, 188,
2076 188, 887, 188, 192, 1056, 835, 789, 887, 197, 189,
2077 948, 62, 63, 840, 189, 189, 843, 206, 887, 189,
2078 188, 804, 189, 67, 266, 855, 268, 67, 188, 188,
2079 1041, 273, 861, 862, 188, 86, 209, 188, 280, 187,
2080 870, 194, 872, 195, 189, 188, 873, 194, 210, 197,
2081 190, 187, 835, 655, 210, 187, 886, 887, 206, 187,
2082 890, 195, 892, 190, 1002, 189, 1077, 809, 210, 1007,
2083 190, 813, 855, 675, 676, 210, 318, 319, 908, 9,
2084 910, 132, 188, 188, 911, 188, 188, 870, 918, 872,
2085 190, 921, 655, 780, 1032, 25, 147, 190, 190, 1037,
2086 1053, 189, 344, 933, 887, 195, 188, 37, 188, 351,
2087 188, 210, 675, 676, 944, 209, 195, 804, 62, 63,
2088 195, 1059, 188, 950, 1062, 908, 188, 910, 133, 371,
2089 372, 85, 86, 188, 188, 918, 187, 190, 921, 704,
2090 188, 924, 189, 73, 74, 887, 197, 190, 890, 195,
2091 933, 62, 63, 109, 39, 206, 187, 984, 988, 989,
2092 210, 944, 68, 190, 187, 730, 195, 188, 68, 996,
2093 126, 101, 187, 1003, 1001, 131, 132, 195, 780, 187,
2094 134, 135, 210, 1010, 190, 427, 189, 133, 132, 190,
2095 188, 190, 1022, 147, 199, 188, 126, 187, 1028, 195,
2096 189, 193, 804, 190, 14, 988, 989, 209, 187, 1036,
2097 210, 1041, 142, 143, 189, 210, 193, 780, 187, 66,
2098 1003, 132, 1052, 189, 188, 210, 188, 188, 512, 513,
2099 514, 515, 187, 916, 416, 418, 417, 479, 280, 1022,
2100 194, 804, 419, 187, 91, 1028, 1073, 1077, 95, 420,
2101 351, 98, 293, 197, 496, 1085, 1083, 193, 1041, 1020,
2102 786, 617, 206, 503, 782, 892, 210, 890, 224, 1052,
2103 835, 966, 514, 515, 73, 74, 187, 503, 77, 78,
2104 79, 80, 81, 82, 83, 84, 197, 86, 789, 88,
2105 855, 636, 534, 535, 1077, 206, 656, 539, 540, 210,
2106 676, 698, 1085, 150, 546, 85, 86, 698, 712, 156,
2107 62, 63, 159, 160, 924, 162, 1002, 924, 931, 166,
2108 1037, 1062, 100, 675, 171, 1077, 342, 111, 175, 176,
2109 589, 178, 179, 589, -1, -1, 183, 184, 185, 186,
2110 187, -1, 189, -1, 191, -1, 351, -1, 590, 354,
2111 -1, -1, -1, -1, 134, 135, 921, -1, 363, -1,
2112 365, -1, -1, -1, -1, -1, -1, 147, -1, -1,
2113 375, -1, -1, 657, 658, -1, -1, -1, -1, -1,
2114 132, -1, -1, -1, 389, 669, 670, 392, 393, 394,
2115 395, 396, 397, 398, 399, 400, 401, 402, -1, 355,
2116 199, 357, -1, -1, -1, -1, 362, -1, 364, -1,
2117 366, 367, 3, -1, 194, -1, 658, -1, -1, -1,
2118 425, -1, -1, 988, 989, 16, -1, -1, 670, -1,
2119 21, -1, 9, 24, 676, 187, -1, -1, 190, 30,
2120 -1, -1, 33, 448, -1, 197, -1, -1, 25, -1,
2121 692, 693, -1, -1, 206, -1, -1, 1022, -1, -1,
2122 37, -1, 704, 1028, -1, -1, -1, -1, -1, -1,
2123 -1, 476, -1, -1, -1, -1, -1, 482, -1, -1,
2124 -1, -1, -1, -1, -1, 62, 63, 1052, 730, -1,
2125 -1, 338, -1, 84, -1, -1, 73, 74, -1, -1,
2126 -1, -1, -1, -1, -1, -1, 748, -1, -1, 86,
2127 -1, -1, -1, -1, -1, -1, -1, -1, -1, 61,
2128 1085, 112, -1, -1, 101, 809, -1, -1, -1, 813,
2129 -1, 73, 74, -1, -1, 77, 78, 79, 80, 81,
2130 82, 83, 84, 342, -1, -1, -1, 9, -1, 126,
2131 -1, -1, 351, -1, -1, 132, -1, -1, 149, -1,
2132 -1, -1, -1, 25, -1, 142, 143, 809, -1, 111,
2133 147, 813, -1, -1, -1, 37, 52, 53, 54, 55,
2134 56, 57, 58, 59, 60, 61, -1, -1, -1, -1,
2135 -1, -1, -1, 835, -1, 137, -1, -1, -1, -1,
2136 62, 63, 607, -1, -1, -1, -1, -1, -1, -1,
2137 187, 73, 74, 855, -1, 192, -1, -1, 902, -1,
2138 197, -1, -1, -1, 86, -1, 9, -1, -1, 206,
2139 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101,
2140 -1, -1, 25, -1, -1, 887, 188, -1, 190, -1,
2141 -1, -1, -1, -1, 37, -1, -1, 199, -1, -1,
2142 -1, -1, -1, -1, 126, -1, -1, -1, -1, -1,
2143 132, -1, -1, -1, -1, -1, -1, -1, -1, 921,
2144 142, 143, 924, -1, -1, 147, -1, -1, -1, -1,
2145 73, 74, -1, 698, -1, -1, 701, -1, 497, 498,
2146 499, -1, 501, 86, 503, 504, 505, -1, -1, 62,
2147 -1, 64, 65, 66, 67, 514, 515, -1, 101, -1,
2148 -1, -1, -1, -1, 266, 187, -1, 683, 684, 685,
2149 -1, 273, -1, 209, -1, 197, 741, -1, -1, -1,
2150 539, 540, -1, 126, 206, -1, 988, 989, -1, 102,
2151 103, 104, 105, 106, -1, -1, -1, -1, 763, 142,
2152 143, -1, -1, -1, 147, 118, 119, 120, 121, -1,
2153 -1, -1, -1, -1, -1, -1, 318, 319, -1, 132,
2154 1022, -1, 629, -1, 631, -1, 1028, -1, 635, -1,
2155 -1, -1, 145, -1, 641, 642, -1, 644, -1, 646,
2156 342, -1, 649, 650, 651, -1, -1, -1, -1, 351,
2157 1052, -1, -1, -1, 661, -1, -1, -1, -1, -1,
2158 667, -1, -1, -1, 671, -1, 673, -1, -1, -1,
2159 -1, -1, -1, -1, 187, -1, -1, -1, -1, -1,
2160 -1, -1, -1, 1085, -1, -1, -1, -1, -1, -1,
2161 -1, -1, 9, -1, 9, -1, 655, -1, -1, -1,
2162 -1, -1, -1, -1, 869, 870, -1, -1, 25, 874,
2163 25, -1, -1, -1, 721, -1, 675, -1, -1, -1,
2164 37, -1, 37, -1, -1, 427, 428, 429, 430, -1,
2165 -1, -1, 897, 87, 88, 89, 90, 91, 92, 93,
2166 94, 95, 96, 97, 98, 62, 63, 62, 63, 914,
2167 -1, -1, 917, 918, -1, 920, 73, 74, 73, 74,
2168 -1, -1, -1, -1, -1, -1, -1, -1, -1, 86,
2169 -1, 86, -1, -1, -1, 782, -1, -1, -1, 786,
2170 -1, 788, -1, -1, 101, -1, 101, -1, -1, -1,
2171 797, 798, -1, -1, 496, 960, 498, 499, -1, 501,
2172 -1, 503, 504, 505, -1, -1, -1, -1, -1, 126,
2173 -1, 126, 514, 515, -1, 132, -1, 132, -1, -1,
2174 -1, -1, -1, -1, -1, 142, 143, 142, 143, -1,
2175 147, 9, 147, -1, -1, -1, -1, 539, 540, -1,
2176 -1, -1, -1, -1, -1, 804, -1, 25, -1, -1,
2177 -1, -1, -1, -1, -1, -1, -1, -1, -1, 37,
2178 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2179 187, -1, 187, -1, -1, -1, -1, -1, -1, -1,
2180 197, 888, 197, -1, 62, -1, -1, -1, 590, 206,
2181 -1, 206, 899, -1, -1, 73, 74, -1, -1, -1,
2182 -1, -1, -1, -1, -1, -1, -1, -1, 86, -1,
2183 -1, -1, 3, 4, 5, -1, -1, 8, 9, -1,
2184 -1, -1, 13, 101, 15, 16, 17, -1, -1, -1,
2185 21, 22, 23, 24, 25, -1, 27, 28, -1, 30,
2186 31, -1, 33, 34, 35, 36, 37, -1, 126, -1,
2187 -1, -1, -1, 655, 132, 962, 658, -1, 965, -1,
2188 -1, -1, -1, 970, 142, 143, -1, -1, 670, 147,
2189 -1, 62, 63, 675, -1, -1, -1, -1, 69, 70,
2190 71, 72, 73, 74, 75, 76, 77, 78, 79, 80,
2191 81, 82, 83, 84, 85, 86, -1, -1, -1, -1,
2192 -1, -1, -1, -1, -1, -1, -1, -1, 1015, 187,
2193 101, 1018, -1, -1, 192, -1, -1, -1, -1, 197,
2194 -1, 112, -1, -1, -1, -1, -1, -1, 206, -1,
2195 -1, 122, 123, 124, 125, 126, 127, -1, -1, -1,
2196 -1, 132, -1, -1, -1, -1, 748, -1, -1, -1,
2197 -1, 142, 143, 144, -1, -1, 147, 148, 149, -1,
2198 -1, -1, -1, -1, -1, -1, -1, 3, 4, 5,
2199 -1, -1, 8, 9, -1, -1, -1, 13, -1, 15,
2200 16, 17, -1, -1, -1, 21, 22, 23, 24, 25,
2201 -1, 27, 28, -1, 30, 31, 187, 33, 34, 35,
2202 36, 37, 804, 194, -1, -1, 197, 809, -1, -1,
2203 -1, 813, -1, -1, -1, 206, -1, -1, -1, 210,
2204 -1, -1, -1, -1, -1, -1, 62, 63, -1, -1,
2205 -1, -1, -1, 69, 70, 71, 72, 73, 74, 75,
2206 -1, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2207 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2208 -1, -1, -1, -1, -1, 101, -1, -1, -1, -1,
2209 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
2210 -1, -1, -1, -1, -1, 887, 122, 123, 124, 125,
2211 126, 127, -1, -1, -1, -1, 132, -1, -1, -1,
2212 -1, -1, -1, -1, -1, -1, 142, 143, 144, -1,
2213 -1, 147, -1, 149, 3, 4, 5, -1, -1, 8,
2214 9, -1, -1, -1, 13, -1, 15, 16, 17, -1,
2215 -1, -1, 21, 22, 23, 24, 25, -1, 27, 28,
2216 -1, 30, 31, -1, 33, 34, 35, 36, 37, -1,
2217 -1, 187, -1, -1, -1, -1, 192, -1, -1, -1,
2218 -1, 197, -1, -1, -1, -1, -1, -1, -1, -1,
2219 206, -1, -1, 62, 63, -1, -1, -1, -1, -1,
2220 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
2221 79, 80, 81, 82, 83, 84, -1, 86, -1, -1,
2222 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2223 -1, -1, 101, -1, -1, -1, -1, -1, -1, -1,
2224 -1, -1, -1, 112, -1, -1, -1, -1, -1, -1,
2225 -1, -1, -1, 122, 123, 124, 125, 126, 127, -1,
2226 -1, -1, -1, 132, -1, -1, -1, -1, -1, -1,
2227 -1, -1, -1, 142, 143, 144, -1, -1, 147, -1,
2228 149, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2229 13, -1, 15, -1, 17, -1, -1, -1, -1, 22,
2230 23, -1, 25, -1, 27, 28, -1, -1, 31, -1,
2231 -1, 34, 35, 36, 37, -1, -1, -1, 187, -1,
2232 -1, -1, -1, -1, -1, -1, -1, -1, 197, -1,
2233 -1, -1, -1, -1, -1, -1, -1, 206, -1, 62,
2234 63, -1, -1, -1, -1, -1, 69, 70, 71, 72,
2235 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
2236 83, -1, -1, 86, -1, -1, -1, -1, -1, -1,
2237 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1,
2238 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2239 -1, -1, -1, -1, -1, -1, -1, -1, -1, 122,
2240 123, 124, 125, 126, 127, -1, -1, -1, -1, 132,
2241 -1, -1, -1, -1, -1, -1, -1, -1, -1, 142,
2242 143, 144, 4, 5, 147, -1, 8, 9, -1, -1,
2243 -1, 13, -1, 15, -1, 17, -1, -1, -1, -1,
2244 22, 23, -1, 25, -1, 27, 28, -1, -1, 31,
2245 -1, -1, 34, 35, 36, 37, -1, -1, -1, -1,
2246 -1, -1, -1, -1, 187, -1, -1, 190, -1, -1,
2247 -1, -1, -1, -1, 197, -1, -1, -1, -1, -1,
2248 -1, 63, -1, 206, -1, -1, -1, 69, 70, 71,
2249 72, 73, 74, 75, -1, 77, 78, 79, 80, 81,
2250 82, 83, -1, -1, 86, -1, -1, -1, -1, -1,
2251 -1, -1, -1, -1, -1, -1, -1, -1, -1, 101,
2252 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2253 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2254 122, 123, 124, 125, 126, 127, -1, -1, -1, -1,
2255 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2256 142, 143, 144, -1, -1, 147, -1, -1, 3, 4,
2257 5, 6, 7, 8, 9, 10, 11, 12, 13, -1,
2258 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
2259 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
2260 35, 36, 37, -1, 39, 187, 41, 42, -1, -1,
2261 192, -1, -1, -1, 49, 197, -1, -1, -1, -1,
2262 -1, -1, -1, -1, 206, -1, -1, 62, 63, 64,
2263 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
2264 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
2265 85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
2266 -1, -1, -1, -1, 99, 100, 101, 102, 103, 104,
2267 105, 106, 107, 108, -1, -1, 111, 112, -1, -1,
2268 -1, -1, -1, 118, 119, 120, 121, 122, 123, 124,
2269 125, 126, 127, 128, -1, 130, -1, 132, -1, -1,
2270 -1, -1, -1, -1, -1, 140, 141, 142, 143, 144,
2271 145, -1, 147, 148, 149, -1, -1, -1, -1, -1,
2272 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2273 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2274 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2275 -1, -1, 187, -1, -1, -1, -1, -1, -1, 194,
2276 195, 196, 197, 198, 199, 200, 201, 3, 4, 5,
2277 6, 7, 8, 9, 10, 11, 12, 13, -1, 15,
2278 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
2279 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
2280 36, 37, -1, 39, -1, 41, 42, -1, -1, -1,
2281 -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
2282 -1, -1, -1, -1, -1, -1, 62, 63, 64, 65,
2283 66, 67, -1, 69, 70, 71, 72, 73, 74, 75,
2284 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
2285 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2286 -1, -1, -1, 99, 100, 101, 102, 103, 104, 105,
2287 106, 107, 108, -1, -1, 111, 112, -1, -1, -1,
2288 -1, -1, 118, 119, 120, 121, 122, 123, 124, 125,
2289 126, 127, 128, -1, 130, -1, 132, -1, -1, -1,
2290 -1, -1, -1, -1, 140, 141, 142, 143, 144, 145,
2291 -1, 147, 148, 149, -1, -1, -1, -1, -1, -1,
2292 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2293 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2294 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2295 -1, 187, -1, -1, -1, -1, -1, -1, 194, 195,
2296 196, 197, 198, 199, 200, 201, 3, 4, 5, 6,
2297 7, 8, 9, 10, 11, 12, 13, -1, 15, 16,
2298 17, 18, 19, 20, 21, 22, 23, 24, 25, 26,
2299 27, 28, 29, 30, 31, 32, 33, 34, 35, 36,
2300 37, -1, 39, -1, 41, 42, -1, -1, -1, -1,
2301 -1, -1, 49, -1, -1, -1, -1, -1, -1, -1,
2302 -1, -1, -1, -1, -1, 62, 63, 64, 65, 66,
2303 67, -1, 69, 70, 71, 72, 73, 74, 75, 76,
2304 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,
2305 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2306 -1, -1, 99, 100, 101, 102, 103, 104, 105, 106,
2307 107, 108, -1, -1, 111, 112, -1, -1, -1, -1,
2308 -1, 118, 119, 120, 121, 122, 123, 124, 125, 126,
2309 127, 128, -1, 130, -1, 132, -1, -1, -1, -1,
2310 -1, -1, -1, 140, 141, 142, 143, 144, 145, -1,
2311 147, 148, 149, -1, -1, -1, -1, -1, -1, -1,
2312 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2313 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2314 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2315 187, -1, -1, -1, -1, -1, -1, 194, -1, 196,
2316 197, 198, 199, 200, 201, 3, 4, 5, -1, -1,
2317 8, 9, -1, -1, -1, 13, -1, 15, 16, 17,
2318 -1, -1, -1, 21, 22, 23, 24, 25, -1, 27,
2319 28, 29, 30, 31, -1, 33, 34, 35, 36, 37,
2320 -1, -1, -1, 41, 42, -1, -1, -1, -1, -1,
2321 -1, 49, -1, -1, -1, -1, -1, -1, -1, -1,
2322 -1, -1, -1, -1, 62, 63, 64, 65, 66, 67,
2323 -1, 69, 70, 71, 72, 73, 74, 75, 76, 77,
2324 78, 79, 80, 81, 82, 83, 84, -1, 86, -1,
2325 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2326 -1, -1, -1, 101, 102, 103, 104, 105, 106, 107,
2327 -1, -1, -1, -1, 112, -1, -1, -1, -1, -1,
2328 118, 119, 120, 121, 122, 123, 124, 125, 126, 127,
2329 -1, -1, -1, -1, 132, -1, -1, -1, -1, -1,
2330 -1, -1, 140, 141, 142, 143, 144, 145, 3, 147,
2331 148, 149, -1, -1, 9, -1, -1, -1, -1, -1,
2332 -1, 16, -1, -1, -1, -1, 21, -1, -1, 24,
2333 25, -1, -1, -1, 29, 30, -1, -1, 33, -1,
2334 -1, -1, 37, -1, -1, -1, 41, 42, -1, 187,
2335 -1, -1, -1, -1, 49, -1, -1, -1, 196, 197,
2336 198, 199, 200, 201, -1, -1, -1, 62, -1, 64,
2337 65, 66, 67, -1, -1, -1, -1, -1, 73, 74,
2338 -1, -1, -1, -1, -1, -1, -1, -1, -1, 84,
2339 -1, 86, -1, -1, -1, -1, -1, -1, -1, -1,
2340 -1, -1, -1, -1, 9, -1, 101, 102, 103, 104,
2341 105, 106, 107, -1, -1, -1, -1, 112, -1, -1,
2342 25, -1, -1, 118, 119, 120, 121, -1, -1, -1,
2343 -1, 126, 37, -1, -1, -1, -1, 132, -1, -1,
2344 -1, -1, -1, -1, -1, 140, 141, 142, 143, 3,
2345 145, -1, 147, -1, 149, 9, -1, 62, -1, -1,
2346 -1, -1, 16, -1, -1, -1, -1, 21, 73, 74,
2347 24, 25, -1, -1, -1, 29, 30, -1, -1, 33,
2348 -1, 86, -1, 37, -1, -1, -1, 41, 42, -1,
2349 -1, -1, 187, -1, -1, 49, 101, -1, 193, -1,
2350 -1, 196, 197, 198, 199, 200, 201, -1, 62, -1,
2351 64, 65, 66, 67, -1, -1, -1, -1, -1, 73,
2352 74, 126, -1, -1, -1, -1, -1, 132, -1, -1,
2353 84, -1, 86, -1, -1, -1, -1, 142, 143, -1,
2354 9, -1, 147, -1, -1, -1, -1, 101, 102, 103,
2355 104, 105, 106, 107, -1, -1, 25, -1, 112, -1,
2356 -1, -1, -1, -1, 118, 119, 120, 121, 37, -1,
2357 -1, -1, 126, -1, -1, -1, -1, -1, 132, -1,
2358 -1, -1, 187, -1, -1, -1, 140, 141, 142, 143,
2359 29, 145, 197, 147, -1, 149, -1, -1, -1, -1,
2360 -1, 206, 41, 42, 73, 74, -1, -1, -1, -1,
2361 49, -1, -1, -1, -1, -1, -1, 86, -1, -1,
2362 -1, -1, -1, 62, -1, 64, 65, 66, 67, -1,
2363 -1, -1, 101, 187, -1, -1, -1, -1, -1, 193,
2364 -1, -1, 196, 197, 198, 199, 200, 201, -1, -1,
2365 -1, -1, -1, -1, -1, -1, -1, 126, -1, -1,
2366 -1, -1, -1, 102, 103, 104, 105, 106, 107, -1,
2367 -1, -1, -1, 142, 143, -1, 29, -1, 147, 118,
2368 119, 120, 121, -1, -1, -1, -1, -1, 41, 42,
2369 -1, -1, -1, 132, -1, -1, 49, -1, -1, -1,
2370 -1, 140, 141, -1, -1, -1, 145, 29, -1, 62,
2371 -1, 64, 65, 66, 67, -1, -1, -1, 187, 41,
2372 42, -1, -1, 192, -1, -1, -1, 49, 197, -1,
2373 -1, -1, -1, -1, -1, -1, -1, 206, -1, -1,
2374 62, 63, 64, 65, 66, 67, -1, -1, 187, 102,
2375 103, 104, 105, 106, 107, -1, -1, 196, 197, 198,
2376 199, 200, 201, -1, -1, 118, 119, 120, 121, -1,
2377 -1, 210, -1, -1, -1, -1, -1, -1, -1, 132,
2378 102, 103, 104, 105, 106, 107, -1, 140, 141, -1,
2379 -1, -1, 145, -1, -1, -1, 118, 119, 120, 121,
2380 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2381 132, -1, -1, -1, -1, -1, 29, -1, 140, 141,
2382 -1, -1, -1, 145, -1, -1, -1, -1, 41, 42,
2383 -1, -1, -1, -1, 187, -1, 49, -1, 191, 192,
2384 -1, 194, -1, 196, 197, 198, 199, 200, 201, 62,
2385 63, 64, 65, 66, 67, -1, 209, -1, -1, -1,
2386 -1, -1, -1, -1, -1, 187, -1, -1, -1, 191,
2387 192, -1, 194, 195, 196, 197, 198, 199, 200, 201,
2388 -1, -1, -1, -1, -1, -1, -1, -1, -1, 102,
2389 103, 104, 105, 106, 107, -1, -1, -1, -1, -1,
2390 -1, -1, -1, -1, -1, 118, 119, 120, 121, -1,
2391 -1, -1, -1, -1, -1, -1, -1, 29, -1, 132,
2392 -1, -1, -1, -1, -1, -1, -1, 140, 141, 41,
2393 42, -1, 145, -1, -1, -1, -1, 49, -1, -1,
2394 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2395 62, 63, 64, 65, 66, 67, -1, -1, -1, -1,
2396 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2397 -1, -1, -1, -1, 187, -1, -1, -1, 191, 192,
2398 -1, 194, 195, 196, 197, 198, 199, 200, 201, -1,
2399 102, 103, 104, 105, 106, 107, -1, -1, -1, -1,
2400 -1, -1, -1, -1, -1, -1, 118, 119, 120, 121,
2401 -1, -1, -1, -1, -1, -1, -1, -1, -1, 29,
2402 132, -1, -1, -1, -1, -1, -1, -1, 140, 141,
2403 -1, 41, 42, 145, -1, -1, -1, -1, -1, 49,
2404 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2405 -1, -1, 62, -1, 64, 65, 66, 67, -1, -1,
2406 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2407 -1, -1, -1, -1, -1, 187, 86, -1, -1, 191,
2408 192, -1, 194, -1, 196, 197, 198, 199, 200, 201,
2409 -1, -1, 102, 103, 104, 105, 106, 107, -1, -1,
2410 -1, -1, -1, -1, -1, 29, -1, -1, 118, 119,
2411 120, 121, -1, -1, -1, -1, -1, 41, 42, -1,
2412 -1, -1, 132, -1, -1, 49, -1, -1, -1, -1,
2413 140, 141, -1, -1, -1, 145, 29, 147, 62, -1,
2414 64, 65, 66, 67, -1, -1, -1, -1, 41, 42,
2415 -1, -1, -1, -1, -1, -1, 49, -1, -1, -1,
2416 -1, -1, 86, -1, -1, -1, -1, -1, -1, 62,
2417 -1, 64, 65, 66, 67, -1, -1, 187, 102, 103,
2418 104, 105, 106, 107, 194, -1, 196, 197, 198, 199,
2419 200, 201, -1, -1, 118, 119, 120, 121, -1, -1,
2420 -1, -1, -1, -1, -1, -1, -1, -1, 132, 102,
2421 103, 104, 105, 106, 107, -1, 140, 141, -1, -1,
2422 -1, 145, -1, 147, -1, 118, 119, 120, 121, -1,
2423 -1, -1, -1, -1, -1, -1, -1, -1, -1, 132,
2424 -1, -1, -1, -1, -1, 29, -1, 140, 141, -1,
2425 -1, -1, 145, -1, -1, -1, -1, 41, 42, -1,
2426 -1, -1, -1, 187, -1, 49, -1, -1, -1, -1,
2427 -1, -1, 196, 197, 198, 199, 200, 201, 62, -1,
2428 64, 65, 66, 67, -1, -1, -1, -1, -1, -1,
2429 -1, -1, -1, -1, 187, -1, -1, -1, -1, -1,
2430 193, -1, -1, 196, 197, 198, 199, 200, 201, -1,
2431 -1, -1, -1, -1, -1, -1, -1, -1, 102, 103,
2432 104, 105, 106, 107, -1, -1, -1, -1, -1, -1,
2433 -1, -1, 29, -1, 118, 119, 120, 121, -1, -1,
2434 -1, -1, -1, -1, 41, 42, -1, -1, 132, -1,
2435 -1, -1, 49, -1, -1, -1, 140, 141, -1, -1,
2436 -1, 145, -1, 29, -1, 62, -1, 64, 65, 66,
2437 67, -1, -1, -1, -1, 41, 42, -1, -1, -1,
2438 -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
2439 -1, -1, -1, -1, -1, -1, 62, -1, 64, 65,
2440 66, 67, -1, 187, 188, 102, 103, 104, 105, 106,
2441 107, -1, 196, 197, 198, 199, 200, 201, -1, -1,
2442 -1, 118, 119, 120, 121, -1, -1, -1, -1, -1,
2443 -1, -1, -1, -1, -1, 132, 102, 103, 104, 105,
2444 106, 107, -1, 140, 141, -1, -1, -1, 145, 29,
2445 -1, -1, 118, 119, 120, 121, -1, -1, -1, -1,
2446 -1, 41, 42, -1, -1, -1, 132, -1, -1, 49,
2447 -1, -1, -1, -1, 140, 141, -1, -1, -1, 145,
2448 -1, -1, 62, -1, 64, 65, 66, 67, -1, -1,
2449 187, -1, -1, 190, -1, -1, -1, -1, -1, 196,
2450 197, 198, 199, 200, 201, -1, -1, -1, -1, -1,
2451 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2452 -1, 187, 102, 103, 104, 105, 106, 107, 194, -1,
2453 196, 197, 198, 199, 200, 201, -1, -1, 118, 119,
2454 120, 121, -1, -1, -1, -1, -1, -1, -1, -1,
2455 29, -1, 132, -1, -1, -1, 29, -1, -1, -1,
2456 140, 141, 41, 42, -1, 145, -1, -1, 41, 42,
2457 49, -1, -1, -1, -1, -1, 49, -1, -1, -1,
2458 -1, -1, -1, 62, -1, 64, 65, 66, 67, 62,
2459 63, 64, 65, 66, 67, -1, -1, -1, -1, -1,
2460 -1, -1, -1, -1, -1, -1, -1, 187, -1, -1,
2461 -1, -1, -1, 193, -1, -1, 196, 197, 198, 199,
2462 200, 201, -1, 102, 103, 104, 105, 106, 107, 102,
2463 103, 104, 105, 106, 107, -1, -1, -1, -1, 118,
2464 119, 120, 121, -1, -1, 118, 119, 120, 121, -1,
2465 -1, -1, -1, 132, -1, -1, -1, 29, -1, 132,
2466 -1, 140, 141, 29, -1, -1, 145, 140, 141, 41,
2467 42, -1, 145, -1, -1, 41, 42, 49, -1, -1,
2468 -1, -1, -1, 49, -1, -1, -1, -1, -1, -1,
2469 62, -1, 64, 65, 66, 67, 62, -1, 64, 65,
2470 66, 67, -1, -1, -1, -1, -1, -1, 187, -1,
2471 -1, -1, -1, -1, 187, 194, -1, 196, 197, 198,
2472 199, 200, 201, 196, 197, 198, 199, 200, 201, -1,
2473 102, 103, 104, 105, 106, 107, 102, 103, 104, 105,
2474 106, 107, -1, -1, -1, -1, 118, 119, 120, 121,
2475 -1, -1, 118, 119, 120, 121, -1, -1, -1, -1,
2476 132, -1, -1, -1, 29, -1, 132, -1, 140, 141,
2477 29, -1, -1, 145, 140, 141, 41, 42, -1, 145,
2478 -1, -1, 41, 42, 49, -1, -1, -1, -1, -1,
2479 49, -1, -1, -1, -1, -1, -1, 62, -1, 64,
2480 65, 66, 67, 62, -1, 64, 65, 66, 67, -1,
2481 -1, -1, -1, -1, -1, 187, -1, -1, -1, -1,
2482 -1, 187, -1, -1, 196, 197, 198, 199, 200, 201,
2483 196, 197, 198, 199, 200, 201, -1, 102, 103, 104,
2484 105, 106, 107, 102, 103, 104, 105, 106, 107, -1,
2485 -1, -1, -1, 118, 119, 120, 121, -1, -1, 118,
2486 119, 120, 121, -1, -1, -1, -1, 132, -1, -1,
2487 29, -1, -1, 132, -1, -1, -1, -1, -1, -1,
2488 145, -1, 41, 42, -1, -1, 145, -1, -1, -1,
2489 49, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2490 -1, -1, -1, 62, -1, 64, 65, 66, 67, -1,
2491 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2492 -1, -1, 187, -1, -1, -1, -1, -1, 187, -1,
2493 -1, 196, 197, 198, 199, 200, 201, 196, 197, 198,
2494 199, 200, 201, 102, 103, 104, 105, 106, 107, -1,
2495 -1, -1, -1, -1, -1, -1, -1, -1, -1, 118,
2496 119, 120, 121, -1, -1, -1, -1, -1, -1, -1,
2497 -1, -1, -1, 132, -1, -1, -1, -1, -1, -1,
2498 -1, -1, -1, 3, 4, 5, 145, -1, 8, 9,
2499 -1, -1, -1, 13, -1, 15, 16, 17, -1, -1,
2500 -1, 21, 22, 23, 24, 25, -1, 27, 28, -1,
2501 30, 31, -1, 33, 34, 35, 36, 37, -1, -1,
2502 -1, -1, -1, -1, -1, -1, -1, -1, 187, -1,
2503 -1, -1, -1, -1, -1, -1, -1, 196, 197, 198,
2504 199, 200, 201, 63, -1, -1, -1, -1, -1, 69,
2505 70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
2506 80, 81, 82, 83, 84, -1, 86, -1, -1, -1,
2507 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2508 -1, 101, -1, -1, -1, -1, -1, -1, -1, -1,
2509 -1, -1, 112, -1, -1, -1, -1, -1, -1, -1,
2510 -1, -1, 122, 123, 124, 125, 126, 127, -1, -1,
2511 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2512 -1, -1, 142, 143, 144, -1, -1, 147, 148, 149,
2513 3, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2514 13, -1, 15, 16, 17, -1, -1, -1, 21, 22,
2515 23, 24, 25, -1, 27, 28, -1, 30, 31, -1,
2516 33, 34, 35, 36, 37, -1, -1, -1, -1, -1,
2517 -1, -1, -1, -1, -1, -1, -1, -1, 51, -1,
2518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2519 63, -1, -1, -1, -1, -1, 69, 70, 71, 72,
2520 73, 74, 75, -1, 77, 78, 79, 80, 81, 82,
2521 83, 84, -1, 86, -1, -1, -1, -1, -1, -1,
2522 -1, -1, -1, -1, -1, -1, -1, -1, 101, -1,
2523 -1, -1, -1, -1, -1, -1, -1, -1, -1, 112,
2524 -1, -1, -1, -1, -1, -1, -1, -1, -1, 122,
2525 123, 124, 125, 126, 127, -1, -1, -1, -1, -1,
2526 -1, -1, -1, -1, -1, -1, -1, -1, -1, 142,
2527 143, 144, -1, -1, 147, -1, 149, 3, 4, 5,
2528 -1, -1, 8, 9, -1, -1, -1, 13, -1, 15,
2529 16, 17, -1, -1, -1, 21, 22, 23, 24, 25,
2530 -1, 27, 28, -1, 30, 31, -1, 33, 34, 35,
2531 36, 37, -1, -1, -1, -1, -1, -1, -1, -1,
2532 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2533 -1, -1, -1, -1, -1, -1, -1, 63, -1, -1,
2534 -1, -1, -1, 69, 70, 71, 72, 73, 74, 75,
2535 -1, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2536 86, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2537 -1, -1, -1, -1, -1, 101, -1, -1, -1, -1,
2538 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1,
2539 -1, -1, -1, -1, -1, -1, 122, 123, 124, 125,
2540 126, 127, -1, -1, -1, -1, -1, -1, -1, -1,
2541 -1, -1, -1, -1, -1, -1, 142, 143, 144, -1,
2542 -1, 147, -1, 149, 3, 4, 5, -1, -1, 8,
2543 9, -1, -1, -1, 13, -1, 15, 16, 17, -1,
2544 -1, -1, 21, 22, 23, 24, 25, -1, 27, 28,
2545 -1, 30, 31, -1, 33, 34, 35, 36, 37, -1,
2546 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2547 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2548 -1, -1, -1, -1, 63, -1, -1, -1, -1, -1,
2549 69, 70, 71, 72, 73, 74, 75, -1, 77, 78,
2550 79, 80, 81, 82, 83, 84, -1, 3, 4, 5,
2551 -1, -1, 8, 9, -1, -1, -1, 13, -1, 15,
2552 16, 17, 101, -1, -1, 21, 22, 23, 24, 25,
2553 -1, 27, 28, 112, 30, 31, -1, 33, 34, 35,
2554 36, 37, -1, 122, 123, 124, 125, 126, 127, -1,
2555 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2556 -1, -1, -1, 142, 143, 144, -1, 63, -1, -1,
2557 149, -1, -1, 69, 70, 71, 72, 73, 74, -1,
2558 -1, 77, 78, 79, 80, 81, 82, 83, 84, -1,
2559 3, 4, 5, -1, -1, 8, 9, -1, -1, -1,
2560 13, -1, -1, 16, 17, 101, -1, -1, 21, 22,
2561 23, 24, 25, -1, 27, 28, 112, 30, -1, -1,
2562 33, -1, 35, 36, 37, -1, -1, 123, 124, 125,
2563 126, 127, -1, -1, -1, -1, -1, -1, -1, -1,
2564 -1, -1, -1, -1, -1, -1, 142, 143, -1, -1,
2565 -1, -1, -1, 149, -1, -1, 69, 70, 71, 72,
2566 73, 74, -1, -1, 77, 78, 79, 80, 81, 82,
2567 83, 84, -1, 3, -1, -1, -1, -1, -1, 9,
2568 -1, -1, -1, -1, -1, -1, 16, -1, 101, -1,
2569 -1, 21, -1, -1, 24, 25, -1, -1, -1, 112,
2570 30, -1, -1, 33, -1, -1, -1, 37, -1, -1,
2571 123, 124, 125, 126, 127, -1, -1, -1, -1, -1,
2572 -1, -1, -1, -1, -1, -1, -1, -1, -1, 142,
2573 143, -1, -1, -1, -1, -1, 149, -1, -1, -1,
2574 -1, -1, -1, 73, 74, -1, -1, -1, -1, -1,
2575 -1, -1, -1, -1, 84, -1, 4, 5, -1, -1,
2576 8, 9, -1, -1, -1, 13, -1, 15, -1, 17,
2577 -1, 101, -1, -1, 22, 23, -1, 25, -1, 27,
2578 28, -1, 112, 31, -1, -1, 34, 35, 36, 37,
2579 -1, -1, -1, -1, -1, -1, 126, -1, -1, -1,
2580 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2581 -1, -1, 142, 143, -1, 63, -1, -1, -1, 149,
2582 -1, 69, 70, 71, 72, 73, 74, 75, -1, 77,
2583 78, 79, 80, 81, 82, 83, -1, -1, 86, 4,
2584 5, -1, -1, 8, 9, -1, -1, -1, 13, -1,
2585 15, -1, 17, 101, -1, -1, -1, 22, 23, -1,
2586 25, -1, 27, 28, -1, -1, 31, -1, -1, 34,
2587 35, 36, 37, -1, 122, 123, 124, 125, 126, 127,
2588 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2589 -1, -1, -1, -1, 142, 143, 144, -1, 63, 147,
2590 -1, -1, -1, -1, 69, 70, 71, 72, 73, 74,
2591 75, -1, 77, 78, 79, 80, 81, 82, 83, 4,
2592 5, -1, -1, 8, 9, -1, -1, -1, 13, -1,
2593 -1, -1, 17, -1, -1, -1, 101, 22, 23, -1,
2594 25, -1, 27, 28, -1, -1, -1, -1, -1, -1,
2595 35, 36, 37, -1, -1, -1, -1, 122, 123, 124,
2596 125, 126, 127, -1, -1, -1, -1, -1, -1, -1,
2597 -1, -1, -1, -1, -1, -1, -1, 142, 143, 144,
2598 -1, -1, -1, -1, 69, 70, 71, 72, 73, 74,
2599 -1, -1, 77, 78, 79, 80, 81, 82, 83, -1,
2600 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2601 -1, -1, -1, -1, -1, -1, 101, -1, -1, -1,
2602 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
2603 -1, -1, -1, -1, -1, -1, -1, -1, 123, 124,
2604 125, 126, 127, -1, -1, -1, -1, -1, -1, -1,
2605 -1, -1, -1, -1, -1, -1, -1, 142, 143
2612 0, 3, 4, 5, 8, 9, 13, 15, 16, 17,
2613 21, 22, 23, 24, 25, 27, 28, 30, 31, 33,
2614 34, 35, 36, 37, 62, 63, 69, 70, 71, 72,
2615 73, 74, 75, 76, 77, 78, 79, 80, 81, 82,
2616 83, 84, 85, 86, 101, 112, 122, 123, 124, 125,
2617 126, 127, 132, 142, 143, 144, 147, 148, 149, 187,
2618 194, 197, 206, 210, 212, 213, 214, 256, 257, 258,
2619 265, 269, 270, 271, 272, 275, 276, 280, 281, 282,
2620 283, 284, 285, 286, 287, 288, 289, 290, 291, 295,
2621 297, 298, 299, 300, 302, 306, 310, 322, 325, 377,
2622 378, 379, 380, 381, 392, 402, 403, 404, 405, 187,
2623 187, 197, 214, 393, 394, 395, 396, 397, 398, 399,
2624 400, 402, 187, 187, 187, 187, 204, 192, 192, 192,
2625 67, 187, 187, 187, 403, 405, 68, 273, 275, 277,
2626 310, 402, 402, 0, 310, 311, 312, 210, 189, 210,
2627 189, 210, 210, 393, 210, 393, 214, 274, 275, 288,
2628 290, 297, 298, 299, 310, 402, 214, 275, 288, 290,
2629 297, 298, 299, 310, 402, 274, 298, 275, 297, 298,
2630 274, 275, 297, 274, 274, 274, 275, 297, 272, 297,
2631 272, 297, 311, 311, 311, 379, 134, 231, 187, 192,
2632 408, 410, 412, 29, 41, 42, 49, 64, 65, 66,
2633 67, 102, 103, 104, 105, 106, 107, 118, 119, 120,
2634 121, 140, 141, 145, 187, 196, 197, 198, 199, 200,
2635 201, 213, 215, 216, 217, 218, 219, 220, 221, 224,
2636 225, 226, 227, 229, 233, 234, 237, 238, 239, 240,
2637 241, 242, 243, 244, 245, 246, 247, 248, 249, 250,
2638 251, 252, 253, 311, 336, 187, 197, 214, 312, 397,
2639 399, 401, 187, 273, 394, 396, 399, 408, 85, 262,
2640 263, 264, 310, 218, 187, 253, 25, 62, 63, 188,
2641 189, 292, 293, 294, 336, 253, 253, 253, 253, 336,
2642 336, 252, 188, 188, 195, 277, 402, 310, 402, 311,
2643 264, 264, 311, 311, 311, 311, 259, 311, 272, 272,
2644 311, 260, 311, 311, 311, 311, 311, 311, 311, 311,
2645 311, 311, 311, 295, 296, 213, 214, 323, 335, 187,
2646 135, 232, 188, 409, 411, 193, 197, 252, 254, 275,
2647 278, 279, 297, 310, 192, 187, 237, 187, 237, 237,
2648 335, 357, 187, 187, 187, 187, 187, 187, 237, 347,
2649 347, 347, 347, 238, 238, 187, 253, 336, 346, 347,
2650 238, 238, 238, 238, 238, 238, 40, 41, 42, 187,
2651 191, 192, 52, 53, 54, 55, 56, 57, 58, 59,
2652 60, 61, 209, 197, 202, 203, 198, 199, 43, 44,
2653 45, 46, 204, 205, 47, 48, 196, 206, 207, 49,
2654 50, 136, 137, 208, 188, 189, 270, 272, 281, 283,
2655 287, 289, 291, 188, 401, 187, 402, 188, 188, 408,
2656 401, 187, 396, 399, 19, 37, 362, 262, 209, 188,
2657 87, 88, 89, 90, 91, 92, 93, 94, 95, 96,
2658 97, 98, 307, 308, 309, 188, 187, 188, 293, 205,
2659 193, 193, 193, 188, 188, 188, 189, 408, 261, 393,
2660 266, 267, 209, 337, 337, 303, 335, 194, 311, 324,
2661 238, 251, 187, 346, 382, 270, 272, 275, 281, 287,
2662 297, 384, 385, 386, 387, 388, 389, 390, 391, 213,
2663 331, 332, 269, 270, 271, 272, 330, 333, 334, 193,
2664 193, 193, 254, 278, 197, 254, 336, 336, 336, 252,
2665 336, 252, 336, 336, 194, 194, 256, 269, 270, 271,
2666 272, 256, 252, 188, 188, 188, 194, 213, 214, 235,
2667 188, 236, 252, 235, 253, 252, 252, 252, 252, 252,
2668 252, 252, 252, 252, 252, 252, 238, 238, 238, 239,
2669 239, 240, 240, 241, 241, 241, 241, 242, 242, 243,
2670 244, 245, 246, 247, 249, 249, 190, 253, 252, 187,
2671 197, 206, 406, 408, 413, 415, 406, 188, 188, 408,
2672 408, 188, 188, 401, 37, 19, 187, 194, 254, 338,
2673 210, 187, 187, 187, 187, 187, 188, 189, 64, 67,
2674 292, 192, 192, 252, 337, 264, 337, 337, 338, 194,
2675 304, 305, 326, 327, 328, 335, 194, 188, 251, 393,
2676 297, 297, 297, 385, 214, 274, 298, 306, 325, 274,
2677 298, 274, 393, 189, 210, 188, 189, 187, 197, 206,
2678 396, 402, 407, 410, 414, 416, 396, 402, 407, 187,
2679 197, 402, 407, 402, 407, 188, 189, 193, 193, 193,
2680 188, 188, 188, 189, 189, 189, 189, 188, 256, 256,
2681 187, 220, 393, 393, 402, 402, 220, 189, 194, 238,
2682 6, 7, 10, 11, 12, 18, 19, 20, 26, 32,
2683 39, 68, 85, 99, 100, 108, 111, 128, 130, 195,
2684 213, 214, 253, 255, 256, 335, 343, 344, 345, 346,
2685 348, 349, 350, 352, 354, 355, 358, 359, 360, 361,
2686 188, 189, 193, 251, 190, 408, 413, 415, 273, 406,
2687 408, 188, 218, 363, 364, 191, 192, 213, 235, 338,
2688 339, 340, 341, 342, 253, 253, 213, 67, 67, 188,
2689 308, 188, 188, 209, 253, 253, 188, 268, 210, 257,
2690 311, 313, 314, 315, 316, 317, 194, 311, 195, 189,
2691 311, 326, 188, 311, 311, 311, 311, 335, 335, 311,
2692 311, 311, 393, 383, 384, 332, 188, 414, 416, 273,
2693 407, 311, 311, 273, 311, 311, 383, 51, 334, 336,
2694 336, 336, 228, 235, 253, 253, 11, 222, 223, 336,
2695 339, 340, 210, 254, 210, 190, 343, 353, 214, 253,
2696 187, 210, 253, 187, 187, 195, 362, 356, 357, 68,
2697 194, 346, 210, 346, 210, 190, 195, 343, 252, 251,
2698 188, 188, 188, 406, 188, 190, 365, 235, 253, 190,
2699 189, 195, 191, 192, 209, 338, 188, 188, 188, 188,
2700 188, 292, 193, 193, 337, 210, 270, 272, 195, 315,
2701 189, 210, 189, 210, 313, 311, 328, 209, 329, 195,
2702 311, 311, 188, 188, 407, 188, 188, 188, 40, 188,
2703 191, 192, 195, 195, 190, 188, 189, 190, 189, 195,
2704 51, 190, 343, 39, 187, 210, 210, 253, 210, 253,
2705 255, 187, 194, 189, 210, 68, 109, 110, 129, 131,
2706 310, 343, 408, 408, 192, 218, 366, 367, 190, 368,
2707 51, 193, 338, 195, 341, 235, 253, 338, 188, 189,
2708 190, 318, 321, 393, 319, 321, 402, 311, 319, 318,
2709 195, 254, 311, 187, 410, 235, 235, 253, 252, 223,
2710 252, 195, 254, 343, 187, 344, 349, 351, 188, 188,
2711 188, 363, 68, 357, 195, 346, 187, 346, 346, 210,
2712 335, 187, 189, 192, 218, 369, 370, 190, 371, 253,
2713 51, 193, 292, 254, 311, 320, 321, 311, 320, 301,
2714 311, 193, 190, 253, 255, 343, 343, 133, 230, 188,
2715 195, 253, 193, 253, 366, 335, 187, 189, 218, 372,
2716 373, 190, 374, 193, 253, 209, 311, 311, 301, 343,
2717 188, 210, 14, 187, 343, 210, 188, 218, 188, 193,
2718 253, 369, 189, 357, 375, 376, 193, 292, 230, 255,
2719 343, 251, 346, 187, 218, 188, 372, 189, 188, 210,
2720 188, 188, 253, 187, 376, 230, 188, 253, 343, 188
2726 0, 211, 212, 213, 213, 214, 215, 216, 217, 218,
2727 219, 219, 219, 219, 220, 220, 220, 220, 220, 220,
2728 220, 220, 220, 220, 221, 222, 222, 223, 223, 224,
2729 224, 225, 226, 227, 228, 228, 228, 228, 229, 229,
2730 229, 229, 230, 230, 231, 231, 232, 232, 233, 234,
2731 234, 234, 234, 234, 234, 234, 234, 234, 234, 235,
2732 235, 236, 236, 237, 237, 237, 237, 237, 237, 237,
2733 237, 237, 237, 237, 237, 237, 237, 238, 238, 238,
2734 238, 239, 239, 239, 239, 240, 240, 240, 241, 241,
2735 241, 242, 242, 242, 242, 242, 243, 243, 243, 244,
2736 244, 245, 245, 246, 246, 247, 247, 248, 248, 249,
2737 249, 250, 250, 251, 251, 251, 252, 252, 252, 252,
2738 252, 252, 252, 252, 252, 252, 252, 252, 253, 253,
2739 254, 255, 255, 256, 256, 256, 256, 256, 257, 259,
2740 258, 260, 258, 261, 258, 262, 262, 263, 263, 264,
2741 264, 266, 265, 267, 265, 265, 268, 265, 269, 269,
2742 269, 269, 269, 270, 270, 270, 270, 270, 271, 271,
2743 271, 271, 271, 272, 272, 272, 273, 273, 274, 274,
2744 275, 275, 275, 275, 275, 275, 275, 275, 275, 276,
2745 276, 277, 277, 278, 278, 278, 279, 279, 280, 280,
2746 280, 280, 281, 281, 281, 281, 282, 282, 282, 283,
2747 283, 283, 284, 284, 284, 285, 285, 285, 286, 286,
2748 286, 287, 287, 287, 288, 288, 289, 289, 289, 289,
2749 290, 291, 291, 291, 291, 292, 292, 292, 293, 293,
2750 293, 293, 293, 293, 294, 294, 295, 295, 296, 296,
2751 297, 297, 297, 297, 297, 297, 297, 297, 297, 298,
2752 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
2753 298, 298, 298, 298, 298, 298, 298, 298, 298, 298,
2754 298, 298, 298, 298, 298, 299, 299, 299, 300, 301,
2755 303, 302, 304, 302, 305, 302, 306, 306, 307, 307,
2756 307, 307, 307, 307, 307, 307, 307, 307, 307, 307,
2757 307, 308, 308, 309, 309, 310, 310, 311, 311, 312,
2758 312, 313, 313, 314, 314, 315, 315, 315, 315, 316,
2759 316, 317, 317, 318, 318, 318, 319, 319, 320, 320,
2760 321, 323, 322, 324, 322, 322, 325, 326, 326, 327,
2761 327, 327, 328, 329, 329, 330, 330, 331, 331, 332,
2762 333, 333, 334, 334, 334, 334, 334, 334, 334, 334,
2763 334, 334, 334, 334, 334, 334, 335, 335, 336, 336,
2764 336, 336, 337, 337, 338, 338, 338, 339, 339, 340,
2765 340, 341, 341, 341, 341, 342, 342, 342, 342, 342,
2766 342, 343, 343, 343, 343, 343, 343, 343, 343, 343,
2767 343, 343, 343, 344, 345, 345, 345, 345, 345, 346,
2768 346, 346, 347, 348, 348, 349, 350, 350, 350, 351,
2769 351, 352, 352, 353, 352, 354, 354, 354, 354, 354,
2770 354, 355, 356, 356, 357, 358, 358, 359, 359, 360,
2771 360, 360, 361, 361, 361, 362, 362, 362, 362, 362,
2772 363, 363, 363, 363, 363, 364, 365, 365, 366, 366,
2773 367, 367, 368, 368, 369, 369, 370, 370, 371, 371,
2774 372, 373, 373, 374, 374, 375, 375, 376, 377, 377,
2775 378, 378, 379, 379, 379, 379, 380, 380, 381, 382,
2776 383, 383, 384, 384, 385, 386, 386, 386, 387, 387,
2777 387, 387, 388, 388, 388, 389, 389, 390, 390, 390,
2778 391, 391, 391, 392, 392, 392, 392, 392, 393, 393,
2779 393, 394, 394, 394, 395, 395, 396, 396, 396, 397,
2780 397, 397, 398, 398, 399, 399, 399, 399, 399, 400,
2781 400, 400, 401, 401, 402, 402, 403, 403, 403, 403,
2782 404, 404, 404, 405, 405, 406, 406, 406, 407, 407,
2783 408, 408, 409, 408, 410, 410, 411, 410, 412, 412,
2784 412, 412, 412, 412, 412, 413, 413, 413, 413, 413,
2785 414, 414, 414, 414, 414, 415, 415, 415, 415, 415,
2792 0, 2, 1, 1, 2, 1, 1, 1, 1, 1,
2793 1, 1, 1, 1, 1, 1, 3, 1, 1, 1,
2794 1, 1, 1, 1, 6, 1, 3, 3, 3, 6,
2795 6, 6, 4, 6, 1, 3, 4, 3, 6, 4,
2796 6, 4, 0, 4, 0, 4, 0, 4, 3, 1,
2797 4, 3, 4, 3, 3, 2, 2, 6, 7, 1,
2798 1, 1, 3, 1, 2, 2, 2, 2, 2, 2,
2799 2, 2, 2, 2, 4, 2, 4, 1, 4, 2,
2800 2, 1, 3, 3, 3, 1, 3, 3, 1, 3,
2801 3, 1, 3, 3, 3, 3, 1, 3, 3, 1,
2802 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
2803 3, 1, 3, 1, 5, 4, 1, 3, 3, 3,
2804 3, 3, 3, 3, 3, 3, 3, 3, 1, 3,
2805 1, 0, 1, 2, 2, 2, 2, 2, 6, 0,
2806 4, 0, 4, 0, 5, 5, 1, 2, 1, 0,
2807 1, 0, 5, 0, 5, 5, 0, 7, 1, 1,
2808 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
2809 1, 2, 2, 1, 2, 2, 1, 2, 1, 1,
2810 1, 1, 1, 1, 1, 1, 1, 4, 1, 4,
2811 4, 1, 1, 1, 1, 1, 1, 2, 3, 3,
2812 3, 3, 2, 3, 2, 3, 2, 2, 2, 1,
2813 2, 2, 3, 3, 3, 3, 3, 3, 3, 3,
2814 3, 2, 3, 3, 4, 4, 1, 2, 3, 2,
2815 4, 1, 2, 3, 2, 1, 1, 1, 1, 4,
2816 4, 6, 10, 1, 1, 2, 4, 3, 0, 1,
2817 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2818 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2819 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2820 1, 4, 7, 7, 1, 1, 1, 1, 4, 0,
2821 0, 9, 0, 10, 0, 6, 1, 1, 1, 1,
2822 4, 1, 4, 4, 1, 1, 4, 4, 1, 1,
2823 1, 0, 1, 1, 3, 6, 1, 0, 1, 1,
2824 2, 0, 1, 1, 2, 2, 2, 1, 2, 3,
2825 3, 3, 3, 3, 0, 2, 3, 2, 0, 1,
2826 2, 0, 7, 0, 8, 4, 1, 0, 1, 1,
2827 3, 2, 3, 0, 2, 1, 3, 1, 3, 1,
2828 1, 3, 1, 2, 3, 2, 1, 2, 3, 1,
2829 2, 3, 2, 1, 2, 3, 1, 1, 2, 3,
2830 2, 3, 0, 2, 1, 3, 4, 1, 3, 1,
2831 0, 1, 3, 2, 3, 2, 3, 5, 4, 6,
2832 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2833 1, 1, 1, 1, 4, 3, 4, 6, 3, 3,
2834 4, 4, 0, 1, 2, 2, 5, 7, 5, 1,
2835 1, 6, 8, 0, 10, 3, 3, 2, 2, 2,
2836 3, 3, 1, 3, 1, 6, 5, 4, 2, 7,
2837 4, 1, 2, 4, 4, 0, 1, 1, 2, 2,
2838 1, 2, 3, 4, 5, 1, 2, 1, 4, 7,
2839 1, 3, 2, 1, 4, 7, 1, 3, 2, 1,
2840 1, 1, 3, 2, 1, 1, 3, 1, 0, 1,
2841 1, 2, 1, 1, 1, 1, 5, 3, 4, 1,
2842 0, 1, 1, 2, 2, 1, 2, 2, 3, 3,
2843 3, 3, 3, 3, 3, 4, 4, 1, 1, 1,
2844 2, 2, 3, 1, 2, 2, 2, 2, 1, 1,
2845 1, 4, 5, 2, 1, 1, 1, 2, 1, 1,
2846 2, 3, 3, 4, 1, 4, 5, 2, 3, 3,
2847 4, 4, 1, 3, 1, 1, 1, 2, 2, 3,
2848 2, 3, 4, 1, 3, 1, 1, 1, 1, 1,
2849 1, 3, 0, 5, 1, 2, 0, 5, 2, 3,
2850 3, 3, 4, 4, 4, 1, 2, 2, 3, 1,
2851 1, 2, 2, 3, 1, 3, 3, 3, 4, 4,
2856 #define yyerrok (yyerrstatus = 0) 2857 #define yyclearin (yychar = YYEMPTY) 2858 #define YYEMPTY (-2) 2861 #define YYACCEPT goto yyacceptlab 2862 #define YYABORT goto yyabortlab 2863 #define YYERROR goto yyerrorlab 2866 #define YYRECOVERING() (!!yyerrstatus) 2868 #define YYBACKUP(Token, Value) \ 2870 if (yychar == YYEMPTY) \ 2874 YYPOPSTACK (yylen); \ 2880 yyerror (YY_("syntax error: cannot back up")); \ 2887 #define YYERRCODE 256 2896 # define YYFPRINTF fprintf 2899 # define YYDPRINTF(Args) \ 2906 #ifndef YY_LOCATION_PRINT 2907 # define YY_LOCATION_PRINT(File, Loc) ((void) 0) 2911 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ 2915 YYFPRINTF (stderr, "%s ", Title); \ 2916 yy_symbol_print (stderr, \ 2918 YYFPRINTF (stderr, "\n"); \ 2928 yy_symbol_value_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep)
2930 FILE *yyo = yyoutput;
2936 YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
2947 yy_symbol_print (FILE *yyoutput,
int yytype,
YYSTYPE const *
const yyvaluep)
2949 YYFPRINTF (yyoutput,
"%s %s (",
2952 yy_symbol_value_print (yyoutput, yytype, yyvaluep);
2953 YYFPRINTF (yyoutput,
")");
2964 YYFPRINTF (stderr,
"Stack now");
2965 for (; yybottom <= yytop; yybottom++)
2967 int yybot = *yybottom;
2968 YYFPRINTF (stderr,
" %d", yybot);
2970 YYFPRINTF (stderr,
"\n");
2973 # define YY_STACK_PRINT(Bottom, Top) \ 2976 yy_stack_print ((Bottom), (Top)); \ 2987 unsigned long int yylno = yyrline[yyrule];
2988 int yynrhs =
yyr2[yyrule];
2990 YYFPRINTF (stderr,
"Reducing stack by rule %d (line %lu):\n",
2993 for (yyi = 0; yyi < yynrhs; yyi++)
2995 YYFPRINTF (stderr,
" $%d = ", yyi + 1);
2996 yy_symbol_print (stderr,
2997 yystos[yyssp[yyi + 1 - yynrhs]],
2998 &(yyvsp[(yyi + 1) - (yynrhs)])
3000 YYFPRINTF (stderr,
"\n");
3004 # define YY_REDUCE_PRINT(Rule) \ 3007 yy_reduce_print (yyssp, yyvsp, Rule); \ 3014 # define YYDPRINTF(Args) 3015 # define YY_SYMBOL_PRINT(Title, Type, Value, Location) 3016 # define YY_STACK_PRINT(Bottom, Top) 3017 # define YY_REDUCE_PRINT(Rule) 3023 # define YYINITDEPTH 200 3034 # define YYMAXDEPTH 10000 3041 # if defined __GLIBC__ && defined _STRING_H 3042 # define yystrlen strlen 3049 for (yylen = 0; yystr[yylen]; yylen++)
3057 # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE 3058 # define yystpcpy stpcpy 3063 yystpcpy (
char *yydest,
const char *yysrc)
3066 const char *yys = yysrc;
3068 while ((*yyd++ = *yys++) !=
'\0')
3085 yytnamerr (
char *yyres,
const char *yystr)
3090 char const *yyp = yystr;
3097 goto do_not_strip_quotes;
3101 goto do_not_strip_quotes;
3114 do_not_strip_quotes: ;
3120 return yystpcpy (yyres, yystr) - yyres;
3138 enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
3142 char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
3172 int yyn =
yypact[*yyssp];
3173 yyarg[yycount++] =
yytname[yytoken];
3179 int yyxbegin = yyn < 0 ? -yyn : 0;
3181 int yychecklim =
YYLAST - yyn + 1;
3185 for (yyx = yyxbegin; yyx < yyxend; ++yyx)
3189 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
3195 yyarg[yycount++] =
yytname[yyx];
3198 if (! (yysize <= yysize1
3209 # define YYCASE_(N, S) \ 3214 YYCASE_(1,
YY_(
"syntax error, unexpected %s"));
3215 YYCASE_(2,
YY_(
"syntax error, unexpected %s, expecting %s"));
3216 YYCASE_(3,
YY_(
"syntax error, unexpected %s, expecting %s or %s"));
3217 YYCASE_(4,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s"));
3218 YYCASE_(5,
YY_(
"syntax error, unexpected %s, expecting %s or %s or %s or %s"));
3229 if (*yymsg_alloc < yysize)
3231 *yymsg_alloc = 2 * yysize;
3232 if (! (yysize <= *yymsg_alloc
3244 while ((*yyp = *yyformat) !=
'\0')
3245 if (*yyp ==
'%' && yyformat[1] ==
's' && yyi < yycount)
3330 char *yymsg = yymsgbuf;
3331 YYSIZE_T yymsg_alloc =
sizeof yymsgbuf;
3334 #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) 3340 yyssp = yyss = yyssa;
3341 yyvsp = yyvs = yyvsa;
3344 YYDPRINTF ((stderr,
"Starting parse\n"));
3363 if (yyss + yystacksize - 1 <= yyssp)
3366 YYSIZE_T yysize = yyssp - yyss + 1;
3380 yyoverflow (
YY_(
"memory exhausted"),
3381 &yyss1, yysize *
sizeof (*yyssp),
3382 &yyvs1, yysize *
sizeof (*yyvsp),
3389 # ifndef YYSTACK_RELOCATE 3390 goto yyexhaustedlab;
3394 goto yyexhaustedlab;
3404 goto yyexhaustedlab;
3407 # undef YYSTACK_RELOCATE 3414 yyssp = yyss + yysize - 1;
3415 yyvsp = yyvs + yysize - 1;
3417 YYDPRINTF ((stderr,
"Stack size increased to %lu\n",
3418 (
unsigned long int) yystacksize));
3420 if (yyss + yystacksize - 1 <= yyssp)
3424 YYDPRINTF ((stderr,
"Entering state %d\n", yystate));
3449 YYDPRINTF ((stderr,
"Reading a token: "));
3456 YYDPRINTF ((stderr,
"Now at end of input.\n"));
3522 yyval = yyvsp[1-yylen];
3529 #line 265 "parser.y" 3531 (yyval)=(yyvsp[-1]);
3532 stack((yyval)).id(ID_symbol);
3534 stack((yyval)).set(ID_C_base_name, value);
3535 stack((yyval)).set(ID_identifier, value);
3539 #line 3540 "ansi_c_y.tab.cpp" 3543 #line 310 "parser.y" 3544 { (yyval) = (yyvsp[-1]); }
3545 #line 3546 "ansi_c_y.tab.cpp" 3549 #line 322 "parser.y" 3551 (yyval)=(yyvsp[-5]);
3552 set((yyval), ID_generic_selection);
3553 mto((yyval), (yyvsp[-3]));
3554 stack((yyval)).add(ID_generic_associations).get_sub().swap((
irept::subt&)
stack((yyvsp[-1])).operands());
3556 #line 3557 "ansi_c_y.tab.cpp" 3560 #line 332 "parser.y" 3562 init((yyval)); mto((yyval), (yyvsp[0]));
3564 #line 3565 "ansi_c_y.tab.cpp" 3568 #line 336 "parser.y" 3570 (yyval)=(yyvsp[-2]); mto((yyval), (yyvsp[0]));
3572 #line 3573 "ansi_c_y.tab.cpp" 3576 #line 343 "parser.y" 3578 (yyval)=(yyvsp[-1]);
3579 stack((yyval)).id(ID_generic_association);
3580 stack((yyval)).set(ID_type_arg,
stack((yyvsp[-2])));
3581 stack((yyval)).set(ID_value,
stack((yyvsp[0])));
3583 #line 3584 "ansi_c_y.tab.cpp" 3587 #line 350 "parser.y" 3589 (yyval)=(yyvsp[-1]);
3590 stack((yyval)).id(ID_generic_association);
3591 stack((yyval)).set(ID_type_arg,
irept(ID_default));
3592 stack((yyval)).set(ID_value,
stack((yyvsp[0])));
3594 #line 3595 "ansi_c_y.tab.cpp" 3598 #line 360 "parser.y" 3600 (yyval)=(yyvsp[-5]);
3601 stack((yyval)).id(ID_gcc_builtin_va_arg);
3602 mto((yyval), (yyvsp[-3]));
3603 stack((yyval)).type().swap(
stack((yyvsp[-1])));
3605 #line 3606 "ansi_c_y.tab.cpp" 3609 #line 368 "parser.y" 3611 (yyval)=(yyvsp[-5]);
3612 stack((yyval)).id(ID_gcc_builtin_types_compatible_p);
3616 subtypes[0].swap(
stack((yyvsp[-3])));
3617 subtypes[1].swap(
stack((yyvsp[-1])));
3619 #line 3620 "ansi_c_y.tab.cpp" 3623 #line 381 "parser.y" 3625 (yyval)=(yyvsp[-5]);
3626 stack((yyval)).id(ID_clang_builtin_convertvector);
3627 mto((yyval), (yyvsp[-3]));
3628 stack((yyval)).type().swap(
stack((yyvsp[-1])));
3630 #line 3631 "ansi_c_y.tab.cpp" 3634 #line 391 "parser.y" 3636 (yyval)=(yyvsp[-3]);
3637 stack((yyval)).id(ID_cw_va_arg_typeof);
3638 stack((yyval)).add(ID_type_arg).swap(
stack((yyvsp[-1])));
3640 #line 3641 "ansi_c_y.tab.cpp" 3644 #line 400 "parser.y" 3646 (yyval)=(yyvsp[-5]);
3647 stack((yyval)).id(ID_builtin_offsetof);
3648 stack((yyval)).add(ID_type_arg).swap(
stack((yyvsp[-3])));
3649 stack((yyval)).add(ID_designator).swap(
stack((yyvsp[-1])));
3651 #line 3652 "ansi_c_y.tab.cpp" 3655 #line 410 "parser.y" 3657 init((yyval), ID_designated_initializer);
3658 stack((yyval)).operands().resize(1);
3659 stack((yyval)).op0().id(ID_member);
3660 stack((yyval)).op0().add_source_location()=
stack((yyvsp[0])).source_location();
3661 stack((yyval)).op0().set(ID_component_name,
stack((yyvsp[0])).
get(ID_C_base_name));
3663 #line 3664 "ansi_c_y.tab.cpp" 3667 #line 418 "parser.y" 3669 (yyval)=(yyvsp[-2]);
3670 set((yyvsp[-1]), ID_member);
3671 stack((yyvsp[-1])).set(ID_component_name,
stack((yyvsp[0])).
get(ID_C_base_name));
3672 mto((yyval), (yyvsp[-1]));
3674 #line 3675 "ansi_c_y.tab.cpp" 3678 #line 425 "parser.y" 3680 (yyval)=(yyvsp[-3]);
3681 set((yyvsp[-2]), ID_index);
3682 mto((yyvsp[-2]), (yyvsp[-1]));
3683 mto((yyval), (yyvsp[-2]));
3685 #line 3686 "ansi_c_y.tab.cpp" 3689 #line 432 "parser.y" 3691 (yyval)=(yyvsp[-2]);
3692 set((yyvsp[-1]), ID_index);
3694 stack((yyvsp[-1])).move_to_operands(tmp);
3695 mto((yyval), (yyvsp[-1]));
3696 set((yyvsp[-1]), ID_member);
3697 stack((yyvsp[-1])).set(ID_component_name,
stack((yyvsp[0])).
get(ID_C_base_name));
3698 mto((yyval), (yyvsp[-1]));
3700 #line 3701 "ansi_c_y.tab.cpp" 3704 #line 446 "parser.y" 3706 (yyval)=(yyvsp[-5]);
3707 set((yyval), ID_forall);
3708 mto((yyval), (yyvsp[-2]));
3709 mto((yyval), (yyvsp[-1]));
3712 #line 3713 "ansi_c_y.tab.cpp" 3716 #line 454 "parser.y" 3720 (yyval)=(yyvsp[-3]);
3721 set((yyval), ID_forall);
3722 mto((yyval), (yyvsp[-1]));
3723 mto((yyval), (yyvsp[0]));
3726 #line 3727 "ansi_c_y.tab.cpp" 3730 #line 464 "parser.y" 3732 (yyval)=(yyvsp[-5]);
3733 set((yyval), ID_exists);
3734 mto((yyval), (yyvsp[-2]));
3735 mto((yyval), (yyvsp[-1]));
3738 #line 3739 "ansi_c_y.tab.cpp" 3742 #line 472 "parser.y" 3746 (yyval)=(yyvsp[-3]);
3747 set((yyval), ID_exists);
3748 mto((yyval), (yyvsp[-1]));
3749 mto((yyval), (yyvsp[0]));
3752 #line 3753 "ansi_c_y.tab.cpp" 3756 #line 485 "parser.y" 3757 { init((yyval));
stack((yyval)).make_nil(); }
3758 #line 3759 "ansi_c_y.tab.cpp" 3762 #line 487 "parser.y" 3763 { (yyval)=(yyvsp[-1]); }
3764 #line 3765 "ansi_c_y.tab.cpp" 3768 #line 492 "parser.y" 3769 { init((yyval));
stack((yyval)).make_nil(); }
3770 #line 3771 "ansi_c_y.tab.cpp" 3774 #line 494 "parser.y" 3775 { (yyval)=(yyvsp[-1]); }
3776 #line 3777 "ansi_c_y.tab.cpp" 3780 #line 499 "parser.y" 3781 { init((yyval));
stack((yyval)).make_nil(); }
3782 #line 3783 "ansi_c_y.tab.cpp" 3786 #line 501 "parser.y" 3787 { (yyval)=(yyvsp[-1]); }
3788 #line 3789 "ansi_c_y.tab.cpp" 3792 #line 505 "parser.y" 3794 (yyval)=(yyvsp[-2]);
3795 set((yyval), ID_side_effect);
3796 stack((yyval)).set(ID_statement, ID_statement_expression);
3797 mto((yyval), (yyvsp[-1]));
3799 #line 3800 "ansi_c_y.tab.cpp" 3803 #line 516 "parser.y" 3804 { binary((yyval), (yyvsp[-3]), (yyvsp[-2]), ID_index, (yyvsp[-1])); }
3805 #line 3806 "ansi_c_y.tab.cpp" 3809 #line 518 "parser.y" 3810 { (yyval)=(yyvsp[-1]);
3811 set((yyval), ID_side_effect);
3812 stack((yyval)).set(ID_statement, ID_function_call);
3813 stack((yyval)).operands().resize(2);
3814 stack((yyval)).op0().swap(
stack((yyvsp[-2])));
3815 stack((yyval)).op1().clear();
3816 stack((yyval)).op1().id(ID_arguments);
3818 #line 3819 "ansi_c_y.tab.cpp" 3822 #line 527 "parser.y" 3823 { (yyval)=(yyvsp[-2]);
3824 set((yyval), ID_side_effect);
3825 stack((yyval)).set(ID_statement, ID_function_call);
3826 stack((yyval)).operands().resize(2);
3827 stack((yyval)).op0().swap(
stack((yyvsp[-3])));
3828 stack((yyval)).op1().swap(
stack((yyvsp[-1])));
3829 stack((yyval)).op1().id(ID_arguments);
3831 #line 3832 "ansi_c_y.tab.cpp" 3835 #line 536 "parser.y" 3836 { (yyval)=(yyvsp[-1]);
3837 set((yyval), ID_member);
3838 mto((yyval), (yyvsp[-2]));
3839 stack((yyval)).set(ID_component_name,
stack((yyvsp[0])).
get(ID_C_base_name));
3841 #line 3842 "ansi_c_y.tab.cpp" 3845 #line 542 "parser.y" 3846 { (yyval)=(yyvsp[-1]);
3847 set((yyval), ID_ptrmember);
3848 mto((yyval), (yyvsp[-2]));
3849 stack((yyval)).set(ID_component_name,
stack((yyvsp[0])).
get(ID_C_base_name));
3851 #line 3852 "ansi_c_y.tab.cpp" 3855 #line 548 "parser.y" 3856 { (yyval)=(yyvsp[0]);
3857 set((yyval), ID_side_effect);
3858 stack((yyval)).set(ID_statement, ID_postincrement);
3859 mto((yyval), (yyvsp[-1]));
3861 #line 3862 "ansi_c_y.tab.cpp" 3865 #line 554 "parser.y" 3866 { (yyval)=(yyvsp[0]);
3867 set((yyval), ID_side_effect);
3868 stack((yyval)).set(ID_statement, ID_postdecrement);
3869 mto((yyval), (yyvsp[-1]));
3871 #line 3872 "ansi_c_y.tab.cpp" 3875 #line 561 "parser.y" 3877 exprt tmp(ID_initializer_list);
3880 (yyval)=(yyvsp[-5]);
3881 set((yyval), ID_typecast);
3882 stack((yyval)).move_to_operands(tmp);
3883 stack((yyval)).type().swap(
stack((yyvsp[-4])));
3885 #line 3886 "ansi_c_y.tab.cpp" 3889 #line 571 "parser.y" 3892 exprt tmp(ID_initializer_list);
3895 (yyval)=(yyvsp[-6]);
3896 set((yyval), ID_typecast);
3897 stack((yyval)).move_to_operands(tmp);
3898 stack((yyval)).type().swap(
stack((yyvsp[-5])));
3900 #line 3901 "ansi_c_y.tab.cpp" 3904 #line 590 "parser.y" 3906 init((yyval), ID_expression_list);
3907 mto((yyval), (yyvsp[0]));
3909 #line 3910 "ansi_c_y.tab.cpp" 3913 #line 595 "parser.y" 3915 (yyval)=(yyvsp[-2]);
3916 mto((yyval), (yyvsp[0]));
3918 #line 3919 "ansi_c_y.tab.cpp" 3922 #line 604 "parser.y" 3923 { (yyval)=(yyvsp[-1]);
3924 set((yyval), ID_side_effect);
3925 stack((yyval)).set(ID_statement, ID_preincrement);
3926 mto((yyval), (yyvsp[0]));
3928 #line 3929 "ansi_c_y.tab.cpp" 3932 #line 610 "parser.y" 3933 { (yyval)=(yyvsp[-1]);
3934 set((yyval), ID_side_effect);
3935 stack((yyval)).set(ID_statement, ID_predecrement);
3936 mto((yyval), (yyvsp[0]));
3938 #line 3939 "ansi_c_y.tab.cpp" 3942 #line 616 "parser.y" 3943 { (yyval)=(yyvsp[-1]);
3944 set((yyval), ID_address_of);
3945 mto((yyval), (yyvsp[0]));
3947 #line 3948 "ansi_c_y.tab.cpp" 3951 #line 621 "parser.y" 3953 (yyval)=(yyvsp[-1]);
3955 set((yyval), ID_address_of);
3956 stack((yyval)).operands().resize(1);
3958 stack((yyval)).op0().id(ID_label);
3959 stack((yyval)).op0().set(ID_identifier, identifier);
3961 #line 3962 "ansi_c_y.tab.cpp" 3965 #line 631 "parser.y" 3966 { (yyval)=(yyvsp[-1]);
3967 set((yyval), ID_dereference);
3968 mto((yyval), (yyvsp[0]));
3970 #line 3971 "ansi_c_y.tab.cpp" 3974 #line 636 "parser.y" 3975 { (yyval)=(yyvsp[-1]);
3976 set((yyval), ID_unary_plus);
3977 mto((yyval), (yyvsp[0]));
3979 #line 3980 "ansi_c_y.tab.cpp" 3983 #line 641 "parser.y" 3984 { (yyval)=(yyvsp[-1]);
3985 set((yyval), ID_unary_minus);
3986 mto((yyval), (yyvsp[0]));
3988 #line 3989 "ansi_c_y.tab.cpp" 3992 #line 646 "parser.y" 3993 { (yyval)=(yyvsp[-1]);
3994 set((yyval), ID_bitnot);
3995 mto((yyval), (yyvsp[0]));
3997 #line 3998 "ansi_c_y.tab.cpp" 4001 #line 651 "parser.y" 4002 { (yyval)=(yyvsp[-1]);
4003 set((yyval), ID_not);
4004 mto((yyval), (yyvsp[0]));
4006 #line 4007 "ansi_c_y.tab.cpp" 4010 #line 656 "parser.y" 4011 { (yyval)=(yyvsp[-1]);
4012 set((yyval), ID_sizeof);
4013 mto((yyval), (yyvsp[0]));
4015 #line 4016 "ansi_c_y.tab.cpp" 4019 #line 661 "parser.y" 4020 { (yyval)=(yyvsp[-3]);
4021 set((yyval), ID_sizeof);
4022 stack((yyval)).add(ID_type_arg).swap(
stack((yyvsp[-1])));
4024 #line 4025 "ansi_c_y.tab.cpp" 4028 #line 666 "parser.y" 4030 (yyval)=(yyvsp[-1]);
4031 set((yyval), ID_alignof);
4032 mto((yyval), (yyvsp[0]));
4034 #line 4035 "ansi_c_y.tab.cpp" 4038 #line 672 "parser.y" 4040 (yyval)=(yyvsp[-3]);
4041 stack((yyval)).id(ID_alignof);
4042 stack((yyval)).add(ID_type_arg).swap(
stack((yyvsp[-1])));
4044 #line 4045 "ansi_c_y.tab.cpp" 4048 #line 682 "parser.y" 4050 (yyval)=(yyvsp[-3]);
4051 set((yyval), ID_typecast);
4052 mto((yyval), (yyvsp[0]));
4053 stack((yyval)).type().swap(
stack((yyvsp[-2])));
4055 #line 4056 "ansi_c_y.tab.cpp" 4059 #line 689 "parser.y" 4060 { (yyval)=(yyvsp[-1]);
4061 set((yyval), ID_complex_real);
4062 mto((yyval), (yyvsp[0]));
4064 #line 4065 "ansi_c_y.tab.cpp" 4068 #line 694 "parser.y" 4069 { (yyval)=(yyvsp[-1]);
4070 set((yyval), ID_complex_imag);
4071 mto((yyval), (yyvsp[0]));
4073 #line 4074 "ansi_c_y.tab.cpp" 4077 #line 703 "parser.y" 4078 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_mult, (yyvsp[0])); }
4079 #line 4080 "ansi_c_y.tab.cpp" 4083 #line 705 "parser.y" 4084 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_div, (yyvsp[0])); }
4085 #line 4086 "ansi_c_y.tab.cpp" 4089 #line 707 "parser.y" 4090 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_mod, (yyvsp[0])); }
4091 #line 4092 "ansi_c_y.tab.cpp" 4095 #line 713 "parser.y" 4096 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_plus, (yyvsp[0])); }
4097 #line 4098 "ansi_c_y.tab.cpp" 4101 #line 715 "parser.y" 4102 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_minus, (yyvsp[0])); }
4103 #line 4104 "ansi_c_y.tab.cpp" 4107 #line 721 "parser.y" 4108 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_shl, (yyvsp[0])); }
4109 #line 4110 "ansi_c_y.tab.cpp" 4113 #line 723 "parser.y" 4114 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_shr, (yyvsp[0])); }
4115 #line 4116 "ansi_c_y.tab.cpp" 4119 #line 729 "parser.y" 4120 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_lt, (yyvsp[0])); }
4121 #line 4122 "ansi_c_y.tab.cpp" 4125 #line 731 "parser.y" 4126 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_gt, (yyvsp[0])); }
4127 #line 4128 "ansi_c_y.tab.cpp" 4131 #line 733 "parser.y" 4132 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_le, (yyvsp[0])); }
4133 #line 4134 "ansi_c_y.tab.cpp" 4137 #line 735 "parser.y" 4138 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_ge, (yyvsp[0])); }
4139 #line 4140 "ansi_c_y.tab.cpp" 4143 #line 741 "parser.y" 4144 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_equal, (yyvsp[0])); }
4145 #line 4146 "ansi_c_y.tab.cpp" 4149 #line 743 "parser.y" 4150 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_notequal, (yyvsp[0])); }
4151 #line 4152 "ansi_c_y.tab.cpp" 4155 #line 749 "parser.y" 4156 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_bitand, (yyvsp[0])); }
4157 #line 4158 "ansi_c_y.tab.cpp" 4161 #line 755 "parser.y" 4162 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_bitxor, (yyvsp[0])); }
4163 #line 4164 "ansi_c_y.tab.cpp" 4167 #line 761 "parser.y" 4168 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_bitor, (yyvsp[0])); }
4169 #line 4170 "ansi_c_y.tab.cpp" 4173 #line 767 "parser.y" 4174 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_and, (yyvsp[0])); }
4175 #line 4176 "ansi_c_y.tab.cpp" 4179 #line 773 "parser.y" 4180 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_or, (yyvsp[0])); }
4181 #line 4182 "ansi_c_y.tab.cpp" 4185 #line 782 "parser.y" 4186 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_implies, (yyvsp[0])); }
4187 #line 4188 "ansi_c_y.tab.cpp" 4191 #line 791 "parser.y" 4192 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_equal, (yyvsp[0])); }
4193 #line 4194 "ansi_c_y.tab.cpp" 4197 #line 797 "parser.y" 4198 { (yyval)=(yyvsp[-3]);
4199 stack((yyval)).id(ID_if);
4200 mto((yyval), (yyvsp[-4]));
4201 mto((yyval), (yyvsp[-2]));
4202 mto((yyval), (yyvsp[0]));
4204 #line 4205 "ansi_c_y.tab.cpp" 4208 #line 804 "parser.y" 4209 { (yyval)=(yyvsp[-2]);
4210 stack((yyval)).id(ID_side_effect);
4211 stack((yyval)).set(ID_statement, ID_gcc_conditional_expression);
4212 mto((yyval), (yyvsp[-3]));
4213 mto((yyval), (yyvsp[0]));
4215 #line 4216 "ansi_c_y.tab.cpp" 4219 #line 815 "parser.y" 4220 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign); }
4221 #line 4222 "ansi_c_y.tab.cpp" 4225 #line 817 "parser.y" 4226 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_mult); }
4227 #line 4228 "ansi_c_y.tab.cpp" 4231 #line 819 "parser.y" 4232 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_div); }
4233 #line 4234 "ansi_c_y.tab.cpp" 4237 #line 821 "parser.y" 4238 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_mod); }
4239 #line 4240 "ansi_c_y.tab.cpp" 4243 #line 823 "parser.y" 4244 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_plus); }
4245 #line 4246 "ansi_c_y.tab.cpp" 4249 #line 825 "parser.y" 4250 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_minus); }
4251 #line 4252 "ansi_c_y.tab.cpp" 4255 #line 827 "parser.y" 4256 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_shl); }
4257 #line 4258 "ansi_c_y.tab.cpp" 4261 #line 829 "parser.y" 4262 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_shr); }
4263 #line 4264 "ansi_c_y.tab.cpp" 4267 #line 831 "parser.y" 4268 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_bitand); }
4269 #line 4270 "ansi_c_y.tab.cpp" 4273 #line 833 "parser.y" 4274 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_bitxor); }
4275 #line 4276 "ansi_c_y.tab.cpp" 4279 #line 835 "parser.y" 4280 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_side_effect, (yyvsp[0]));
stack((yyval)).set(ID_statement, ID_assign_bitor); }
4281 #line 4282 "ansi_c_y.tab.cpp" 4285 #line 841 "parser.y" 4286 { binary((yyval), (yyvsp[-2]), (yyvsp[-1]), ID_comma, (yyvsp[0])); }
4287 #line 4288 "ansi_c_y.tab.cpp" 4291 #line 850 "parser.y" 4292 { init((yyval));
stack((yyval)).make_nil(); }
4293 #line 4294 "ansi_c_y.tab.cpp" 4297 #line 858 "parser.y" 4300 init((yyval), ID_declaration);
4301 stack((yyval)).type().swap(
stack((yyvsp[-1])));
4303 #line 4304 "ansi_c_y.tab.cpp" 4307 #line 864 "parser.y" 4310 init((yyval), ID_declaration);
4311 stack((yyval)).type().swap(
stack((yyvsp[-1])));
4313 #line 4314 "ansi_c_y.tab.cpp" 4317 #line 876 "parser.y" 4319 (yyval)=(yyvsp[-5]);
4320 set((yyval), ID_declaration);
4322 mto((yyval), (yyvsp[-3]));
4323 mto((yyval), (yyvsp[-1]));
4325 #line 4326 "ansi_c_y.tab.cpp" 4329 #line 887 "parser.y" 4331 init((yyval), ID_declaration);
4332 stack((yyval)).type().swap(
stack((yyvsp[-1])));
4335 #line 4336 "ansi_c_y.tab.cpp" 4339 #line 893 "parser.y" 4342 (yyval)=(yyvsp[-1]);
4345 #line 4346 "ansi_c_y.tab.cpp" 4349 #line 899 "parser.y" 4351 init((yyval), ID_declaration);
4352 stack((yyval)).type().swap(
stack((yyvsp[-1])));
4355 #line 4356 "ansi_c_y.tab.cpp" 4359 #line 905 "parser.y" 4362 (yyval)=(yyvsp[-1]);
4365 #line 4366 "ansi_c_y.tab.cpp" 4369 #line 911 "parser.y" 4376 #line 4377 "ansi_c_y.tab.cpp" 4380 #line 918 "parser.y" 4383 (yyval)=(yyvsp[-4]);
4386 #line 4387 "ansi_c_y.tab.cpp" 4390 #line 927 "parser.y" 4392 (yyval)=(yyvsp[-4]);
4393 stack((yyval)).id(ID_asm);
4394 stack((yyval)).set(ID_flavor, ID_gcc);
4395 stack((yyval)).operands().swap(
stack((yyvsp[-1])).operands());
4397 #line 4398 "ansi_c_y.tab.cpp" 4401 #line 938 "parser.y" 4403 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4405 #line 4406 "ansi_c_y.tab.cpp" 4409 #line 946 "parser.y" 4413 #line 4414 "ansi_c_y.tab.cpp" 4417 #line 955 "parser.y" 4419 (yyvsp[-1])=merge((yyvsp[0]), (yyvsp[-1]));
4422 init((yyval), ID_declaration);
4423 stack((yyval)).type().swap(
stack((yyvsp[-2])));
4426 #line 4427 "ansi_c_y.tab.cpp" 4430 #line 964 "parser.y" 4433 (yyval)=(yyvsp[-1]);
4436 #line 4437 "ansi_c_y.tab.cpp" 4440 #line 971 "parser.y" 4442 (yyvsp[-1])=merge((yyvsp[0]), (yyvsp[-1]));
4445 init((yyval), ID_declaration);
4446 stack((yyval)).type().swap(
stack((yyvsp[-2])));
4449 #line 4450 "ansi_c_y.tab.cpp" 4453 #line 980 "parser.y" 4456 (yyval)=(yyvsp[-1]);
4459 #line 4460 "ansi_c_y.tab.cpp" 4463 #line 987 "parser.y" 4466 stack((yyvsp[-4])).id(ID_typeof);
4467 stack((yyvsp[-4])).copy_to_operands(
stack((yyvsp[0])));
4469 (yyvsp[-3])=merge((yyvsp[-2]), (yyvsp[-3]));
4472 init((yyval), ID_declaration);
4473 stack((yyval)).type().swap(
stack((yyvsp[-4])));
4478 #line 4479 "ansi_c_y.tab.cpp" 4482 #line 1003 "parser.y" 4485 (yyvsp[0])=merge((yyvsp[0]), (yyvsp[-2]));
4486 (yyvsp[-1])=merge((yyvsp[0]), (yyvsp[-1]));
4489 #line 4490 "ansi_c_y.tab.cpp" 4493 #line 1010 "parser.y" 4496 (yyval)=(yyvsp[-6]);
4499 #line 4500 "ansi_c_y.tab.cpp" 4503 #line 1036 "parser.y" 4505 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4507 #line 4508 "ansi_c_y.tab.cpp" 4511 #line 1041 "parser.y" 4513 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4515 #line 4516 "ansi_c_y.tab.cpp" 4519 #line 1045 "parser.y" 4521 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4523 #line 4524 "ansi_c_y.tab.cpp" 4527 #line 1053 "parser.y" 4529 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4531 #line 4532 "ansi_c_y.tab.cpp" 4535 #line 1060 "parser.y" 4537 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4539 #line 4540 "ansi_c_y.tab.cpp" 4543 #line 1068 "parser.y" 4545 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4547 #line 4548 "ansi_c_y.tab.cpp" 4551 #line 1079 "parser.y" 4552 { (yyval)=(yyvsp[0]);
set((yyval), ID_atomic); }
4553 #line 4554 "ansi_c_y.tab.cpp" 4557 #line 1080 "parser.y" 4558 { (yyval)=(yyvsp[0]);
set((yyval), ID_const); }
4559 #line 4560 "ansi_c_y.tab.cpp" 4563 #line 1081 "parser.y" 4564 { (yyval)=(yyvsp[0]);
set((yyval), ID_restrict); }
4565 #line 4566 "ansi_c_y.tab.cpp" 4569 #line 1082 "parser.y" 4570 { (yyval)=(yyvsp[0]);
set((yyval), ID_volatile); }
4571 #line 4572 "ansi_c_y.tab.cpp" 4575 #line 1083 "parser.y" 4576 { (yyval)=(yyvsp[0]);
set((yyval), ID_cprover_atomic); }
4577 #line 4578 "ansi_c_y.tab.cpp" 4581 #line 1084 "parser.y" 4582 { (yyval)=(yyvsp[0]);
set((yyval), ID_ptr32); }
4583 #line 4584 "ansi_c_y.tab.cpp" 4587 #line 1085 "parser.y" 4588 { (yyval)=(yyvsp[0]);
set((yyval), ID_ptr64); }
4589 #line 4590 "ansi_c_y.tab.cpp" 4593 #line 1086 "parser.y" 4594 { (yyval)=(yyvsp[-3]);
set((yyval), ID_msc_based); mto((yyval), (yyvsp[-1])); }
4595 #line 4596 "ansi_c_y.tab.cpp" 4599 #line 1092 "parser.y" 4600 { (yyval) = (yyvsp[-3]);
4601 stack((yyval)).id(ID_aligned);
4602 stack((yyval)).set(ID_size,
stack((yyvsp[-1])));
4604 #line 4605 "ansi_c_y.tab.cpp" 4608 #line 1097 "parser.y" 4609 { (yyval) = (yyvsp[-3]);
4610 stack((yyval)).id(ID_aligned);
4611 stack((yyvsp[-1])).set(ID_type_arg,
stack((yyvsp[-1])));
4613 #line 4614 "ansi_c_y.tab.cpp" 4617 #line 1117 "parser.y" 4619 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4621 #line 4622 "ansi_c_y.tab.cpp" 4625 #line 1124 "parser.y" 4627 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4629 #line 4630 "ansi_c_y.tab.cpp" 4633 #line 1128 "parser.y" 4635 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4637 #line 4638 "ansi_c_y.tab.cpp" 4641 #line 1132 "parser.y" 4643 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4645 #line 4646 "ansi_c_y.tab.cpp" 4649 #line 1136 "parser.y" 4651 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4653 #line 4654 "ansi_c_y.tab.cpp" 4657 #line 1143 "parser.y" 4659 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4661 #line 4662 "ansi_c_y.tab.cpp" 4665 #line 1147 "parser.y" 4667 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4669 #line 4670 "ansi_c_y.tab.cpp" 4673 #line 1151 "parser.y" 4675 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4677 #line 4678 "ansi_c_y.tab.cpp" 4681 #line 1155 "parser.y" 4683 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4685 #line 4686 "ansi_c_y.tab.cpp" 4689 #line 1163 "parser.y" 4691 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4693 #line 4694 "ansi_c_y.tab.cpp" 4697 #line 1167 "parser.y" 4699 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4701 #line 4702 "ansi_c_y.tab.cpp" 4705 #line 1171 "parser.y" 4707 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4709 #line 4710 "ansi_c_y.tab.cpp" 4713 #line 1180 "parser.y" 4715 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4717 #line 4718 "ansi_c_y.tab.cpp" 4721 #line 1184 "parser.y" 4723 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4725 #line 4726 "ansi_c_y.tab.cpp" 4729 #line 1191 "parser.y" 4731 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4733 #line 4734 "ansi_c_y.tab.cpp" 4737 #line 1195 "parser.y" 4739 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4741 #line 4742 "ansi_c_y.tab.cpp" 4745 #line 1199 "parser.y" 4747 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4749 #line 4750 "ansi_c_y.tab.cpp" 4753 #line 1206 "parser.y" 4755 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4757 #line 4758 "ansi_c_y.tab.cpp" 4761 #line 1210 "parser.y" 4763 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4765 #line 4766 "ansi_c_y.tab.cpp" 4769 #line 1214 "parser.y" 4771 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4773 #line 4774 "ansi_c_y.tab.cpp" 4777 #line 1221 "parser.y" 4779 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4781 #line 4782 "ansi_c_y.tab.cpp" 4785 #line 1225 "parser.y" 4787 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4789 #line 4790 "ansi_c_y.tab.cpp" 4793 #line 1229 "parser.y" 4795 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4797 #line 4798 "ansi_c_y.tab.cpp" 4801 #line 1236 "parser.y" 4803 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4805 #line 4806 "ansi_c_y.tab.cpp" 4809 #line 1240 "parser.y" 4811 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4813 #line 4814 "ansi_c_y.tab.cpp" 4817 #line 1244 "parser.y" 4819 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4821 #line 4822 "ansi_c_y.tab.cpp" 4825 #line 1251 "parser.y" 4826 { (yyval) = (yyvsp[-3]);
4827 stack((yyval)).id(ID_typeof);
4828 mto((yyval), (yyvsp[-1]));
4830 #line 4831 "ansi_c_y.tab.cpp" 4834 #line 1256 "parser.y" 4835 { (yyval) = (yyvsp[-3]);
4836 stack((yyval)).id(ID_typeof);
4837 stack((yyval)).set(ID_type_arg,
stack((yyvsp[-1])));
4839 #line 4840 "ansi_c_y.tab.cpp" 4843 #line 1265 "parser.y" 4845 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4847 #line 4848 "ansi_c_y.tab.cpp" 4851 #line 1269 "parser.y" 4853 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4855 #line 4856 "ansi_c_y.tab.cpp" 4859 #line 1273 "parser.y" 4861 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4863 #line 4864 "ansi_c_y.tab.cpp" 4867 #line 1280 "parser.y" 4869 (yyval)=(yyvsp[-3]);
4870 stack((yyval)).id(ID_atomic_type_specifier);
4873 #line 4874 "ansi_c_y.tab.cpp" 4877 #line 1290 "parser.y" 4879 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4881 #line 4882 "ansi_c_y.tab.cpp" 4885 #line 1294 "parser.y" 4887 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
4889 #line 4890 "ansi_c_y.tab.cpp" 4893 #line 1298 "parser.y" 4895 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
4897 #line 4898 "ansi_c_y.tab.cpp" 4901 #line 1305 "parser.y" 4903 stack((yyval)).id(
stack((yyval)).
get(ID_identifier));
4905 #line 4906 "ansi_c_y.tab.cpp" 4909 #line 1309 "parser.y" 4911 stack((yyval)).id(
stack((yyval)).
get(ID_identifier));
4913 #line 4914 "ansi_c_y.tab.cpp" 4917 #line 1313 "parser.y" 4919 stack((yyval)).id(ID_restrict);
4921 #line 4922 "ansi_c_y.tab.cpp" 4925 #line 1321 "parser.y" 4927 (yyval)=(yyvsp[-3]); mto((yyval), (yyvsp[-1]));
4929 #line 4930 "ansi_c_y.tab.cpp" 4933 #line 1325 "parser.y" 4935 (yyval)=(yyvsp[-3]); mto((yyval), (yyvsp[-1]));
4937 #line 4938 "ansi_c_y.tab.cpp" 4941 #line 1329 "parser.y" 4943 (yyval)=(yyvsp[-5]); mto((yyval), (yyvsp[-3])); mto((yyval), (yyvsp[-1]));
4945 #line 4946 "ansi_c_y.tab.cpp" 4949 #line 1333 "parser.y" 4951 (yyval)=(yyvsp[-9]); mto((yyval), (yyvsp[-7])); mto((yyval), (yyvsp[-5])); mto((yyval), (yyvsp[-3])); mto((yyval), (yyvsp[-1]));
4953 #line 4954 "ansi_c_y.tab.cpp" 4957 #line 1336 "parser.y" 4958 { init((yyval), ID_nil); }
4959 #line 4960 "ansi_c_y.tab.cpp" 4963 #line 1341 "parser.y" 4965 init((yyval)); mto((yyval), (yyvsp[0]));
4967 #line 4968 "ansi_c_y.tab.cpp" 4971 #line 1345 "parser.y" 4973 (yyval)=(yyvsp[-1]); mto((yyval), (yyvsp[0]));
4975 #line 4976 "ansi_c_y.tab.cpp" 4979 #line 1352 "parser.y" 4981 (yyval)=(yyvsp[-3]);
set((yyval), ID_msc_declspec);
4982 stack((yyval)).operands().swap(
stack((yyvsp[-1])).operands());
4984 #line 4985 "ansi_c_y.tab.cpp" 4988 #line 1357 "parser.y" 4990 (yyval)=(yyvsp[-2]);
set((yyval), ID_msc_declspec);
4992 #line 4993 "ansi_c_y.tab.cpp" 4996 #line 1364 "parser.y" 4998 init((yyval), ID_nil);
5000 #line 5001 "ansi_c_y.tab.cpp" 5004 #line 1371 "parser.y" 5005 { (yyval)=(yyvsp[0]);
set((yyval), ID_typedef); }
5006 #line 5007 "ansi_c_y.tab.cpp" 5010 #line 1372 "parser.y" 5011 { (yyval)=(yyvsp[0]);
set((yyval), ID_extern); }
5012 #line 5013 "ansi_c_y.tab.cpp" 5016 #line 1373 "parser.y" 5017 { (yyval)=(yyvsp[0]);
set((yyval), ID_static); }
5018 #line 5019 "ansi_c_y.tab.cpp" 5022 #line 1374 "parser.y" 5023 { (yyval)=(yyvsp[0]);
set((yyval), ID_auto); }
5024 #line 5025 "ansi_c_y.tab.cpp" 5028 #line 1375 "parser.y" 5029 { (yyval)=(yyvsp[0]);
set((yyval), ID_register); }
5030 #line 5031 "ansi_c_y.tab.cpp" 5034 #line 1376 "parser.y" 5035 { (yyval)=(yyvsp[0]);
set((yyval), ID_inline); }
5036 #line 5037 "ansi_c_y.tab.cpp" 5040 #line 1377 "parser.y" 5041 { (yyval)=(yyvsp[0]);
set((yyval), ID_thread_local); }
5042 #line 5043 "ansi_c_y.tab.cpp" 5046 #line 1378 "parser.y" 5047 { (yyval)=(yyvsp[0]);
set((yyval), ID_asm); }
5048 #line 5049 "ansi_c_y.tab.cpp" 5052 #line 1379 "parser.y" 5053 { (yyval)=(yyvsp[0]); }
5054 #line 5055 "ansi_c_y.tab.cpp" 5058 #line 1383 "parser.y" 5059 { (yyval)=(yyvsp[0]);
set((yyval), ID_int); }
5060 #line 5061 "ansi_c_y.tab.cpp" 5064 #line 1384 "parser.y" 5065 { (yyval)=(yyvsp[0]);
set((yyval), ID_int8); }
5066 #line 5067 "ansi_c_y.tab.cpp" 5070 #line 1385 "parser.y" 5071 { (yyval)=(yyvsp[0]);
set((yyval), ID_int16); }
5072 #line 5073 "ansi_c_y.tab.cpp" 5076 #line 1386 "parser.y" 5077 { (yyval)=(yyvsp[0]);
set((yyval), ID_int32); }
5078 #line 5079 "ansi_c_y.tab.cpp" 5082 #line 1387 "parser.y" 5083 { (yyval)=(yyvsp[0]);
set((yyval), ID_int64); }
5084 #line 5085 "ansi_c_y.tab.cpp" 5088 #line 1388 "parser.y" 5089 { (yyval)=(yyvsp[0]);
set((yyval), ID_char); }
5090 #line 5091 "ansi_c_y.tab.cpp" 5094 #line 1389 "parser.y" 5095 { (yyval)=(yyvsp[0]);
set((yyval), ID_short); }
5096 #line 5097 "ansi_c_y.tab.cpp" 5100 #line 1390 "parser.y" 5101 { (yyval)=(yyvsp[0]);
set((yyval), ID_long); }
5102 #line 5103 "ansi_c_y.tab.cpp" 5106 #line 1391 "parser.y" 5107 { (yyval)=(yyvsp[0]);
set((yyval), ID_float); }
5108 #line 5109 "ansi_c_y.tab.cpp" 5112 #line 1392 "parser.y" 5113 { (yyval)=(yyvsp[0]);
set((yyval), ID_gcc_float80); }
5114 #line 5115 "ansi_c_y.tab.cpp" 5118 #line 1393 "parser.y" 5119 { (yyval)=(yyvsp[0]);
set((yyval), ID_gcc_float128); }
5120 #line 5121 "ansi_c_y.tab.cpp" 5124 #line 1394 "parser.y" 5125 { (yyval)=(yyvsp[0]);
set((yyval), ID_gcc_float128); }
5126 #line 5127 "ansi_c_y.tab.cpp" 5130 #line 1395 "parser.y" 5131 { (yyval)=(yyvsp[0]);
set((yyval), ID_gcc_int128); }
5132 #line 5133 "ansi_c_y.tab.cpp" 5136 #line 1396 "parser.y" 5137 { (yyval)=(yyvsp[0]);
set((yyval), ID_gcc_decimal32); }
5138 #line 5139 "ansi_c_y.tab.cpp" 5142 #line 1397 "parser.y" 5143 { (yyval)=(yyvsp[0]);
set((yyval), ID_gcc_decimal64); }
5144 #line 5145 "ansi_c_y.tab.cpp" 5148 #line 1398 "parser.y" 5149 { (yyval)=(yyvsp[0]);
set((yyval), ID_gcc_decimal128); }
5150 #line 5151 "ansi_c_y.tab.cpp" 5154 #line 1399 "parser.y" 5155 { (yyval)=(yyvsp[0]);
set((yyval), ID_double); }
5156 #line 5157 "ansi_c_y.tab.cpp" 5160 #line 1400 "parser.y" 5161 { (yyval)=(yyvsp[0]);
set((yyval), ID_signed); }
5162 #line 5163 "ansi_c_y.tab.cpp" 5166 #line 1401 "parser.y" 5167 { (yyval)=(yyvsp[0]);
set((yyval), ID_unsigned); }
5168 #line 5169 "ansi_c_y.tab.cpp" 5172 #line 1402 "parser.y" 5173 { (yyval)=(yyvsp[0]);
set((yyval), ID_void); }
5174 #line 5175 "ansi_c_y.tab.cpp" 5178 #line 1403 "parser.y" 5179 { (yyval)=(yyvsp[0]);
set((yyval), ID_c_bool); }
5180 #line 5181 "ansi_c_y.tab.cpp" 5184 #line 1404 "parser.y" 5185 { (yyval)=(yyvsp[0]);
set((yyval), ID_complex); }
5186 #line 5187 "ansi_c_y.tab.cpp" 5190 #line 1406 "parser.y" 5192 (yyval)=(yyvsp[-3]);
5193 set((yyval), ID_custom_bv);
5194 stack((yyval)).add(ID_size).swap(
stack((yyvsp[-1])));
5196 #line 5197 "ansi_c_y.tab.cpp" 5200 #line 1412 "parser.y" 5202 (yyval)=(yyvsp[-6]);
5203 set((yyval), ID_custom_floatbv);
5204 stack((yyval)).add(ID_size).swap(
stack((yyvsp[-4])));
5205 stack((yyval)).add(ID_f).swap(
stack((yyvsp[-1])));
5207 #line 5208 "ansi_c_y.tab.cpp" 5211 #line 1419 "parser.y" 5213 (yyval)=(yyvsp[-6]);
5214 set((yyval), ID_custom_fixedbv);
5215 stack((yyval)).add(ID_size).swap(
stack((yyvsp[-4])));
5216 stack((yyval)).add(ID_f).swap(
stack((yyvsp[-1])));
5218 #line 5219 "ansi_c_y.tab.cpp" 5222 #line 1425 "parser.y" 5223 { (yyval)=(yyvsp[0]);
set((yyval), ID_proper_bool); }
5224 #line 5225 "ansi_c_y.tab.cpp" 5228 #line 1436 "parser.y" 5229 { (yyval)=(yyvsp[-3]);
stack_type((yyval)).subtype().swap(
stack((yyvsp[-2]))); }
5230 #line 5231 "ansi_c_y.tab.cpp" 5234 #line 1440 "parser.y" 5237 if(!
PARSER.pragma_pack.empty() &&
5238 PARSER.pragma_pack.back().is_one())
5239 set((yyval), ID_packed);
5241 #line 5242 "ansi_c_y.tab.cpp" 5245 #line 1452 "parser.y" 5249 #line 5250 "ansi_c_y.tab.cpp" 5253 #line 1458 "parser.y" 5256 stack((yyvsp[-8])).add(ID_components).get_sub().swap(
5260 (yyval)=merge((yyvsp[-8]), merge((yyvsp[-7]), merge((yyvsp[-1]), (yyvsp[0]))));
5262 #line 5263 "ansi_c_y.tab.cpp" 5266 #line 1470 "parser.y" 5270 stack((yyvsp[-3])).set(ID_tag,
stack((yyvsp[0])));
5272 #line 5273 "ansi_c_y.tab.cpp" 5276 #line 1478 "parser.y" 5279 stack((yyvsp[-9])).add(ID_components).get_sub().swap(
5283 (yyval)=merge((yyvsp[-9]), merge((yyvsp[-8]), merge((yyvsp[-1]), (yyvsp[0]))));
5285 #line 5286 "ansi_c_y.tab.cpp" 5289 #line 1490 "parser.y" 5292 stack((yyvsp[-3])).set(ID_tag,
stack((yyvsp[0])));
5294 #line 5295 "ansi_c_y.tab.cpp" 5298 #line 1495 "parser.y" 5300 stack((yyvsp[-5])).set(ID_components, ID_nil);
5302 (yyval)=merge((yyvsp[-5]), merge((yyvsp[-4]), (yyvsp[0])));
5304 #line 5305 "ansi_c_y.tab.cpp" 5308 #line 1504 "parser.y" 5309 { (yyval)=(yyvsp[0]);
set((yyval), ID_struct); }
5310 #line 5311 "ansi_c_y.tab.cpp" 5314 #line 1506 "parser.y" 5315 { (yyval)=(yyvsp[0]);
set((yyval), ID_union); }
5316 #line 5317 "ansi_c_y.tab.cpp" 5320 #line 1511 "parser.y" 5321 { (yyval)=(yyvsp[0]);
set((yyval), ID_packed); }
5322 #line 5323 "ansi_c_y.tab.cpp" 5326 #line 1513 "parser.y" 5327 { (yyval)=(yyvsp[0]);
set((yyval), ID_transparent_union); }
5328 #line 5329 "ansi_c_y.tab.cpp" 5332 #line 1515 "parser.y" 5333 { (yyval)=(yyvsp[-3]);
set((yyval), ID_vector);
stack((yyval)).add(ID_size)=
stack((yyvsp[-1])); }
5334 #line 5335 "ansi_c_y.tab.cpp" 5338 #line 1517 "parser.y" 5339 { (yyval)=(yyvsp[0]);
set((yyval), ID_aligned); }
5340 #line 5341 "ansi_c_y.tab.cpp" 5344 #line 1519 "parser.y" 5345 { (yyval)=(yyvsp[-3]);
set((yyval), ID_aligned);
stack((yyval)).set(ID_size,
stack((yyvsp[-1]))); }
5346 #line 5347 "ansi_c_y.tab.cpp" 5350 #line 1521 "parser.y" 5351 { (yyval)=(yyvsp[-3]);
set((yyval), ID_gcc_attribute_mode);
stack((yyval)).set(ID_size,
stack((yyvsp[-1])).
get(ID_identifier)); }
5352 #line 5353 "ansi_c_y.tab.cpp" 5356 #line 1523 "parser.y" 5357 { (yyval)=(yyvsp[0]);
set((yyval), ID_static); }
5358 #line 5359 "ansi_c_y.tab.cpp" 5362 #line 1525 "parser.y" 5363 { (yyval)=(yyvsp[0]);
set((yyval), ID_weak); }
5364 #line 5365 "ansi_c_y.tab.cpp" 5368 #line 1527 "parser.y" 5369 { (yyval)=(yyvsp[-3]);
set((yyval), ID_alias); mto((yyval), (yyvsp[-1])); }
5370 #line 5371 "ansi_c_y.tab.cpp" 5374 #line 1529 "parser.y" 5375 { (yyval)=(yyvsp[-3]);
set((yyval), ID_section); mto((yyval), (yyvsp[-1])); }
5376 #line 5377 "ansi_c_y.tab.cpp" 5380 #line 1531 "parser.y" 5381 { (yyval)=(yyvsp[0]);
set((yyval), ID_noreturn); }
5382 #line 5383 "ansi_c_y.tab.cpp" 5386 #line 1533 "parser.y" 5387 { (yyval)=(yyvsp[0]);
set((yyval), ID_constructor); }
5388 #line 5389 "ansi_c_y.tab.cpp" 5392 #line 1535 "parser.y" 5393 { (yyval)=(yyvsp[0]);
set((yyval), ID_destructor); }
5394 #line 5395 "ansi_c_y.tab.cpp" 5398 #line 1540 "parser.y" 5402 #line 5403 "ansi_c_y.tab.cpp" 5406 #line 1549 "parser.y" 5408 (yyval)=merge((yyvsp[-2]), (yyvsp[-1]));
5410 #line 5411 "ansi_c_y.tab.cpp" 5414 #line 1556 "parser.y" 5415 { (yyval)=(yyvsp[-2]); }
5416 #line 5417 "ansi_c_y.tab.cpp" 5420 #line 1558 "parser.y" 5421 { (yyval)=(yyvsp[0]);
set((yyval), ID_noreturn); }
5422 #line 5423 "ansi_c_y.tab.cpp" 5426 #line 1563 "parser.y" 5430 #line 5431 "ansi_c_y.tab.cpp" 5434 #line 1572 "parser.y" 5436 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
5438 #line 5439 "ansi_c_y.tab.cpp" 5442 #line 1579 "parser.y" 5444 init((yyval), ID_declaration_list);
5446 #line 5447 "ansi_c_y.tab.cpp" 5450 #line 1587 "parser.y" 5452 init((yyval), ID_declaration_list);
5453 mto((yyval), (yyvsp[0]));
5455 #line 5456 "ansi_c_y.tab.cpp" 5459 #line 1592 "parser.y" 5461 (yyval)=(yyvsp[-1]);
5462 mto((yyval), (yyvsp[0]));
5464 #line 5465 "ansi_c_y.tab.cpp" 5468 #line 1602 "parser.y" 5470 init((yyval), ID_declaration);
5472 #line 5473 "ansi_c_y.tab.cpp" 5476 #line 1615 "parser.y" 5478 (yyvsp[-1])=merge((yyvsp[-1]), (yyvsp[-2]));
5480 init((yyval), ID_declaration);
5482 stack((yyval)).type().swap(
stack((yyvsp[-1])));
5485 #line 5486 "ansi_c_y.tab.cpp" 5489 #line 1624 "parser.y" 5491 (yyval)=(yyvsp[-2]);
5494 #line 5495 "ansi_c_y.tab.cpp" 5498 #line 1634 "parser.y" 5500 if(!
PARSER.pragma_pack.empty() &&
5501 !
PARSER.pragma_pack.back().is_zero())
5507 set((yyval), ID_packed);
5508 (yyvsp[-1])=merge((yyvsp[-1]), (yyval));
5511 set((yyval), ID_aligned);
5512 stack((yyval)).set(ID_size,
PARSER.pragma_pack.back());
5513 (yyvsp[-1])=merge((yyvsp[-1]), (yyval));
5516 (yyvsp[-1])=merge((yyvsp[-1]), (yyvsp[-2]));
5518 init((yyval), ID_declaration);
5520 stack((yyval)).type().swap(
stack((yyvsp[-1])));
5523 #line 5524 "ansi_c_y.tab.cpp" 5527 #line 1659 "parser.y" 5529 (yyval)=(yyvsp[-2]);
5532 #line 5533 "ansi_c_y.tab.cpp" 5536 #line 1667 "parser.y" 5538 (yyval)=(yyvsp[-2]);
5540 if(
stack((yyvsp[-1])).is_not_nil())
5541 make_subtype((yyval), (yyvsp[-1]));
5543 if(
stack((yyvsp[0])).is_not_nil())
5544 (yyval)=merge((yyvsp[0]), (yyval));
5546 #line 5547 "ansi_c_y.tab.cpp" 5550 #line 1677 "parser.y" 5552 init((yyval), ID_abstract);
5554 #line 5555 "ansi_c_y.tab.cpp" 5558 #line 1681 "parser.y" 5560 (yyval)=(yyvsp[-1]);
5563 if(
stack((yyvsp[0])).is_not_nil())
5564 (yyval)=merge((yyvsp[0]), (yyval));
5566 #line 5567 "ansi_c_y.tab.cpp" 5570 #line 1692 "parser.y" 5572 (yyval)=(yyvsp[-2]);
5573 if(
stack((yyvsp[-1])).is_not_nil())
5574 make_subtype((yyval), (yyvsp[-1]));
5576 if(
stack((yyvsp[0])).is_not_nil())
5577 (yyval)=merge((yyvsp[0]), (yyval));
5579 #line 5580 "ansi_c_y.tab.cpp" 5583 #line 1701 "parser.y" 5585 (yyval)=(yyvsp[-1]);
5588 if(
stack((yyvsp[0])).is_not_nil())
5589 (yyval)=merge((yyvsp[0]), (yyval));
5591 #line 5592 "ansi_c_y.tab.cpp" 5595 #line 1712 "parser.y" 5597 init((yyval), ID_nil);
5599 #line 5600 "ansi_c_y.tab.cpp" 5603 #line 1720 "parser.y" 5605 (yyval)=(yyvsp[-1]);
5606 set((yyval), ID_c_bit_field);
5608 stack_type((yyval)).subtype().id(ID_abstract);
5610 #line 5611 "ansi_c_y.tab.cpp" 5614 #line 1731 "parser.y" 5618 #line 5619 "ansi_c_y.tab.cpp" 5622 #line 1736 "parser.y" 5624 stack((yyvsp[-6])).operands().swap(
stack((yyvsp[-2])).operands());
5625 (yyval)=merge((yyvsp[-6]), merge((yyvsp[-5]), (yyvsp[0])));
5627 #line 5628 "ansi_c_y.tab.cpp" 5631 #line 1743 "parser.y" 5634 stack((yyvsp[-2])).set(ID_tag,
stack((yyvsp[0])));
5636 #line 5637 "ansi_c_y.tab.cpp" 5640 #line 1749 "parser.y" 5642 stack((yyvsp[-7])).operands().swap(
stack((yyvsp[-2])).operands());
5643 (yyval)=merge((yyvsp[-7]), merge((yyvsp[-6]), (yyvsp[0])));
5645 #line 5646 "ansi_c_y.tab.cpp" 5649 #line 1757 "parser.y" 5651 stack((yyvsp[-3])).id(ID_c_enum_tag);
5652 stack((yyvsp[-3])).set(ID_tag,
stack((yyvsp[-1])));
5653 (yyval)=merge((yyvsp[-3]), merge((yyvsp[-2]), (yyvsp[0])));
5655 #line 5656 "ansi_c_y.tab.cpp" 5659 #line 1765 "parser.y" 5662 set((yyval), ID_c_enum);
5664 #line 5665 "ansi_c_y.tab.cpp" 5668 #line 1773 "parser.y" 5670 init((yyval), ID_declaration_list);
5672 #line 5673 "ansi_c_y.tab.cpp" 5676 #line 1781 "parser.y" 5678 init((yyval), ID_declaration_list);
5679 mto((yyval), (yyvsp[0]));
5681 #line 5682 "ansi_c_y.tab.cpp" 5685 #line 1786 "parser.y" 5687 (yyval)=(yyvsp[-2]);
5688 mto((yyval), (yyvsp[0]));
5690 #line 5691 "ansi_c_y.tab.cpp" 5694 #line 1791 "parser.y" 5696 (yyval)=(yyvsp[-1]);
5698 #line 5699 "ansi_c_y.tab.cpp" 5702 #line 1798 "parser.y" 5704 init((yyval), ID_declaration);
5709 #line 5710 "ansi_c_y.tab.cpp" 5713 #line 1808 "parser.y" 5716 stack((yyval)).make_nil();
5718 #line 5719 "ansi_c_y.tab.cpp" 5722 #line 1813 "parser.y" 5726 #line 5727 "ansi_c_y.tab.cpp" 5730 #line 1821 "parser.y" 5732 typet tmp(ID_ellipsis);
5733 (yyval)=(yyvsp[-2]);
5736 #line 5737 "ansi_c_y.tab.cpp" 5740 #line 1830 "parser.y" 5742 init((yyval), ID_parameters);
5743 mts((yyval), (yyvsp[0]));
5745 #line 5746 "ansi_c_y.tab.cpp" 5749 #line 1835 "parser.y" 5751 (yyval)=(yyvsp[-2]);
5752 mts((yyval), (yyvsp[0]));
5754 #line 5755 "ansi_c_y.tab.cpp" 5758 #line 1842 "parser.y" 5760 init((yyval), ID_declaration);
5764 #line 5765 "ansi_c_y.tab.cpp" 5768 #line 1851 "parser.y" 5770 init((yyval), ID_parameters);
5771 mts((yyval), (yyvsp[0]));
5773 #line 5774 "ansi_c_y.tab.cpp" 5777 #line 1856 "parser.y" 5779 (yyval)=(yyvsp[-2]);
5780 mts((yyval), (yyvsp[0]));
5782 #line 5783 "ansi_c_y.tab.cpp" 5786 #line 1864 "parser.y" 5788 init((yyval), ID_declaration);
5792 PARSER.add_declarator(
stack((yyval)), declarator);
5794 #line 5795 "ansi_c_y.tab.cpp" 5798 #line 1872 "parser.y" 5800 init((yyval), ID_declaration);
5805 #line 5806 "ansi_c_y.tab.cpp" 5809 #line 1879 "parser.y" 5811 (yyvsp[-1])=merge((yyvsp[0]), (yyvsp[-1]));
5812 init((yyval), ID_declaration);
5817 #line 5818 "ansi_c_y.tab.cpp" 5821 #line 1887 "parser.y" 5825 init((yyval), ID_declaration);
5830 #line 5831 "ansi_c_y.tab.cpp" 5834 #line 1896 "parser.y" 5836 init((yyval), ID_declaration);
5840 PARSER.add_declarator(
stack((yyval)), declarator);
5842 #line 5843 "ansi_c_y.tab.cpp" 5846 #line 1904 "parser.y" 5848 init((yyval), ID_declaration);
5853 #line 5854 "ansi_c_y.tab.cpp" 5857 #line 1911 "parser.y" 5859 (yyvsp[-1])=merge((yyvsp[0]), (yyvsp[-1]));
5860 init((yyval), ID_declaration);
5865 #line 5866 "ansi_c_y.tab.cpp" 5869 #line 1919 "parser.y" 5871 init((yyval), ID_declaration);
5875 PARSER.add_declarator(
stack((yyval)), declarator);
5877 #line 5878 "ansi_c_y.tab.cpp" 5881 #line 1927 "parser.y" 5883 init((yyval), ID_declaration);
5888 #line 5889 "ansi_c_y.tab.cpp" 5892 #line 1934 "parser.y" 5894 (yyvsp[-1])=merge((yyvsp[0]), (yyvsp[-1]));
5895 init((yyval), ID_declaration);
5900 #line 5901 "ansi_c_y.tab.cpp" 5904 #line 1942 "parser.y" 5907 init((yyval), ID_declaration);
5912 #line 5913 "ansi_c_y.tab.cpp" 5916 #line 1950 "parser.y" 5918 init((yyval), ID_declaration);
5922 PARSER.add_declarator(
stack((yyval)), declarator);
5924 #line 5925 "ansi_c_y.tab.cpp" 5928 #line 1958 "parser.y" 5930 init((yyval), ID_declaration);
5935 #line 5936 "ansi_c_y.tab.cpp" 5939 #line 1965 "parser.y" 5941 (yyvsp[-1])=merge((yyvsp[0]), (yyvsp[-1]));
5942 init((yyval), ID_declaration);
5947 #line 5948 "ansi_c_y.tab.cpp" 5951 #line 1981 "parser.y" 5953 (yyval)=merge((yyvsp[0]), (yyvsp[-1]));
5955 #line 5956 "ansi_c_y.tab.cpp" 5959 #line 1985 "parser.y" 5961 (yyval)=merge((yyvsp[-1]), (yyvsp[-2]));
5962 make_subtype((yyval), (yyvsp[0]));
5964 #line 5965 "ansi_c_y.tab.cpp" 5968 #line 1990 "parser.y" 5970 (yyval)=merge((yyvsp[0]), (yyvsp[-1]));
5972 #line 5973 "ansi_c_y.tab.cpp" 5976 #line 1994 "parser.y" 5978 (yyval)=merge((yyvsp[-1]), (yyvsp[-2]));
5979 make_subtype((yyval), (yyvsp[0]));
5981 #line 5982 "ansi_c_y.tab.cpp" 5985 #line 2002 "parser.y" 5988 stack((yyval)).make_nil();
5990 #line 5991 "ansi_c_y.tab.cpp" 5994 #line 2007 "parser.y" 5995 { (yyval) = (yyvsp[0]); }
5996 #line 5997 "ansi_c_y.tab.cpp" 6000 #line 2018 "parser.y" 6002 (yyval)=(yyvsp[-2]);
6003 set((yyval), ID_initializer_list);
6004 stack((yyval)).operands().swap(
stack((yyvsp[-1])).operands());
6006 #line 6007 "ansi_c_y.tab.cpp" 6010 #line 2024 "parser.y" 6012 (yyval)=(yyvsp[-3]);
6013 set((yyval), ID_initializer_list);
6014 stack((yyval)).operands().swap(
stack((yyvsp[-2])).operands());
6016 #line 6017 "ansi_c_y.tab.cpp" 6020 #line 2033 "parser.y" 6025 stack((yyval)).clear();
6026 stack((yyval)).move_to_operands(tmp);
6028 #line 6029 "ansi_c_y.tab.cpp" 6032 #line 2041 "parser.y" 6034 (yyval)=(yyvsp[-2]);
6035 mto((yyval), (yyvsp[0]));
6037 #line 6038 "ansi_c_y.tab.cpp" 6041 #line 2050 "parser.y" 6044 set((yyval), ID_initializer_list);
6045 stack((yyval)).operands().clear();
6047 #line 6048 "ansi_c_y.tab.cpp" 6051 #line 2060 "parser.y" 6053 (yyval)=(yyvsp[-1]);
6054 stack((yyval)).id(ID_designated_initializer);
6055 stack((yyval)).add(ID_designator).swap(
stack((yyvsp[-2])));
6056 mto((yyval), (yyvsp[0]));
6058 #line 6059 "ansi_c_y.tab.cpp" 6062 #line 2068 "parser.y" 6064 init((yyval), ID_designated_initializer);
6065 stack((yyval)).add(ID_designator).swap(
stack((yyvsp[-1])));
6066 mto((yyval), (yyvsp[0]));
6068 #line 6069 "ansi_c_y.tab.cpp" 6072 #line 2074 "parser.y" 6075 (yyval)=(yyvsp[-1]);
6076 stack((yyval)).id(ID_designated_initializer);
6078 exprt member(ID_member);
6079 member.
set(ID_component_name,
stack((yyvsp[-2])).
get(ID_C_base_name));
6081 stack((yyval)).add(ID_designator).swap(designator);
6082 mto((yyval), (yyvsp[0]));
6084 #line 6085 "ansi_c_y.tab.cpp" 6088 #line 2089 "parser.y" 6091 stack((yyvsp[-1])).id(ID_member);
6092 stack((yyvsp[-1])).set(ID_component_name,
stack((yyvsp[0])).
get(ID_C_base_name));
6093 mto((yyval), (yyvsp[-1]));
6095 #line 6096 "ansi_c_y.tab.cpp" 6099 #line 2096 "parser.y" 6102 stack((yyvsp[-2])).id(ID_index);
6103 mto((yyvsp[-2]), (yyvsp[-1]));
6104 mto((yyval), (yyvsp[-2]));
6106 #line 6107 "ansi_c_y.tab.cpp" 6110 #line 2103 "parser.y" 6114 stack((yyvsp[-4])).id(ID_index);
6115 mto((yyvsp[-4]), (yyvsp[-3]));
6116 mto((yyval), (yyvsp[-4]));
6118 #line 6119 "ansi_c_y.tab.cpp" 6122 #line 2111 "parser.y" 6124 (yyval)=(yyvsp[-3]);
6125 stack((yyvsp[-2])).id(ID_index);
6126 mto((yyvsp[-2]), (yyvsp[-1]));
6127 mto((yyval), (yyvsp[-2]));
6129 #line 6130 "ansi_c_y.tab.cpp" 6133 #line 2118 "parser.y" 6136 (yyval)=(yyvsp[-5]);
6137 stack((yyvsp[-4])).id(ID_index);
6138 mto((yyvsp[-4]), (yyvsp[-3]));
6139 mto((yyval), (yyvsp[-4]));
6141 #line 6142 "ansi_c_y.tab.cpp" 6145 #line 2126 "parser.y" 6147 (yyval)=(yyvsp[-2]);
6148 stack((yyvsp[-1])).id(ID_member);
6149 stack((yyvsp[-1])).set(ID_component_name,
stack((yyvsp[0])).
get(ID_C_base_name));
6150 mto((yyval), (yyvsp[-1]));
6152 #line 6153 "ansi_c_y.tab.cpp" 6156 #line 2153 "parser.y" 6159 statement((yyval), ID_decl);
6160 mto((yyval), (yyvsp[0]));
6162 #line 6163 "ansi_c_y.tab.cpp" 6166 #line 2162 "parser.y" 6170 (yyval)=(yyvsp[-2]);
6171 statement((yyval), ID_label);
6173 stack((yyval)).set(ID_label, identifier);
6175 statement((yyvsp[-1]), ID_skip);
6176 mto((yyval), (yyvsp[-1]));
6178 #line 6179 "ansi_c_y.tab.cpp" 6182 #line 2174 "parser.y" 6184 (yyval)=(yyvsp[-1]);
6185 statement((yyval), ID_label);
6187 stack((yyval)).set(ID_label, identifier);
6188 mto((yyval), (yyvsp[0]));
6190 #line 6191 "ansi_c_y.tab.cpp" 6194 #line 2182 "parser.y" 6196 (yyval)=(yyvsp[-3]);
6197 statement((yyval), ID_switch_case);
6198 mto((yyval), (yyvsp[-2]));
6199 mto((yyval), (yyvsp[0]));
6201 #line 6202 "ansi_c_y.tab.cpp" 6205 #line 2189 "parser.y" 6208 (yyval)=(yyvsp[-5]);
6209 statement((yyval), ID_gcc_switch_case_range);
6210 mto((yyval), (yyvsp[-4]));
6211 mto((yyval), (yyvsp[-2]));
6212 mto((yyval), (yyvsp[0]));
6214 #line 6215 "ansi_c_y.tab.cpp" 6218 #line 2198 "parser.y" 6220 (yyval)=(yyvsp[-2]);
6221 statement((yyval), ID_switch_case);
6223 mto((yyval), (yyvsp[0]));
6224 stack((yyval)).set(ID_default,
true);
6226 #line 6227 "ansi_c_y.tab.cpp" 6230 #line 2209 "parser.y" 6232 (yyval)=(yyvsp[-1]);
6233 statement((yyval), ID_block);
6234 stack((yyval)).set(ID_C_end_location,
stack((yyvsp[0])).source_location());
6237 #line 6238 "ansi_c_y.tab.cpp" 6241 #line 2216 "parser.y" 6243 (yyval)=(yyvsp[-2]);
6244 statement((yyval), ID_block);
6245 stack((yyval)).set(ID_C_end_location,
stack((yyvsp[0])).source_location());
6246 stack((yyval)).operands().swap(
stack((yyvsp[-1])).operands());
6249 #line 6250 "ansi_c_y.tab.cpp" 6253 #line 2224 "parser.y" 6255 (yyval)=(yyvsp[-2]);
6256 statement((yyval), ID_asm);
6257 stack((yyval)).set(ID_C_end_location,
stack((yyvsp[0])).source_location());
6258 mto((yyval), (yyvsp[-1]));
6261 #line 6262 "ansi_c_y.tab.cpp" 6265 #line 2235 "parser.y" 6267 unsigned prefix=++
PARSER.current_scope().compound_counter;
6268 PARSER.new_scope(std::to_string(prefix)+
"::");
6270 #line 6271 "ansi_c_y.tab.cpp" 6274 #line 2243 "parser.y" 6277 mto((yyval), (yyvsp[0]));
6279 #line 6280 "ansi_c_y.tab.cpp" 6283 #line 2248 "parser.y" 6285 mto((yyval), (yyvsp[0]));
6287 #line 6288 "ansi_c_y.tab.cpp" 6291 #line 2255 "parser.y" 6295 if(
stack((yyvsp[-1])).is_nil())
6296 statement((yyval), ID_skip);
6299 statement((yyval), ID_expression);
6300 mto((yyval), (yyvsp[-1]));
6303 #line 6304 "ansi_c_y.tab.cpp" 6307 #line 2270 "parser.y" 6309 (yyval)=(yyvsp[-4]);
6310 statement((yyval), ID_ifthenelse);
6311 stack((yyval)).operands().reserve(3);
6312 mto((yyval), (yyvsp[-2]));
6313 mto((yyval), (yyvsp[0]));
6316 #line 6317 "ansi_c_y.tab.cpp" 6320 #line 2279 "parser.y" 6322 (yyval)=(yyvsp[-6]);
6323 statement((yyval), ID_ifthenelse);
6324 stack((yyval)).operands().reserve(3);
6325 mto((yyval), (yyvsp[-4]));
6326 mto((yyval), (yyvsp[-2]));
6327 mto((yyval), (yyvsp[0]));
6329 #line 6330 "ansi_c_y.tab.cpp" 6333 #line 2288 "parser.y" 6335 (yyval)=(yyvsp[-4]);
6336 statement((yyval), ID_switch);
6337 stack((yyval)).operands().reserve(2);
6338 mto((yyval), (yyvsp[-2]));
6339 mto((yyval), (yyvsp[0]));
6341 #line 6342 "ansi_c_y.tab.cpp" 6345 #line 2305 "parser.y" 6347 (yyval)=(yyvsp[-5]);
6348 statement((yyval), ID_while);
6349 stack((yyval)).operands().reserve(2);
6350 mto((yyval), (yyvsp[-3]));
6351 mto((yyval), (yyvsp[0]));
6353 if(
stack((yyvsp[-1])).is_not_nil())
6354 stack((yyval)).add(ID_C_spec_loop_invariant).swap(
stack((yyvsp[-1])));
6356 #line 6357 "ansi_c_y.tab.cpp" 6360 #line 2317 "parser.y" 6362 (yyval)=(yyvsp[-7]);
6363 statement((yyval), ID_dowhile);
6364 stack((yyval)).operands().reserve(2);
6365 mto((yyval), (yyvsp[-3]));
6366 mto((yyval), (yyvsp[-6]));
6368 if(
stack((yyvsp[-1])).is_not_nil())
6369 stack((yyval)).add(ID_C_spec_loop_invariant).swap(
stack((yyvsp[-1])));
6371 #line 6372 "ansi_c_y.tab.cpp" 6375 #line 2328 "parser.y" 6380 unsigned prefix=++
PARSER.current_scope().compound_counter;
6381 PARSER.new_scope(std::to_string(prefix)+
"::");
6384 #line 6385 "ansi_c_y.tab.cpp" 6388 #line 2341 "parser.y" 6390 (yyval)=(yyvsp[-9]);
6391 statement((yyval), ID_for);
6392 stack((yyval)).operands().reserve(4);
6393 mto((yyval), (yyvsp[-6]));
6394 mto((yyval), (yyvsp[-5]));
6395 mto((yyval), (yyvsp[-3]));
6396 mto((yyval), (yyvsp[0]));
6398 if(
stack((yyvsp[-1])).is_not_nil())
6399 stack((yyval)).add(ID_C_spec_loop_invariant).swap(
stack((yyvsp[-1])));
6404 #line 6405 "ansi_c_y.tab.cpp" 6408 #line 2360 "parser.y" 6410 (yyval)=(yyvsp[-2]);
6411 if(
stack((yyvsp[-1])).id()==ID_symbol)
6413 statement((yyval), ID_goto);
6415 stack((yyval)).set(ID_destination, identifier);
6421 statement((yyval), ID_gcc_computed_goto);
6422 mto((yyval), (yyvsp[-1]));
6425 #line 6426 "ansi_c_y.tab.cpp" 6429 #line 2377 "parser.y" 6431 (yyval)=(yyvsp[-2]);
6432 statement((yyval), ID_goto);
6434 stack((yyval)).set(ID_destination, identifier);
6436 #line 6437 "ansi_c_y.tab.cpp" 6440 #line 2384 "parser.y" 6441 { (yyval)=(yyvsp[-1]); statement((yyval), ID_continue); }
6442 #line 6443 "ansi_c_y.tab.cpp" 6446 #line 2386 "parser.y" 6447 { (yyval)=(yyvsp[-1]); statement((yyval), ID_break); }
6448 #line 6449 "ansi_c_y.tab.cpp" 6452 #line 2388 "parser.y" 6453 { (yyval)=(yyvsp[-1]); statement((yyval), ID_return); }
6454 #line 6455 "ansi_c_y.tab.cpp" 6458 #line 2390 "parser.y" 6459 { (yyval)=(yyvsp[-2]); statement((yyval), ID_return); mto((yyval), (yyvsp[-1])); }
6460 #line 6461 "ansi_c_y.tab.cpp" 6464 #line 2395 "parser.y" 6466 (yyval)=(yyvsp[-2]);
6467 statement((yyval), ID_gcc_local_label);
6473 irep_idt base_name=it->get(ID_identifier);
6483 #line 6484 "ansi_c_y.tab.cpp" 6487 #line 2417 "parser.y" 6490 mto((yyval), (yyvsp[0]));
6492 #line 6493 "ansi_c_y.tab.cpp" 6496 #line 2422 "parser.y" 6498 (yyval)=(yyvsp[-2]);
6499 mto((yyval), (yyvsp[0]));
6501 #line 6502 "ansi_c_y.tab.cpp" 6505 #line 2433 "parser.y" 6506 { (yyval)=(yyvsp[-5]);
6507 statement((yyval), ID_asm);
6508 stack((yyval)).set(ID_flavor, ID_gcc);
6509 stack((yyval)).operands().swap(
stack((yyvsp[-2])).operands());
6511 #line 6512 "ansi_c_y.tab.cpp" 6515 #line 2439 "parser.y" 6517 (yyval)=(yyvsp[-4]);
6518 statement((yyval), ID_asm);
6519 stack((yyval)).set(ID_flavor, ID_gcc);
6520 stack((yyval)).operands().resize(5);
6523 #line 6524 "ansi_c_y.tab.cpp" 6527 #line 2450 "parser.y" 6528 { (yyval)=(yyvsp[-3]);
6529 statement((yyval), ID_asm);
6530 stack((yyval)).set(ID_flavor, ID_msc);
6531 mto((yyval), (yyvsp[-1]));
6533 #line 6534 "ansi_c_y.tab.cpp" 6537 #line 2456 "parser.y" 6538 { (yyval)=(yyvsp[-1]);
6539 statement((yyval), ID_asm);
6540 stack((yyval)).set(ID_flavor, ID_msc);
6541 mto((yyval), (yyvsp[0]));
6543 #line 6544 "ansi_c_y.tab.cpp" 6547 #line 2466 "parser.y" 6549 (yyval)=(yyvsp[-6]);
6550 statement((yyval), ID_msc_try_except);
6551 mto((yyval), (yyvsp[-5]));
6552 mto((yyval), (yyvsp[-2]));
6553 mto((yyval), (yyvsp[0]));
6555 #line 6556 "ansi_c_y.tab.cpp" 6559 #line 2475 "parser.y" 6561 (yyval)=(yyvsp[-3]);
6562 statement((yyval), ID_msc_try_finally);
6563 mto((yyval), (yyvsp[-2]));
6564 mto((yyval), (yyvsp[0]));
6566 #line 6567 "ansi_c_y.tab.cpp" 6570 #line 2482 "parser.y" 6573 statement((yyval), ID_msc_leave);
6575 #line 6576 "ansi_c_y.tab.cpp" 6579 #line 2490 "parser.y" 6581 (yyval)=(yyvsp[-1]);
6582 statement((yyval), ID_CPROVER_throw);
6584 #line 6585 "ansi_c_y.tab.cpp" 6588 #line 2496 "parser.y" 6590 (yyval)=(yyvsp[-3]);
6591 statement((yyval), ID_CPROVER_try_catch);
6592 mto((yyval), (yyvsp[-2]));
6593 mto((yyval), (yyvsp[0]));
6595 #line 6596 "ansi_c_y.tab.cpp" 6599 #line 2504 "parser.y" 6601 (yyval)=(yyvsp[-3]);
6602 statement((yyval), ID_CPROVER_try_finally);
6603 mto((yyval), (yyvsp[-2]));
6604 mto((yyval), (yyvsp[0]));
6606 #line 6607 "ansi_c_y.tab.cpp" 6610 #line 2530 "parser.y" 6613 stack((yyval)).operands().resize(5);
6614 stack((yyval)).operands()[0]=
stack((yyvsp[0]));
6616 #line 6617 "ansi_c_y.tab.cpp" 6620 #line 2536 "parser.y" 6623 stack((yyval)).operands().resize(5);
6624 stack((yyval)).operands()[0]=
stack((yyvsp[-1]));
6625 stack((yyval)).operands()[1]=
stack((yyvsp[0]));
6627 #line 6628 "ansi_c_y.tab.cpp" 6631 #line 2543 "parser.y" 6634 stack((yyval)).operands().resize(5);
6635 stack((yyval)).operands()[0]=
stack((yyvsp[-2]));
6636 stack((yyval)).operands()[1]=
stack((yyvsp[-1]));
6637 stack((yyval)).operands()[2]=
stack((yyvsp[0]));
6639 #line 6640 "ansi_c_y.tab.cpp" 6643 #line 2551 "parser.y" 6646 stack((yyval)).operands().resize(5);
6647 stack((yyval)).operands()[0]=
stack((yyvsp[-3]));
6648 stack((yyval)).operands()[1]=
stack((yyvsp[-2]));
6649 stack((yyval)).operands()[2]=
stack((yyvsp[-1]));
6650 stack((yyval)).operands()[3]=
stack((yyvsp[0]));
6652 #line 6653 "ansi_c_y.tab.cpp" 6656 #line 2560 "parser.y" 6659 stack((yyval)).operands().resize(5);
6660 stack((yyval)).operands()[0]=
stack((yyvsp[-4]));
6661 stack((yyval)).operands()[1]=
stack((yyvsp[-3]));
6662 stack((yyval)).operands()[2]=
stack((yyvsp[-2]));
6663 stack((yyval)).operands()[3]=
stack((yyvsp[-1]));
6664 stack((yyval)).operands()[4]=
stack((yyvsp[0]));
6666 #line 6667 "ansi_c_y.tab.cpp" 6670 #line 2576 "parser.y" 6674 #line 6675 "ansi_c_y.tab.cpp" 6678 #line 2584 "parser.y" 6680 (yyval)=(yyvsp[-2]);
6681 stack((yyval)).id(ID_gcc_asm_output);
6682 stack((yyval)).move_to_operands(
stack((yyvsp[-3])),
stack((yyvsp[-1])));
6684 #line 6685 "ansi_c_y.tab.cpp" 6688 #line 2591 "parser.y" 6690 (yyval)=(yyvsp[-2]);
6691 stack((yyval)).id(ID_gcc_asm_output);
6692 stack((yyval)).move_to_operands(
stack((yyvsp[-3])),
stack((yyvsp[-1])));
6694 #line 6695 "ansi_c_y.tab.cpp" 6698 #line 2600 "parser.y" 6701 mto((yyval), (yyvsp[0]));
6703 #line 6704 "ansi_c_y.tab.cpp" 6707 #line 2605 "parser.y" 6709 (yyval)=(yyvsp[-2]);
6710 mto((yyval), (yyvsp[0]));
6712 #line 6713 "ansi_c_y.tab.cpp" 6716 #line 2613 "parser.y" 6720 #line 6721 "ansi_c_y.tab.cpp" 6724 #line 2621 "parser.y" 6726 (yyval)=(yyvsp[-2]);
6727 stack((yyval)).id(ID_gcc_asm_input);
6728 stack((yyval)).move_to_operands(
stack((yyvsp[-3])),
stack((yyvsp[-1])));
6730 #line 6731 "ansi_c_y.tab.cpp" 6734 #line 2628 "parser.y" 6736 (yyval)=(yyvsp[-2]);
6737 stack((yyval)).id(ID_gcc_asm_input);
6738 stack((yyval)).move_to_operands(
stack((yyvsp[-3])),
stack((yyvsp[-1])));
6740 #line 6741 "ansi_c_y.tab.cpp" 6744 #line 2637 "parser.y" 6747 mto((yyval), (yyvsp[0]));
6749 #line 6750 "ansi_c_y.tab.cpp" 6753 #line 2642 "parser.y" 6755 (yyval)=(yyvsp[-2]);
6756 mto((yyval), (yyvsp[0]));
6758 #line 6759 "ansi_c_y.tab.cpp" 6762 #line 2650 "parser.y" 6766 #line 6767 "ansi_c_y.tab.cpp" 6770 #line 2658 "parser.y" 6772 init((yyval), ID_gcc_asm_clobbered_register);
6773 mto((yyval), (yyvsp[0]));
6775 #line 6776 "ansi_c_y.tab.cpp" 6779 #line 2666 "parser.y" 6782 mto((yyval), (yyvsp[0]));
6784 #line 6785 "ansi_c_y.tab.cpp" 6788 #line 2671 "parser.y" 6790 (yyval)=(yyvsp[-2]);
6791 mto((yyval), (yyvsp[0]));
6793 #line 6794 "ansi_c_y.tab.cpp" 6797 #line 2679 "parser.y" 6801 #line 6802 "ansi_c_y.tab.cpp" 6805 #line 2687 "parser.y" 6808 mto((yyval), (yyvsp[0]));
6810 #line 6811 "ansi_c_y.tab.cpp" 6814 #line 2692 "parser.y" 6816 (yyval)=(yyvsp[-2]);
6817 mto((yyval), (yyvsp[0]));
6819 #line 6820 "ansi_c_y.tab.cpp" 6823 #line 2700 "parser.y" 6827 stack((yyval)).id(ID_label);
6828 stack((yyval)).set(ID_identifier, identifier);
6830 #line 6831 "ansi_c_y.tab.cpp" 6834 #line 2719 "parser.y" 6839 #line 6840 "ansi_c_y.tab.cpp" 6843 #line 2724 "parser.y" 6847 #line 6848 "ansi_c_y.tab.cpp" 6851 #line 2733 "parser.y" 6855 #line 6856 "ansi_c_y.tab.cpp" 6859 #line 2737 "parser.y" 6863 #line 6864 "ansi_c_y.tab.cpp" 6867 #line 2747 "parser.y" 6869 if(
stack((yyvsp[-2])).is_not_nil())
6870 stack((yyvsp[-3])).add(ID_C_spec_requires).swap(
stack((yyvsp[-2])));
6871 if(
stack((yyvsp[-1])).is_not_nil())
6872 stack((yyvsp[-3])).add(ID_C_spec_ensures).swap(
stack((yyvsp[-1])));
6875 (yyval)=(yyvsp[-3]);
6879 assert(ansi_c_declaration.
declarators().size()==1);
6888 #line 6889 "ansi_c_y.tab.cpp" 6892 #line 2775 "parser.y" 6896 #line 6897 "ansi_c_y.tab.cpp" 6900 #line 2783 "parser.y" 6902 init((yyval), ID_decl_block);
6903 mto((yyval), (yyvsp[0]));
6905 #line 6906 "ansi_c_y.tab.cpp" 6909 #line 2788 "parser.y" 6911 (yyval)=(yyvsp[-1]);
6912 mto((yyval), (yyvsp[0]));
6914 #line 6915 "ansi_c_y.tab.cpp" 6918 #line 2802 "parser.y" 6920 (yyval)=merge((yyvsp[0]), (yyvsp[-1]));
6922 #line 6923 "ansi_c_y.tab.cpp" 6926 #line 2806 "parser.y" 6928 (yyval)=merge((yyvsp[0]), (yyvsp[-1]));
6930 #line 6931 "ansi_c_y.tab.cpp" 6934 #line 2813 "parser.y" 6936 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
6938 #line 6939 "ansi_c_y.tab.cpp" 6942 #line 2817 "parser.y" 6944 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
6946 #line 6947 "ansi_c_y.tab.cpp" 6950 #line 2821 "parser.y" 6952 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
6954 #line 6955 "ansi_c_y.tab.cpp" 6958 #line 2825 "parser.y" 6960 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
6962 #line 6963 "ansi_c_y.tab.cpp" 6966 #line 2833 "parser.y" 6968 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
6970 #line 6971 "ansi_c_y.tab.cpp" 6974 #line 2837 "parser.y" 6976 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
6978 #line 6979 "ansi_c_y.tab.cpp" 6982 #line 2841 "parser.y" 6984 (yyval)=merge((yyvsp[-2]), merge((yyvsp[-1]), (yyvsp[0])));
6986 #line 6987 "ansi_c_y.tab.cpp" 6990 #line 2849 "parser.y" 6992 stack((yyvsp[-2])).set(ID_tag,
stack((yyvsp[-1])));
6993 (yyval)=merge((yyvsp[-3]), merge((yyvsp[-2]), (yyvsp[0])));
6995 #line 6996 "ansi_c_y.tab.cpp" 6999 #line 2854 "parser.y" 7001 stack((yyvsp[-2])).id(ID_c_enum_tag);
7002 stack((yyvsp[-2])).set(ID_tag,
stack((yyvsp[-1])));
7003 (yyval)=merge((yyvsp[-3]), merge((yyvsp[-2]), (yyvsp[0])));
7005 #line 7006 "ansi_c_y.tab.cpp" 7009 #line 2870 "parser.y" 7011 init((yyval), ID_declaration);
7012 stack((yyval)).type().swap(
stack((yyvsp[-1])));
7015 #line 7016 "ansi_c_y.tab.cpp" 7019 #line 2876 "parser.y" 7021 init((yyval), ID_declaration);
7022 stack((yyval)).type().swap(
stack((yyvsp[-1])));
7025 #line 7026 "ansi_c_y.tab.cpp" 7029 #line 2882 "parser.y" 7031 (yyval)=(yyvsp[-2]);
7034 #line 7035 "ansi_c_y.tab.cpp" 7038 #line 2890 "parser.y" 7040 init((yyval), ID_declaration);
7041 irept return_type(ID_int);
7042 stack((yyval)).type().swap(return_type);
7044 create_function_scope((yyval));
7046 #line 7047 "ansi_c_y.tab.cpp" 7050 #line 2898 "parser.y" 7052 init((yyval), ID_declaration);
7053 stack((yyval)).type().swap(
stack((yyvsp[-1])));
7055 create_function_scope((yyval));
7057 #line 7058 "ansi_c_y.tab.cpp" 7061 #line 2905 "parser.y" 7063 init((yyval), ID_declaration);
7064 stack((yyval)).type().swap(
stack((yyvsp[-1])));
7066 create_function_scope((yyval));
7068 #line 7069 "ansi_c_y.tab.cpp" 7072 #line 2912 "parser.y" 7074 init((yyval), ID_declaration);
7075 stack((yyval)).type().swap(
stack((yyvsp[-1])));
7077 create_function_scope((yyval));
7079 #line 7080 "ansi_c_y.tab.cpp" 7083 #line 2919 "parser.y" 7085 init((yyval), ID_declaration);
7086 stack((yyval)).type().swap(
stack((yyvsp[-1])));
7088 create_function_scope((yyval));
7090 #line 7091 "ansi_c_y.tab.cpp" 7094 #line 2935 "parser.y" 7097 (yyvsp[-2])=merge((yyvsp[-2]), (yyvsp[-3]));
7098 make_subtype((yyvsp[-1]), (yyvsp[-2]));
7099 (yyval)=(yyvsp[-1]);
7101 #line 7102 "ansi_c_y.tab.cpp" 7105 #line 2942 "parser.y" 7108 (yyvsp[-3])=merge((yyvsp[-3]), (yyvsp[-4]));
7109 make_subtype((yyvsp[-2]), (yyvsp[-3]));
7112 (yyval)=(yyvsp[-2]);
7113 make_subtype((yyval), (yyvsp[0]));
7115 #line 7116 "ansi_c_y.tab.cpp" 7119 #line 2952 "parser.y" 7122 do_pointer((yyvsp[-1]), (yyvsp[0]));
7124 #line 7125 "ansi_c_y.tab.cpp" 7128 #line 2966 "parser.y" 7130 (yyval)=(yyvsp[-1]);
7131 make_subtype((yyval), (yyvsp[0]));
7133 #line 7134 "ansi_c_y.tab.cpp" 7137 #line 2976 "parser.y" 7140 do_pointer((yyvsp[-1]), (yyvsp[0]));
7142 #line 7143 "ansi_c_y.tab.cpp" 7146 #line 2981 "parser.y" 7148 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
7149 do_pointer((yyvsp[-2]), (yyvsp[-1]));
7151 #line 7152 "ansi_c_y.tab.cpp" 7155 #line 2989 "parser.y" 7156 { (yyval) = (yyvsp[-1]); }
7157 #line 7158 "ansi_c_y.tab.cpp" 7161 #line 2991 "parser.y" 7165 (yyval)=(yyvsp[-2]);
7166 make_subtype((yyval), (yyvsp[0]));
7168 #line 7169 "ansi_c_y.tab.cpp" 7172 #line 3002 "parser.y" 7174 (yyval)=(yyvsp[-1]);
7175 do_pointer((yyvsp[-3]), (yyvsp[-1]));
7177 #line 7178 "ansi_c_y.tab.cpp" 7181 #line 3007 "parser.y" 7184 (yyval)=merge((yyvsp[-3]), (yyvsp[-1]));
7185 do_pointer((yyvsp[-4]), (yyvsp[-3]));
7187 #line 7188 "ansi_c_y.tab.cpp" 7191 #line 3013 "parser.y" 7194 do_pointer((yyvsp[-1]), (yyvsp[0]));
7196 #line 7197 "ansi_c_y.tab.cpp" 7200 #line 3018 "parser.y" 7202 (yyval)=merge((yyvsp[-1]), (yyvsp[0]));
7203 do_pointer((yyvsp[-2]), (yyvsp[-1]));
7205 #line 7206 "ansi_c_y.tab.cpp" 7209 #line 3026 "parser.y" 7210 { (yyval) = (yyvsp[-1]); }
7211 #line 7212 "ansi_c_y.tab.cpp" 7215 #line 3028 "parser.y" 7217 (yyval)=(yyvsp[-2]);
7218 make_subtype((yyval), (yyvsp[-1]));
7220 #line 7221 "ansi_c_y.tab.cpp" 7224 #line 3033 "parser.y" 7228 (yyval)=(yyvsp[-2]);
7229 make_subtype((yyval), (yyvsp[0]));
7231 #line 7232 "ansi_c_y.tab.cpp" 7235 #line 3044 "parser.y" 7236 { (yyval)=(yyvsp[-1]); }
7237 #line 7238 "ansi_c_y.tab.cpp" 7241 #line 3055 "parser.y" 7244 do_pointer((yyvsp[-1]), (yyvsp[0]));
7246 #line 7247 "ansi_c_y.tab.cpp" 7250 #line 3060 "parser.y" 7255 do_pointer((yyvsp[-1]), (yyvsp[0]));
7257 #line 7258 "ansi_c_y.tab.cpp" 7261 #line 3067 "parser.y" 7267 (yyvsp[-1])=merge((yyvsp[-1]), (yyvsp[-2]));
7268 make_subtype((yyvsp[0]), (yyvsp[-1]));
7271 #line 7272 "ansi_c_y.tab.cpp" 7275 #line 3080 "parser.y" 7278 (yyval)=(yyvsp[-1]);
7279 make_subtype((yyval), (yyvsp[0]));
7281 #line 7282 "ansi_c_y.tab.cpp" 7285 #line 3086 "parser.y" 7286 { (yyval) = (yyvsp[-1]); }
7287 #line 7288 "ansi_c_y.tab.cpp" 7291 #line 3088 "parser.y" 7295 (yyval)=(yyvsp[-2]);
7296 make_subtype((yyval), (yyvsp[0]));
7298 #line 7299 "ansi_c_y.tab.cpp" 7302 #line 3098 "parser.y" 7306 PARSER.current_scope().last_declarator=
7307 stack((yyvsp[0])).get(ID_identifier);
7309 #line 7310 "ansi_c_y.tab.cpp" 7313 #line 3105 "parser.y" 7314 { (yyval)=(yyvsp[-1]); }
7315 #line 7316 "ansi_c_y.tab.cpp" 7319 #line 3125 "parser.y" 7321 (yyval)=(yyvsp[-2]);
7322 set((yyval), ID_code);
7327 #line 7328 "ansi_c_y.tab.cpp" 7331 #line 3133 "parser.y" 7338 #line 7339 "ansi_c_y.tab.cpp" 7342 #line 3142 "parser.y" 7344 (yyval)=(yyvsp[-4]);
7345 set((yyval), ID_code);
7347 stack_type((yyval)).add(ID_parameters).get_sub().
7350 adjust_KnR_parameters(
stack((yyval)).add(ID_parameters),
stack((yyvsp[0])));
7351 stack((yyval)).set(ID_C_KnR,
true);
7353 #line 7354 "ansi_c_y.tab.cpp" 7357 #line 3157 "parser.y" 7359 (yyval)=(yyvsp[-1]);
7360 set((yyval), ID_code);
7364 #line 7365 "ansi_c_y.tab.cpp" 7368 #line 3164 "parser.y" 7375 #line 7376 "ansi_c_y.tab.cpp" 7379 #line 3172 "parser.y" 7381 (yyval)=(yyvsp[-4]);
7382 set((yyval), ID_code);
7384 stack_type((yyval)).add(ID_parameters).get_sub().
7388 if(
stack((yyvsp[0])).is_not_nil())
7390 adjust_KnR_parameters(
stack((yyval)).add(ID_parameters),
stack((yyvsp[0])));
7391 stack((yyval)).set(ID_C_KnR,
true);
7394 #line 7395 "ansi_c_y.tab.cpp" 7398 #line 3190 "parser.y" 7400 (yyval)=(yyvsp[-1]);
7401 set((yyval), ID_array);
7405 #line 7406 "ansi_c_y.tab.cpp" 7409 #line 3197 "parser.y" 7414 set((yyvsp[-2]), ID_array);
7416 stack_type((yyvsp[-2])).add(ID_size).make_nil();
7417 (yyval)=merge((yyvsp[-1]), (yyvsp[-2]));
7419 #line 7420 "ansi_c_y.tab.cpp" 7423 #line 3207 "parser.y" 7426 (yyval)=(yyvsp[-2]);
7427 set((yyval), ID_array);
7431 #line 7432 "ansi_c_y.tab.cpp" 7435 #line 3215 "parser.y" 7437 (yyval)=(yyvsp[-2]);
7438 set((yyval), ID_array);
7442 #line 7443 "ansi_c_y.tab.cpp" 7446 #line 3222 "parser.y" 7450 set((yyvsp[-3]), ID_array);
7453 (yyval)=merge((yyvsp[-2]), (yyvsp[-3]));
7455 #line 7456 "ansi_c_y.tab.cpp" 7459 #line 3231 "parser.y" 7462 (yyval)=(yyvsp[-3]);
7463 set((yyvsp[-2]), ID_array);
7466 make_subtype((yyvsp[-3]), (yyvsp[-2]));
7468 #line 7469 "ansi_c_y.tab.cpp" 7472 #line 3240 "parser.y" 7476 (yyval)=(yyvsp[-3]);
7477 set((yyvsp[-2]), ID_array);
7478 stack_type((yyvsp[-2])).add(ID_size).make_nil();
7480 make_subtype((yyvsp[-3]), (yyvsp[-2]));
7482 #line 7483 "ansi_c_y.tab.cpp" 7486 #line 3253 "parser.y" 7489 set((yyval), ID_pointer);
7492 #line 7493 "ansi_c_y.tab.cpp" 7496 #line 3259 "parser.y" 7500 set((yyvsp[-1]), ID_pointer);
7502 (yyval)=merge((yyvsp[0]), (yyvsp[-1]));
7504 #line 7505 "ansi_c_y.tab.cpp" 7508 #line 3267 "parser.y" 7511 do_pointer((yyvsp[-1]), (yyvsp[0]));
7513 #line 7514 "ansi_c_y.tab.cpp" 7517 #line 3272 "parser.y" 7523 (yyvsp[-1])=merge((yyvsp[-1]), (yyvsp[-2]));
7524 make_subtype((yyvsp[0]), (yyvsp[-1]));
7527 #line 7528 "ansi_c_y.tab.cpp" 7531 #line 3282 "parser.y" 7536 set((yyval), ID_block_pointer);
7539 #line 7540 "ansi_c_y.tab.cpp" 7543 #line 3293 "parser.y" 7546 set((yyval), ID_pointer);
7549 #line 7550 "ansi_c_y.tab.cpp" 7553 #line 3299 "parser.y" 7557 set((yyvsp[-1]), ID_pointer);
7559 (yyval)=merge((yyvsp[0]), (yyvsp[-1]));
7561 #line 7562 "ansi_c_y.tab.cpp" 7565 #line 3307 "parser.y" 7568 do_pointer((yyvsp[-1]), (yyvsp[0]));
7570 #line 7571 "ansi_c_y.tab.cpp" 7574 #line 3312 "parser.y" 7578 stack((yyvsp[-2])).id(ID_pointer);
7580 (yyvsp[-1])=merge((yyvsp[-1]), (yyvsp[-2]));
7581 make_subtype((yyvsp[0]), (yyvsp[-1]));
7584 #line 7585 "ansi_c_y.tab.cpp" 7588 #line 3322 "parser.y" 7593 set((yyval), ID_block_pointer);
7596 #line 7597 "ansi_c_y.tab.cpp" 7600 #line 3333 "parser.y" 7601 { (yyval) = (yyvsp[-1]); }
7602 #line 7603 "ansi_c_y.tab.cpp" 7606 #line 3335 "parser.y" 7607 { (yyval) = (yyvsp[-1]); }
7608 #line 7609 "ansi_c_y.tab.cpp" 7612 #line 3337 "parser.y" 7613 { (yyval) = (yyvsp[-1]); }
7614 #line 7615 "ansi_c_y.tab.cpp" 7618 #line 3339 "parser.y" 7621 (yyval)=(yyvsp[-2]);
7622 make_subtype((yyval), (yyvsp[0]));
7624 #line 7625 "ansi_c_y.tab.cpp" 7628 #line 3345 "parser.y" 7631 (yyval)=(yyvsp[-2]);
7632 make_subtype((yyval), (yyvsp[0]));
7634 #line 7635 "ansi_c_y.tab.cpp" 7638 #line 3354 "parser.y" 7639 { (yyval) = (yyvsp[-1]); }
7640 #line 7641 "ansi_c_y.tab.cpp" 7644 #line 3356 "parser.y" 7645 { (yyval) = (yyvsp[-1]); }
7646 #line 7647 "ansi_c_y.tab.cpp" 7650 #line 3359 "parser.y" 7653 (yyval)=(yyvsp[-2]);
7654 make_subtype((yyval), (yyvsp[0]));
7656 #line 7657 "ansi_c_y.tab.cpp" 7660 #line 7661 "ansi_c_y.tab.cpp" 7689 if (0 <= yystate && yystate <=
YYLAST &&
yycheck[yystate] == *yyssp)
7709 #if ! YYERROR_VERBOSE 7712 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \ 7715 char const *yymsgp =
YY_(
"syntax error");
7716 int yysyntax_error_status;
7718 if (yysyntax_error_status == 0)
7720 else if (yysyntax_error_status == 1)
7722 if (yymsg != yymsgbuf)
7728 yymsg_alloc =
sizeof yymsgbuf;
7729 yysyntax_error_status = 2;
7738 if (yysyntax_error_status == 2)
7739 goto yyexhaustedlab;
7741 # undef YYSYNTAX_ERROR 7747 if (yyerrstatus == 3)
7849 #if !defined yyoverflow || YYERROR_VERBOSE 7872 while (yyssp != yyss)
7883 if (yymsg != yymsgbuf)
7888 #line 3366 "parser.y"
The type of an expression.
#define TOK_CPROVER_LOOP_INVARIANT
static int yysyntax_error(size_t *yymsg_alloc, char **yymsg, yytype_int16 *yyssp, int yytoken)
static const yytype_int16 yytable[]
const std::string & id2string(const irep_idt &d)
#define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
#define TOK_GCC_ATTRIBUTE_ALIGNED
static const yytype_int16 yydefgoto[]
static const yytype_uint8 yytranslate[]
static const yytype_int16 yypact[]
void set_is_member(bool is_member)
std::vector< irept > subt
#define TOK_BUILTIN_VA_ARG
void move_to_operands(exprt &expr)
void set_is_parameter(bool is_parameter)
#define TOK_GCC_BUILTIN_TYPES_COMPATIBLE_P
#define yypact_value_is_default(Yystate)
#define TOK_GCC_ATTRIBUTE_TRANSPARENT_UNION
static const yytype_int16 yycheck[]
#define YYSTACK_ALLOC_MAXIMUM
static const char *const yytname[]
#define TOK_MSC_IF_NOT_EXISTS
void set_is_static_assert(bool is_static_assert)
#define TOK_CPROVER_ATOMIC
#define TOK_GCC_ATTRIBUTE_SECTION
#define TOK_CPROVER_ENSURES
ansi_c_id_classt id_class
#define TOK_CPROVER_CATCH
void set_is_enum_constant(bool is_enum_constant)
#define YY_IGNORE_MAYBE_UNINITIALIZED_END
#define TOK_GCC_AUTO_TYPE
#define YY_REDUCE_PRINT(Rule)
#define TOK_ATOMIC_TYPE_QUALIFIER
static size_t yytnamerr(char *yyres, const char *yystr)
const declaratorst & declarators() const
#define TOK_GCC_FLOAT128_ALT
#define TOK_GCC_ATTRIBUTE_GNU_INLINE
#define TOK_GCC_ATTRIBUTE_ALIAS
#define TOK_GCC_ATTRIBUTE_PACKED
#define TOK_GCC_ATTRIBUTE
#define TOK_CLANG_BUILTIN_CONVERTVECTOR
void add_initializer(exprt &value)
#define TOK_GCC_DECIMAL32
#define TOK_GCC_ATTRIBUTE_DESTRUCTOR
static const yytype_int16 yypgoto[]
#define TOK_STATIC_ASSERT
static size_t yystrlen(const char *yystr)
Base class for tree-like data structures with sharing.
#define forall_operands(it, expr)
unsigned char yytype_uint8
static const yytype_uint16 yystos[]
std::vector< typet > subtypest
#define TOK_GCC_ATTRIBUTE_VECTOR_SIZE
#define TOK_GCC_ATTRIBUTE_CONSTRUCTOR
#define TOK_CW_VAR_ARG_TYPEOF
#define TOK_UNARY_TYPE_PREDICATE
#define TOK_CPROVER_REQUIRES
Base class for all expressions.
exprt convert_integer_literal(const std::string &src)
#define YY_STACK_PRINT(Bottom, Top)
#define TOK_UNDERLYING_TYPE
#define TOK_CPROVER_FINALLY
#define TOK_GCC_DECIMAL64
unsigned short int yytype_uint16
source_locationt & add_source_location()
#define TOK_CPROVER_FLOATBV
#define TOK_BINARY_TYPE_PREDICATE
static const yytype_uint16 yyr1[]
static const yytype_uint16 yydefact[]
#define TOK_GCC_ASM_PAREN
ansi_c_declarationt & to_ansi_c_declaration(exprt &expr)
#define TOK_GCC_ATTRIBUTE_MODE
#define TOK_GCC_ATTRIBUTE_NORETURN
int yyansi_clex()
The main scanner function which does all the work.
#define YY_SYMBOL_PRINT(Title, Type, Value, Location)
#define TOK_CPROVER_FIXEDBV
#define TOK_ATOMIC_TYPE_SPECIFIER
#define TOK_GCC_DECIMAL128
#define TOK_SCANNER_ERROR
#define TOK_MSC_IF_EXISTS
#define YYSTACK_RELOCATE(Stack_alloc, Stack)
static void yydestruct(const char *yymsg, int yytype, unsigned *yyvaluep)
static const yytype_uint8 yyr2[]
#define TOK_GCC_ATTRIBUTE_WEAK
static char * yystpcpy(char *yydest, const char *yysrc)
#define yytable_value_is_error(Yytable_value)
void set(const irep_namet &name, const irep_idt &value)
#define TOK_CPROVER_BITVECTOR
#define TOK_CPROVER_THROW