Changes in / [f923b5f:d3a804f5]
- Location:
- src
- Files:
-
- 2 added
- 22 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified src/CodeGen/CodeGenerator.cc ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Feb 1 14:09:02201713 // Update Count : 41 612 // Last Modified On : Thu Feb 9 15:05:18 2017 13 // Update Count : 417 14 14 // 15 15 … … 765 765 } 766 766 767 void CodeGenerator::visit( AsmDecl * asmDecl ) { 768 output << "asm "; 769 AsmStmt * asmStmt = asmDecl->get_stmt(); 770 output << "( "; 771 if ( asmStmt->get_instruction() ) asmStmt->get_instruction()->accept( *this ); 772 output << " )" ; 773 } 774 767 775 void CodeGenerator::visit( IfStmt * ifStmt ) { 768 776 output << "if ( "; -
TabularUnified src/CodeGen/CodeGenerator.h ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : T ue Jan 17 16:55:40201713 // Update Count : 4 812 // Last Modified On : Thu Feb 9 15:06:21 2017 13 // Update Count : 49 14 14 // 15 15 … … 82 82 virtual void visit( ExprStmt * ); 83 83 virtual void visit( AsmStmt * ); 84 virtual void visit( AsmDecl * ); // special: statement in declaration context 84 85 virtual void visit( IfStmt * ); 85 86 virtual void visit( SwitchStmt * ); -
TabularUnified src/Parser/DeclarationNode.cc ¶
rf923b5f rd3a804f5 10 10 // Created On : Sat May 16 12:34:05 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Feb 6 16:01:29 201713 // Update Count : 7 3912 // Last Modified On : Thu Feb 9 15:54:59 2017 13 // Update Count : 742 14 14 // 15 15 … … 56 56 asmName( nullptr ), 57 57 initializer( nullptr ), 58 extension( false ) { 58 extension( false ), 59 asmStmt( nullptr ) { 59 60 60 61 // variable.name = nullptr; … … 77 78 delete type; 78 79 delete bitfieldWidth; 80 81 delete asmStmt; 79 82 // asmName, no delete, passed to next stage 80 83 delete initializer; … … 98 101 newnode->initializer = maybeClone( initializer ); 99 102 newnode->extension = extension; 103 newnode->asmStmt = maybeClone( asmStmt ); 100 104 newnode->error = error; 101 105 … … 414 418 } 415 419 420 DeclarationNode * DeclarationNode::newAsmStmt( StatementNode * stmt ) { 421 DeclarationNode * newnode = new DeclarationNode; 422 newnode->asmStmt = stmt; 423 return newnode; 424 } 425 416 426 void appendError( string & dst, const string & src ) { 417 427 if ( src.empty() ) return; … … 495 505 return this; 496 506 } // if 497 498 checkQualifiers( q->type, type );499 addQualifiersToType( q->type, type );500 507 501 508 if ( q->type->forall ) { … … 513 520 q->type->forall = nullptr; 514 521 } // if 522 523 checkQualifiers( q->type, type ); 524 addQualifiersToType( q->type, type ); 525 515 526 delete q; 516 527 return this; … … 980 991 Declaration * DeclarationNode::build() const { 981 992 if ( ! error.empty() ) throw SemanticError( error + " in declaration of ", this ); 993 994 if ( asmStmt ) { 995 return new AsmDecl( safe_dynamic_cast<AsmStmt *>( asmStmt->build() ) ); 996 } // if 982 997 983 998 // if ( variable.name ) { -
TabularUnified src/Parser/ParseNode.h ¶
rf923b5f rd3a804f5 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Feb 6 15:52:21201713 // Update Count : 65 712 // Last Modified On : Thu Feb 9 14:45:28 2017 13 // Update Count : 658 14 14 // 15 15 … … 251 251 static DeclarationNode * newAttr( std::string *, DeclarationNode * type ); // @ attributes 252 252 static DeclarationNode * newAttribute( std::string *, ExpressionNode * expr = nullptr ); // gcc attributes 253 static DeclarationNode * newAsmStmt( StatementNode * stmt ); // gcc external asm statement 253 254 254 255 DeclarationNode(); … … 329 330 bool extension = false; 330 331 std::string error; 332 StatementNode * asmStmt; 331 333 332 334 static UniqueName anonymous; -
TabularUnified src/Parser/parser.cc ¶
rf923b5f rd3a804f5 626 626 627 627 /* YYFINAL -- State number of the termination state. */ 628 #define YYFINAL 2 40628 #define YYFINAL 238 629 629 /* YYLAST -- Last index in YYTABLE. */ 630 #define YYLAST 109 25630 #define YYLAST 10958 631 631 632 632 /* YYNTOKENS -- Number of terminals. */ … … 637 637 #define YYNRULES 756 638 638 /* YYNRULES -- Number of states. */ 639 #define YYNSTATES 155 0639 #define YYNSTATES 1554 640 640 641 641 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ … … 746 746 1760, 1770, 1771, 1783, 1785, 1789, 1793, 1797, 1799, 1801, 747 747 1807, 1810, 1816, 1817, 1819, 1821, 1825, 1826, 1828, 1830, 748 1832, 183 4, 1835, 1842, 1845, 1847, 1850, 1855, 1858, 1862,749 18 66, 1870, 1875, 1881, 1887, 1893, 1900, 1902, 1904, 1906,750 191 0, 1911, 1917, 1918, 1920, 1922, 1925, 1932, 1934, 1938,751 19 39, 1941, 1946, 1948, 1950, 1952, 1954, 1957, 1959, 1962,752 196 5, 1967, 1971, 1974, 1978, 1983, 1986, 1991, 1996, 2000,753 20 09, 2013, 2016, 2018, 2021, 2028, 2037, 2041, 2044, 2048,754 205 2, 2057, 2062, 2066, 2068, 2070, 2072, 2077, 2086, 2090,755 209 3, 2097, 2101, 2106, 2111, 2115, 2118, 2120, 2123, 2126,756 21 28, 2132, 2135, 2139, 2144, 2147, 2152, 2157, 2161, 2168,757 21 77, 2181, 2184, 2186, 2189, 2192, 2195, 2199, 2204, 2207,758 221 2, 2217, 2221, 2228, 2237, 2241, 2244, 2246, 2249, 2252,759 225 4, 2256, 2259, 2263, 2268, 2271, 2276, 2283, 2292, 2294,760 2 297, 2300, 2302, 2305, 2308, 2312, 2317, 2319, 2324, 2329,761 233 3, 2339, 2348, 2352, 2355, 2359, 2361, 2367, 2373, 2380,762 23 87, 2389, 2392, 2395, 2397, 2400, 2403, 2407, 2412, 2414,763 24 19, 2424, 2428, 2434, 2443, 2447, 2449, 2452, 2454, 2457,764 246 4, 2470, 2477, 2485, 2493, 2495, 2498, 2501, 2503, 2506,765 25 09, 2513, 2518, 2520, 2525, 2530, 2534, 2543, 2547, 2549,766 255 1, 2554, 2556, 2558, 2561, 2565, 2568, 2572, 2575, 2579,767 258 3, 2586, 2591, 2595, 2598, 2602, 2605, 2610, 2614, 2617,768 262 4, 2631, 2638, 2646, 2648, 2651, 2653, 2655, 2657, 2660,769 266 4, 2667, 2671, 2674, 2678, 2682, 2687, 2690, 2694, 2699,770 270 2, 2708, 2715, 2722, 2723, 2725, 2726748 1832, 1838, 1839, 1846, 1849, 1851, 1854, 1859, 1862, 1866, 749 1870, 1874, 1879, 1885, 1891, 1897, 1904, 1906, 1908, 1910, 750 1914, 1915, 1921, 1922, 1924, 1926, 1929, 1936, 1938, 1942, 751 1943, 1945, 1950, 1952, 1954, 1956, 1958, 1961, 1963, 1966, 752 1969, 1971, 1975, 1978, 1982, 1987, 1990, 1995, 2000, 2004, 753 2013, 2017, 2020, 2022, 2025, 2032, 2041, 2045, 2048, 2052, 754 2056, 2061, 2066, 2070, 2072, 2074, 2076, 2081, 2090, 2094, 755 2097, 2101, 2105, 2110, 2115, 2119, 2122, 2124, 2127, 2130, 756 2132, 2136, 2139, 2143, 2148, 2151, 2156, 2161, 2165, 2172, 757 2181, 2185, 2188, 2190, 2193, 2196, 2199, 2203, 2208, 2211, 758 2216, 2221, 2225, 2232, 2241, 2245, 2248, 2250, 2253, 2256, 759 2258, 2260, 2263, 2267, 2272, 2275, 2280, 2287, 2296, 2298, 760 2301, 2304, 2306, 2309, 2312, 2316, 2321, 2323, 2328, 2333, 761 2337, 2343, 2352, 2356, 2359, 2363, 2365, 2371, 2377, 2384, 762 2391, 2393, 2396, 2399, 2401, 2404, 2407, 2411, 2416, 2418, 763 2423, 2428, 2432, 2438, 2447, 2451, 2453, 2456, 2458, 2461, 764 2468, 2474, 2481, 2489, 2497, 2499, 2502, 2505, 2507, 2510, 765 2513, 2517, 2522, 2524, 2529, 2534, 2538, 2547, 2551, 2553, 766 2555, 2558, 2560, 2562, 2565, 2569, 2572, 2576, 2579, 2583, 767 2587, 2590, 2595, 2599, 2602, 2606, 2609, 2614, 2618, 2621, 768 2628, 2635, 2642, 2650, 2652, 2655, 2657, 2659, 2661, 2664, 769 2668, 2671, 2675, 2678, 2682, 2686, 2691, 2694, 2698, 2703, 770 2706, 2712, 2719, 2726, 2727, 2729, 2730 771 771 }; 772 772 … … 957 957 307, 140, 121, 139, 315, -1, -1, 309, -1, 311, 958 958 -1, 309, 139, 311, -1, -1, 309, -1, 220, -1, 959 313, -1, 206, -1, -1, 5, 84, 312, 119, 310, 960 120, -1, 43, 311, -1, 314, -1, 329, 181, -1, 961 333, 139, 215, 181, -1, 224, 181, -1, 232, 329, 962 181, -1, 235, 329, 181, -1, 239, 329, 181, -1, 963 239, 235, 329, 181, -1, 232, 333, 139, 215, 181, 964 -1, 235, 333, 139, 215, 181, -1, 239, 333, 139, 965 215, 181, -1, 239, 235, 333, 139, 215, 181, -1, 966 324, -1, 337, -1, 329, -1, 171, 127, 171, -1, 967 -1, 67, 114, 146, 115, 318, -1, -1, 319, -1, 968 320, -1, 319, 320, -1, 42, 114, 114, 321, 115, 969 115, -1, 322, -1, 321, 121, 322, -1, -1, 323, 970 -1, 323, 114, 150, 115, -1, 75, -1, 77, -1, 971 78, -1, 10, -1, 325, 318, -1, 326, -1, 327, 972 318, -1, 328, 318, -1, 142, -1, 114, 325, 115, 973 -1, 157, 324, -1, 157, 235, 324, -1, 114, 326, 974 115, 318, -1, 325, 355, -1, 114, 326, 115, 355, 975 -1, 114, 327, 115, 356, -1, 114, 327, 115, -1, 976 114, 326, 115, 114, 139, 270, 140, 115, -1, 114, 977 328, 115, -1, 330, 318, -1, 331, -1, 332, 318, 978 -1, 325, 114, 139, 270, 140, 115, -1, 114, 331, 979 115, 114, 139, 270, 140, 115, -1, 114, 330, 115, 980 -1, 157, 329, -1, 157, 235, 329, -1, 114, 331, 981 115, -1, 114, 331, 115, 355, -1, 114, 332, 115, 982 356, -1, 114, 332, 115, -1, 334, -1, 335, -1, 983 336, -1, 325, 114, 277, 115, -1, 114, 335, 115, 984 114, 139, 270, 140, 115, -1, 114, 334, 115, -1, 985 157, 333, -1, 157, 235, 333, -1, 114, 335, 115, 986 -1, 114, 335, 115, 355, -1, 114, 336, 115, 356, 987 -1, 114, 336, 115, -1, 338, 318, -1, 339, -1, 988 340, 318, -1, 341, 318, -1, 347, -1, 114, 338, 989 115, -1, 157, 337, -1, 157, 235, 337, -1, 114, 990 339, 115, 318, -1, 338, 355, -1, 114, 339, 115, 991 355, -1, 114, 340, 115, 356, -1, 114, 340, 115, 992 -1, 338, 114, 139, 270, 140, 115, -1, 114, 339, 993 115, 114, 139, 270, 140, 115, -1, 114, 341, 115, 994 -1, 325, 318, -1, 343, -1, 344, 318, -1, 345, 995 318, -1, 157, 342, -1, 157, 235, 342, -1, 114, 996 343, 115, 318, -1, 325, 361, -1, 114, 343, 115, 997 355, -1, 114, 344, 115, 356, -1, 114, 344, 115, 998 -1, 325, 114, 139, 270, 140, 115, -1, 114, 343, 999 115, 114, 139, 270, 140, 115, -1, 114, 345, 115, 1000 -1, 347, 318, -1, 348, -1, 349, 318, -1, 350, 1001 318, -1, 77, -1, 78, -1, 157, 346, -1, 157, 1002 235, 346, -1, 114, 348, 115, 318, -1, 347, 361, 1003 -1, 114, 348, 115, 361, -1, 347, 114, 139, 270, 1004 140, 115, -1, 114, 348, 115, 114, 139, 270, 140, 1005 115, -1, 352, -1, 353, 318, -1, 354, 318, -1, 1006 157, -1, 157, 235, -1, 157, 351, -1, 157, 235, 1007 351, -1, 114, 352, 115, 318, -1, 355, -1, 114, 1008 352, 115, 355, -1, 114, 353, 115, 356, -1, 114, 1009 353, 115, -1, 114, 139, 270, 140, 115, -1, 114, 1010 352, 115, 114, 139, 270, 140, 115, -1, 114, 354, 1011 115, -1, 116, 117, -1, 116, 117, 356, -1, 356, 1012 -1, 116, 139, 172, 140, 117, -1, 116, 139, 122, 1013 140, 117, -1, 356, 116, 139, 172, 140, 117, -1, 1014 356, 116, 139, 122, 140, 117, -1, 358, -1, 359, 1015 318, -1, 360, 318, -1, 157, -1, 157, 235, -1, 1016 157, 357, -1, 157, 235, 357, -1, 114, 358, 115, 1017 318, -1, 361, -1, 114, 358, 115, 361, -1, 114, 1018 359, 115, 356, -1, 114, 359, 115, -1, 114, 139, 1019 270, 140, 115, -1, 114, 358, 115, 114, 139, 270, 1020 140, 115, -1, 114, 360, 115, -1, 362, -1, 362, 1021 356, -1, 356, -1, 116, 117, -1, 116, 139, 235, 1022 122, 140, 117, -1, 116, 139, 235, 140, 117, -1, 1023 116, 139, 235, 172, 140, 117, -1, 116, 139, 7, 1024 234, 172, 140, 117, -1, 116, 139, 235, 7, 172, 1025 140, 117, -1, 364, -1, 365, 318, -1, 366, 318, 1026 -1, 157, -1, 157, 235, -1, 157, 363, -1, 157, 1027 235, 363, -1, 114, 364, 115, 318, -1, 355, -1, 1028 114, 364, 115, 355, -1, 114, 365, 115, 356, -1, 1029 114, 365, 115, -1, 114, 364, 115, 114, 139, 270, 1030 140, 115, -1, 114, 366, 115, -1, 368, -1, 376, 1031 -1, 235, 376, -1, 369, -1, 370, -1, 157, 233, 1032 -1, 235, 157, 233, -1, 157, 377, -1, 235, 157, 1033 377, -1, 157, 367, -1, 235, 157, 367, -1, 116, 1034 117, 233, -1, 371, 233, -1, 116, 117, 356, 233, 1035 -1, 371, 356, 233, -1, 356, 233, -1, 116, 117, 1036 369, -1, 371, 369, -1, 116, 117, 356, 369, -1, 1037 371, 356, 369, -1, 356, 369, -1, 116, 139, 235, 1038 122, 140, 117, -1, 116, 139, 235, 172, 140, 117, 1039 -1, 116, 139, 239, 172, 140, 117, -1, 116, 139, 1040 239, 235, 172, 140, 117, -1, 376, -1, 235, 376, 1041 -1, 373, -1, 374, -1, 375, -1, 157, 233, -1, 1042 235, 157, 233, -1, 157, 377, -1, 235, 157, 377, 1043 -1, 157, 372, -1, 235, 157, 372, -1, 116, 117, 1044 233, -1, 116, 117, 356, 233, -1, 356, 233, -1, 1045 116, 117, 374, -1, 116, 117, 356, 374, -1, 356, 1046 374, -1, 116, 139, 269, 140, 117, -1, 376, 114, 1047 139, 266, 140, 115, -1, 226, 114, 139, 266, 140, 1048 115, -1, -1, 121, -1, -1, 136, 172, -1 959 313, -1, 67, 114, 146, 115, 137, -1, -1, 5, 960 84, 312, 119, 310, 120, -1, 43, 311, -1, 314, 961 -1, 329, 181, -1, 333, 139, 215, 181, -1, 224, 962 181, -1, 232, 329, 181, -1, 235, 329, 181, -1, 963 239, 329, 181, -1, 239, 235, 329, 181, -1, 232, 964 333, 139, 215, 181, -1, 235, 333, 139, 215, 181, 965 -1, 239, 333, 139, 215, 181, -1, 239, 235, 333, 966 139, 215, 181, -1, 324, -1, 337, -1, 329, -1, 967 171, 127, 171, -1, -1, 67, 114, 146, 115, 318, 968 -1, -1, 319, -1, 320, -1, 319, 320, -1, 42, 969 114, 114, 321, 115, 115, -1, 322, -1, 321, 121, 970 322, -1, -1, 323, -1, 323, 114, 150, 115, -1, 971 75, -1, 77, -1, 78, -1, 10, -1, 325, 318, 972 -1, 326, -1, 327, 318, -1, 328, 318, -1, 142, 973 -1, 114, 325, 115, -1, 157, 324, -1, 157, 235, 974 324, -1, 114, 326, 115, 318, -1, 325, 355, -1, 975 114, 326, 115, 355, -1, 114, 327, 115, 356, -1, 976 114, 327, 115, -1, 114, 326, 115, 114, 139, 270, 977 140, 115, -1, 114, 328, 115, -1, 330, 318, -1, 978 331, -1, 332, 318, -1, 325, 114, 139, 270, 140, 979 115, -1, 114, 331, 115, 114, 139, 270, 140, 115, 980 -1, 114, 330, 115, -1, 157, 329, -1, 157, 235, 981 329, -1, 114, 331, 115, -1, 114, 331, 115, 355, 982 -1, 114, 332, 115, 356, -1, 114, 332, 115, -1, 983 334, -1, 335, -1, 336, -1, 325, 114, 277, 115, 984 -1, 114, 335, 115, 114, 139, 270, 140, 115, -1, 985 114, 334, 115, -1, 157, 333, -1, 157, 235, 333, 986 -1, 114, 335, 115, -1, 114, 335, 115, 355, -1, 987 114, 336, 115, 356, -1, 114, 336, 115, -1, 338, 988 318, -1, 339, -1, 340, 318, -1, 341, 318, -1, 989 347, -1, 114, 338, 115, -1, 157, 337, -1, 157, 990 235, 337, -1, 114, 339, 115, 318, -1, 338, 355, 991 -1, 114, 339, 115, 355, -1, 114, 340, 115, 356, 992 -1, 114, 340, 115, -1, 338, 114, 139, 270, 140, 993 115, -1, 114, 339, 115, 114, 139, 270, 140, 115, 994 -1, 114, 341, 115, -1, 325, 318, -1, 343, -1, 995 344, 318, -1, 345, 318, -1, 157, 342, -1, 157, 996 235, 342, -1, 114, 343, 115, 318, -1, 325, 361, 997 -1, 114, 343, 115, 355, -1, 114, 344, 115, 356, 998 -1, 114, 344, 115, -1, 325, 114, 139, 270, 140, 999 115, -1, 114, 343, 115, 114, 139, 270, 140, 115, 1000 -1, 114, 345, 115, -1, 347, 318, -1, 348, -1, 1001 349, 318, -1, 350, 318, -1, 77, -1, 78, -1, 1002 157, 346, -1, 157, 235, 346, -1, 114, 348, 115, 1003 318, -1, 347, 361, -1, 114, 348, 115, 361, -1, 1004 347, 114, 139, 270, 140, 115, -1, 114, 348, 115, 1005 114, 139, 270, 140, 115, -1, 352, -1, 353, 318, 1006 -1, 354, 318, -1, 157, -1, 157, 235, -1, 157, 1007 351, -1, 157, 235, 351, -1, 114, 352, 115, 318, 1008 -1, 355, -1, 114, 352, 115, 355, -1, 114, 353, 1009 115, 356, -1, 114, 353, 115, -1, 114, 139, 270, 1010 140, 115, -1, 114, 352, 115, 114, 139, 270, 140, 1011 115, -1, 114, 354, 115, -1, 116, 117, -1, 116, 1012 117, 356, -1, 356, -1, 116, 139, 172, 140, 117, 1013 -1, 116, 139, 122, 140, 117, -1, 356, 116, 139, 1014 172, 140, 117, -1, 356, 116, 139, 122, 140, 117, 1015 -1, 358, -1, 359, 318, -1, 360, 318, -1, 157, 1016 -1, 157, 235, -1, 157, 357, -1, 157, 235, 357, 1017 -1, 114, 358, 115, 318, -1, 361, -1, 114, 358, 1018 115, 361, -1, 114, 359, 115, 356, -1, 114, 359, 1019 115, -1, 114, 139, 270, 140, 115, -1, 114, 358, 1020 115, 114, 139, 270, 140, 115, -1, 114, 360, 115, 1021 -1, 362, -1, 362, 356, -1, 356, -1, 116, 117, 1022 -1, 116, 139, 235, 122, 140, 117, -1, 116, 139, 1023 235, 140, 117, -1, 116, 139, 235, 172, 140, 117, 1024 -1, 116, 139, 7, 234, 172, 140, 117, -1, 116, 1025 139, 235, 7, 172, 140, 117, -1, 364, -1, 365, 1026 318, -1, 366, 318, -1, 157, -1, 157, 235, -1, 1027 157, 363, -1, 157, 235, 363, -1, 114, 364, 115, 1028 318, -1, 355, -1, 114, 364, 115, 355, -1, 114, 1029 365, 115, 356, -1, 114, 365, 115, -1, 114, 364, 1030 115, 114, 139, 270, 140, 115, -1, 114, 366, 115, 1031 -1, 368, -1, 376, -1, 235, 376, -1, 369, -1, 1032 370, -1, 157, 233, -1, 235, 157, 233, -1, 157, 1033 377, -1, 235, 157, 377, -1, 157, 367, -1, 235, 1034 157, 367, -1, 116, 117, 233, -1, 371, 233, -1, 1035 116, 117, 356, 233, -1, 371, 356, 233, -1, 356, 1036 233, -1, 116, 117, 369, -1, 371, 369, -1, 116, 1037 117, 356, 369, -1, 371, 356, 369, -1, 356, 369, 1038 -1, 116, 139, 235, 122, 140, 117, -1, 116, 139, 1039 235, 172, 140, 117, -1, 116, 139, 239, 172, 140, 1040 117, -1, 116, 139, 239, 235, 172, 140, 117, -1, 1041 376, -1, 235, 376, -1, 373, -1, 374, -1, 375, 1042 -1, 157, 233, -1, 235, 157, 233, -1, 157, 377, 1043 -1, 235, 157, 377, -1, 157, 372, -1, 235, 157, 1044 372, -1, 116, 117, 233, -1, 116, 117, 356, 233, 1045 -1, 356, 233, -1, 116, 117, 374, -1, 116, 117, 1046 356, 374, -1, 356, 374, -1, 116, 139, 269, 140, 1047 117, -1, 376, 114, 139, 266, 140, 115, -1, 226, 1048 114, 139, 266, 140, 115, -1, -1, 121, -1, -1, 1049 136, 172, -1 1049 1050 }; 1050 1051 … … 1105 1106 2006, 2012, 2011, 2025, 2026, 2031, 2032, 2036, 2041, 2046, 1106 1107 2054, 2059, 2070, 2071, 2076, 2077, 2083, 2084, 2088, 2089, 1107 2090, 209 3, 2092, 2103, 2111, 2117, 2123, 2132, 2138, 2144,1108 215 0, 2156, 2164, 2170, 2178, 2184, 2193, 2194, 2195, 2199,1109 220 5, 2206, 2216, 2217, 2221, 2222, 2227, 2232, 2233, 2239,1110 224 0, 2242, 2247, 2248, 2249, 2250, 2285, 2287, 2288, 2290,1111 229 5, 2300, 2305, 2307, 2309, 2314, 2316, 2318, 2320, 2325,1112 232 7, 2336, 2338, 2339, 2344, 2346, 2348, 2353, 2355, 2357,1113 236 2, 2364, 2366, 2378, 2379, 2380, 2384, 2386, 2388, 2393,1114 239 5, 2397, 2402, 2404, 2406, 2421, 2423, 2424, 2426, 2431,1115 243 2, 2437, 2439, 2441, 2446, 2448, 2450, 2452, 2457, 2459,1116 246 1, 2471, 2473, 2474, 2476, 2481, 2483, 2485, 2490, 2492,1117 249 4, 2496, 2501, 2503, 2505, 2518, 2520, 2521, 2523, 2528,1118 253 3, 2541, 2543, 2545, 2550, 2552, 2557, 2559, 2576, 2577,1119 25 79, 2584, 2586, 2588, 2590, 2592, 2597, 2598, 2600, 2602,1120 260 7, 2609, 2611, 2617, 2619, 2621, 2625, 2627, 2629, 2631,1121 266 5, 2666, 2668, 2673, 2675, 2677, 2679, 2681, 2686, 2687,1122 26 89, 2691, 2696, 2698, 2700, 2706, 2707, 2709, 2718, 2721,1123 272 3, 2726, 2728, 2730, 2744, 2745, 2747, 2752, 2754, 2756,1124 27 58, 2760, 2765, 2766, 2768, 2770, 2775, 2777, 2785, 2786,1125 278 7, 2792, 2793, 2797, 2799, 2801, 2803, 2805, 2807, 2814,1126 281 6, 2818, 2820, 2822, 2825, 2827, 2829, 2831, 2833, 2838,1127 284 0, 2842, 2847, 2873, 2874, 2876, 2880, 2881, 2885, 2887,1128 28 89, 2891, 2893, 2895, 2902, 2904, 2906, 2908, 2910, 2912,1129 291 7, 2924, 2926, 2944, 2946, 2951, 29521108 2090, 2095, 2094, 2105, 2113, 2119, 2125, 2134, 2140, 2146, 1109 2152, 2158, 2166, 2172, 2180, 2186, 2195, 2196, 2197, 2201, 1110 2207, 2208, 2218, 2219, 2223, 2224, 2229, 2234, 2235, 2241, 1111 2242, 2244, 2249, 2250, 2251, 2252, 2287, 2289, 2290, 2292, 1112 2297, 2302, 2307, 2309, 2311, 2316, 2318, 2320, 2322, 2327, 1113 2329, 2338, 2340, 2341, 2346, 2348, 2350, 2355, 2357, 2359, 1114 2364, 2366, 2368, 2380, 2381, 2382, 2386, 2388, 2390, 2395, 1115 2397, 2399, 2404, 2406, 2408, 2423, 2425, 2426, 2428, 2433, 1116 2434, 2439, 2441, 2443, 2448, 2450, 2452, 2454, 2459, 2461, 1117 2463, 2473, 2475, 2476, 2478, 2483, 2485, 2487, 2492, 2494, 1118 2496, 2498, 2503, 2505, 2507, 2520, 2522, 2523, 2525, 2530, 1119 2535, 2543, 2545, 2547, 2552, 2554, 2559, 2561, 2578, 2579, 1120 2581, 2586, 2588, 2590, 2592, 2594, 2599, 2600, 2602, 2604, 1121 2609, 2611, 2613, 2619, 2621, 2623, 2627, 2629, 2631, 2633, 1122 2667, 2668, 2670, 2675, 2677, 2679, 2681, 2683, 2688, 2689, 1123 2691, 2693, 2698, 2700, 2702, 2708, 2709, 2711, 2720, 2723, 1124 2725, 2728, 2730, 2732, 2746, 2747, 2749, 2754, 2756, 2758, 1125 2760, 2762, 2767, 2768, 2770, 2772, 2777, 2779, 2787, 2788, 1126 2789, 2794, 2795, 2799, 2801, 2803, 2805, 2807, 2809, 2816, 1127 2818, 2820, 2822, 2824, 2827, 2829, 2831, 2833, 2835, 2840, 1128 2842, 2844, 2849, 2875, 2876, 2878, 2882, 2883, 2887, 2889, 1129 2891, 2893, 2895, 2897, 2904, 2906, 2908, 2910, 2912, 2914, 1130 2919, 2926, 2928, 2946, 2948, 2953, 2954 1130 1131 }; 1131 1132 #endif … … 1405 1406 9, 0, 11, 1, 3, 3, 3, 1, 1, 5, 1406 1407 2, 5, 0, 1, 1, 3, 0, 1, 1, 1, 1407 1, 0, 6, 2, 1, 2, 4, 2, 3, 3,1408 5, 0, 6, 2, 1, 2, 4, 2, 3, 3, 1408 1409 3, 4, 5, 5, 5, 6, 1, 1, 1, 3, 1409 1410 0, 5, 0, 1, 1, 2, 6, 1, 3, 0, … … 1438 1439 306, 0, 308, 333, 325, 330, 328, 329, 327, 326, 1439 1440 331, 332, 338, 339, 337, 334, 335, 336, 552, 377, 1440 378, 0, 0, 0, 299, 226, 309, 323, 324, 9,1441 378, 0, 0, 0, 299, 0, 309, 323, 324, 9, 1441 1442 366, 0, 10, 16, 17, 0, 2, 72, 73, 570, 1442 11, 299, 530, 528, 253, 3, 458, 3, 266, 0, 1443 3, 3, 3, 254, 0, 0, 0, 300, 301, 303, 1444 299, 312, 315, 347, 291, 340, 345, 292, 355, 293, 1445 362, 359, 369, 552, 370, 294, 477, 481, 3, 3, 1446 0, 2, 524, 529, 534, 304, 0, 0, 552, 582, 1447 552, 2, 593, 594, 595, 299, 0, 736, 737, 0, 1448 14, 0, 15, 299, 275, 276, 0, 300, 295, 296, 1449 297, 298, 531, 310, 0, 553, 554, 14, 451, 452, 1450 13, 447, 450, 0, 508, 503, 494, 451, 452, 0, 1451 0, 533, 227, 0, 299, 0, 0, 0, 0, 0, 1452 0, 0, 0, 299, 299, 0, 738, 300, 587, 599, 1453 742, 735, 733, 740, 0, 0, 0, 260, 2, 0, 1454 537, 445, 446, 444, 0, 0, 0, 0, 639, 640, 1455 0, 0, 3, 550, 546, 552, 567, 552, 552, 548, 1456 2, 547, 552, 606, 552, 552, 609, 0, 0, 0, 1457 299, 299, 317, 367, 2, 299, 267, 302, 313, 348, 1458 360, 482, 0, 2, 0, 458, 268, 300, 341, 356, 1459 363, 478, 0, 2, 0, 316, 342, 349, 350, 0, 1460 357, 361, 364, 368, 0, 479, 483, 0, 0, 0, 1461 1, 299, 2, 535, 581, 583, 299, 2, 746, 300, 1462 749, 550, 550, 0, 300, 0, 0, 278, 552, 548, 1463 2, 299, 0, 0, 299, 0, 400, 555, 2, 506, 1464 2, 559, 0, 0, 0, 0, 0, 0, 21, 69, 1465 4, 8, 19, 5, 6, 7, 0, 0, 299, 2, 1466 74, 75, 76, 77, 57, 22, 58, 18, 26, 56, 1467 78, 299, 0, 80, 84, 87, 90, 95, 98, 100, 1468 102, 104, 106, 108, 112, 500, 23, 454, 456, 499, 1469 0, 453, 457, 0, 571, 586, 589, 592, 598, 601, 1470 604, 2, 744, 299, 747, 2, 72, 299, 3, 432, 1471 0, 440, 300, 299, 312, 340, 292, 355, 362, 3, 1472 3, 414, 418, 428, 433, 477, 299, 434, 711, 712, 1473 299, 435, 437, 2, 588, 600, 734, 2, 2, 255, 1474 2, 463, 0, 461, 460, 459, 146, 2, 2, 257, 1475 2, 2, 256, 2, 286, 2, 287, 0, 0, 0, 1476 0, 0, 0, 0, 0, 0, 572, 611, 552, 0, 1477 0, 458, 2, 566, 575, 665, 568, 569, 538, 299, 1478 2, 605, 614, 607, 608, 0, 281, 299, 299, 346, 1479 300, 0, 300, 299, 739, 743, 741, 539, 299, 550, 1480 261, 269, 314, 0, 2, 540, 299, 504, 343, 344, 1481 288, 358, 365, 452, 299, 379, 372, 376, 480, 505, 1482 258, 259, 525, 299, 442, 0, 299, 243, 0, 2, 1483 245, 0, 300, 0, 263, 2, 264, 283, 0, 0, 1484 2, 299, 550, 299, 490, 492, 491, 493, 0, 0, 1485 755, 0, 753, 405, 0, 299, 0, 299, 495, 299, 1486 565, 562, 563, 564, 0, 557, 560, 0, 0, 299, 1487 64, 299, 78, 59, 299, 66, 299, 299, 62, 63, 1488 2, 132, 0, 0, 0, 733, 299, 20, 31, 0, 1489 34, 35, 40, 2, 0, 40, 118, 119, 120, 121, 1490 122, 123, 124, 125, 126, 127, 117, 116, 0, 60, 1491 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1443 11, 299, 528, 253, 3, 458, 3, 266, 0, 3, 1444 3, 3, 254, 0, 0, 0, 300, 301, 303, 299, 1445 312, 315, 347, 291, 340, 345, 292, 355, 293, 362, 1446 359, 369, 552, 370, 294, 477, 481, 3, 3, 0, 1447 2, 524, 529, 534, 304, 0, 0, 552, 582, 552, 1448 2, 593, 594, 595, 299, 0, 736, 737, 0, 14, 1449 0, 15, 299, 275, 276, 0, 300, 295, 296, 297, 1450 298, 531, 310, 0, 553, 554, 14, 451, 452, 13, 1451 447, 450, 0, 508, 503, 494, 451, 452, 0, 0, 1452 533, 0, 299, 0, 0, 0, 0, 0, 0, 0, 1453 0, 299, 299, 0, 738, 300, 587, 599, 742, 735, 1454 733, 740, 0, 0, 0, 260, 2, 0, 537, 445, 1455 446, 444, 0, 0, 0, 0, 639, 640, 0, 0, 1456 3, 550, 546, 552, 567, 552, 552, 548, 2, 547, 1457 552, 606, 552, 552, 609, 0, 0, 0, 299, 299, 1458 317, 367, 2, 299, 267, 302, 313, 348, 360, 482, 1459 0, 2, 0, 458, 268, 300, 341, 356, 363, 478, 1460 0, 2, 0, 316, 342, 349, 350, 0, 357, 361, 1461 364, 368, 0, 479, 483, 0, 0, 0, 1, 299, 1462 2, 535, 581, 583, 299, 2, 746, 300, 749, 550, 1463 550, 0, 300, 0, 0, 278, 552, 548, 2, 299, 1464 0, 0, 299, 0, 400, 555, 2, 506, 2, 559, 1465 19, 0, 18, 0, 0, 0, 0, 21, 69, 4, 1466 8, 5, 6, 7, 0, 0, 299, 2, 74, 75, 1467 76, 77, 57, 22, 58, 26, 56, 78, 299, 0, 1468 80, 84, 87, 90, 95, 98, 100, 102, 104, 106, 1469 108, 112, 500, 23, 454, 456, 499, 0, 453, 457, 1470 0, 571, 586, 589, 592, 598, 601, 604, 2, 744, 1471 299, 747, 2, 72, 299, 3, 432, 0, 440, 300, 1472 299, 312, 340, 292, 355, 362, 3, 3, 414, 418, 1473 428, 433, 477, 299, 434, 711, 712, 299, 435, 437, 1474 2, 588, 600, 734, 2, 2, 255, 2, 463, 0, 1475 461, 460, 459, 146, 2, 2, 257, 2, 2, 256, 1476 2, 286, 2, 287, 0, 0, 0, 0, 0, 0, 1477 0, 0, 0, 572, 611, 552, 0, 0, 458, 2, 1478 566, 575, 665, 568, 569, 538, 299, 2, 605, 614, 1479 607, 608, 0, 281, 299, 299, 346, 300, 0, 300, 1480 299, 739, 743, 741, 539, 299, 550, 261, 269, 314, 1481 0, 2, 540, 299, 504, 343, 344, 288, 358, 365, 1482 452, 299, 379, 372, 376, 480, 505, 258, 259, 525, 1483 299, 442, 0, 299, 243, 0, 2, 245, 0, 300, 1484 0, 263, 2, 264, 283, 0, 0, 2, 299, 550, 1485 299, 490, 492, 491, 493, 0, 0, 755, 0, 753, 1486 405, 0, 299, 0, 299, 495, 299, 565, 562, 563, 1487 564, 0, 557, 560, 0, 20, 299, 64, 299, 78, 1488 59, 299, 66, 299, 299, 62, 63, 2, 132, 0, 1489 0, 0, 733, 299, 31, 0, 34, 35, 40, 2, 1490 0, 40, 118, 119, 120, 121, 122, 123, 124, 125, 1491 126, 127, 117, 116, 0, 60, 61, 0, 0, 0, 1492 1492 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1493 2, 651, 455, 648, 552, 552, 656, 484, 299, 2, 1494 590, 591, 2, 602, 603, 0, 745, 748, 299, 299, 1495 0, 713, 300, 717, 708, 709, 715, 0, 2, 2, 1496 673, 552, 755, 622, 552, 552, 755, 552, 636, 552, 1497 552, 687, 441, 670, 552, 552, 678, 685, 299, 436, 1498 300, 0, 0, 299, 723, 300, 728, 755, 720, 299, 1499 725, 755, 299, 299, 0, 0, 21, 2, 0, 22, 1500 0, 464, 753, 0, 0, 470, 247, 0, 299, 0, 1501 0, 0, 552, 578, 580, 610, 552, 617, 620, 573, 1502 612, 0, 285, 0, 289, 663, 0, 299, 282, 0, 1503 0, 0, 0, 280, 2, 0, 265, 541, 299, 0, 1504 0, 299, 0, 300, 3, 421, 3, 425, 424, 596, 1505 0, 536, 299, 72, 3, 299, 440, 300, 3, 434, 1506 435, 2, 0, 0, 0, 489, 311, 299, 0, 485, 1507 487, 754, 0, 0, 403, 0, 3, 2, 2, 0, 1508 507, 3, 0, 559, 40, 0, 0, 228, 0, 2, 1509 0, 0, 0, 41, 0, 0, 299, 24, 0, 25, 1510 0, 114, 3, 2, 32, 0, 38, 0, 2, 29, 1511 0, 113, 81, 82, 83, 85, 86, 88, 89, 93, 1512 94, 91, 92, 96, 97, 99, 101, 103, 105, 107, 1513 0, 0, 299, 0, 0, 0, 652, 653, 649, 650, 1514 502, 501, 299, 299, 719, 299, 724, 300, 299, 667, 1515 710, 666, 2, 299, 0, 0, 0, 0, 0, 0, 1516 0, 0, 688, 0, 674, 625, 641, 675, 2, 621, 1517 628, 438, 623, 624, 439, 2, 635, 644, 637, 638, 1518 671, 672, 686, 714, 718, 716, 755, 273, 2, 750, 1519 2, 429, 722, 727, 430, 3, 408, 3, 3, 3, 1520 458, 0, 0, 2, 472, 469, 754, 0, 465, 2, 1521 468, 471, 0, 299, 248, 270, 3, 277, 279, 0, 1522 2, 574, 576, 577, 2, 613, 615, 616, 550, 0, 1523 664, 542, 3, 352, 351, 354, 353, 299, 543, 0, 1524 544, 0, 299, 371, 391, 380, 0, 385, 379, 0, 1525 0, 443, 246, 0, 0, 3, 2, 673, 436, 0, 1526 532, 0, 755, 756, 494, 405, 399, 111, 406, 753, 1527 0, 299, 299, 299, 0, 556, 558, 0, 0, 221, 1528 0, 0, 0, 229, 230, 65, 299, 0, 67, 70, 1529 71, 0, 133, 463, 79, 115, 130, 3, 114, 0, 1530 28, 40, 3, 0, 37, 110, 0, 3, 552, 659, 1531 662, 654, 3, 3, 721, 726, 2, 72, 299, 3, 1532 3, 300, 0, 3, 552, 631, 634, 552, 552, 681, 1533 684, 299, 3, 626, 642, 676, 299, 299, 431, 299, 1534 299, 0, 0, 0, 0, 262, 111, 0, 3, 3, 1535 0, 466, 0, 462, 0, 0, 251, 299, 0, 0, 1536 134, 0, 0, 0, 0, 0, 134, 0, 0, 114, 1537 114, 21, 366, 446, 69, 0, 22, 135, 0, 3, 1538 136, 137, 2, 148, 138, 139, 140, 141, 142, 143, 1539 150, 0, 152, 0, 0, 0, 299, 299, 458, 552, 1540 0, 545, 379, 391, 0, 0, 0, 697, 0, 389, 1541 392, 396, 552, 396, 702, 395, 694, 552, 552, 388, 1542 381, 386, 299, 584, 2, 669, 668, 0, 674, 2, 1543 486, 488, 404, 0, 509, 3, 517, 518, 0, 2, 1544 513, 3, 3, 0, 0, 561, 228, 0, 0, 0, 1545 228, 0, 0, 753, 114, 0, 3, 54, 0, 54, 1546 54, 3, 42, 44, 39, 0, 3, 109, 0, 2, 1547 655, 657, 658, 0, 0, 299, 0, 0, 0, 3, 1548 552, 0, 2, 627, 629, 630, 2, 643, 645, 2, 1549 677, 679, 680, 0, 0, 72, 0, 3, 3, 3, 1550 3, 416, 415, 419, 752, 2, 2, 751, 0, 0, 1551 0, 0, 3, 467, 3, 0, 249, 151, 153, 0, 1552 0, 0, 0, 2, 197, 0, 195, 0, 0, 0, 1553 0, 0, 0, 0, 0, 0, 157, 154, 299, 0, 1554 552, 0, 272, 284, 3, 3, 290, 551, 618, 299, 1555 0, 382, 0, 0, 0, 0, 398, 698, 699, 552, 1556 383, 393, 397, 394, 695, 696, 387, 374, 299, 271, 1557 299, 402, 0, 520, 497, 299, 0, 0, 496, 511, 1558 0, 0, 0, 222, 0, 231, 68, 0, 131, 128, 1559 0, 51, 2, 45, 52, 53, 0, 0, 0, 0, 1560 27, 0, 660, 299, 585, 597, 729, 730, 731, 0, 1561 682, 299, 299, 299, 3, 3, 0, 690, 0, 0, 1562 0, 0, 299, 299, 3, 549, 473, 474, 0, 252, 1563 0, 0, 0, 0, 299, 198, 196, 0, 193, 199, 1564 0, 0, 0, 0, 203, 206, 204, 200, 0, 201, 1493 0, 0, 0, 0, 0, 0, 2, 651, 455, 648, 1494 552, 552, 656, 484, 299, 2, 590, 591, 2, 602, 1495 603, 0, 745, 748, 299, 299, 0, 713, 300, 717, 1496 708, 709, 715, 0, 2, 2, 673, 552, 755, 622, 1497 552, 552, 755, 552, 636, 552, 552, 687, 441, 670, 1498 552, 552, 678, 685, 299, 436, 300, 0, 0, 299, 1499 723, 300, 728, 755, 720, 299, 725, 755, 299, 299, 1500 0, 0, 21, 2, 0, 22, 0, 464, 753, 0, 1501 0, 470, 247, 0, 299, 0, 0, 0, 552, 578, 1502 580, 610, 552, 617, 620, 573, 612, 0, 285, 0, 1503 289, 663, 0, 299, 282, 0, 0, 0, 0, 280, 1504 2, 0, 265, 541, 299, 0, 0, 299, 0, 300, 1505 3, 421, 3, 425, 424, 596, 0, 536, 299, 72, 1506 3, 299, 440, 300, 3, 434, 435, 2, 0, 0, 1507 0, 489, 311, 299, 0, 485, 487, 754, 0, 0, 1508 403, 0, 3, 2, 2, 0, 507, 3, 0, 559, 1509 40, 530, 0, 2, 0, 0, 0, 41, 0, 0, 1510 299, 24, 0, 25, 0, 114, 3, 2, 32, 0, 1511 38, 0, 2, 29, 0, 113, 81, 82, 83, 85, 1512 86, 88, 89, 93, 94, 91, 92, 96, 97, 99, 1513 101, 103, 105, 107, 0, 0, 299, 0, 0, 0, 1514 652, 653, 649, 650, 502, 501, 299, 299, 719, 299, 1515 724, 300, 299, 667, 710, 666, 2, 299, 0, 0, 1516 0, 0, 0, 0, 0, 0, 688, 0, 674, 625, 1517 641, 675, 2, 621, 628, 438, 623, 624, 439, 2, 1518 635, 644, 637, 638, 671, 672, 686, 714, 718, 716, 1519 755, 273, 2, 750, 2, 429, 722, 727, 430, 3, 1520 408, 3, 3, 3, 458, 0, 0, 2, 472, 469, 1521 754, 0, 465, 2, 468, 471, 0, 299, 248, 270, 1522 3, 277, 279, 0, 2, 574, 576, 577, 2, 613, 1523 615, 616, 550, 0, 664, 542, 3, 352, 351, 354, 1524 353, 299, 543, 0, 544, 0, 299, 371, 391, 380, 1525 0, 385, 379, 0, 0, 443, 246, 0, 0, 3, 1526 2, 673, 436, 0, 532, 0, 755, 756, 494, 405, 1527 399, 111, 406, 753, 0, 299, 299, 299, 0, 556, 1528 558, 0, 65, 299, 0, 67, 70, 71, 0, 133, 1529 463, 79, 115, 130, 3, 114, 0, 28, 40, 3, 1530 0, 37, 110, 0, 3, 552, 659, 662, 654, 3, 1531 3, 721, 726, 2, 72, 299, 3, 3, 300, 0, 1532 3, 552, 631, 634, 552, 552, 681, 684, 299, 3, 1533 626, 642, 676, 299, 299, 431, 299, 299, 0, 0, 1534 0, 0, 262, 111, 0, 3, 3, 0, 466, 0, 1535 462, 0, 0, 251, 299, 0, 0, 134, 0, 0, 1536 0, 0, 0, 134, 0, 0, 114, 114, 226, 21, 1537 366, 446, 69, 0, 22, 135, 0, 3, 136, 137, 1538 2, 148, 138, 139, 140, 141, 142, 143, 150, 0, 1539 152, 0, 0, 0, 299, 299, 458, 552, 0, 545, 1540 379, 391, 0, 0, 0, 697, 0, 389, 392, 396, 1541 552, 396, 702, 395, 694, 552, 552, 388, 381, 386, 1542 299, 584, 2, 669, 668, 0, 674, 2, 486, 488, 1543 404, 0, 509, 3, 517, 518, 0, 2, 513, 3, 1544 3, 0, 0, 561, 0, 753, 114, 0, 3, 54, 1545 0, 54, 54, 3, 42, 44, 39, 0, 3, 109, 1546 0, 2, 655, 657, 658, 0, 0, 299, 0, 0, 1547 0, 3, 552, 0, 2, 627, 629, 630, 2, 643, 1548 645, 2, 677, 679, 680, 0, 0, 72, 0, 3, 1549 3, 3, 3, 416, 415, 419, 752, 2, 2, 751, 1550 0, 0, 0, 0, 3, 467, 3, 0, 249, 151, 1551 153, 0, 0, 0, 0, 2, 197, 0, 195, 0, 1552 0, 0, 0, 0, 0, 0, 0, 227, 0, 0, 1553 157, 154, 299, 0, 552, 0, 272, 284, 3, 3, 1554 290, 551, 618, 299, 0, 382, 0, 0, 0, 0, 1555 398, 698, 699, 552, 383, 393, 397, 394, 695, 696, 1556 387, 374, 299, 271, 299, 402, 0, 520, 497, 299, 1557 0, 0, 496, 511, 68, 0, 131, 128, 0, 51, 1558 2, 45, 52, 53, 0, 0, 0, 0, 27, 0, 1559 660, 299, 585, 597, 729, 730, 731, 0, 682, 299, 1560 299, 299, 3, 3, 0, 690, 0, 0, 0, 0, 1561 299, 299, 3, 549, 473, 474, 0, 252, 0, 0, 1562 0, 0, 299, 198, 196, 0, 193, 199, 0, 0, 1563 0, 0, 203, 206, 204, 200, 0, 201, 0, 0, 1565 1564 40, 149, 147, 134, 250, 0, 0, 375, 384, 552, 1566 1565 705, 707, 700, 391, 423, 427, 426, 0, 514, 2, 1567 515, 2, 516, 510, 299, 234, 0, 232, 0, 234, 1568 36, 129, 55, 0, 43, 33, 2, 49, 2, 47, 1569 30, 3, 732, 3, 3, 3, 0, 0, 689, 691, 1570 632, 646, 274, 2, 413, 3, 412, 0, 476, 134, 1571 0, 0, 134, 3, 0, 134, 3, 300, 299, 194, 1572 0, 2, 2, 215, 205, 0, 0, 0, 0, 145, 1573 579, 619, 2, 701, 703, 704, 390, 2, 0, 0, 1574 2, 235, 0, 0, 223, 0, 3, 0, 0, 0, 1575 0, 0, 0, 692, 693, 299, 0, 475, 158, 0, 1576 0, 2, 171, 134, 160, 0, 188, 0, 134, 0, 1577 300, 2, 162, 0, 2, 0, 2, 2, 2, 202, 1578 37, 299, 299, 519, 521, 512, 0, 0, 0, 0, 1579 0, 3, 3, 661, 633, 647, 683, 417, 134, 164, 1580 167, 0, 166, 170, 3, 173, 172, 0, 134, 190, 1581 134, 3, 0, 299, 0, 299, 0, 2, 0, 2, 1582 144, 3, 2, 236, 237, 0, 233, 224, 46, 0, 1583 0, 159, 0, 0, 169, 239, 174, 2, 241, 189, 1584 0, 192, 178, 207, 3, 216, 220, 209, 3, 0, 1585 299, 0, 299, 0, 0, 0, 0, 50, 48, 165, 1586 168, 134, 0, 175, 299, 134, 134, 0, 179, 0, 1587 0, 697, 217, 218, 219, 0, 208, 3, 210, 3, 1588 706, 299, 225, 238, 155, 176, 161, 134, 242, 191, 1589 186, 184, 180, 163, 134, 0, 698, 0, 0, 0, 1590 0, 156, 177, 187, 181, 185, 184, 182, 3, 3, 1591 0, 0, 498, 183, 211, 213, 3, 3, 212, 214 1566 515, 2, 516, 510, 299, 36, 129, 55, 0, 43, 1567 33, 2, 49, 2, 47, 30, 3, 732, 3, 3, 1568 3, 0, 0, 689, 691, 632, 646, 274, 2, 413, 1569 3, 412, 0, 476, 134, 0, 0, 134, 3, 0, 1570 134, 3, 300, 299, 194, 0, 2, 2, 215, 205, 1571 0, 0, 0, 0, 0, 0, 145, 579, 619, 2, 1572 701, 703, 704, 390, 2, 0, 0, 2, 3, 0, 1573 0, 0, 0, 0, 0, 692, 693, 299, 0, 475, 1574 158, 0, 0, 2, 171, 134, 160, 0, 188, 0, 1575 134, 0, 300, 2, 162, 0, 2, 0, 2, 2, 1576 2, 202, 0, 0, 228, 37, 299, 299, 519, 521, 1577 512, 0, 3, 3, 661, 633, 647, 683, 417, 134, 1578 164, 167, 0, 166, 170, 3, 173, 172, 0, 134, 1579 190, 134, 3, 0, 299, 0, 299, 0, 2, 0, 1580 2, 0, 221, 0, 0, 0, 229, 230, 144, 3, 1581 2, 46, 0, 0, 159, 0, 0, 169, 239, 174, 1582 2, 241, 189, 0, 192, 178, 207, 3, 216, 220, 1583 209, 3, 0, 299, 0, 299, 228, 0, 0, 0, 1584 228, 0, 0, 0, 50, 48, 165, 168, 134, 0, 1585 175, 299, 134, 134, 0, 179, 0, 0, 697, 217, 1586 218, 219, 0, 208, 3, 210, 3, 0, 0, 0, 1587 222, 0, 231, 706, 299, 155, 176, 161, 134, 242, 1588 191, 186, 184, 180, 163, 134, 0, 698, 0, 0, 1589 0, 234, 0, 232, 0, 234, 0, 156, 177, 187, 1590 181, 185, 184, 182, 3, 3, 0, 0, 235, 0, 1591 0, 223, 0, 498, 183, 211, 213, 3, 3, 0, 1592 0, 0, 0, 212, 214, 236, 237, 0, 233, 224, 1593 0, 0, 225, 238 1592 1594 }; 1593 1595 … … 1595 1597 static const yytype_int16 yydefgoto[] = 1596 1598 { 1597 -1, 7 83, 457, 294, 49, 131, 132, 295, 296, 297,1598 29 8, 299, 735, 736, 1091, 1092, 1093, 1221, 300, 372,1599 302, 303, 304, 305, 306, 307, 308, 309, 310, 311,1600 3 12, 313, 314, 977, 511, 926, 538, 316, 927, 1007,1601 1008, 1514, 1010, 1011, 1012, 1013, 1515, 1014, 1015, 1430,1602 14 31, 1392, 1393, 1394, 1492, 1493, 1497, 1498, 1534, 1535,1603 10 16, 1344, 1017, 1018, 1274, 1275, 1276, 1474, 1019, 143,1604 912, 913, 914, 1372, 1455, 1466, 1467, 458, 459, 843,1605 8 44, 985, 53, 54, 55, 56, 57, 339, 155, 60,1606 6 1, 62, 63, 182, 341, 65, 66, 254, 68, 69,1607 26 4, 343, 344, 72, 73, 74, 118, 76, 200, 346,1608 11 9, 79, 120, 81, 82, 672, 83, 671, 875, 876,1609 10 38, 1039, 1191, 1040, 84, 484, 482, 704, 825, 826,1610 34 9, 350, 674, 675, 676, 351, 352, 677, 354, 455,1611 10 21, 133, 134, 318, 319, 167, 631, 632, 633, 634,1612 63 5, 85, 121, 87, 479, 480, 894, 481, 269, 488,1613 3 20, 88, 135, 136, 89, 1304, 1069, 1070, 1071, 1072,1614 90, 91, 692, 92, 263, 93, 94, 183, 979, 666,1615 40 3, 125, 95, 494, 495, 496, 184, 258, 186, 187,1616 18 8, 259, 98, 99, 100, 101, 102, 103, 104, 191,1617 19 2, 193, 194, 195, 795, 593, 594, 595, 596, 196,1618 59 8, 599, 600, 562, 563, 564, 565, 1044, 105, 602,1619 603, 604, 605, 606, 607, 1045, 1046, 1047, 1048, 583,1620 35 7, 358, 359, 360, 321, 161, 107, 108, 109, 362,1621 702, 6991599 -1, 777, 454, 292, 49, 130, 131, 293, 294, 272, 1600 295, 296, 729, 730, 1073, 1074, 1075, 1199, 297, 369, 1601 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 1602 309, 310, 311, 964, 508, 913, 534, 313, 914, 995, 1603 996, 1495, 998, 999, 1000, 1001, 1496, 1002, 1003, 1401, 1604 1402, 1364, 1365, 1366, 1469, 1470, 1474, 1475, 1520, 1521, 1605 1004, 1319, 1005, 1006, 1252, 1253, 1254, 1447, 1007, 1148, 1606 1425, 1426, 1427, 1529, 1547, 1439, 1440, 455, 456, 837, 1607 838, 972, 52, 53, 54, 55, 56, 336, 153, 59, 1608 60, 61, 62, 180, 338, 64, 65, 252, 67, 68, 1609 262, 340, 341, 71, 72, 73, 117, 75, 198, 343, 1610 118, 78, 119, 80, 81, 668, 82, 667, 869, 870, 1611 1026, 1027, 1175, 1028, 83, 481, 479, 700, 819, 820, 1612 346, 347, 670, 671, 672, 348, 349, 673, 351, 452, 1613 1009, 132, 133, 315, 316, 165, 627, 628, 629, 630, 1614 631, 84, 120, 86, 476, 477, 888, 478, 267, 485, 1615 317, 87, 134, 135, 88, 1284, 1057, 1058, 1059, 1060, 1616 89, 90, 688, 91, 261, 92, 93, 181, 966, 662, 1617 400, 124, 94, 491, 492, 493, 182, 256, 184, 185, 1618 186, 257, 97, 98, 99, 100, 101, 102, 103, 189, 1619 190, 191, 192, 193, 789, 589, 590, 591, 592, 194, 1620 594, 595, 596, 558, 559, 560, 561, 1032, 104, 598, 1621 599, 600, 601, 602, 603, 1033, 1034, 1035, 1036, 579, 1622 354, 355, 356, 357, 318, 159, 106, 107, 108, 359, 1623 698, 695 1622 1624 }; 1623 1625 1624 1626 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing 1625 1627 STATE-NUM. */ 1626 #define YYPACT_NINF -1 2761628 #define YYPACT_NINF -1310 1627 1629 static const yytype_int16 yypact[] = 1628 1630 { 1629 7275, 9192, -1276, 31, -1276, -1276, -1276, -1276, -1276, -1276, 1630 -1276, 12, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 1631 -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 99, -1276, 1632 -1276, 1603, 681, 89, 7517, 210, -1276, -1276, -1276, -1276, 1633 -1276, 116, -1276, -1276, -1276, 429, 144, -1276, -1276, -1276, 1634 -1276, 4252, -1276, -1276, -1276, -1276, 32, 152, -1276, 1816, 1635 -1276, -1276, -1276, -1276, 1962, 287, 93, 5921, -1276, -1276, 1636 4252, 1910, -1276, -1276, 1592, 306, 3283, 540, 736, 1592, 1637 1249, -1276, -1276, 99, -1276, 1592, 1618, -1276, 235, -1276, 1638 384, 511, -1276, -1276, -1276, -1276, 414, 152, 99, -1276, 1639 99, -1276, -1276, -1276, -1276, 8217, 1816, -1276, -1276, 1816, 1640 -1276, 362, -1276, 9392, -1276, -1276, 2239, 9432, -1276, 1003, 1641 1003, 1003, -1276, -1276, 1463, 99, -1276, 471, 504, 530, 1642 -1276, -1276, -1276, 542, -1276, -1276, -1276, -1276, -1276, 556, 1643 565, -1276, -1276, 28, 8758, 2572, 309, 566, 591, 602, 1644 611, 630, 646, 9465, 6899, 621, -1276, 9152, -1276, -1276, 1645 -1276, -1276, 649, -1276, 146, 5718, 5718, -1276, 655, 206, 1646 -1276, -1276, -1276, -1276, 679, 277, 321, 326, -1276, -1276, 1647 1962, 2534, 677, 743, -1276, 23, -1276, 99, 99, 152, 1648 -1276, -1276, 55, -1276, 99, 99, -1276, 3049, 700, 703, 1649 1003, 6685, -1276, -1276, -1276, 4252, -1276, -1276, 1592, -1276, 1650 -1276, -1276, 152, -1276, 1816, 32, -1276, 7868, -1276, 1003, 1651 1003, 1003, 152, -1276, 1603, -1276, 3585, -1276, -1276, 684, 1652 1003, -1276, 1003, -1276, 652, 1003, -1276, 1603, 709, 712, 1653 -1276, 7517, 615, -1276, -1276, -1276, 9119, -1276, -1276, 8674, 1654 -1276, 743, 35, 3690, 9432, 2239, 3049, -1276, 59, -1276, 1655 -1276, 9392, 1816, 718, 10847, 681, 733, -1276, -1276, 582, 1656 -1276, 359, 716, 770, 10233, 748, 3690, 10292, -1276, 750, 1657 -1276, -1276, -1276, -1276, -1276, -1276, 10351, 10351, 8522, 144, 1658 -1276, -1276, -1276, -1276, -1276, -1276, -1276, 786, -1276, 1681, 1659 2360, 8758, 3690, -1276, 222, 671, 732, 427, 759, 755, 1660 741, 747, 784, 38, -1276, -1276, -1276, 667, -1276, -1276, 1661 145, -1276, -1276, 2572, -1276, -1276, 415, 774, -1276, 509, 1662 774, -1276, -1276, 8217, -1276, 779, 788, 8876, -1276, -1276, 1663 810, 1492, 8303, 6685, 1592, -1276, 1592, 1003, 1003, -1276, 1664 -1276, -1276, -1276, -1276, -1276, 1003, 8217, 1816, -1276, -1276, 1665 9465, 1201, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 1666 -1276, 4829, 3690, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 1667 -1276, -1276, -1276, -1276, -1276, -1276, -1276, 787, 794, 804, 1668 807, 858, 830, 835, 845, 2534, -1276, -1276, 99, 827, 1669 811, 32, 872, -1276, -1276, 876, -1276, -1276, -1276, 9119, 1670 -1276, -1276, -1276, -1276, -1276, 3049, -1276, 8758, 8758, -1276, 1671 1003, 2239, 6809, 8378, -1276, -1276, -1276, -1276, 9119, 35, 1672 -1276, -1276, 1592, 152, -1276, -1276, 9119, -1276, 4366, -1276, 1673 -1276, 1003, 1003, 116, 8758, -1276, 877, -1276, 1003, -1276, 1674 -1276, -1276, -1276, 9703, -1276, 336, 10587, -1276, 152, 879, 1675 -1276, 2239, 10627, 10410, -1276, -1276, -1276, -1276, 862, 3049, 1676 -1276, 8378, 743, 7396, -1276, -1276, -1276, -1276, 620, 381, 1677 869, 681, 890, 882, 911, 10847, 1023, 9392, -1276, 10847, 1678 -1276, -1276, -1276, -1276, 405, -1276, 917, 770, 259, 8522, 1679 -1276, 9550, -1276, -1276, 8522, -1276, 8640, 8522, -1276, -1276, 1680 144, -1276, 435, 919, 921, -1276, 6651, -1276, -1276, 329, 1681 -1276, -1276, 3690, -1276, 450, 3690, -1276, -1276, -1276, -1276, 1682 -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 3690, -1276, 1683 -1276, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 1684 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3690, 3309, 1685 667, 1689, -1276, -1276, 99, 99, -1276, -1276, 8758, -1276, 1686 -1276, 876, -1276, -1276, 876, 10469, -1276, -1276, 9465, 6651, 1687 923, -1276, 9432, -1276, -1276, 649, -1276, 927, 1763, 929, 1688 2234, 63, 869, -1276, 99, 99, 869, 76, -1276, 99, 1689 99, 876, -1276, -1276, 99, 99, -1276, 774, 9583, 1816, 1690 10778, 446, 465, 9583, -1276, 8674, -1276, 869, -1276, 8217, 1691 -1276, 294, 7988, 7988, 1816, 10174, 903, -1276, 1168, 913, 1692 916, -1276, 932, 5718, 550, -1276, 1024, 1816, 7988, 615, 1693 2239, 615, 79, 774, -1276, -1276, 80, 774, -1276, -1276, 1694 -1276, 2239, -1276, 770, -1276, 774, 152, 9703, -1276, 498, 1695 942, 515, 944, -1276, 779, 152, -1276, -1276, 9119, 152, 1696 563, 5344, 941, 10778, -1276, -1276, 948, -1276, -1276, -1276, 1697 615, -1276, 10703, 788, -1276, 7988, 693, 8303, -1276, -1276, 1698 649, 945, 949, 620, 2900, -1276, -1276, 10847, 3690, -1276, 1699 -1276, 681, 964, 3690, -1276, 681, 943, -1276, -1276, 971, 1700 -1276, 943, 976, 359, 3690, 957, 956, 62, 980, 144, 1701 975, 982, 988, -1276, 992, 994, 6651, -1276, 3690, -1276, 1702 6072, 3690, 993, -1276, -1276, 595, -1276, 3690, -1276, -1276, 1703 773, -1276, -1276, -1276, -1276, 222, 222, 671, 671, 732, 1704 732, 732, 732, 427, 427, 759, 755, 741, 747, 784, 1705 3690, 195, 9703, 1002, 1005, 1010, 1689, -1276, -1276, -1276, 1706 -1276, -1276, 9703, 9703, -1276, 8217, -1276, 7023, 8994, -1276, 1707 -1276, -1276, 1763, 9703, 887, 1011, 1012, 1015, 1017, 1018, 1708 1021, 1029, -1276, 4594, 2234, -1276, -1276, -1276, -1276, -1276, 1709 -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 1710 -1276, -1276, 876, -1276, -1276, -1276, 869, -1276, -1276, -1276, 1711 -1276, -1276, -1276, -1276, -1276, -1276, -1276, 1031, 1034, -1276, 1712 32, 993, 10174, -1276, -1276, -1276, 4829, 996, -1276, -1276, 1713 -1276, -1276, 681, 6383, 1087, -1276, -1276, -1276, -1276, 1014, 1714 -1276, -1276, -1276, 876, -1276, -1276, -1276, 876, 743, 1037, 1715 876, -1276, -1276, -1276, -1276, -1276, -1276, 6899, -1276, 152, 1716 -1276, 1020, 9550, -1276, 1883, -1276, 395, 681, -1276, 1038, 1717 1036, -1276, -1276, 1042, 1045, -1276, 693, 1694, -1276, 494, 1718 -1276, 2900, 869, -1276, -1276, 882, -1276, -1276, -1276, 890, 1719 1048, 10847, 9392, 8758, 1049, -1276, -1276, 599, 1032, -1276, 1720 3690, 1052, 284, 1050, -1276, 1056, 6899, 615, 1056, -1276, 1721 -1276, 1056, -1276, 4829, -1276, -1276, -1276, 1055, 3690, 1312, 1722 -1276, 3690, -1276, 1312, -1276, -1276, 3690, -1276, 265, 774, 1723 -1276, -1276, -1276, -1276, -1276, -1276, -1276, 788, 8876, -1276, 1724 -1276, 7147, 1054, -1276, 273, 774, -1276, 289, 296, 774, 1725 -1276, 1003, 6008, -1276, -1276, -1276, 9703, 9703, -1276, 8378, 1726 8378, 1062, 1058, 1059, 1069, -1276, 528, 60, 993, -1276, 1727 1312, -1276, 5718, -1276, 3690, 459, -1276, 6520, 1071, 1075, 1728 10115, 1076, 1078, 495, 516, 1001, 3690, 1081, 152, 3690, 1729 3690, 1064, 1066, 116, 161, 546, 1072, 1083, 1060, -1276, 1730 -1276, -1276, 1086, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 1731 -1276, 1074, -1276, 681, 1096, 3690, 9703, 9703, 32, 99, 1732 1099, -1276, -1276, 1883, 479, 1980, 3690, 2331, 485, -1276, 1733 -1276, 1082, 14, 1082, -1276, -1276, -1276, 99, 99, 681, 1734 -1276, -1276, 9277, -1276, -1276, -1276, -1276, 1101, 1694, -1276, 1735 -1276, 1091, -1276, 1100, -1276, 943, -1276, -1276, 2239, 1107, 1736 -1276, -1276, -1276, 616, 1115, -1276, 62, 1102, 3690, 1103, 1737 62, 62, 1123, 932, 3690, 1124, 1055, -1276, 1148, -1276, 1738 -1276, 1121, -1276, 215, -1276, 1127, 1121, -1276, 1134, -1276, 1739 -1276, -1276, 876, 1135, 1136, 6775, 1150, 1154, 1155, -1276, 1740 99, 1138, -1276, -1276, -1276, 876, -1276, -1276, -1276, -1276, 1741 -1276, -1276, 876, 3690, 3690, 788, 1156, -1276, -1276, -1276, 1742 -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 3690, 3690, 1743 1164, 1169, 1121, -1276, -1276, 681, -1276, -1276, -1276, 3690, 1744 3690, 1238, 3690, -1276, -1276, 1157, -1276, 1159, 3690, 1161, 1745 1162, 3690, 946, 1166, 25, 2027, -1276, -1276, 6383, 1184, 1746 99, 527, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 9317, 1747 534, -1276, 796, 1190, 1192, 1196, -1276, 2331, -1276, 99, 1748 -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276, 9931, -1276, 1749 8378, -1276, 1202, -1276, -1276, 9392, 537, 538, -1276, 1209, 1750 1186, 770, 1207, -1276, 320, -1276, -1276, 1210, -1276, -1276, 1751 1216, 1257, -1276, -1276, 1257, 1257, 1312, 1218, 2023, 2049, 1752 -1276, 1227, -1276, 9703, -1276, -1276, -1276, -1276, -1276, 1228, 1753 -1276, 9703, 9703, 9703, -1276, -1276, 1229, -1276, 1230, 1233, 1754 1234, 575, 8063, 8183, -1276, -1276, -1276, -1276, 1236, -1276, 1755 647, 658, 1240, 665, 6215, -1276, -1276, 561, -1276, -1276, 1756 670, 1241, 1246, 152, 1300, 854, -1276, -1276, 3690, -1276, 1757 3690, -1276, -1276, 10115, -1276, 1255, 1256, -1276, -1276, 312, 1758 774, -1276, -1276, 1883, -1276, -1276, -1276, 1245, -1276, -1276, 1759 -1276, -1276, -1276, -1276, 9392, 770, 1261, -1276, 1239, 770, 1760 -1276, -1276, -1276, 1312, -1276, -1276, -1276, -1276, -1276, -1276, 1761 -1276, -1276, -1276, -1276, -1276, -1276, 1262, 1267, -1276, -1276, 1762 -1276, -1276, -1276, -1276, -1276, 1270, -1276, 1273, -1276, 10115, 1763 240, 3690, 10115, -1276, 1276, 3690, -1276, 7793, 9392, -1276, 1764 271, 1291, 1294, -1276, -1276, 1282, 1288, 1272, 818, -1276, 1765 -1276, -1276, -1276, -1276, -1276, 876, -1276, -1276, 1816, 2239, 1766 1287, -1276, 339, 3690, -1276, 690, 1121, 1312, 1312, 1289, 1767 1296, 1299, 1304, -1276, -1276, 8378, 1303, -1276, 1370, 3690, 1768 1286, -1276, -1276, 10025, -1276, 707, -1276, 1293, 10115, 1298, 1769 8453, -1276, -1276, 1310, -1276, 1311, -1276, 1330, 1335, -1276, 1770 1302, 9703, 9392, -1276, -1276, -1276, 770, 615, 1322, 1305, 1771 1323, 1121, 1121, -1276, -1276, -1276, -1276, -1276, 10115, 147, 1772 -1276, 420, -1276, -1276, 7638, -1276, -1276, 1313, 3690, -1276, 1773 3690, 7638, 152, 9550, 152, 9550, 1326, -1276, 1332, -1276, 1774 -1276, -1276, 1328, -1276, -1276, 714, -1276, -1276, -1276, 1337, 1775 1342, -1276, 3690, 3690, -1276, -1276, 883, 84, -1276, -1276, 1776 1324, -1276, 883, -1276, -1276, 2177, 615, -1276, -1276, 152, 1777 9550, 152, 9550, 1334, 1349, 1336, 615, -1276, -1276, -1276, 1778 -1276, 10025, 1345, 883, 7717, 3690, 9935, 1351, 883, 1357, 1779 2177, 2664, -1276, -1276, -1276, 1359, -1276, -1276, -1276, -1276, 1780 -1276, 8758, -1276, -1276, -1276, 9797, -1276, 10025, -1276, -1276, 1781 1346, 9707, -1276, -1276, 9935, 152, 2664, 152, 1369, 1372, 1782 730, -1276, 9797, -1276, -1276, -1276, 9707, -1276, -1276, -1276, 1783 152, 152, -1276, -1276, -1276, -1276, -1276, -1276, -1276, -1276 1631 7432, 9239, -1310, -42, -1310, -1310, -1310, -1310, -1310, -1310, 1632 -1310, 44, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1633 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 149, -1310, 1634 -1310, 1382, 763, 211, 7674, 214, -1310, -1310, -1310, -1310, 1635 -1310, 245, -1310, -1310, -1310, 606, 257, -1310, -1310, -1310, 1636 -1310, 4978, -1310, -1310, -1310, 40, 278, -1310, 1536, -1310, 1637 -1310, -1310, -1310, 1664, 381, 37, 7795, -1310, -1310, 4978, 1638 814, -1310, -1310, 1171, 401, 6966, 718, 988, 1171, 1209, 1639 -1310, -1310, 149, -1310, 1171, 1411, -1310, 294, -1310, 441, 1640 471, -1310, -1310, -1310, -1310, 367, 278, 149, -1310, 149, 1641 -1310, -1310, -1310, -1310, 7829, 1536, -1310, -1310, 1536, -1310, 1642 353, -1310, 7949, -1310, -1310, 2111, 8264, -1310, 865, 865, 1643 865, -1310, -1310, 898, 149, -1310, 370, 384, 387, -1310, 1644 -1310, -1310, 392, -1310, -1310, -1310, -1310, -1310, 410, 415, 1645 -1310, 475, 8805, 1075, 585, 424, 449, 461, 472, 501, 1646 537, 9479, 7056, 453, -1310, 9199, -1310, -1310, -1310, -1310, 1647 526, -1310, 268, 5151, 5151, -1310, 549, 298, -1310, -1310, 1648 -1310, -1310, 560, 437, 445, 452, -1310, -1310, 1664, 2742, 1649 571, 644, -1310, 248, -1310, 149, 149, 278, -1310, -1310, 1650 269, -1310, 149, 149, -1310, 3298, 636, 641, 865, 6718, 1651 -1310, -1310, -1310, 4978, -1310, -1310, 1171, -1310, -1310, -1310, 1652 278, -1310, 1536, 40, -1310, 7915, -1310, 865, 865, 865, 1653 278, -1310, 1382, -1310, 5120, -1310, -1310, 649, 865, -1310, 1654 865, -1310, 820, 865, -1310, 1382, 657, 665, -1310, 7674, 1655 627, -1310, -1310, -1310, 9166, -1310, -1310, 8721, -1310, 644, 1656 267, 10207, 8264, 2111, 3298, -1310, 309, -1310, -1310, 7949, 1657 1536, 645, 10880, 763, 654, -1310, -1310, 318, -1310, 333, 1658 -1310, 692, 733, 10266, 719, 10207, 10325, -1310, 758, -1310, 1659 -1310, -1310, -1310, -1310, 10384, 10384, 8569, 257, -1310, -1310, 1660 -1310, -1310, -1310, -1310, -1310, -1310, 2184, 1919, 8805, 10207, 1661 -1310, 632, 617, 734, 418, 922, 757, 751, 754, 792, 1662 176, -1310, -1310, -1310, 681, -1310, -1310, 140, -1310, -1310, 1663 1075, -1310, -1310, 136, 780, -1310, 778, 780, -1310, -1310, 1664 7829, -1310, 788, 795, 8923, -1310, -1310, 1034, 1178, 8350, 1665 6718, 1171, -1310, 1171, 865, 865, -1310, -1310, -1310, -1310, 1666 -1310, -1310, 865, 7829, 1536, -1310, -1310, 9479, 1304, -1310, 1667 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 4692, 10207, 1668 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1669 -1310, -1310, -1310, -1310, 618, 810, 815, 817, 939, 833, 1670 838, 842, 2742, -1310, -1310, 149, 823, 858, 40, 866, 1671 -1310, -1310, 877, -1310, -1310, -1310, 9166, -1310, -1310, -1310, 1672 -1310, -1310, 3298, -1310, 8805, 8805, -1310, 865, 2111, 6842, 1673 8425, -1310, -1310, -1310, -1310, 9166, 267, -1310, -1310, 1171, 1674 278, -1310, -1310, 9166, -1310, 5284, -1310, -1310, 865, 865, 1675 245, 8805, -1310, 893, -1310, 865, -1310, -1310, -1310, -1310, 1676 9637, -1310, 315, 10620, -1310, 278, 905, -1310, 2111, 10660, 1677 10443, -1310, -1310, -1310, -1310, 951, 3298, -1310, 8425, 644, 1678 7553, -1310, -1310, -1310, -1310, 712, 404, 878, 763, 908, 1679 899, 912, 10880, 840, 7949, -1310, 10880, -1310, -1310, -1310, 1680 -1310, 431, -1310, 924, 920, -1310, 8569, -1310, 9512, -1310, 1681 -1310, 8569, -1310, 8687, 8569, -1310, -1310, 257, -1310, 476, 1682 928, 934, -1310, 6808, -1310, 506, -1310, -1310, 10207, -1310, 1683 825, 10207, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1684 -1310, -1310, -1310, -1310, 10207, -1310, -1310, 10207, 10207, 10207, 1685 10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207, 10207, 1686 10207, 10207, 10207, 10207, 10207, 3915, 681, 1833, -1310, -1310, 1687 149, 149, -1310, -1310, 8805, -1310, -1310, 877, -1310, -1310, 1688 877, 10502, -1310, -1310, 9479, 6808, 964, -1310, 8264, -1310, 1689 -1310, 526, -1310, 967, 629, 986, 2026, 331, 878, -1310, 1690 149, 149, 878, 374, -1310, 149, 149, 877, -1310, -1310, 1691 149, 149, -1310, 780, 9597, 1536, 10811, 359, 543, 9597, 1692 -1310, 8721, -1310, 878, -1310, 7829, -1310, 84, 8035, 8035, 1693 1536, 5625, 990, -1310, 1501, 991, 995, -1310, 1011, 5151, 1694 412, -1310, 1102, 1536, 8035, 627, 2111, 627, 407, 780, 1695 -1310, -1310, 419, 780, -1310, -1310, -1310, 2111, -1310, 475, 1696 -1310, 780, 278, 9637, -1310, 517, 1020, 546, 1021, -1310, 1697 788, 278, -1310, -1310, 9166, 278, 557, 9324, 1019, 10811, 1698 -1310, -1310, 1025, -1310, -1310, -1310, 627, -1310, 10736, 795, 1699 -1310, 8035, 848, 8350, -1310, -1310, 526, 1022, 1023, 712, 1700 1691, -1310, -1310, 10880, 10207, -1310, -1310, 763, 1024, 10207, 1701 -1310, 763, 1026, -1310, -1310, 1035, -1310, 1026, 1040, 333, 1702 10207, -1310, 1046, 257, 1044, 1051, 1052, -1310, 1053, 1054, 1703 6808, -1310, 10207, -1310, 10148, 10207, 1063, -1310, -1310, 615, 1704 -1310, 10207, -1310, -1310, 906, -1310, -1310, -1310, -1310, 632, 1705 632, 617, 617, 734, 734, 734, 734, 418, 418, 922, 1706 757, 751, 754, 792, 10207, 231, 9637, 1058, 1059, 1070, 1707 1833, -1310, -1310, -1310, -1310, -1310, 9637, 9637, -1310, 7829, 1708 -1310, 7180, 9041, -1310, -1310, -1310, 629, 9637, 960, 1073, 1709 1076, 1078, 1079, 1080, 1081, 1084, -1310, 2169, 2026, -1310, 1710 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1711 -1310, -1310, -1310, -1310, -1310, -1310, 877, -1310, -1310, -1310, 1712 878, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1713 -1310, 1086, 1087, -1310, 40, 1063, 5625, -1310, -1310, -1310, 1714 4692, 1066, -1310, -1310, -1310, -1310, 763, 6230, 1159, -1310, 1715 -1310, -1310, -1310, 1069, -1310, -1310, -1310, 877, -1310, -1310, 1716 -1310, 877, 644, 1093, 877, -1310, -1310, -1310, -1310, -1310, 1717 -1310, 7056, -1310, 278, -1310, 1091, 9512, -1310, 1575, -1310, 1718 494, 763, -1310, 1101, 1103, -1310, -1310, 1110, 1113, -1310, 1719 848, 1897, -1310, 593, -1310, 1691, 878, -1310, -1310, 899, 1720 -1310, -1310, -1310, 908, 1116, 10880, 7949, 8805, 1118, -1310, 1721 -1310, 647, 1115, 7056, 627, 1115, -1310, -1310, 1115, -1310, 1722 4692, -1310, -1310, -1310, 1114, 10207, 1183, -1310, 10207, -1310, 1723 1183, -1310, -1310, 10207, -1310, 455, 780, -1310, -1310, -1310, 1724 -1310, -1310, -1310, -1310, 795, 8923, -1310, -1310, 7304, 1121, 1725 -1310, 463, 780, -1310, 474, 490, 780, -1310, 865, 3741, 1726 -1310, -1310, -1310, 9637, 9637, -1310, 8425, 8425, 1123, 1119, 1727 1125, 1124, -1310, 668, 173, 1063, -1310, 1183, -1310, 5151, 1728 -1310, 10207, 508, -1310, 6684, 1128, 1134, 10089, 1135, 1138, 1729 736, 994, 973, 10207, 1140, 278, 10207, 10207, 1248, 1139, 1730 1142, 245, 114, 849, 1145, 1154, 1149, -1310, -1310, -1310, 1731 1162, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1155, 1732 -1310, 763, 1174, 10207, 9637, 9637, 40, 149, 1176, -1310, 1733 -1310, 1575, 513, 1885, 10207, 2419, 522, -1310, -1310, 1163, 1734 70, 1163, -1310, -1310, -1310, 149, 149, 763, -1310, -1310, 1735 9364, -1310, -1310, -1310, -1310, 1184, 1897, -1310, -1310, 1127, 1736 -1310, 1187, -1310, 1026, -1310, -1310, 2111, 1189, -1310, -1310, 1737 -1310, 659, 1197, -1310, 1188, 1011, 10207, 1205, 1114, -1310, 1738 525, -1310, -1310, 1204, -1310, 50, -1310, 1212, 1204, -1310, 1739 1219, -1310, -1310, -1310, 877, 1220, 1222, 6932, 1221, 1223, 1740 1224, -1310, 149, 1232, -1310, -1310, -1310, 877, -1310, -1310, 1741 -1310, -1310, -1310, -1310, 877, 10207, 10207, 795, 1234, -1310, 1742 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1743 10207, 10207, 1237, 1238, 1204, -1310, -1310, 763, -1310, -1310, 1744 -1310, 10207, 10207, 1308, 10207, -1310, -1310, 1225, -1310, 1226, 1745 10207, 1230, 1235, 10207, 1038, 1240, 232, -1310, 20, 2239, 1746 -1310, -1310, 6230, 1241, 149, 528, -1310, -1310, -1310, -1310, 1747 -1310, -1310, -1310, 9439, 534, -1310, 925, 1249, 1256, 1260, 1748 -1310, 2419, -1310, 149, -1310, -1310, -1310, -1310, -1310, -1310, 1749 -1310, -1310, 9905, -1310, 8425, -1310, 1270, -1310, -1310, 7949, 1750 561, 570, -1310, 1266, -1310, 1267, -1310, -1310, 1271, 1303, 1751 -1310, -1310, 1303, 1303, 1183, 1274, 690, 1071, -1310, 1277, 1752 -1310, 9637, -1310, -1310, -1310, -1310, -1310, 1280, -1310, 9637, 1753 9637, 9637, -1310, -1310, 1281, -1310, 1283, 1286, 1289, 691, 1754 8110, 8230, -1310, -1310, -1310, -1310, 1288, -1310, 746, 769, 1755 1292, 828, 6537, -1310, -1310, 575, -1310, -1310, 829, 1294, 1756 1295, 278, 1347, 985, -1310, -1310, 10207, -1310, 1297, 475, 1757 10207, -1310, -1310, 10089, -1310, 1301, 1302, -1310, -1310, 495, 1758 780, -1310, -1310, 1575, -1310, -1310, -1310, 1293, -1310, -1310, 1759 -1310, -1310, -1310, -1310, 7949, -1310, -1310, -1310, 1183, -1310, 1760 -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1761 -1310, 1310, 1312, -1310, -1310, -1310, -1310, -1310, -1310, -1310, 1762 1321, -1310, 1320, -1310, 10089, 73, 10207, 10089, -1310, 1326, 1763 10207, -1310, 6452, 7949, -1310, 348, 1318, 1341, -1310, -1310, 1764 1329, 1330, 1309, 475, 220, 958, -1310, -1310, -1310, -1310, 1765 -1310, -1310, 877, -1310, -1310, 1536, 2111, 1331, 1204, 1183, 1766 1183, 1335, 1340, 1348, 1349, -1310, -1310, 8425, 1344, -1310, 1767 1417, 10207, 1334, -1310, -1310, 9999, -1310, 864, -1310, 1337, 1768 10089, 1338, 8500, -1310, -1310, 1351, -1310, 1357, -1310, 1383, 1769 1386, -1310, 1353, 1346, 66, 1354, 9637, 7949, -1310, -1310, 1770 -1310, 1376, 1204, 1204, -1310, -1310, -1310, -1310, -1310, 10089, 1771 240, -1310, 305, -1310, -1310, 6145, -1310, -1310, 1362, 10207, 1772 -1310, 10207, 6145, 278, 9512, 278, 9512, 1385, -1310, 1388, 1773 -1310, 1369, -1310, 10207, 1392, 265, 1387, -1310, -1310, -1310, 1774 1390, -1310, 1395, 1397, -1310, 10207, 10207, -1310, -1310, 1043, 1775 89, -1310, -1310, 1379, -1310, 1043, -1310, -1310, 1975, 627, 1776 -1310, -1310, 278, 9512, 278, 9512, 66, 1400, 10207, 1384, 1777 66, 66, 1408, 1412, -1310, -1310, -1310, -1310, 9999, 1410, 1778 1043, 6373, 10207, 9909, 1415, 1043, 1413, 1975, 2924, -1310, 1779 -1310, -1310, 1424, -1310, -1310, -1310, -1310, 1406, 475, 1427, 1780 -1310, 292, -1310, -1310, 8805, -1310, 9771, -1310, 9999, -1310, 1781 -1310, 1409, 9681, -1310, -1310, 9909, 278, 2924, 278, 1430, 1782 1434, 475, 1436, -1310, 1418, 475, 875, -1310, 9771, -1310, 1783 -1310, -1310, 9681, -1310, -1310, -1310, 278, 278, -1310, 313, 1784 10207, -1310, 894, -1310, -1310, -1310, -1310, -1310, -1310, 475, 1785 627, 1439, 1422, -1310, -1310, -1310, -1310, 895, -1310, -1310, 1786 1423, 627, -1310, -1310 1784 1787 }; 1785 1788 … … 1787 1790 static const yytype_int16 yypgoto[] = 1788 1791 { 1789 -1 276, 4372, 2980, -1276, 2546, -1276, 133, 0, 353, -1276,1790 -1 276, 484, -503, -488, -816, -925, -1276, -155, 5343, 687,1791 -1 276, -8, 438, 439, 406, 473, 936, 937, 938, 940,1792 935, -1276, 16, -629, 5085, -872, -1276, -1276, 571, 711,1793 - 953, 442, -1276, 143, -1276, 337, -1218, -1276, -1276, 43,1794 -1 276, -1095, -891, 157, -1276, -1276, -1276, -1276, -28, -1182,1795 -1 276, -1276, -1276, -1276, -1276, -1276, 239, -1036, 39, -1276,1796 - 292, -1276, 428, 203, -1276, 73, -1276, -329, -1276, -1276,1797 -1 276, 497, -831, -1276, -1276, 8, -1177, 119, 2152, -1276,1798 -1 276, -1276, -200, -1276, 218, 464, -197, 1593, 4090, -1276,1799 -1 276, 54, 10, 81, 870, -1276, 1757, -1276, -1276, 4,1800 2 080, -1276, 2209, 245, -1276, -1276, -1276, -810, -1276, 651,1801 492, 236, 490, -591, -1276, -1276, 829, 640, -247, -1276,1802 -4 87, -338, 961, -1276, -1276, -885, -918, -131, -60, -1276,1803 462, -1276, 1284, -121, -305, -157, -103, 614, 708, -1276,1804 9 05, -1276, 2602, 1460, -448, 848, -1276, -1276, 661, -1276,1805 -43 7, -1276, 217, -1276, -1276, -1276, -1269, 341, -1276, -1276,1806 -1 276, 1085, -1276, 6, -1276, -1276, -796, -87, -1275, -158,1807 2622, -1276, 4369, -1276, 843, -1276, 21, 165, -174, -172,1808 -169, 2, - 40, -32, -30, 1684, 26, 53, 66, 110,1809 -166, -1 63, -160, -159, -293, -485, -480, -434, -541, -314,1810 -5 13, -1276, -1276, -535, 1006, 1008, 1016, 1639, 4667, -574,1811 -5 33, -528, -509, -421, -1276, -961, -1011, -1007, -1005, -575,1812 -2 87, -299, -1276, -1276, 298, 238, -63, -1276, 3674, 814,1813 - 613, -4921792 -1310, 4698, 1798, -1310, 3042, -1310, 7, 0, -108, -1310, 1793 -1310, 559, -491, -456, -838, -937, -1310, 22, 5065, 1181, 1794 -1310, -255, 556, 577, 300, 580, 1012, 1013, 1015, 1010, 1795 1027, -1310, -677, -688, 4947, -862, -1310, -1310, 660, -98, 1796 -855, -381, -1310, 79, -1310, 417, -852, -1310, -1310, 138, 1797 -1310, -1059, -867, 261, -1310, -1310, -1310, -1310, 60, -1309, 1798 -1310, -1310, -1310, -1310, -1310, -1310, 336, -1067, -1310, -1310, 1799 -597, -1310, 130, 77, -1310, 182, -1310, -236, -1310, -1310, 1800 -1310, 586, -813, -1310, -1310, 3, -1167, 287, 687, -1310, 1801 -1310, -1310, -226, -1310, 85, 1227, -181, 2547, 4408, -1310, 1802 -1310, 131, 160, 578, 1502, -1310, 2174, -1310, -1310, 132, 1803 2939, -1310, 3219, 1653, -1310, -1310, -1310, -810, -1310, 732, 1804 579, 334, 573, -128, -1310, -1310, 907, 723, -354, -1310, 1805 -465, -217, -593, -1310, -1310, -840, -898, 1306, -216, -1310, 1806 -35, -1310, 192, -156, -273, -185, -137, 706, 789, -1310, 1807 996, -1310, 3499, 1557, -387, 935, -1310, -1310, 741, -1310, 1808 -434, -1310, 57, -1310, -1310, -1310, -1220, 432, -1310, -1310, 1809 -1310, 1164, -1310, 18, -1310, -1310, -789, -105, -1264, -143, 1810 3350, -1310, 2123, -1310, 923, -1310, -165, 93, -175, -173, 1811 -169, 2, -39, -32, -30, 889, 53, 55, 64, -163, 1812 -166, -159, -157, -149, -292, -483, -481, -471, -529, -301, 1813 -508, -1310, -1310, -496, 1077, 1082, 1089, 1437, 5179, -551, 1814 -503, -501, -498, -400, -1310, -971, -998, -984, -983, -563, 1815 -278, -265, -1310, -1310, -1, 243, -49, -1310, 3994, 59, 1816 -579, -466 1814 1817 }; 1815 1818 … … 1820 1823 static const yytype_int16 yytable[] = 1821 1824 { 1822 50, 112, 97, 419, 77, 147, 388, 670, 389, 114, 1823 71, 390, 1020, 148, 391, 149, 797, 392, 722, 837, 1824 393, 394, 740, 353, 1183, 401, 767, 597, 1184, 257, 1825 1185, 112, 112, 814, 50, 1370, 97, 706, 77, 52, 1826 141, 711, 250, 1160, 71, 50, 460, 1022, 592, 796, 1827 584, 50, 1133, 158, 70, 789, 33, 616, 430, 50, 1828 790, 620, 374, 375, 50, 33, 189, 50, 1052, 212, 1829 50, 150, 222, 52, 898, 788, 1188, 208, 215, 791, 1830 656, 388, 272, 389, 1131, 1132, 390, 1346, 70, 391, 1831 334, 1278, 392, 464, 466, 393, 394, 33, 151, 665, 1832 801, 33, 400, 785, 804, 33, 50, 669, 786, 50, 1833 416, 152, 660, 662, 1432, 122, 50, 1096, 33, 58, 1834 115, 33, 33, 198, 112, 821, 123, 1163, 1164, 824, 1835 402, -240, -240, 688, 111, 827, 827, 242, 558, 402, 1836 147, 33, 273, 1452, 165, 50, 282, 158, 148, 465, 1837 149, 827, 225, 58, 787, 226, 1147, 50, 230, 364, 1838 232, 1138, 1279, 1223, 1142, 96, 235, 514, 166, 410, 1839 800, 402, 559, 470, 199, 402, 807, 798, 910, 589, 1840 50, 50, 710, 158, 689, 695, 206, 1139, 1432, 216, 1841 805, 1148, 589, 850, 854, 402, 402, 50, 827, 96, 1842 170, 724, 396, 140, -240, 50, 150, 158, 785, 460, 1843 146, 907, 1218, 786, 50, 147, 96, 50, 64, 433, 1844 965, 142, 1179, 148, 112, 149, 1292, 432, 460, 185, 1845 144, 941, 96, 151, 112, 96, 460, 112, 106, 106, 1846 243, 50, 112, 97, 654, 77, 152, 452, 1462, 789, 1847 77, 71, 64, 964, 790, 50, 50, 1346, 158, 787, 1848 567, 153, 50, 771, 1346, 112, 568, 368, 503, 952, 1849 577, 168, 106, 791, 1139, 506, 597, 396, 1521, 776, 1850 52, 1077, 1133, 369, 828, 828, 1063, 1389, 1390, 225, 1851 197, 397, 353, 539, 540, 70, -10, 785, 1436, 1532, 1852 828, 1314, 786, 1317, 1319, 1228, 1536, 33, 106, -295, 1853 96, 1343, 210, 797, 1522, 33, 728, 1346, 1389, 1390, 1854 823, 584, 96, 50, 968, 364, 584, 378, 658, 539, 1855 936, 33, 408, 1229, 663, 1133, 431, 1020, 33, 869, 1856 50, 50, 1537, 379, 541, 387, 185, 828, 787, 160, 1857 542, 543, 208, 789, 33, 427, 237, 50, 790, 1391, 1858 58, 50, 210, 800, 539, 435, 397, 1131, 1132, 490, 1859 96, 629, 1022, 814, 716, 454, 829, 791, 718, 1099, 1860 720, 402, 96, 721, 240, 353, 725, 1112, 688, 402, 1861 1401, 846, 1399, 678, 717, 50, 1436, 364, 381, 1079, 1862 1060, 1436, 210, 1116, 110, 589, 96, 1186, 465, 1478, 1863 1119, 160, 589, 77, 382, 50, 649, 43, 44, 1080, 1864 468, 50, 1436, 242, 324, 225, 1362, 230, 402, 1436, 1865 698, 513, 77, 1345, 491, 1308, 492, 493, 885, 689, 1866 77, 437, 383, 1094, 1507, 733, 1509, 385, 353, 1212, 1867 1192, 679, 1192, 1065, 449, 1309, 112, 680, 384, 64, 1868 1416, 50, 210, 386, 461, 116, 1073, 1133, 460, 50, 1869 1217, 364, 208, 50, 1417, 97, 945, 77, 50, 106, 1870 597, 112, 882, 71, 965, 1470, 112, 1471, 96, 1183, 1871 649, 353, 353, 1184, 210, 1185, 696, 1376, 253, 210, 1872 1427, 963, 697, 425, 39, 650, 591, 353, 42, 1254, 1873 1255, -523, 52, 225, 1503, 156, 1049, 43, 44, 112, 1874 712, 174, 548, 549, 112, 110, 713, 70, 242, 569, 1875 838, 402, 1050, 742, 743, 744, 1118, 1121, 43, 44, 1876 1188, 1463, 1519, 45, 2, 202, 4, 5, 6, 7, 1877 727, 47, 48, 848, 353, 1464, 728, 550, 551, 425, 1878 185, 1421, 1422, 817, 858, 1292, 738, 818, 251, 248, 1879 39, 252, 171, 172, 42, 1491, 667, 156, 688, 650, 1880 1145, 1496, 819, 43, 44, -12, 820, 210, 50, 111, 1881 50, 39, 58, 171, 172, 42, 1146, 678, 963, 160, 1882 1049, 681, 1517, 1468, 43, 44, 1189, 1524, 317, 50, 1883 1468, 819, 37, 863, 38, 1059, 1181, 332, -448, 728, 1884 432, 278, 1190, 572, 50, 402, 498, 461, 112, 689, 1885 865, 1130, 1154, 778, 43, 44, 728, 50, 96, 112, 1886 50, 112, 513, 591, -449, -112, 461, 513, 1145, -112, 1887 513, 50, 734, 1156, 461, 1189, 268, 739, 1299, 1301, 1888 507, 584, 370, 1518, 1284, 421, 839, 210, 628, 424, 1889 270, 1288, 77, 975, 1300, 1302, 429, -3, 871, 271, 1890 112, 325, 728, 208, 568, 840, 77, 51, 113, 686, 1891 110, 64, 1332, 50, 50, 39, 1333, 208, 1349, 42, 1892 1028, 112, 678, 43, 44, 112, 326, 210, 43, 44, 1893 930, 106, 678, 678, 1075, 486, 931, 327, 487, 897, 1894 931, 51, 924, 678, 472, 424, 328, 110, 478, 137, 1895 443, 1208, 145, 981, 693, 363, 353, 568, 51, -296, 1896 43, 44, 47, 48, 1418, 329, 8, 9, 10, 11, 1897 12, 181, 317, 784, 205, 591, 110, 51, 137, 138, 1898 1429, 330, 1339, 367, 1123, 156, 444, 688, 728, 43, 1899 44, 445, 847, 1340, 849, 376, 935, 1358, 33, 728, 1900 1342, 560, 50, 402, 1210, 1350, 728, 208, 1214, 47, 1901 48, 728, 113, 380, 50, 544, 545, 576, 398, 861, 1902 113, 581, 174, 256, 261, 1419, 36, 886, 868, 589, 1903 400, 1416, 870, 881, 417, 47, 48, 418, 689, 617, 1904 614, 440, 1437, 621, 618, 546, 547, 210, 728, 1485, 1905 497, 301, 145, 1489, 1429, 1486, 629, 473, 353, 353, 1906 113, 337, 112, 1006, 205, 1542, 450, 77, 976, 451, 1907 715, 568, -401, 71, 282, 210, 552, 553, 784, 591, 1908 210, 388, 501, 389, 506, 163, 390, 181, 181, 391, 1909 517, 1176, 392, 555, 50, 393, 394, 112, 554, 1143, 1910 556, 317, 317, 557, 256, 39, 461, 171, 172, 42, 1911 331, 50, 51, 934, 931, 1041, 578, 70, 43, 44, 1912 461, 242, 324, 402, 205, -3, 678, 678, 317, 642, 1913 1066, 324, 402, 689, 1335, 1355, 1356, 112, 210, 643, 1914 116, 778, 644, 629, 363, 653, 897, 163, 51, 112, 1915 1389, 1390, 210, 112, 1224, 1225, 261, 209, 1410, 931, 1916 539, 261, 256, 256, 686, 646, 228, 784, 113, 478, 1917 647, 317, 1097, 478, 749, 750, 751, 752, 322, 591, 1918 648, 432, 58, 317, 652, 317, 678, 678, 317, 877, 1919 317, 317, 410, 645, 402, 301, 470, 324, 402, 503, 1920 112, 1203, 745, 746, 1043, 747, 748, 209, 301, 655, 1921 1006, 77, 247, 50, 50, 50, -373, 71, -244, 512, 1922 976, 798, 324, 589, 561, 698, 859, 1271, 1272, 1273, 1923 145, 701, 1031, 8, 9, 10, 11, 12, 703, 426, 1924 113, 1067, 210, 112, 337, 753, 754, 209, 590, 608, 1925 705, 714, 317, 50, 729, 50, 730, 50, -14, 1042, 1926 779, 70, 774, 613, 781, 33, 792, 613, -15, 112, 1927 1082, 835, 897, 836, 1041, 842, 591, 864, 396, 866, 1928 878, 64, 1090, -422, 697, -527, 1090, 1295, 50, 890, 1929 911, 816, 813, 36, 1530, 426, 39, 581, 171, 172, 1930 42, 106, 181, 822, 896, 903, 830, 209, 112, 43, 1931 44, 905, 908, 909, 897, 915, 917, 918, 110, 845, 1932 137, 138, 256, 919, 301, 301, 58, 920, 256, 921, 1933 613, 43, 44, 1090, 928, 163, 983, 938, 1023, 209, 1934 939, 353, 353, 1158, 209, 940, 954, 955, 659, 661, 1935 956, 301, 957, 958, 686, 874, 959, 707, 1296, 1032, 1936 106, 1162, 708, 1043, 960, 112, -410, 397, 256, -409, 1937 1025, 586, 1029, 1053, 897, 897, 256, 1054, 613, 1055, 1938 51, 478, 1056, 1064, 1074, 694, 1078, 1076, 1006, 1110, 1939 877, 1081, 77, 678, 113, 923, 1084, 1134, 71, 1135, 1940 1136, 678, 678, 678, 1137, 1149, 301, 50, 113, 1150, 1941 1152, 301, 1153, 301, 301, 1161, 210, 1166, 1042, -9, 1942 1182, -445, 1042, 337, 728, 64, -3, -11, 649, 1170, 1943 512, 1172, 209, 1066, 1178, 512, 1199, 1036, 512, 1211, 1944 1201, 1090, 70, 110, 486, 106, 112, 1204, 112, 112, 1945 1087, 322, 322, 1088, 1209, 1089, 43, 44, 1216, 944, 1946 1213, 1219, 1226, 110, 1230, 137, 138, 561, 561, 1232, 1947 1234, 1235, -297, 1240, 353, 301, 43, 44, 322, 8, 1948 9, 10, 11, 12, 1222, 613, 337, 1236, 77, 608, 1949 761, 1237, 1238, 1247, 71, 590, 39, 590, 171, 172, 1950 42, 1256, 1414, 1006, 833, 1009, 1257, 58, 1262, 43, 1951 44, 33, 209, 50, 1265, 613, 1266, 650, 1268, 1269, 1952 613, 322, 608, 1277, 1282, 1289, 613, 1290, 209, 613, 1953 613, 1291, 1066, 112, 1041, 367, 139, 1297, 1348, 36, 1954 322, 1305, 1307, 686, 1067, 613, 388, 256, 389, 1303, 1955 1310, 390, 209, 1311, 391, 1315, 1033, 392, 256, 1006, 1956 393, 394, 1006, 1312, 1320, 1322, 1328, 1329, 1330, 1331, 1957 877, 678, 1042, 1338, 1341, 1351, 215, 208, 113, 1090, 1958 1352, 1090, 1090, 1273, 1367, 478, 1068, 317, 50, 50, 1959 1360, 1361, 613, 887, 608, 1373, 1374, 112, 112, 1383, 1960 694, 694, 322, 58, 1384, -411, 64, 110, 1502, 897, 1961 1387, 1398, 1403, 1006, 1087, 1405, 1407, 1088, 1006, 1089, 1962 43, 44, 1408, 1043, 1423, 897, 106, 1415, 266, 1409, 1963 432, 1424, 813, 337, 1425, 1428, 1353, 112, 686, 1426, 1964 1066, 1433, 815, 1067, 1333, 1442, 1444, 586, 1006, 911, 1965 1438, 1446, 1151, 911, 911, 1440, 1448, 1456, 77, 1450, 1966 1458, 1479, 1457, 106, 71, 77, 1090, 1481, 1484, 1510, 1967 1469, 71, 209, 561, 1487, 1155, 1157, 1159, 1042, 1488, 1968 147, 1495, 613, 1511, 948, 1516, 206, 216, 148, 590, 1969 149, 1523, 1525, 1512, 1527, 50, 112, 877, 897, 897, 1970 209, 590, 461, 1533, 1540, 209, 112, 1541, 1348, 1165, 1971 755, 1006, 756, 759, 757, 1348, 1006, 758, 77, 1086, 1972 50, 50, 106, 158, 71, 1281, 1490, 1402, 1543, 1215, 1973 1090, 1090, 1375, 1354, 1472, 1006, 874, 1006, 446, 431, 1974 1171, 1006, 396, 1034, 1006, 1180, 50, 211, 364, 1366, 1975 301, 1067, 1006, 1193, 899, 1062, 1006, 1083, 110, 841, 1976 137, 138, 106, 209, 982, 892, 1298, 649, 1348, 483, 1977 1454, 43, 44, 58, 337, 1061, 906, 209, 691, 113, 1978 58, 1037, 0, 0, 1306, 0, 763, 39, 764, 178, 1979 179, 42, 0, 887, 887, 0, 765, 211, 694, 0, 1980 43, 44, 265, 0, 0, 1473, 106, 1477, 0, 113, 1981 301, 0, 210, 67, 117, 0, 2, 202, 4, 5, 1982 6, 7, 0, 337, 0, 0, 588, 0, 589, 1504, 1983 1009, 397, 0, 58, 47, 48, 0, 211, 862, 1513, 1984 0, -298, 1506, 0, 1508, 0, 0, 67, 8, 9, 1985 10, 11, 12, 0, 0, 337, 650, 0, 0, 0, 1986 0, 0, 0, 874, 157, 210, 0, 209, 0, 0, 1987 106, 0, 461, 0, 0, 630, 613, 613, 1371, 461, 1988 33, 0, 1371, 217, 37, 468, 38, 0, 1538, 1068, 1989 1539, 0, 106, 0, 301, 0, 0, 211, 127, 106, 1990 128, 129, 130, 1546, 1547, 0, 0, 0, 36, 0, 1991 0, 43, 44, 0, 447, 0, 0, 0, 249, 8, 1992 9, 10, 11, 12, 8, 9, 10, 11, 12, 211, 1993 0, 0, 461, 0, 211, 0, 0, 322, 0, 0, 1994 1037, 0, 1037, 937, 1037, 1359, 0, 0, 0, 0, 1995 0, 33, 106, 942, 943, 159, 33, 0, 323, 113, 1996 0, 1476, 0, 1476, 953, 887, 249, 342, 190, 0, 1997 0, 213, 0, 0, 223, 256, 0, 75, 0, 36, 1998 0, 0, 815, 0, 36, 700, 0, 518, 1068, 1453, 1999 709, 519, 520, 521, 395, 0, 0, 0, 1476, 0, 2000 1476, 1388, 0, 0, 1396, 0, 0, 0, 0, 0, 2001 415, 75, 337, 420, 422, 522, 0, 523, 157, 524, 2002 525, 0, 211, 560, 0, 402, 0, 0, 886, 0, 2003 589, 47, 48, 0, 0, 0, 47, 48, 0, 438, 2004 0, 209, 0, 441, 404, 442, 0, 218, 448, 159, 2005 1413, 412, 0, 0, 67, 1435, 0, 0, 39, 462, 2006 1439, 365, 42, 0, 0, 0, 0, 0, 0, 469, 2007 0, 43, 44, 0, 0, 301, 0, 422, 0, 0, 2008 1260, 1261, 0, 1263, 0, 159, 113, 0, 0, 1267, 2009 1461, 0, 1270, 0, 1037, 0, 1068, 782, 0, 589, 2010 0, 0, 211, 0, 0, 47, 48, 613, 0, 159, 2011 0, 39, 113, 171, 172, 42, 0, 404, 0, 0, 2012 0, 434, 0, 0, 43, 44, 0, 1475, 0, 1475, 2013 0, 345, 834, 0, 2, 202, 4, 5, 6, 7, 2014 0, 0, 211, 0, 0, 0, 249, 1128, 1129, 0, 2015 582, 0, 0, 0, 0, 0, 610, 0, 0, 613, 2016 613, 0, 0, 0, 1475, 224, 1475, 0, 0, 615, 2017 0, 301, 0, 615, 0, 0, 566, 1531, 39, 0, 2018 178, 179, 42, 1531, 0, 570, 0, 0, 573, 0, 2019 0, 43, 44, 0, 1531, 317, 0, 0, 1531, 0, 2020 1037, 0, 37, 439, 38, 895, 0, 1174, 1175, 483, 2021 0, 113, 0, 0, 0, 0, 0, 1035, 75, 402, 2022 0, 0, 462, 75, 0, 47, 48, 365, 0, 0, 2023 0, 0, 0, 0, 0, 0, 342, 0, 1036, 0, 2024 0, 462, 0, 0, 0, 0, 404, 0, 0, 462, 2025 412, 0, 0, 0, 261, 113, 0, 39, 0, 178, 2026 179, 42, 211, 0, 0, 0, 673, 0, 0, 422, 2027 43, 44, 1395, 0, 0, 39, 256, 178, 179, 42, 2028 0, 0, 0, 0, 687, 0, 67, 0, 43, 44, 2029 211, 0, 613, 0, 0, 211, 180, 0, 422, 365, 2030 78, 0, 422, 0, 47, 48, 0, 261, 0, 0, 2031 0, 0, 0, 0, 1035, 0, 402, 0, 110, 113, 2032 218, 0, 47, 48, 0, 1087, 0, 404, 1088, 342, 2033 1089, 43, 44, 518, 78, 0, 0, 519, 520, 521, 2034 630, 113, 0, 0, 110, 0, 986, 0, 113, 0, 2035 113, 1087, 113, 211, 1088, 0, 1089, 43, 44, 1316, 2036 0, 522, 0, 523, 0, 524, 1280, 211, 0, 0, 2037 219, 0, 59, 59, 766, 0, 0, 0, 0, 0, 2038 0, 1051, 1501, 0, 0, 1318, 75, 113, 0, 113, 2039 0, 615, 777, 0, 0, 0, 0, 0, 0, 0, 2040 345, 113, 0, 794, 0, 75, 59, 1501, 1501, 0, 2041 0, 0, 0, 75, 1321, 0, 0, 0, 301, 566, 2042 566, 582, 1323, 1324, 1325, 0, 582, 630, 0, 80, 2043 345, 0, 615, 1501, 0, 342, 342, 209, 0, 59, 2044 0, 0, 59, 0, 0, 0, 0, 0, 345, 0, 2045 75, 342, 0, 0, 347, 0, 0, 211, 0, 0, 2046 0, 0, 0, 80, 8, 9, 10, 11, 12, 0, 2047 673, 0, 39, 0, 178, 179, 42, 0, 0, 0, 2048 0, 462, 0, 0, 0, 43, 44, 0, 0, 0, 2049 209, 0, 0, 345, 0, 462, 33, 0, 342, 220, 2050 0, 852, 0, 0, 0, 856, 0, 891, 0, 0, 2051 422, 1500, 0, 402, 0, 0, 0, 0, 0, 47, 2052 48, 0, 0, 0, 36, 0, 340, 986, 0, 39, 2053 0, 178, 179, 42, 39, 0, 178, 179, 42, 687, 2054 0, 78, 43, 44, 0, 322, 78, 43, 44, 0, 2055 0, 0, 0, 1196, 0, 0, 345, 0, 0, 0, 2056 0, 8, 9, 10, 11, 12, 0, 0, 588, 0, 2057 589, 0, 0, 255, 0, 673, 47, 48, 0, 0, 2058 0, 47, 48, 348, 0, 673, 673, 0, 615, 59, 2059 0, 951, 1451, 33, 0, 0, 673, 0, 0, 345, 2060 345, 0, 0, 0, 0, 0, 962, 0, 0, 0, 2061 0, 0, 0, 59, 0, 345, 0, 0, 0, 0, 2062 0, 36, 0, 0, 0, 566, 39, 0, 178, 179, 2063 42, 211, 0, 0, 345, 0, 0, 0, 0, 43, 2064 44, 0, 0, 219, 0, 75, 0, 0, 0, 1259, 2065 0, 0, 0, 0, 0, 0, 67, 0, 0, 75, 2066 0, 0, 345, 0, 0, 1035, 0, 402, 0, 0, 2067 80, 0, 0, 47, 48, 80, 0, 0, 0, 0, 2068 777, 0, 526, 527, 528, 529, 530, 531, 532, 533, 2069 534, 535, 536, 0, 0, 0, 0, 0, 0, 0, 2070 1058, 0, 0, 345, 0, 0, 0, 0, 0, 78, 2071 0, 0, 0, 0, 422, 117, 537, 0, 0, 0, 2072 0, 0, 0, 347, 0, 0, 0, 0, 78, 687, 2073 0, 0, 0, 0, 0, 0, 78, 0, 0, 345, 2074 0, 0, 0, 0, 0, 0, 0, 0, 0, 345, 2075 345, 0, 0, 347, 0, 218, 0, 0, 0, 0, 2076 345, 582, 0, 0, 8, 9, 10, 11, 12, 0, 2077 0, 347, 220, 78, 420, 0, 0, 0, 0, 673, 2078 673, 0, 342, 342, 0, 0, 0, 0, 0, 0, 2079 0, 0, 0, 0, 0, 340, 33, 1101, 0, 0, 2080 67, 0, 8, 9, 10, 11, 12, 0, 0, 0, 2081 0, 0, 0, 1114, 0, 0, 347, 0, 0, 0, 2082 75, 0, 86, 0, 36, 173, 0, 0, 0, 39, 2083 0, 178, 179, 42, 33, 0, 0, 0, 80, 673, 2084 673, 0, 43, 44, 345, 59, 0, 0, 0, 0, 2085 1187, 0, 348, 0, 0, 0, 86, 80, 0, 0, 2086 0, 0, 36, 0, 0, 80, 0, 39, 180, 0, 2087 124, 42, 173, 0, 0, 173, 47, 48, 0, 347, 2088 43, 44, 348, 0, 0, 0, 0, 0, 340, 0, 2089 0, 0, 221, 345, 8, 9, 10, 11, 12, 0, 2090 348, 404, 80, 0, 0, 0, 45, 0, 0, 0, 2091 0, 0, 0, 0, 47, 48, 0, 0, 687, 0, 2092 0, 0, 347, 347, 0, 234, 33, 0, 0, 0, 2093 0, 0, 0, 0, 0, 0, 0, 0, 347, 0, 2094 244, 0, 245, 345, 345, 348, 345, 345, 0, 0, 2095 0, 340, 0, 0, 36, 0, 0, 347, 0, 39, 2096 0, 178, 179, 42, 75, 0, 0, 0, 78, 0, 2097 0, 0, 43, 44, 0, 0, 355, 0, 0, 0, 2098 173, 67, 78, 0, 0, 347, 0, 0, 0, 0, 2099 0, 0, 0, 0, 340, 340, 0, 0, 1500, 0, 2100 402, 0, 0, 345, 345, 0, 47, 48, 348, 0, 2101 340, 673, 0, 687, 0, 0, 0, 0, 117, 0, 2102 0, 0, 0, 0, 0, 0, 347, 211, 173, 406, 2103 407, 0, 0, 0, 411, 0, 413, 414, 0, 0, 2104 0, 404, 0, 0, 0, 0, 673, 0, 0, 0, 2105 0, 348, 348, 0, 673, 673, 673, 340, 0, 0, 2106 0, 0, 347, 86, 0, 342, 342, 348, 86, 0, 2107 0, 0, 347, 347, 0, 0, 0, 1347, 219, 0, 2108 211, 0, 345, 347, 0, 0, 348, 0, 0, 0, 2109 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, 2110 0, 0, 0, 0, 0, 0, 173, 0, 0, 0, 2111 0, 80, 0, 0, 348, 0, 0, 117, 0, 0, 2112 0, 0, 0, 173, 0, 0, 0, 173, 0, 0, 2113 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 2114 0, 0, 0, 78, 0, 75, 0, 0, 1364, 0, 2115 0, 0, 0, 0, 0, 348, 0, 0, 0, 0, 2116 0, 1400, 33, 0, 0, 221, 0, 347, 0, 0, 2117 0, 0, 0, 0, 0, 345, 0, 345, 0, 0, 1825 50, 111, 96, 385, 113, 386, 145, 666, 110, 387, 1826 255, 892, 388, 146, 393, 147, 394, 416, 457, 389, 1827 500, 390, 891, 172, 1008, 1167, 371, 372, 427, 391, 1828 734, 111, 111, 271, 50, 791, 96, 593, 398, 1168, 1829 1169, 808, 121, 535, 536, 50, 588, 716, 1010, 831, 1830 158, 50, 140, 156, 1172, 248, 580, 790, 50, 1115, 1831 856, 761, 1040, 50, 1347, 187, 50, 196, 210, 50, 1832 249, 220, 213, 250, 1258, 1321, 782, 922, 385, 535, 1833 386, 783, 1078, 784, 387, 63, 785, 388, 612, 393, 1834 413, 394, 616, 95, 389, 702, 390, 1403, 148, 707, 1835 149, 779, 331, 780, 391, 50, 461, 463, 50, 150, 1836 161, 158, 33, 781, 535, 50, 1113, 1114, 197, 63, 1837 1361, 1362, 795, 111, 1145, 1146, 798, 95, 1142, 1124, 1838 511, 69, 76, 1201, 1259, 168, -240, -240, 144, 145, 1839 1206, 656, 658, 50, 95, 156, 146, 815, 147, 963, 1840 270, 818, 163, 821, 821, 50, 183, 361, 122, 95, 1841 70, 1129, 95, 924, 1503, 69, 76, 1430, 1207, 821, 1842 652, 161, 1403, 929, 930, 241, 164, 426, 50, 50, 1843 457, 156, 1423, 691, 940, 1130, 399, 794, 509, 661, 1844 685, 33, 1363, 801, 70, 50, 1523, 665, 462, 457, 1845 1272, 319, 422, 50, 1196, 156, 779, 457, 780, -240, 1846 1163, 706, 50, 650, 145, 50, 821, 430, 781, 901, 1847 694, 146, 111, 147, 138, 469, 206, 645, 503, 646, 1848 718, 148, 111, 149, 674, 111, 95, 952, 1321, 50, 1849 111, 96, 150, 105, 105, 1321, 1079, 451, 95, -10, 1850 565, 684, 399, 50, 50, 563, 156, 449, 422, 951, 1851 50, 564, 423, 111, 928, 823, 405, 1289, 939, 1292, 1852 1294, 384, 183, 783, 1120, 784, 554, 105, 785, 434, 1853 840, 573, 736, 737, 738, 593, 1115, 57, 114, 424, 1854 33, 765, 446, 779, 963, 780, 95, 158, 1256, 432, 1855 1121, 645, 172, 646, 1321, 781, 1407, 654, 95, 770, 1856 555, 33, 105, 659, 1051, 264, 655, 657, 423, 613, 1857 50, 57, 361, 617, 63, 139, 580, 879, 141, 458, 1858 791, 580, 95, 1115, 397, 1383, 1170, 50, 50, 1008, 1859 712, 1435, 714, 487, 955, 715, 465, 891, 719, 1451, 1860 817, 33, 722, 204, 50, 1384, 214, 161, 50, 142, 1861 1110, 1111, 240, 1010, 399, 510, 923, 1121, 625, 1257, 1862 69, 76, 808, 33, 151, 429, 76, 783, 794, 784, 1863 1459, 462, 785, 407, 195, 399, 1484, 1318, 1486, 365, 1864 1113, 1114, 50, 582, 361, 1361, 1362, 166, 509, 70, 1865 1460, 822, 822, 509, -295, 366, 509, 1514, 488, 1407, 1866 489, 490, 50, 95, 1407, 235, 33, 822, 50, 375, 1867 1048, 1158, 1159, 467, 443, 399, 1436, 1515, 863, 1320, 1868 675, 587, 1232, 1233, 1539, 376, 676, 674, 457, 1407, 1869 1437, 238, 685, 891, 891, 792, 1407, 585, 1540, 33, 1870 1348, 483, 876, 111, 484, 480, 997, 755, 50, 1115, 1871 110, 33, 1076, 1061, 822, 1371, 50, 1373, 361, 911, 1872 50, -523, 96, 319, 319, 50, 811, 1480, 111, 1167, 1873 812, 240, 105, 111, -12, 183, 1195, 593, 799, 251, 1874 585, 458, 832, 1168, 1169, 952, 950, 33, -448, 206, 1875 319, -449, 428, 684, 932, 33, 266, 1172, 1053, 663, 1876 458, 1392, 1393, 544, 545, 111, 33, 1398, 458, 692, 1877 111, 844, 728, 399, 268, 693, 57, 733, 833, 269, 1878 624, 842, 33, 848, 677, 399, 1272, 33, 76, 322, 1879 674, 853, 852, 319, 1100, 1103, 708, 834, 546, 547, 1880 674, 674, 709, 682, 1443, 63, 1444, 76, 378, 270, 1881 626, 674, 319, 95, 323, 76, 380, 360, 587, 1081, 1882 810, 399, 1468, 382, 379, 510, 324, 1094, 1473, 399, 1883 510, 109, 381, 510, 50, 824, 50, 325, 1098, 383, 1884 585, 721, 1441, 950, 43, 44, 1133, 722, 839, 1441, 1885 109, 69, 76, 1498, 1101, 50, 585, 1069, 1505, 1339, 1886 1070, 399, 1071, 43, 44, 1037, 326, 1500, 1296, 206, 1887 50, 1502, 727, 319, 111, 685, 1298, 1299, 1300, 1127, 1888 70, 1038, 857, 50, 1037, 111, 50, 111, 722, 962, 1889 364, 1200, 841, 1173, 843, 1128, 1518, 50, 223, 1127, 1890 1165, 224, 327, 1522, 228, 1173, 230, 580, 1499, 1174, 1891 813, 859, 233, 809, 814, 1264, 871, 722, 582, 373, 1892 696, 1268, 865, 1400, 377, 705, 111, 778, 564, 587, 1893 535, 39, 1279, 875, 891, 42, 684, 58, 58, 50, 1894 50, 1281, 395, 968, 43, 44, 722, 111, 1280, 240, 1895 321, 111, 109, 1029, 39, 1031, 772, 1282, 42, 1016, 1896 813, 397, 1324, 105, 1047, 43, 44, 43, 44, 500, 1897 45, 58, 2, 200, 4, 5, 6, 7, 47, 48, 1898 917, 855, 240, 321, 399, 1457, 918, 674, 674, 1112, 1899 862, 540, 541, 776, 864, 585, 891, 1466, 1400, 458, 1900 414, 47, 48, 58, 537, 415, 58, 57, 891, 891, 1901 538, 539, 1063, 458, 470, 109, 429, 1105, 918, 1335, 1902 1489, 997, 1069, -401, 1192, 1070, 50, 1071, 43, 44, 1903 564, 891, 778, 587, 223, -112, 437, 39, 50, -112, 1904 37, 42, 38, 1429, 447, 556, 76, 399, 674, 674, 1905 43, 44, 448, 47, 48, 682, 1291, 494, 1307, 685, 1906 76, 39, 1308, 169, 170, 42, 828, 495, 2, 200, 1907 4, 5, 6, 7, 43, 44, 689, 542, 543, 206, 1908 625, 1160, 1125, 498, 47, 48, 111, 994, 109, 337, 1909 136, 137, 1541, 206, 743, 744, 745, 746, 385, 222, 1910 386, 43, 44, 891, 387, -3, 1029, 388, 1031, 1487, 1911 393, 1314, 394, 1491, 389, 871, 390, 722, 50, 778, 1912 684, 111, 503, 1136, 391, 8, 9, 10, 11, 12, 1913 550, 587, 1336, 551, 1315, 50, 37, 552, 38, 889, 1914 722, 553, 568, 480, 399, 109, 328, 136, 440, 1054, 1915 109, 1176, 58, 1176, 111, 574, 685, 33, 43, 44, 1916 625, 1064, -3, 43, 44, 109, 111, 136, 137, 223, 1917 111, 228, 63, 1072, 277, 638, 58, 1072, 43, 44, 1918 639, 206, 640, 1360, 441, 36, 1368, 43, 44, 442, 1919 157, 732, 1019, 1317, 1325, 1137, 1139, 1141, 642, 722, 1920 722, 1187, 188, 643, 703, 211, 319, 644, 221, 704, 1921 648, 1030, 880, 504, 585, 367, 1276, 111, 69, 76, 1922 47, 48, 649, 109, 1072, 136, 137, 994, 587, 1408, 1923 50, 50, 50, 651, 1406, 722, 43, 44, 682, 1410, 1924 1533, -296, 772, 245, 809, 674, 564, 70, 8, 9, 1925 10, 11, 12, 674, 674, 674, 645, 223, 646, 1542, 1926 1550, 111, -373, 1310, 694, 1539, 1551, 263, 1434, 548, 1927 549, 50, 626, 50, -244, 50, 921, 918, 973, 697, 1928 33, 701, 157, 1238, 1239, 699, 1241, 111, 710, 871, 1929 321, 399, 1245, 723, 362, 1248, 1330, 1331, 39, 724, 1930 169, 170, 42, 407, 641, 399, 50, 711, 36, 63, 1931 1516, 43, 44, 1039, 1144, 467, 321, 399, 157, 39, 1932 111, 169, 170, 42, 792, 321, 585, 1072, 1385, 918, 1933 105, 773, 43, 44, 775, 8, 9, 10, 11, 12, 1934 1361, 1362, 157, 1202, 1203, 1140, 739, 740, 429, 1249, 1935 1250, 1251, 626, 786, 431, 69, 76, 337, 1029, 39, 1936 1031, 169, 170, 42, 1030, 1517, 1166, 33, 1030, 741, 1937 742, 1517, 43, 44, 57, -14, -15, 111, 747, 748, 1938 829, 1138, 830, 836, 70, 858, 860, 1517, 872, 105, 1939 -422, 1517, -527, 884, 890, 36, 109, 693, 360, 897, 1940 39, 1334, 994, 1069, 42, 899, 1070, 58, 1071, 43, 1941 44, 902, 871, 43, 44, 904, 905, 906, 907, 908, 1942 674, 50, 682, 925, 926, 2, 200, 4, 5, 6, 1943 7, 51, 112, 1055, 915, 927, 970, 1293, 941, 45, 1944 1011, 942, 1054, 943, 944, 945, 946, 47, 48, 947, 1945 337, -410, -409, 973, 111, 1013, 111, 111, 1017, 362, 1946 1020, 1072, -297, 1072, 1072, 51, 1041, 105, 1367, 8, 1947 9, 10, 11, 12, 1042, 1382, 143, 1043, 115, 1180, 1948 1044, 1052, 51, 1062, 910, 1066, 1092, 63, 1116, 1119, 1949 1117, 1389, 1131, 37, 179, 38, 1118, 203, 1132, 1134, 1950 51, 33, 1135, 39, 1143, 176, 177, 42, 109, 1147, 1951 483, 57, 337, 994, 1030, 1069, 43, 44, 1070, 682, 1952 1071, 43, 44, 50, -9, 722, 1424, -445, 154, 36, 1953 -11, 362, -3, 69, 76, 112, 1150, 1054, 111, 1156, 1954 1154, 1162, 584, 112, 585, 1072, 254, 259, 1024, 1183, 1955 47, 48, 385, 1194, 386, 337, 337, 1185, 387, 1188, 1956 1388, 388, 70, 393, 994, 394, 1193, 994, 389, 1237, 1957 390, 337, 1197, 298, 143, 1204, 213, 458, 391, 1208, 1958 1328, 246, 112, 334, 1210, 1212, 203, 1213, 1214, 154, 1959 1215, 1216, 645, 1479, 646, 50, 50, 1218, 1424, 111, 1960 111, 1225, 1424, 1424, 1234, 1235, 1072, 1072, 1240, 179, 1961 179, 1262, 1243, 1244, 1269, 994, 1030, 1246, 337, 314, 1962 994, 1270, 1247, 1323, 76, 1271, 254, 1255, 329, 39, 1963 1512, 169, 170, 42, 51, 1277, 1283, 1285, 1286, 1287, 1964 1054, 1290, 43, 44, 1295, 105, 203, 1297, 1303, 994, 1965 1304, 1305, 70, 1528, 1306, 1313, 1316, 1528, 1326, 1327, 1966 1251, 1333, 1344, 1449, -298, 1449, 1337, 1338, 364, 1375, 1967 51, 8, 9, 10, 11, 12, 418, 1355, 259, 1356, 1968 421, 1545, 105, 259, 254, 254, -411, 1359, 145, 57, 1969 112, 1370, 1377, 1379, 1380, 146, 1381, 147, 50, 111, 1970 1394, 1390, 1449, 33, 1449, 1395, 1481, 126, 350, 127, 1971 128, 129, 1399, 1396, 1397, 1308, 1413, 298, 994, 1404, 1972 43, 44, 1415, 994, 1409, 1411, 1055, 50, 50, 298, 1973 156, 36, 206, 1422, 1417, 105, 421, 1419, 1421, 475, 1974 458, 1428, 1446, 1431, 1450, 557, 994, 458, 994, 1442, 1975 1452, 143, 994, 1454, 1456, 994, 1458, 50, 1461, 361, 1976 1463, 112, 1464, 314, 1465, 334, 1472, 1488, 994, 586, 1977 604, 1490, 994, 1493, 58, 154, 1494, 105, 1506, 57, 1978 1497, 1483, 429, 1485, 609, 1504, 1323, 76, 609, 1508, 1979 111, 1511, 1513, 1323, 76, 1526, 1519, 1546, 337, 1527, 1980 1530, 111, 1149, 319, 1548, 1531, 458, 572, 1553, 1549, 1981 1552, 577, 749, 752, 750, 70, 105, 751, 207, 1261, 1982 465, 1055, 70, 179, 1467, 1068, 109, 226, 136, 137, 1983 610, 753, 1534, 58, 614, 1524, 1374, 1525, 1329, 43, 1984 44, 1492, 1532, 254, 1445, 298, 298, 1155, 1022, 254, 1985 1164, 609, 1323, 76, 1177, 1537, 1538, 1343, 893, 204, 1986 214, 39, 1050, 169, 170, 42, 1065, 827, 207, 969, 1987 401, 1278, 298, 209, 43, 44, 835, 409, 886, 1049, 1988 105, 70, 900, 757, 687, 0, 0, 0, 758, 254, 1989 0, 314, 314, 337, 337, 759, 0, 254, 105, 609, 1990 39, 51, 176, 177, 42, 105, 690, 207, 0, 428, 1991 0, 58, 0, 43, 44, 112, 0, 0, 314, 0, 1992 0, 0, 0, 209, 1055, 0, 0, 298, 0, 112, 1993 115, 0, 298, 0, 298, 298, 0, 0, 0, 1023, 1994 0, 399, 57, 401, 334, 0, 0, 47, 48, 57, 1995 0, 8, 9, 10, 11, 12, 0, 0, 0, 475, 1996 1024, 314, 209, 475, 105, 0, 0, 207, 0, 208, 1997 0, 0, 0, 314, 0, 314, 350, 0, 314, 0, 1998 314, 314, 0, 33, 0, 0, 0, 557, 557, 39, 1999 0, 176, 177, 42, 0, 298, 0, 0, 0, 207, 2000 0, 562, 43, 44, 207, 609, 334, 0, 57, 604, 2001 566, 36, 0, 569, 0, 586, 39, 586, 0, 208, 2002 42, 0, 209, 0, 0, 0, 0, 0, 178, 43, 2003 44, 0, 0, 0, 0, 609, 47, 48, 0, 444, 2004 609, 314, 604, 0, 0, 0, 609, 0, 0, 609, 2005 609, 768, 0, 0, 209, 689, 0, 0, 208, 209, 2006 0, 0, 0, 47, 48, 609, 0, 254, 0, 350, 2007 0, 401, 0, 0, 0, 409, 0, 0, 254, 0, 2008 0, 807, 0, 0, 0, 0, 577, 0, 0, 58, 2009 0, 207, 816, 8, 9, 10, 11, 12, 112, 0, 2010 0, 0, 162, 0, 167, 0, 0, 173, 174, 175, 2011 0, 0, 609, 881, 604, 0, 0, 0, 208, 0, 2012 690, 690, 0, 0, 227, 33, 58, 0, 0, 0, 2013 0, 350, 0, 0, 0, 236, 237, 0, 0, 0, 2014 0, 0, 0, 0, 868, 0, 209, 0, 0, 0, 2015 208, 334, 401, 36, 0, 208, 0, 8, 9, 10, 2016 11, 12, 0, 0, 0, 0, 0, 337, 337, 0, 2017 475, 207, 0, 0, 350, 350, 0, 0, 0, 58, 2018 0, 0, 0, 0, 0, 0, 0, 207, 0, 33, 2019 350, 557, 0, 0, 0, 0, 0, 556, 0, 399, 2020 609, 0, 935, 0, 0, 47, 48, 586, 0, 0, 2021 39, 207, 176, 177, 42, 0, 0, 36, 0, 586, 2022 0, 58, 0, 43, 44, 0, 209, 0, 396, 0, 2023 0, 0, 0, 0, 0, 0, 0, 350, 0, 0, 2024 0, 0, 208, 562, 562, 0, 931, 0, 0, 1023, 2025 0, 399, 0, 0, 0, 0, 0, 47, 48, 58, 2026 58, 880, 0, 585, 0, 0, 209, 0, 298, 47, 2027 48, 522, 523, 524, 525, 526, 527, 528, 529, 530, 2028 531, 532, 0, 0, 0, 0, 8, 9, 10, 11, 2029 12, 0, 334, 0, 337, 0, 0, 112, 0, 1025, 2030 39, 0, 176, 177, 42, 533, 0, 0, 0, 58, 2031 0, 881, 881, 43, 44, 0, 690, 0, 33, 0, 2032 0, 0, 208, 0, 58, 846, 0, 112, 298, 850, 2033 207, 0, 0, 0, 334, 0, 0, 0, 0, 1477, 2034 0, 399, 58, 1021, 0, 0, 36, 47, 48, 58, 2035 0, 39, 0, 176, 177, 42, 0, 0, 207, 0, 2036 0, 0, 208, 207, 43, 44, 334, 0, 0, 0, 2037 0, 0, 475, 1056, 314, 0, 0, 0, 0, 0, 2038 0, 576, 0, 583, 0, 209, 0, 609, 609, 0, 2039 584, 0, 585, 0, 607, 608, 0, 0, 47, 48, 2040 0, 125, 0, 0, 0, 298, 0, 0, 58, 0, 2041 0, 0, 807, 209, 0, 0, 0, 350, 209, 0, 2042 0, 207, 0, 0, 74, 0, 948, 0, 0, 8, 2043 9, 10, 11, 12, 0, 207, 39, 0, 176, 177, 2044 42, 0, 0, 0, 0, 0, 0, 562, 0, 43, 2045 44, 0, 1025, 0, 1025, 125, 1025, 0, 74, 273, 2046 274, 33, 275, 0, 0, 0, 0, 0, 0, 0, 2047 125, 112, 125, 0, 0, 253, 209, 881, 0, 0, 2048 0, 208, 0, 47, 48, 0, 0, 254, 276, 36, 2049 209, 0, 0, 216, 277, 0, 0, 265, 278, 0, 2050 0, 279, 280, 270, 281, 282, 283, 43, 44, 208, 2051 284, 285, 350, 350, 208, 0, 0, 868, 334, 0, 2052 514, 0, 0, 207, 515, 516, 517, 0, 0, 0, 2053 0, 0, 0, 286, 0, 367, 0, 0, 0, 0, 2054 0, 333, 48, 288, 289, 290, 291, 0, 518, 0, 2055 519, 0, 520, 521, 0, 0, 125, 0, 125, 125, 2056 0, 0, 0, 125, 0, 125, 125, 0, 0, 0, 2057 0, 0, 208, 0, 0, 514, 342, 0, 209, 515, 2058 516, 517, 0, 298, 0, 0, 208, 0, 0, 0, 2059 0, 0, 0, 0, 112, 0, 0, 0, 0, 0, 2060 0, 0, 1025, 518, 0, 519, 0, 520, 1260, 0, 2061 0, 0, 1083, 0, 0, 609, 0, 0, 0, 0, 2062 112, 0, 0, 0, 0, 0, 0, 0, 1096, 125, 2118 2063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2119 36, 348, 0, 0, 0, 39, 0, 0, 342, 42, 2120 0, 348, 348, 0, 0, 0, 0, 220, 43, 44, 2121 345, 0, 348, 0, 0, 59, 347, 0, 345, 345, 2122 345, 0, 0, 0, 673, 117, 0, 0, 0, 345, 2123 345, 86, 0, 0, 693, 0, 0, 0, 0, 340, 2124 651, 75, 47, 48, 0, 355, 0, 1347, 0, 0, 2125 86, 0, 0, 0, 1347, 164, 0, 169, 86, 0, 2126 175, 176, 177, 0, 0, 0, 347, 347, 0, 347, 2127 347, 0, 80, 0, 59, 355, 0, 229, 0, 8, 2128 9, 10, 11, 12, 0, 0, 0, 78, 238, 239, 2129 0, 0, 0, 355, 0, 86, 348, 0, 0, 0, 2130 0, 0, 0, 0, 0, 0, 0, 1347, 0, 0, 2131 0, 33, 0, 0, 1526, 0, 0, 0, 0, 0, 2132 0, 0, 0, 0, 0, 218, 347, 347, 0, 0, 2133 0, 0, 0, 0, 0, 0, 0, 0, 355, 36, 2134 0, 340, 340, 0, 39, 348, 178, 179, 42, 0, 2135 0, 0, 0, 0, 0, 0, 0, 43, 44, 59, 2136 0, 0, 345, 0, 0, 0, 0, 0, 0, 0, 2137 0, 0, 0, 0, 0, 173, 0, 0, 0, 0, 2138 0, 0, 399, 255, 0, 0, 0, 0, 345, 0, 2139 173, 47, 48, 0, 0, 348, 348, 0, 348, 348, 2140 0, 355, 0, 173, 0, 347, 768, 769, 0, 0, 2141 0, 75, 0, 0, 0, 0, 80, 0, 75, 0, 2064 868, 0, 0, 0, 0, 0, 0, 0, 436, 0, 2142 2065 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2143 0, 0, 0, 799, 0, 0, 802, 803, 0, 806, 2144 0, 808, 809, 0, 355, 355, 810, 811, 0, 0, 2145 0, 0, 0, 0, 0, 348, 348, 0, 0, 0, 2146 355, 0, 0, 0, 0, 0, 0, 0, 78, 0, 2147 0, 75, 0, 0, 0, 0, 0, 0, 0, 355, 2148 0, 0, 0, 0, 851, 0, 0, 0, 855, 0, 2149 86, 0, 0, 0, 0, 0, 0, 0, 347, 0, 2150 347, 0, 0, 0, 86, 0, 0, 355, 0, 0, 2151 0, 0, 0, 8, 9, 10, 11, 12, 13, 14, 2066 0, 609, 609, 74, 0, 0, 1056, 0, 74, 0, 2067 0, 0, 0, 298, 208, 0, 0, 0, 0, 8, 2068 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 2069 207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2070 0, 0, 0, 0, 1025, 0, 0, 0, 0, 0, 2071 0, 33, 0, 0, 0, 112, 0, 401, 873, 0, 2072 874, 0, 0, 0, 0, 0, 0, 877, 878, 0, 2073 0, 0, 883, 0, 0, 0, 0, 0, 1275, 36, 2074 0, 0, 0, 0, 39, 209, 176, 177, 42, 0, 2075 894, 0, 0, 259, 112, 898, 0, 43, 44, 0, 2076 0, 1056, 0, 0, 216, 0, 0, 0, 125, 0, 2077 0, 0, 0, 0, 583, 0, 0, 254, 0, 0, 2078 0, 0, 0, 1023, 0, 399, 350, 350, 609, 0, 2079 0, 47, 48, 0, 0, 0, 0, 66, 116, 0, 2080 0, 0, 0, 259, 0, 0, 0, 0, 0, 0, 2081 0, 0, 0, 0, 0, 0, 0, 0, 112, 0, 2082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2083 74, 66, 0, 0, 0, 0, 112, 0, 0, 0, 2084 0, 208, 0, 112, 342, 112, 0, 112, 155, 74, 2085 0, 0, 0, 401, 0, 0, 0, 74, 0, 0, 2086 0, 0, 0, 0, 1056, 0, 215, 958, 0, 959, 2087 960, 961, 0, 0, 342, 0, 0, 0, 0, 1478, 2088 0, 0, 0, 0, 112, 0, 112, 0, 1012, 0, 2089 0, 1448, 342, 1448, 74, 0, 0, 0, 0, 0, 2090 0, 247, 112, 0, 1018, 0, 0, 0, 1478, 1478, 2091 0, 0, 0, 350, 0, 0, 0, 0, 0, 0, 2092 0, 0, 0, 0, 0, 298, 0, 1045, 0, 0, 2093 1448, 0, 1448, 125, 125, 0, 0, 342, 1478, 0, 2094 320, 0, 0, 0, 0, 0, 0, 0, 247, 339, 2095 0, 0, 0, 0, 0, 0, 1341, 0, 0, 0, 2096 125, 0, 1067, 125, 125, 0, 125, 1077, 125, 125, 2097 0, 314, 1080, 125, 125, 0, 392, 1085, 1086, 0, 2098 0, 0, 1088, 0, 1089, 1090, 0, 0, 1093, 0, 2099 0, 0, 412, 0, 0, 417, 419, 1108, 0, 342, 2100 155, 0, 8, 9, 10, 11, 12, 0, 0, 0, 2101 0, 125, 0, 1122, 1123, 125, 0, 0, 0, 0, 2102 0, 435, 0, 0, 0, 438, 0, 439, 0, 0, 2103 445, 0, 0, 0, 33, 0, 66, 0, 0, 0, 2104 0, 459, 342, 342, 0, 1151, 0, 0, 1153, 0, 2105 0, 466, 0, 0, 0, 0, 0, 0, 342, 419, 2106 0, 0, 36, 0, 0, 0, 0, 39, 0, 176, 2107 177, 42, 0, 0, 207, 0, 0, 342, 0, 0, 2108 43, 44, 0, 0, 0, 0, 0, 0, 74, 0, 2109 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2110 0, 1186, 74, 0, 0, 342, 178, 1190, 1191, 0, 2111 0, 0, 0, 0, 47, 48, 1198, 0, 0, 0, 2112 0, 1205, 0, 0, 207, 0, 1209, 247, 0, 209, 2113 0, 578, 0, 0, 0, 0, 0, 606, 0, 1217, 2114 0, 0, 0, 0, 342, 0, 0, 0, 0, 0, 2115 611, 0, 0, 0, 611, 1224, 0, 1226, 1227, 1228, 2116 1229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2117 0, 0, 1236, 0, 1122, 0, 0, 0, 0, 209, 2118 342, 0, 0, 0, 8, 9, 10, 11, 12, 77, 2119 342, 342, 0, 0, 0, 0, 216, 0, 0, 0, 2120 0, 342, 0, 459, 0, 0, 1265, 1266, 0, 0, 2121 0, 0, 0, 0, 0, 0, 33, 339, 0, 0, 2122 0, 0, 459, 77, 0, 208, 0, 0, 0, 0, 2123 459, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2124 0, 0, 0, 0, 36, 0, 0, 669, 0, 39, 2125 419, 176, 177, 42, 0, 0, 0, 0, 217, 0, 2126 0, 74, 43, 44, 0, 683, 0, 66, 0, 0, 2127 1301, 1302, 0, 0, 0, 208, 0, 0, 0, 419, 2128 1312, 0, 0, 419, 0, 342, 0, 0, 1477, 0, 2129 399, 0, 0, 0, 0, 0, 47, 48, 125, 0, 2130 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2131 339, 0, 0, 0, 125, 0, 0, 125, 125, 0, 2132 0, 0, 0, 0, 0, 0, 0, 342, 0, 0, 2133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2134 0, 344, 0, 0, 1351, 0, 1352, 1353, 1354, 0, 2135 171, 0, 0, 0, 760, 0, 0, 0, 1358, 0, 2136 0, 0, 0, 0, 0, 0, 1369, 0, 0, 167, 2137 0, 611, 771, 0, 0, 0, 0, 342, 342, 0, 2138 342, 342, 0, 788, 0, 0, 0, 0, 0, 0, 2139 125, 0, 0, 0, 0, 0, 1391, 171, 74, 0, 2140 171, 578, 0, 125, 0, 0, 578, 0, 125, 125, 2141 0, 0, 611, 0, 0, 339, 339, 0, 0, 0, 2142 0, 0, 0, 0, 0, 0, 0, 0, 77, 0, 2143 0, 339, 0, 77, 0, 0, 0, 0, 342, 342, 2144 1432, 1433, 0, 0, 0, 0, 0, 0, 0, 0, 2145 669, 0, 0, 1438, 0, 0, 0, 0, 0, 0, 2146 1438, 459, 0, 0, 0, 125, 0, 0, 0, 79, 2147 0, 0, 0, 0, 0, 459, 0, 1462, 339, 0, 2148 0, 0, 0, 0, 0, 0, 0, 885, 0, 0, 2149 419, 0, 0, 0, 0, 1476, 0, 0, 0, 1482, 2150 0, 0, 0, 79, 171, 0, 0, 0, 0, 0, 2151 0, 342, 0, 0, 0, 0, 0, 683, 0, 0, 2152 0, 0, 0, 0, 0, 0, 0, 125, 0, 217, 2153 0, 0, 1509, 0, 1510, 0, 0, 0, 218, 0, 2154 0, 0, 0, 0, 0, 0, 125, 0, 0, 0, 2155 0, 0, 171, 669, 0, 0, 0, 0, 8, 9, 2156 10, 11, 12, 669, 669, 0, 611, 0, 0, 938, 2157 0, 0, 1535, 1536, 669, 0, 74, 0, 0, 0, 2158 0, 0, 0, 0, 949, 1543, 1544, 0, 0, 0, 2159 33, 0, 0, 0, 0, 77, 0, 0, 0, 0, 2160 0, 0, 0, 0, 0, 0, 342, 0, 342, 344, 2161 0, 0, 0, 0, 77, 0, 0, 0, 36, 0, 2162 0, 345, 77, 39, 0, 176, 177, 42, 123, 171, 2163 0, 0, 0, 0, 66, 342, 43, 44, 0, 344, 2164 0, 0, 125, 342, 342, 342, 171, 0, 0, 0, 2165 171, 0, 0, 0, 342, 342, 0, 344, 771, 77, 2166 0, 0, 253, 0, 0, 0, 74, 0, 0, 0, 2167 47, 48, 0, 0, 0, 0, 0, 0, 1046, 0, 2168 0, 0, 232, 0, 0, 0, 0, 0, 0, 0, 2169 0, 0, 419, 116, 0, 0, 0, 242, 0, 243, 2170 683, 0, 344, 0, 0, 0, 0, 0, 79, 0, 2171 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 2172 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2173 0, 0, 578, 0, 0, 0, 0, 0, 0, 0, 2174 0, 0, 0, 0, 0, 417, 0, 216, 0, 85, 2175 669, 669, 0, 339, 339, 0, 0, 0, 0, 0, 2176 0, 0, 0, 0, 344, 0, 0, 0, 0, 0, 2177 0, 66, 0, 0, 0, 0, 0, 0, 0, 0, 2178 0, 342, 0, 85, 0, 403, 404, 0, 0, 0, 2179 408, 0, 410, 411, 0, 0, 0, 0, 0, 0, 2180 0, 0, 0, 0, 0, 0, 0, 344, 344, 218, 2181 342, 669, 669, 0, 0, 0, 0, 0, 219, 0, 2182 0, 0, 1171, 344, 0, 0, 0, 0, 0, 74, 2183 0, 0, 0, 0, 0, 0, 74, 0, 0, 0, 2184 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 2185 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 2186 0, 0, 0, 0, 0, 0, 0, 77, 0, 0, 2187 344, 0, 0, 0, 0, 79, 0, 0, 0, 0, 2188 0, 0, 0, 0, 683, 0, 0, 0, 0, 345, 2189 0, 0, 0, 0, 79, 74, 0, 171, 0, 0, 2190 0, 352, 79, 0, 0, 0, 0, 0, 0, 344, 2191 0, 0, 171, 0, 0, 0, 0, 0, 0, 345, 2192 0, 0, 0, 0, 0, 171, 0, 0, 0, 0, 2193 0, 0, 0, 0, 0, 0, 0, 345, 0, 79, 2194 0, 0, 0, 0, 0, 344, 0, 0, 0, 66, 2195 0, 0, 0, 0, 0, 344, 344, 0, 0, 0, 2196 0, 217, 0, 0, 0, 0, 344, 0, 0, 0, 2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 669, 2198 0, 683, 345, 0, 0, 0, 116, 0, 85, 0, 2199 0, 0, 0, 85, 0, 647, 0, 0, 1106, 0, 2200 0, 8, 9, 10, 11, 12, 0, 0, 669, 0, 2201 0, 0, 0, 0, 0, 0, 669, 669, 669, 0, 2202 0, 0, 0, 0, 0, 0, 77, 339, 339, 0, 2203 0, 273, 274, 33, 275, 0, 0, 0, 0, 1322, 2204 0, 0, 0, 0, 345, 0, 0, 0, 0, 0, 2205 344, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2206 276, 36, 0, 0, 0, 0, 277, 0, 0, 0, 2207 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2208 44, 116, 284, 285, 0, 0, 0, 345, 345, 219, 2209 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, 2210 0, 0, 0, 345, 0, 286, 0, 367, 0, 0, 2211 0, 0, 0, 1107, 48, 288, 289, 290, 291, 0, 2212 1372, 0, 345, 0, 0, 0, 0, 0, 0, 171, 2213 0, 0, 0, 79, 0, 0, 0, 0, 0, 0, 2214 0, 0, 344, 344, 0, 344, 344, 79, 0, 0, 2215 345, 0, 0, 0, 339, 85, 0, 0, 0, 0, 2216 762, 763, 0, 77, 0, 0, 0, 0, 0, 352, 2217 0, 0, 0, 0, 85, 0, 0, 0, 0, 0, 2218 0, 0, 85, 669, 116, 0, 0, 793, 0, 345, 2219 796, 797, 0, 800, 0, 802, 803, 0, 0, 352, 2220 804, 805, 1322, 344, 344, 273, 274, 0, 275, 1322, 2221 0, 0, 0, 0, 0, 0, 0, 352, 0, 85, 2222 0, 0, 0, 0, 0, 345, 0, 0, 0, 0, 2223 0, 0, 0, 0, 276, 345, 345, 0, 845, 0, 2224 277, 218, 849, 0, 278, 0, 345, 279, 280, 270, 2225 281, 282, 283, 43, 44, 0, 284, 285, 0, 0, 2226 0, 0, 352, 0, 0, 0, 0, 0, 1322, 171, 2227 0, 0, 171, 171, 171, 1507, 344, 0, 0, 286, 2228 0, 367, 0, 0, 0, 0, 0, 47, 48, 288, 2229 289, 290, 291, 0, 0, 160, 0, 0, 0, 0, 2230 754, 0, 0, 0, 0, 0, 79, 0, 0, 0, 2231 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2232 0, 0, 0, 0, 352, 0, 0, 0, 0, 0, 2233 345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2234 0, 77, 0, 0, 0, 0, 0, 0, 0, 0, 2235 0, 0, 0, 0, 0, 0, 160, 0, 0, 0, 2236 260, 0, 0, 0, 0, 0, 0, 352, 352, 0, 2237 0, 344, 345, 344, 0, 0, 0, 0, 0, 0, 2238 0, 0, 0, 352, 0, 0, 160, 0, 0, 0, 2239 0, 0, 0, 0, 0, 0, 358, 0, 0, 363, 2240 344, 0, 352, 0, 0, 0, 0, 0, 344, 344, 2241 344, 0, 0, 85, 0, 0, 0, 0, 0, 344, 2242 344, 0, 345, 345, 0, 345, 345, 85, 0, 0, 2243 352, 77, 0, 0, 0, 0, 0, 0, 0, 0, 2244 0, 0, 0, 79, 171, 0, 0, 160, 0, 0, 2245 0, 0, 0, 0, 0, 0, 0, 0, 0, 212, 2246 0, 0, 0, 0, 0, 0, 0, 0, 0, 352, 2247 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2248 0, 0, 0, 345, 345, 0, 0, 0, 0, 0, 2249 0, 0, 0, 0, 0, 0, 363, 0, 0, 0, 2250 0, 0, 0, 160, 0, 352, 0, 0, 0, 0, 2251 0, 0, 217, 0, 0, 352, 352, 0, 0, 0, 2252 0, 219, 0, 0, 0, 1082, 352, 0, 0, 0, 2253 512, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2254 0, 1095, 160, 0, 1099, 1102, 344, 0, 0, 0, 2255 0, 0, 0, 0, 0, 171, 345, 0, 0, 0, 2256 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2257 0, 0, 0, 0, 0, 344, 0, 0, 581, 0, 2258 0, 0, 0, 605, 0, 0, 85, 0, 0, 0, 2259 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 2260 0, 77, 0, 0, 0, 0, 171, 0, 0, 171, 2261 352, 0, 0, 0, 0, 0, 0, 1161, 0, 0, 2262 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 2263 0, 0, 0, 0, 0, 1178, 1179, 171, 0, 0, 2264 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2265 0, 345, 352, 345, 0, 0, 0, 171, 160, 160, 2266 77, 0, 171, 0, 358, 0, 0, 0, 0, 0, 2267 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2268 345, 0, 0, 0, 0, 160, 0, 0, 345, 345, 2269 345, 171, 1099, 0, 0, 0, 0, 0, 0, 345, 2270 345, 0, 352, 352, 0, 352, 352, 0, 0, 0, 2271 0, 79, 686, 0, 0, 0, 0, 0, 0, 0, 2272 0, 0, 0, 85, 205, 0, 0, 0, 160, 0, 2273 0, 0, 0, 225, 0, 229, 0, 231, 0, 0, 2274 512, 0, 512, 234, 0, 512, 0, 160, 512, 0, 2275 0, 0, 0, 0, 1263, 0, 0, 358, 0, 0, 2276 171, 0, 0, 352, 352, 171, 0, 0, 0, 0, 2277 0, 0, 0, 1273, 205, 0, 229, 231, 234, 0, 2278 0, 0, 0, 0, 0, 0, 0, 0, 171, 0, 2279 171, 0, 218, 0, 171, 0, 0, 171, 0, 0, 2280 0, 0, 0, 0, 0, 0, 0, 0, 160, 0, 2281 171, 0, 0, 205, 171, 0, 0, 0, 0, 358, 2282 0, 0, 774, 0, 0, 0, 345, 0, 0, 0, 2283 0, 0, 0, 0, 0, 0, 352, 0, 0, 0, 2284 0, 0, 0, 0, 0, 0, 0, 0, 581, 0, 2285 0, 0, 0, 581, 0, 345, 0, 0, 0, 0, 2286 0, 0, 358, 358, 0, 0, 0, 0, 0, 1340, 2287 0, 0, 0, 205, 79, 229, 231, 234, 358, 0, 2288 0, 79, 0, 0, 0, 0, 0, 0, 0, 0, 2289 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2290 0, 85, 0, 0, 0, 205, 0, 0, 0, 0, 2291 205, 512, 0, 0, 0, 0, 0, 0, 0, 0, 2292 0, 0, 0, 0, 0, 358, 0, 882, 0, 0, 2293 0, 352, 0, 352, 0, 0, 0, 0, 0, 0, 2294 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2295 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2296 352, 0, 0, 0, 686, 0, 0, 0, 352, 352, 2297 352, 0, 0, 0, 0, 0, 0, 0, 205, 352, 2298 352, 0, 273, 274, 0, 275, 0, 0, 0, 0, 2299 0, 85, 0, 0, 152, 0, 0, 205, 0, 0, 2300 0, 0, 229, 231, 0, 0, 0, 0, 0, 0, 2301 234, 276, 0, 0, 0, 605, 0, 622, 0, 136, 2302 137, 278, 0, 0, 279, 280, 270, 281, 282, 283, 2303 43, 44, 0, 284, 285, 0, 0, 0, 239, 0, 2304 0, 0, 0, 0, 0, 0, 0, 0, 244, 0, 2305 205, 0, 0, 0, 0, 0, 286, 0, 623, 0, 2306 624, 368, 0, 0, 47, 48, 288, 289, 290, 291, 2307 205, 0, 219, 0, 0, 205, 0, 205, 0, 0, 2308 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2309 0, 0, 0, 205, 0, 0, 205, 205, 0, 0, 2310 0, 0, 0, 205, 0, 358, 352, 0, 0, 0, 2311 512, 0, 0, 0, 374, 0, 0, 205, 0, 0, 2312 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, 2313 0, 0, 0, 0, 0, 352, 406, 0, 0, 0, 2314 0, 160, 0, 0, 0, 0, 0, 686, 0, 0, 2315 420, 0, 0, 0, 85, 0, 0, 0, 0, 425, 2316 0, 85, 0, 0, 0, 0, 0, 0, 0, 433, 2317 0, 0, 0, 0, 0, 0, 0, 0, 0, 581, 2318 0, 0, 0, 0, 0, 0, 0, 0, 450, 0, 2319 0, 0, 0, 460, 0, 0, 0, 0, 0, 0, 2320 358, 358, 0, 0, 0, 0, 468, 0, 0, 0, 2321 0, 0, 0, 0, 482, 0, 486, 0, 0, 0, 2322 85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2323 0, 0, 0, 0, 0, 513, 205, 0, 8, 9, 2324 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2325 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2326 28, 29, 30, 0, 205, 0, 0, 0, 0, 205, 2327 33, 0, 0, 0, 0, 0, 571, 0, 0, 0, 2328 575, 0, 0, 0, 512, 0, 0, 0, 0, 0, 2329 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2330 0, 0, 0, 39, 0, 40, 41, 42, 618, 0, 2331 0, 0, 619, 620, 0, 621, 43, 44, 0, 0, 2332 0, 0, 632, 633, 0, 634, 635, 205, 636, 0, 2333 637, 686, 0, 0, 0, 0, 0, 0, 0, 312, 2334 0, 205, 45, 0, 46, 0, 0, 571, 0, 335, 2335 47, 48, 0, 0, 0, 653, 0, 0, 0, 0, 2336 370, 370, 0, 0, 0, 0, 0, 0, 0, 0, 2337 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 2338 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2339 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2340 -299, 0, 0, 0, 678, 0, 0, 512, 0, 0, 2341 681, 0, 33, 0, 0, 450, 0, 0, 205, 0, 2342 0, 0, 0, 0, 0, 0, 0, 0, 686, 205, 2343 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2344 36, 273, 274, 0, 275, 0, 205, 0, 464, 0, 2345 0, -299, 0, 0, 0, 720, 0, 0, 0, 0, 2346 0, 0, 0, 0, 0, 0, 0, 731, 0, 0, 2347 276, 0, 0, 0, 358, 358, 277, 0, 0, 0, 2348 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2349 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2350 0, 0, 0, 0, 756, 0, 0, 0, 0, 0, 2351 0, 0, 0, 766, 0, 286, 767, 367, 0, 0, 2352 368, 0, 0, 47, 48, 288, 289, 290, 291, 0, 2353 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 2354 0, 0, 0, 205, 8, 9, 10, 11, 12, 13, 2355 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2356 24, 25, 26, 27, -300, 370, 212, 0, 0, 0, 2357 0, 826, 0, 0, 0, 0, 33, 0, 0, 0, 2358 330, 353, 0, 0, 0, 0, 0, 0, 497, 0, 2359 499, 502, 0, 0, 0, 0, 205, 0, 0, 505, 2360 506, 358, 0, 0, 36, 0, 0, 205, 861, 0, 2361 0, 0, 402, 499, 499, -300, 212, 0, 0, 402, 2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2363 0, 0, 0, 0, 0, 239, 0, 0, 312, 0, 2364 0, 0, 0, 0, 0, 0, 0, 0, 0, 499, 2365 0, 895, 896, 0, 0, 0, 0, 680, 512, 0, 2366 512, 903, 0, 0, 0, 0, 0, 0, 0, 0, 2367 0, 0, 0, 0, 0, 916, 0, 0, 0, 0, 2368 920, 0, 0, 0, 499, 402, 0, 0, 0, 0, 2369 0, 0, 0, 0, 0, 0, 0, 512, 0, 512, 2370 717, 0, 0, 0, 205, 0, 0, 0, 0, 0, 2371 726, 0, 0, 0, 0, 717, 0, 0, 717, 0, 2372 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2373 0, 735, 0, 0, 0, 0, 0, 0, 160, 0, 2374 953, 0, 0, 402, 0, 0, 0, 954, 0, 0, 2375 0, 0, 402, 567, 0, 402, 570, 0, 0, 0, 2376 956, 764, 957, 353, 0, 0, 0, 597, 335, 0, 2377 0, 0, 726, 0, 0, 967, 0, 0, 0, 0, 2378 0, 971, 0, 0, 0, 0, 615, 0, 0, 0, 2379 0, 0, 1014, 0, 0, 0, 1015, 0, 0, 0, 2380 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2381 0, 0, 0, 402, 0, 0, 0, 402, 825, 0, 2382 0, 0, 0, 0, 0, 0, 370, 0, 0, 205, 2383 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2384 0, 0, 0, 0, 0, 0, 0, 0, 0, 353, 2385 0, 0, 499, 499, 499, 499, 499, 499, 499, 499, 2386 499, 499, 499, 499, 499, 499, 499, 499, 499, 499, 2387 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2388 0, 1087, 0, 0, 0, 0, 0, 0, 0, 0, 2389 0, 887, 0, 0, 402, 0, 0, 353, 0, 0, 2390 0, 0, 0, 0, 0, 0, 0, 717, 0, 0, 2391 0, 0, 0, 0, 0, 273, 274, 726, 275, 909, 2392 0, 0, 912, 0, 0, 0, 0, 0, 919, 0, 2393 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2394 0, 0, 353, 0, 276, 0, 0, 0, 1152, 0, 2395 277, 0, 0, 0, 278, 0, 0, 279, 280, 270, 2396 281, 282, 283, 43, 44, 0, 284, 285, 936, 937, 2397 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2398 205, 0, 0, 0, 335, 402, 402, 0, 0, 286, 2399 1182, 367, 0, 0, 0, 1184, 725, 47, 48, 288, 2400 289, 290, 291, 769, 353, 1189, 0, 0, 0, 0, 2401 0, 0, 0, 597, 499, 597, 597, 0, 0, 0, 2402 0, 0, 597, 965, 0, 0, 0, 370, 0, 1211, 2403 205, 0, 806, 353, 0, 0, 0, 0, 353, 499, 2404 0, 0, 1219, 0, 0, 0, 1220, 353, 353, 1221, 2405 0, 0, 0, 0, 0, 0, 0, 0, 335, 0, 2406 0, 0, 0, 353, 0, 1230, 1231, 402, 847, 499, 2407 0, 402, 851, 0, 0, 0, 0, 0, 0, 0, 2408 854, 0, 0, 1242, 0, 0, 0, 0, 0, 0, 2409 0, 0, 0, 0, 312, 0, 0, 0, 0, 0, 2410 335, 0, 0, 0, 0, 0, 0, 370, 0, 0, 2411 353, 597, 912, 0, 0, 717, 0, 0, 0, 0, 2412 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2413 0, 0, 0, 0, 0, 1091, 0, 0, 0, 0, 2414 0, 0, 0, 0, 0, 0, 1109, 0, 1288, 353, 2415 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2416 0, 0, 0, 0, 0, 205, 370, 0, 1126, 0, 2417 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2418 0, 0, 0, 912, 912, 0, 0, 0, 0, 402, 2419 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420 0, 0, 0, 0, 0, 597, 0, 597, 0, 0, 2421 1157, 0, 0, 0, 0, 0, 0, 597, 0, 0, 2422 0, 0, 0, 0, 0, 0, 0, 1345, 0, 1346, 2423 0, 0, 0, 0, 0, 0, 0, 0, 499, 1349, 2424 0, 1350, 0, 0, 0, 0, 0, 0, 0, 0, 2425 499, 0, 0, 0, 0, 0, 1357, 0, 0, 0, 2426 0, 0, 0, 912, 0, 0, 0, 0, 0, 0, 2427 0, 0, 0, 0, 1376, 1378, 0, 0, 0, 0, 2428 0, 0, 0, 0, 825, 0, 0, 1386, 0, 499, 2429 353, 0, 1387, 0, 0, 1189, 0, 402, 0, 0, 2430 0, 0, 1222, 1223, 0, 0, 0, 0, 0, 597, 2431 597, 1405, 0, 0, 0, 0, 0, 0, 0, 0, 2432 0, 1412, 0, 0, 1414, 0, 1416, 1418, 1420, 0, 2433 0, 0, 353, 0, 0, 0, 0, 0, 0, 499, 2434 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2435 0, 0, 0, 0, 402, 1084, 0, 0, 0, 0, 2436 0, 0, 0, 0, 353, 0, 1453, 0, 1455, 0, 2437 402, 1097, 0, 597, 597, 1104, 0, 0, 1189, 0, 2438 0, 0, 0, 0, 0, 353, 353, 0, 1471, 0, 2439 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2440 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2441 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2442 23, 24, 25, 26, 27, -299, 0, 28, 29, 30, 2443 31, 0, 0, 0, 32, 499, 499, 33, 0, 0, 2444 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2445 402, 0, 402, 1332, 402, 0, 0, 717, 0, 402, 2446 0, 0, 0, 0, 0, 36, 0, 37, 0, 38, 2447 0, 0, 40, 41, 0, 597, -299, 0, 0, 0, 2448 0, 0, 0, 1, 2, 200, 4, 5, 6, 7, 2449 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2450 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2451 0, 46, 28, 29, 30, 31, 353, 47, 48, 32, 2452 273, 274, 33, 974, 975, 0, 976, 0, 0, 977, 2453 978, 979, 980, 981, 982, 983, 984, 0, 0, 0, 2454 985, 0, 0, 0, 986, 987, 0, 988, 0, 276, 2455 36, 0, 37, 0, 38, 989, 0, 990, 991, 992, 2456 0, 0, 279, 280, 270, 281, 282, 283, 43, 44, 2457 0, 284, 285, 0, 0, 0, 0, 0, 0, 0, 2458 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2459 0, 0, 0, 0, 286, 402, 287, 0, 0, 166, 2460 402, 0, 47, 48, 288, 289, 290, 291, 0, 0, 2461 0, 0, 993, 353, 0, 0, 0, -134, 0, 0, 2462 0, 0, 0, 0, 0, 0, 1, 2, 200, 4, 2463 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2152 2464 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2153 25, 26, 27, 347, 348, 0, 580, 0, 587, 0, 2154 59, 347, 347, 347, 0, 33, 0, 0, 355, 611, 2155 612, 0, 347, 347, 0, 0, 0, 0, 0, 0, 2156 0, 0, 0, 0, 78, 0, 0, 0, 0, 274, 2157 275, 0, 276, 36, 0, 0, 0, 59, 0, 0, 2158 0, 0, 0, 0, 355, 0, 0, 0, 0, 0, 2159 0, 0, 0, 0, 355, 355, 0, 80, 277, 0, 2160 221, 0, 0, 0, 278, 355, 0, 0, 279, 173, 2161 0, 280, 281, 282, 283, 284, 285, 43, 44, 0, 2162 286, 287, 0, 0, 340, 340, 0, 348, 0, 348, 2163 0, 0, 0, 0, 0, 0, 59, 0, 0, 0, 2164 0, 0, 0, 288, 0, 370, 0, 0, 219, 0, 2165 0, 47, 48, 290, 291, 292, 293, 0, 0, 0, 2166 0, 0, 348, 0, 760, 86, 0, 0, 0, 0, 2167 348, 348, 348, 0, 0, 0, 59, 0, 0, 0, 2168 0, 348, 348, 0, 0, 347, 0, 0, 0, 355, 2169 0, 0, 0, 80, 0, 0, 0, 0, 0, 0, 2465 25, 26, 27, 0, 0, 28, 29, 30, 31, 353, 2466 353, 0, 32, 0, 0, 33, 0, 0, 0, 0, 2467 0, 0, 0, 0, 0, 0, 499, 0, 0, 0, 2170 2468 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2171 0, 347, 0, 0, 0, 0, 0, 0, 0, 59, 2172 59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2173 0, 0, 0, 0, 78, 0, 0, 0, 355, 0, 2174 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 2175 0, 0, 0, 0, 0, 0, 173, 340, 0, 173, 2176 173, 173, 0, 0, 0, 0, 0, 0, 0, 0, 2177 0, 0, 59, 0, 0, 0, 0, 220, 0, 0, 2178 1100, 0, 0, 0, 59, 0, 0, 0, 355, 355, 2179 0, 355, 355, 0, 78, 0, 1113, 0, 0, 1117, 2180 1120, 0, 0, 0, 0, 0, 59, 0, 0, 86, 2181 0, 0, 0, 59, 348, 8, 9, 10, 11, 12, 2182 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2183 23, 24, 25, 26, 27, -299, 0, 0, 0, 0, 2184 348, 0, 0, 0, 0, 0, 0, 33, 355, 355, 2469 0, 312, 0, 36, 0, 37, 0, 38, 402, 1342, 2470 40, 41, 402, 0, 0, 199, 2, 200, 4, 5, 2471 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2472 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2473 26, 27, 0, 0, 28, 29, 30, 0, 499, 46, 2474 0, 0, 0, 0, 33, 47, 48, 0, 0, 0, 2475 499, 499, 0, 0, 0, 0, 0, 0, 0, 0, 2185 2476 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2186 0, 0, 0, 80, 0, 0, 59, 0, 0, 0, 2187 80, 1177, 0, 0, 879, 36, 880, 0, 0, 0, 2188 0, 0, 0, 883, 884, 0, -299, 0, 889, 1194, 2189 1195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2190 0, 0, 0, 0, 0, 0, 900, 0, 0, 0, 2191 0, 904, 0, 0, 0, 0, 0, 0, 0, 0, 2192 0, 0, 0, 80, 0, 0, 0, 355, 0, 0, 2193 0, 0, 587, 0, 173, 0, 0, 0, 0, 0, 2194 0, 0, 0, 0, 0, 162, 0, 0, 0, 0, 2195 274, 275, 1117, 276, 0, 0, 0, 0, 0, 0, 2196 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 2197 0, 0, 0, 0, 0, 0, 0, 0, 0, 277, 2198 0, 0, 0, 0, 0, 278, 0, 0, 0, 279, 2199 86, 0, 280, 281, 282, 283, 284, 285, 43, 44, 2200 0, 286, 287, 0, 0, 0, 0, 162, 0, 0, 2201 0, 262, 1283, 0, 0, 0, 0, 0, 0, 0, 2202 355, 0, 355, 0, 288, 971, 370, 972, 973, 974, 2203 0, 1293, 47, 48, 290, 291, 292, 293, 162, 0, 2204 0, 0, 0, 0, 0, 0, 1024, 0, 361, 173, 2205 0, 366, 0, 0, 0, 355, 0, 0, 0, 0, 2206 0, 0, 1030, 355, 355, 355, 0, 0, 0, 0, 2207 0, 0, 0, 0, 355, 355, 0, 0, 0, 0, 2208 0, 0, 0, 0, 0, 1057, 86, 0, 0, 0, 2209 0, 0, 0, 0, 0, 0, 0, 0, 0, 162, 2210 0, 0, 0, 0, 0, 173, 0, 0, 173, 0, 2211 0, 214, 0, 0, 0, 0, 0, 0, 0, 0, 2212 0, 0, 0, 0, 0, 0, 0, 1085, 0, 0, 2213 0, 1363, 1095, 0, 173, 0, 0, 1098, 0, 0, 2214 0, 0, 1103, 1104, 0, 0, 0, 1106, 366, 1107, 2215 1108, 0, 0, 1111, 0, 162, 0, 0, 0, 173, 2216 0, 0, 1126, 0, 173, 0, 0, 0, 0, 0, 2217 221, 0, 0, 0, 0, 0, 0, 0, 1140, 1141, 2218 0, 0, 515, 0, 0, 0, 0, 0, 0, 0, 2219 0, 0, 0, 0, 173, 162, 0, 0, 0, 0, 2220 0, 0, 0, 0, 0, 0, 0, 355, 0, 1167, 2221 0, 0, 1169, 0, 0, 0, 0, 0, 0, 0, 2477 0, 0, 36, 499, 37, 0, 38, 0, 0, 201, 2478 41, 0, 0, 0, 0, 0, 353, 0, 0, 0, 2479 1, 2, 200, 4, 5, 6, 7, 8, 9, 10, 2480 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2481 21, 22, 23, 24, 25, 26, 27, 0, 202, 28, 2482 29, 30, 31, 0, 47, 48, 32, 273, 274, 33, 2483 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2484 0, 0, 0, 0, 0, 499, 0, 0, 0, 0, 2485 0, 0, 0, 0, 0, 0, 276, 36, 0, 37, 2486 0, 38, 277, 0, 40, 41, 278, 0, 0, 279, 2487 280, 270, 281, 282, 283, 43, 44, 402, 284, 285, 2222 2488 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2223 0, 585, 0, 355, 0, 0, 609, 0, 0, 0,2224 2489 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2225 0, 0, 0, 0, 0, 0, 86, 173, 0, 0, 2226 0, 0, 173, 86, 0, 1202, 0, 0, 0, 0, 2227 0, 1206, 1207, 0, 0, 0, 0, 0, 0, 0, 2228 0, 173, 0, 173, 0, 0, 1220, 173, 0, 0, 2229 173, 1227, 0, 0, 0, 0, 1231, 0, 173, 0, 2230 0, 0, 173, 0, 0, 0, 0, 0, 0, 1239, 2231 0, 162, 162, 0, 0, 0, 86, 361, 0, 0, 2232 0, 0, 0, 0, 0, 1246, 0, 1248, 1249, 1250, 2233 1251, 0, 0, 0, 0, 0, 0, 0, 162, 0, 2234 0, 0, 1258, 0, 1140, 0, 0, 0, 0, 0, 2490 0, 286, 0, 287, 0, 0, 402, 402, 0, 47, 2491 48, 288, 289, 290, 291, 0, 0, 0, 0, 0, 2492 0, 0, 0, 0, -134, 0, 0, 0, 0, 0, 2493 0, 0, 0, 0, 0, 0, 402, 1, 2, 200, 2494 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2495 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2496 24, 25, 26, 27, 0, 0, 28, 29, 30, 31, 2497 0, 0, 0, 32, 273, 274, 33, 275, 8, 9, 2498 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2499 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2500 28, 29, 30, 276, 36, 0, 37, 0, 38, 277, 2501 33, 40, 41, 278, 0, 0, 279, 280, 270, 281, 2502 282, 283, 43, 44, 0, 284, 285, 0, 0, 0, 2503 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2504 0, 0, 0, 0, 0, 40, 41, 0, 286, 0, 2505 287, 0, 0, 0, 0, 0, 47, 48, 288, 289, 2506 290, 291, 2, 200, 4, 5, 6, 7, 8, 9, 2507 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2508 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2509 28, 29, 30, 0, 0, 0, 0, 0, 273, 274, 2510 33, 275, 8, 9, 10, 11, 12, 13, 14, 15, 2511 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2512 26, 27, 0, 0, 28, 29, 30, 276, 36, 0, 2513 37, 0, 38, 277, 33, 40, 41, 278, 0, 0, 2514 279, 280, 270, 281, 282, 283, 43, 44, 0, 284, 2515 285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2516 0, 0, 36, 0, 0, 0, 0, 0, 0, 201, 2517 41, 0, 286, 0, 332, 0, 0, 0, 0, 725, 2518 333, 48, 288, 289, 290, 291, 2, 200, 4, 5, 2519 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2520 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2521 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2522 0, 0, 273, 274, 33, 275, 8, 9, 10, 11, 2523 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2524 22, 23, 24, 25, 26, 27, 0, 0, 0, 0, 2525 0, 276, 36, 0, 37, 0, 38, 277, 33, 40, 2526 41, 278, 0, 0, 279, 280, 270, 281, 282, 283, 2527 43, 44, 0, 284, 285, 0, 0, 0, 0, 0, 2528 0, 0, 0, 0, 0, 0, 36, 0, 0, 0, 2529 0, 0, 0, 0, 0, 0, 286, 0, 332, 0, 2530 0, 0, 0, 725, 47, 48, 288, 289, 290, 291, 2531 2, 200, 4, 5, 6, 7, 8, 9, 10, 11, 2532 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2533 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2534 30, 0, 0, 0, 0, 0, 273, 274, 33, 275, 2235 2535 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2236 0, 0, 0, 0, 0, 690, 0, 0, 0, 0,2237 0, 0, 0, 0, 1285, 1286, 0, 207, 0, 0,2238 0, 162, 0, 0, 0, 0, 227, 0, 231, 0,2239 233, 0, 0, 515, 0, 515, 236, 0, 515, 0,2240 162, 515, 0, 0, 0, 0, 0, 0, 0, 0,2241 361, 0, 0, 0, 0, 0, 0, 0, 0, 0,2242 0, 0, 0, 0, 0, 0, 0, 207, 0, 231,2243 233, 236, 0, 0, 0, 0, 0, 0, 0, 0,2244 0, 0, 0, 0, 1326, 1327, 0, 0, 0, 0,2245 0, 0, 0, 0, 1337, 0, 0, 0, 0, 0,2246 0, 0, 162, 0, 0, 0, 0, 207, 0, 0,2247 0, 0, 0, 361, 0, 0, 780, 0, 0, 0,2248 0, 0, 8, 9, 10, 11, 12, 13, 14, 15,2249 16, 17, 18, 19, 20, 21, 22, 23, 24, 25,2250 26, 27, 585, 0, 28, 29, 30, 585, 0, 0,2251 0, 0, 0, 0, 33, 0, 361, 361, 0, 0,2252 0, 1379, 0, 1380, 1381, 1382, 0, 207, 0, 231,2253 233, 236, 361, 0, 0, 1386, 0, 0, 0, 0,2254 0, 0, 36, 1397, 0, 0, 169, 39, 0, 40,2255 41, 42, 0, 0, 0, 0, 0, 0, 0, 207,2256 43, 44, 0, 0, 207, 515, 0, 0, 0, 0,2257 0, 0, 0, 0, 0, 0, 1420, 0, 0, 361,2258 0, 888, 0, 0, 0, 0, 45, 0, 46, 0,2259 0, 0, 0, 0, 47, 48, 8, 9, 10, 11,2260 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,2261 22, 23, 24, 25, 26, 27, -300, 126, 0, 0,2262 690, 1459, 1460, 0, 0, 0, 0, 0, 33, 0,2263 0, 0, 0, 207, 1465, 0, 0, 0, 154, 0,2264 0, 1465, 0, 0, 0, 0, 0, 0, 0, 0,2265 0, 1483, 207, 0, 0, 0, 36, 231, 233, 0,2266 0, 0, 0, 0, 0, 236, 0, -300, 0, 0,2267 0, 609, 126, 0, 1499, 0, 0, 0, 1505, 0,2268 0, 0, 0, 241, 0, 0, 0, 126, 0, 126,2269 0, 0, 0, 246, 0, 0, 0, 0, 0, 0,2270 0, 0, 0, 0, 0, 207, 0, 1528, 0, 1529,2271 0, 0, 0, 0, 267, 0, 0, 0, 0, 0,2272 0, 0, 0, 0, 0, 207, 0, 0, 0, 0,2273 207, 0, 207, 0, 0, 0, 0, 0, 1544, 1545,2274 0, 0, 0, 0, 0, 0, 1548, 1549, 207, 0,2275 0, 207, 207, 0, 0, 0, 0, 0, 207, 0,2276 377, 361, 0, 0, 0, 0, 515, 0, 0, 0,2277 0, 0, 207, 0, 126, 0, 126, 126, 0, 207,2278 0, 126, 409, 126, 126, 0, 0, 0, 0, 0,2279 0, 0, 0, 0, 0, 0, 423, 162, 0, 0,2280 0, 0, 0, 0, 0, 428, 0, 0, 0, 0,2281 690, 0, 0, 0, 0, 436, 0, 0, 0, 0,2282 0, 961, 0, 0, 8, 9, 10, 11, 12, 0,2283 0, 0, 0, 0, 453, 0, 0, 0, 0, 463,2284 0, 0, 585, 0, 0, 0, 0, 126, 0, 0,2285 0, 0, 471, 0, 274, 275, 33, 276, 0, 0,2286 485, 0, 489, 361, 361, 0, 0, 0, 0, 0,2287 2536 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2288 0, 516, 0, 277, 36, 0, 0, 0, 0, 278,2289 0, 0, 207, 279, 0, 0, 280, 281, 282, 283,2290 2 84, 285, 43, 44, 0, 286, 287, 0, 0, 0,2537 0, 0, 0, 0, 0, 276, 36, 0, 37, 0, 2538 38, 277, 0, 40, 41, 278, 0, 0, 279, 280, 2539 270, 281, 282, 283, 43, 44, 0, 284, 285, 0, 2291 2540 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2292 207, 0, 0, 575, 0, 207, 0, 579, 288, 0,2293 370, 0, 0, 0, 0, 0, 336, 48, 290, 291,2294 292, 293, 0, 0, 0, 0, 515, 0, 0, 0,2295 0, 0, 0, 0, 0, 622, 0, 0, 0, 623,2296 624, 0, 625, 0, 0, 0, 0, 0, 0, 636,2297 637, 0, 638, 639, 0, 640, 0, 641, 0, 0,2298 0, 0, 0, 207, 0, 0, 0, 126, 0, 0,2299 0, 0, 0, 0, 575, 0, 0, 207, 0, 690,2300 0, 0, 657, 0, 0, 0, 0, 0, 0, 0,2301 2541 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2302 0, 0, 0, 0, 0, 0, 668, 0, 0, 0, 2542 286, 0, 332, 0, 0, 0, 0, 0, 333, 48, 2543 288, 289, 290, 291, 2, 200, 4, 5, 6, 7, 2544 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2545 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2546 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2547 273, 274, 33, 275, 0, 0, 0, 0, 0, 0, 2303 2548 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2304 333, 356, 0, 0, 0, 0, 0, 0, 0, 0, 2305 0, 682, 0, 0, 0, 0, 0, 685, 0, 0, 2306 0, 0, 453, 0, 0, 0, 0, 0, 0, 0, 2307 0, 0, 405, 515, 0, 0, 207, 0, 0, 405, 2308 0, 0, 0, 0, 0, 0, 0, 207, 0, 274, 2309 275, 0, 276, 0, 690, 0, 0, 0, 0, 0, 2310 0, 0, 726, 0, 207, 0, 0, 0, 0, 0, 2311 0, 0, 0, 0, 0, 737, 0, 0, 277, 0, 2312 0, 0, 0, 0, 626, 0, 137, 138, 279, 0, 2313 0, 280, 281, 282, 283, 284, 285, 43, 44, 0, 2314 286, 287, 0, 0, 0, 405, 361, 361, 0, 0, 2315 0, 0, 762, 126, 126, 0, 0, 0, 0, 0, 2316 0, 772, 0, 288, 773, 627, 0, 628, 371, 0, 2317 0, 47, 48, 290, 291, 292, 293, 0, 0, 0, 2318 126, 793, 0, 126, 126, 0, 126, 0, 126, 126, 2319 0, 0, 0, 126, 126, 0, 0, 0, 0, 0, 2320 0, 207, 0, 0, 405, 0, 0, 0, 0, 0, 2321 0, 0, 0, 405, 571, 0, 405, 574, 0, 832, 2322 0, 0, 0, 0, 356, 0, 0, 0, 601, 0, 2323 0, 126, 0, 0, 0, 126, 0, 0, 0, 0, 2324 0, 214, 0, 0, 0, 0, 0, 619, 0, 0, 2325 0, 0, 0, 0, 0, 0, 867, 0, 0, 0, 2326 0, 207, 0, 0, 0, 0, 0, 0, 0, 0, 2327 0, 0, 207, 0, 405, 0, 0, 0, 405, 361, 2328 0, 0, 0, 241, 0, 0, 0, 0, 0, 0, 2329 0, 0, 0, 0, 214, 0, 0, 0, 0, 901, 2330 902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2331 356, 916, 0, 0, 0, 0, 0, 0, 0, 0, 2332 0, 0, 0, 0, 0, 929, 0, 0, 0, 0, 2333 933, 0, 0, 0, 0, 0, 0, 515, 0, 515, 2549 0, 0, 0, 0, 0, 0, 0, 0, 0, 276, 2550 36, 0, 37, 0, 38, 277, 0, 201, 41, 278, 2551 0, 0, 279, 280, 270, 281, 282, 283, 43, 44, 2552 0, 284, 285, 0, 0, 0, 0, 0, 0, 0, 2334 2553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2335 0, 0, 0, 0, 0, 405, 0, 0, 356, 0, 2336 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, 2337 0, 0, 0, 0, 515, 0, 515, 0, 0, 0, 2338 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2339 966, 0, 0, 0, 0, 0, 0, 967, 0, 0, 2340 0, 0, 0, 356, 0, 162, 0, 0, 0, 0, 2341 969, 0, 970, 0, 0, 0, 0, 0, 0, 0, 2342 0, 0, 0, 0, 0, 980, 0, 0, 0, 0, 2343 0, 984, 0, 0, 0, 0, 0, 0, 0, 0, 2344 0, 0, 1026, 0, 0, 0, 1027, 405, 405, 315, 2345 0, 0, 0, 0, 0, 0, 0, 0, 0, 338, 2346 0, 0, 0, 0, 0, 775, 356, 0, 0, 0, 2347 373, 373, 0, 0, 0, 601, 0, 601, 601, 0, 2348 0, 0, 0, 0, 601, 0, 0, 0, 0, 0, 2349 0, 0, 0, 0, 812, 356, 0, 207, 0, 0, 2350 356, 0, 0, 0, 0, 0, 0, 0, 0, 356, 2351 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2352 0, 0, 0, 0, 0, 356, 0, 126, 0, 405, 2353 853, 0, 0, 405, 857, 0, 0, 0, 1105, 0, 2354 0, 0, 860, 126, 0, 0, 126, 126, 0, 0, 2355 0, 0, 0, 0, 0, 0, 0, 0, 467, 0, 2356 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2357 0, 0, 356, 601, 8, 9, 10, 11, 12, 13, 2554 0, 0, 0, 0, 286, 0, 933, 0, 0, 0, 2555 0, 0, 934, 48, 288, 289, 290, 291, 2, 200, 2556 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2358 2557 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2359 2558 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2360 0, 0, 0, 0, 1168, 0, 33, 872, 0, 0, 2361 0, 0, 0, 356, 0, 0, 0, 0, 126, 0, 2362 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2363 0, 126, 0, 0, 36, 0, 126, 126, 0, 0, 2364 0, 40, 41, 0, 0, 0, 1198, 0, 0, 0, 2365 0, 1200, 0, 405, 0, 0, 0, 207, 0, 0, 2366 0, 1205, 0, 0, 0, 0, 0, 0, 0, 601, 2367 0, 601, 0, 0, 0, 0, 373, 0, 0, 0, 2368 719, 601, 0, 0, 873, 0, 47, 48, 0, 0, 2369 0, 1233, 0, 0, 0, 0, 0, 0, 0, 126, 2370 0, 0, 0, 0, 1241, 0, 0, 0, 1242, 0, 2371 207, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 2372 0, 0, 0, 0, 0, 0, 0, 1252, 1253, 0, 2373 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2374 0, 0, 0, 0, 0, 1264, 0, 0, 0, 315, 2375 0, 0, 0, 0, 356, 0, 0, 0, 0, 126, 2376 0, 405, 0, 0, 0, 0, 0, 0, 684, 0, 2377 0, 0, 0, 601, 601, 0, 0, 0, 126, 0, 2559 0, 0, 0, 0, 273, 274, 33, 275, 0, 0, 2378 2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2379 2561 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2380 0, 0, 0, 356, 0, 0, 0, 0, 0, 0, 2381 0, 723, 0, 0, 1313, 0, 0, 0, 0, 0, 2382 0, 732, 0, 0, 0, 405, 1102, 723, 0, 0, 2383 723, 0, 0, 0, 0, 356, 207, 500, 0, 502, 2384 505, 405, 1115, 741, 601, 601, 1122, 0, 0, 508, 2385 509, 0, 0, 0, 0, 0, 356, 356, 0, 0, 2386 0, 0, 0, 0, 502, 502, 0, 0, 0, 0, 2387 0, 0, 0, 770, 0, 0, 0, 0, 126, 0, 2388 338, 0, 0, 0, 732, 0, 0, 0, 0, 0, 2389 0, 1368, 0, 1369, 0, 0, 0, 0, 0, 0, 2390 502, 0, 0, 0, 0, 0, 0, 0, 1377, 0, 2391 1378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2392 405, 0, 405, 0, 405, 1385, 0, 0, 0, 405, 2393 831, 0, 0, 0, 0, 502, 0, 0, 373, 0, 2394 0, 0, 0, 1404, 1406, 601, 0, 0, 0, 0, 2395 0, 0, 0, 0, 1411, 0, 0, 0, 0, 1412, 2396 0, 0, 1205, 0, 0, 0, 0, 0, 0, 0, 2397 0, 0, 0, 0, 0, 0, 0, 0, 274, 275, 2398 0, 276, 0, 1434, 0, 0, 0, 0, 0, 0, 2399 0, 0, 356, 1441, 0, 0, 1443, 0, 1445, 1447, 2400 1449, 0, 0, 893, 0, 0, 0, 277, 0, 0, 2401 0, 0, 0, 278, 0, 0, 0, 279, 0, 723, 2402 280, 281, 282, 283, 284, 285, 43, 44, 0, 286, 2403 287, 732, 0, 922, 0, 0, 925, 0, 0, 1480, 2404 0, 1482, 932, 0, 1205, 0, 0, 0, 0, 0, 2405 0, 0, 288, 0, 370, 0, 0, 371, 0, 1494, 2406 47, 48, 290, 291, 292, 293, 0, 0, 0, 405, 2407 0, 0, 0, 0, 405, 0, 0, 0, 0, 0, 2408 0, 0, 949, 950, 0, 0, 0, 356, 0, 0, 2409 0, 0, 0, 0, 0, 0, 0, 0, 338, 0, 2410 0, 0, 0, 0, 502, 502, 502, 502, 502, 502, 2411 502, 502, 502, 502, 502, 502, 502, 502, 502, 502, 2412 502, 502, 0, 0, 0, 0, 0, 0, 0, 0, 2413 0, 0, 0, 0, 0, 0, 0, 978, 0, 356, 2414 356, 373, 0, 0, 201, 2, 202, 4, 5, 6, 2415 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2416 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2417 27, 0, 338, 28, 29, 30, 405, 1365, 0, 0, 2418 405, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2562 0, 0, 0, 276, 36, 0, 37, 0, 38, 277, 2563 0, 201, 41, 278, 0, 0, 279, 280, 270, 281, 2564 282, 283, 43, 44, 0, 284, 285, 0, 0, 0, 2419 2565 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2420 0, 0, 0, 0, 0, 0, 0, 0, 315, 0, 2421 0, 36, 0, 37, 0, 38, 39, 0, 203, 41, 2422 42, 338, 0, 0, 0, 0, 0, 0, 373, 43, 2423 44, 0, 0, 925, 0, 1124, 723, 0, 8, 9, 2424 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 2425 0, 0, 0, 0, 0, 45, 1109, 204, 0, 0, 2426 0, 0, 0, 47, 48, 0, 502, 1127, 274, 275, 2427 33, 276, 356, 0, 0, 0, 0, 0, 0, 0, 2428 0, 0, 0, 0, 0, 0, 0, 373, 0, 1144, 2429 0, 0, 0, 502, 0, 0, 0, 277, 36, 0, 2430 0, 0, 0, 278, 925, 925, 0, 279, 0, 0, 2431 280, 281, 282, 283, 284, 285, 43, 44, 0, 286, 2432 287, 0, 0, 502, 0, 0, 0, 0, 0, 0, 2433 1173, 0, 274, 275, 0, 276, 0, 0, 0, 0, 2434 0, 0, 288, 0, 370, 0, 0, 0, 0, 0, 2435 1125, 48, 290, 291, 292, 293, 0, 0, 0, 0, 2436 0, 277, 405, 0, 0, 0, 0, 278, 0, 0, 2437 0, 279, 0, 0, 280, 281, 282, 283, 284, 285, 2438 43, 44, 0, 286, 287, 0, 0, 405, 405, 925, 2566 0, 0, 0, 0, 0, 0, 0, 0, 286, 0, 2567 367, 0, 0, 0, 0, 0, 47, 48, 288, 289, 2568 290, 291, -522, 0, 0, 1, 2, 3, 4, 5, 2569 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 2570 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2571 26, 27, 0, 0, 28, 29, 30, 31, 0, 0, 2572 0, 32, 0, 0, 33, 34, 0, 0, 0, 0, 2439 2573 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2440 0, 0, 0, 0, 0, 0, 288, 0, 370, 0, 2441 831, 923, 0, 405, 47, 48, 290, 291, 292, 293, 2442 0, 0, 0, 0, 0, 0, 0, 0, 1244, 1245, 2443 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2444 202, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2445 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2446 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2447 31, 0, 0, 502, 32, 274, 275, 33, 276, 0, 2574 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 2575 0, 0, 36, 0, 37, 0, 38, 39, 0, 40, 2576 41, 42, 0, 0, 0, 0, 0, 0, 0, 0, 2577 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 2448 2578 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2449 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 2450 0, 0, 0, 0, 277, 36, 0, 37, 0, 38, 2451 278, 502, 40, 41, 279, 0, 0, 280, 281, 282, 2452 283, 284, 285, 43, 44, 0, 286, 287, 0, 0, 2453 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2454 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 2455 502, 289, 0, 0, 0, 0, 0, 47, 48, 290, 2456 291, 292, 293, 0, 0, 0, 0, 0, 0, 0, 2457 0, 0, -134, 0, 0, 0, 0, 0, 0, 0, 2458 0, 0, 0, 1357, 0, 723, 0, 0, 0, 0, 2459 0, 0, 0, 0, 0, 0, 0, 0, 0, 502, 2460 0, 0, 0, 0, 0, 0, 1, 2, 202, 4, 2579 0, 0, 0, 0, 0, 0, 45, 0, 46, 0, 2580 0, 0, 0, 0, 47, 48, 1, 2, 3, 4, 2461 2581 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2462 2582 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2463 2583 25, 26, 27, 0, 0, 28, 29, 30, 31, 0, 2464 0, 502, 32, 274, 275, 33, 987, 988, 0, 989, 2465 0, 0, 990, 991, 992, 993, 994, 995, 996, 997, 2466 0, 0, 0, 998, 0, 0, 0, 999, 1000, 0, 2467 35, 0, 277, 36, 0, 37, 0, 38, 1001, 0, 2468 1002, 1003, 1004, 0, 0, 280, 281, 282, 283, 284, 2469 285, 43, 44, 0, 286, 287, 0, 0, 0, 0, 2470 0, 502, 502, 0, 0, 0, 0, 0, 0, 0, 2471 0, 0, 0, 0, 0, 0, 0, 288, 0, 289, 2472 0, 0, 168, 0, 0, 47, 48, 290, 291, 292, 2473 293, 0, 0, 0, 0, 1005, 0, 0, 0, 0, 2474 -134, 0, 0, 1, 2, 202, 4, 5, 6, 7, 2584 0, 0, 32, 0, 0, 33, 34, 0, 0, 0, 2585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2587 35, 0, 0, 36, 0, 37, 0, 38, 39, 0, 2588 40, 41, 42, 0, 0, 0, 0, 0, 0, 0, 2589 0, 43, 44, 0, 0, 0, 0, 0, 0, 0, 2590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2591 0, 0, 0, 0, 0, 0, 0, 45, 0, 46, 2592 0, 0, 0, -526, 0, 47, 48, 1, 2, 3, 2593 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2594 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2595 24, 25, 26, 27, 0, 0, 28, 29, 30, 31, 2596 0, 0, 0, 32, 0, 0, 33, 34, 0, 0, 2597 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2599 0, 35, 0, 0, 36, 0, 37, 0, 38, 39, 2600 0, 40, 41, 42, 0, 0, 0, 0, 0, 0, 2601 0, 0, 43, 44, 0, 0, 0, 0, 0, 0, 2602 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2603 0, 0, 0, 0, 0, 0, 0, 0, 45, 0, 2604 46, 0, 0, 0, 0, 0, 47, 48, 199, 2, 2605 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2606 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2607 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2608 0, 0, 0, 0, 0, 0, 0, 33, 0, 8, 2609 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2610 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2611 0, 28, 29, 30, 0, 36, 0, 37, 0, 38, 2612 39, 33, 201, 41, 42, 0, 0, 0, 0, 0, 2613 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2615 0, 0, 0, 0, 0, 0, 40, 41, 0, 45, 2616 0, 202, 0, 0, 0, 0, 0, 47, 48, 2, 2617 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2618 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2619 23, 24, 25, 26, 27, 245, 0, 28, 29, 30, 2620 0, 47, 48, 0, 0, 0, 0, 33, 0, 8, 2621 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2622 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2623 0, 28, 29, 30, 0, 36, 0, 37, 0, 38, 2624 39, 33, 201, 41, 42, 0, 0, 0, 0, 0, 2625 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2627 0, 0, 0, 0, 0, 0, 40, 41, 0, 45, 2628 0, 202, 0, 0, 0, 0, 0, 47, 48, 2, 2629 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2630 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2631 23, 24, 25, 26, 27, 46, 0, 28, 29, 30, 2632 0, 47, 48, 0, 0, 0, 0, 33, 0, 0, 2633 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2635 0, 0, 0, 0, 0, 36, 0, 37, 0, 38, 2636 0, 0, 40, 41, 2, 200, 4, 5, 6, 7, 2475 2637 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2476 2638 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2477 0, 0, 28, 29, 30, 31, 0, 0, 0, 32,2478 274, 275, 33, 276, 0, 0, 0, 0, 0, 0,2639 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2640 -407, 660, 33, 0, 0, 0, 0, 47, 48, 0, 2479 2641 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2480 0, 0, 0, 0, 0, 0, 0, 0, 0, 277,2481 36, 0, 37, 0, 38, 278, 315, 40, 41, 279,2482 0, 0, 280, 281, 282, 283, 284, 285, 43, 44,2483 0, 286, 287, 0, 0, 0, 0, 0, 0, 0,2484 2642 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2485 0, 0, 0, 0, 288, 0, 289, 0, 0, 0, 2486 0, 0, 47, 48, 290, 291, 292, 293, 0, 0, 2487 0, 0, 0, 0, 0, 2, 202, 4, 5, 6, 2643 36, 0, 37, 0, 38, 0, 0, 40, 41, 0, 2644 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2646 0, 1309, 0, 0, 0, 0, 0, 0, 0, 0, 2647 0, 0, 0, 0, 0, 0, 660, 0, 0, 0, 2648 0, 0, 47, 48, 2, 200, 4, 5, 6, 7, 2649 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2650 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2651 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2652 0, 0, 33, 0, 8, 9, 10, 11, 12, 13, 2653 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2654 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2655 36, 0, 37, 0, 38, 0, 33, 40, 41, 0, 2656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658 0, 1311, 0, 0, 36, 0, 0, 0, 0, 0, 2659 0, 201, 41, 0, 0, 0, 660, 0, 0, 0, 2660 0, 0, 47, 48, 2, 200, 4, 5, 6, 7, 2661 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2662 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2663 258, 0, 28, 29, 30, 0, 47, 48, 0, 0, 2664 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2667 36, 0, 37, 0, 38, 0, 0, 201, 41, 2, 2668 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2669 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2670 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2671 0, 0, 0, 0, 0, 0, 258, 33, 0, 0, 2672 0, 0, 47, 48, 0, 0, 0, 0, 0, 0, 2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2674 0, 0, 0, 0, 0, 36, 0, 37, 0, 38, 2675 0, 0, 40, 41, 2, 200, 4, 5, 6, 7, 2676 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2677 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2678 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2679 0, 660, 33, 0, 0, 0, 0, 47, 48, 0, 2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682 36, 0, 37, 0, 38, 0, 0, 201, 41, 8, 2683 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2684 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2685 0, 28, 29, 30, 0, 0, 0, 0, 0, 273, 2686 274, 33, 275, 0, 0, 0, 202, 0, 0, 0, 2687 0, 0, 47, 48, 0, 0, 0, 0, 0, 0, 2688 0, 0, 0, 0, 0, 0, 0, 0, 276, 36, 2689 0, 0, 0, 0, 277, 0, 40, 41, 278, 0, 2690 0, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2691 284, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2692 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2693 0, 0, 0, 286, 0, 507, 0, 0, 166, 0, 2694 0, 47, 48, 288, 289, 290, 291, 8, 9, 10, 2695 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2696 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2697 29, 30, 0, 0, 0, 0, 0, 273, 274, 33, 2698 275, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2699 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2700 27, 0, 0, 28, 29, 30, 276, 36, 0, 0, 2701 0, 0, 277, 33, 40, 41, 278, 0, 0, 279, 2702 280, 270, 281, 282, 283, 43, 44, 0, 284, 285, 2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704 0, 36, 0, 0, 0, 0, 0, 0, 201, 41, 2705 0, 286, -40, 287, 0, 0, 0, 0, 0, 47, 2706 48, 288, 289, 290, 291, 8, 9, 10, 11, 12, 2707 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2708 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2709 0, 0, 0, 47, 48, 273, 274, 33, 275, 0, 2710 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2711 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2712 0, 0, 0, 0, 276, 36, 0, 0, 0, 0, 2713 277, 0, 40, 41, 278, 0, 0, 279, 280, 270, 2714 281, 282, 283, 43, 44, 0, 284, 285, 0, 0, 2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2716 0, 0, 0, 0, 0, 0, 0, 0, 0, 286, 2717 0, 287, 0, 0, 0, 0, 0, 47, 48, 288, 2718 289, 290, 291, 8, 9, 10, 11, 12, 13, 14, 2719 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2720 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2721 0, 0, 0, 273, 274, 33, 275, 0, 0, 0, 2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2723 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2724 0, 0, 276, 36, 0, 0, 0, 0, 277, 0, 2725 40, 41, 278, 0, 0, 279, 280, 270, 281, 282, 2726 283, 43, 44, 0, 284, 285, 0, 0, 0, 0, 2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2728 0, 0, 0, 0, 0, 0, 0, 286, 0, 332, 2729 0, 0, 0, 0, 0, 47, 48, 288, 289, 290, 2730 291, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2731 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2732 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2733 0, 273, 274, 33, 275, 0, 0, 0, 0, 0, 2734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2735 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2736 276, 36, 0, 0, 0, 0, 277, 0, 40, 41, 2737 278, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2738 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2739 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2740 0, 0, 0, 0, 0, 286, 0, 367, 0, 0, 2741 0, 0, 0, 47, 48, 288, 289, 290, 291, 453, 2742 2, 200, 4, 5, 6, 7, 8, 9, 10, 11, 2743 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2744 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2745 30, 0, 0, 0, 0, 0, 0, 0, 33, 8, 2746 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2747 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2748 0, 28, 29, 30, 0, 0, 36, 0, 37, 0, 2749 38, 33, 0, 40, 41, 0, 0, 0, 0, 8, 2750 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2751 19, 20, 21, 22, 23, 24, 25, 26, 27, 36, 2752 0, 28, 29, 30, 39, 0, 201, 41, 42, 0, 2753 0, 33, 0, 0, 0, -3, 0, 43, 44, 0, 2754 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2755 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2756 0, 0, 0, 45, 109, 258, 40, 41, 0, 0, 2757 0, 47, 48, 0, 0, 0, 0, 43, 44, 0, 2758 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2759 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2760 24, 25, 26, 27, 0, 46, 28, 29, 30, 0, 2761 0, 47, 48, 0, 0, 0, 33, 866, 0, 0, 2762 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 2763 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2764 24, 25, 26, 27, 36, 0, 28, 29, 30, 0, 2765 0, 40, 41, 0, 0, 0, 33, 866, 0, 0, 2766 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2768 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 2769 713, 40, 41, 0, 867, 0, 47, 48, 0, 8, 2770 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2771 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2772 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, 2773 713, 33, 866, 0, 1181, 0, 47, 48, 0, 8, 2774 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2775 19, 20, 21, 22, 23, 24, 25, 26, 27, 36, 2776 0, 28, 29, 30, 0, 0, 40, 41, 0, 0, 2777 0, 33, 8, 9, 10, 11, 12, 13, 14, 15, 2778 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2779 26, 27, 0, 0, 28, 29, 30, 0, 0, 36, 2780 0, 0, 0, 0, 33, 713, 40, 41, 0, 1267, 2781 0, 47, 48, 0, 0, 0, 0, 0, 0, 0, 2782 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2783 0, 0, 36, 0, 0, 0, 0, 0, 0, 40, 2784 41, 0, 0, 0, 0, 328, 0, 0, 0, 0, 2785 0, 47, 48, 0, 0, 0, 0, 8, 9, 10, 2786 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2787 21, 22, 23, 24, 25, 26, 27, 0, 713, 28, 2788 29, 30, 0, 0, 47, 48, 0, 0, 0, 33, 2789 0, 2, 200, 4, 5, 6, 7, 8, 9, 10, 2790 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2791 21, 22, 23, 24, 25, 26, 27, 36, 0, 28, 2792 29, 30, 0, 0, 40, 41, 0, 0, 0, 33, 2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2794 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2795 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 2796 0, 38, 0, 660, 40, 41, 0, 0, 0, 47, 2797 48, 273, 274, 0, 275, 975, 0, 976, 0, 0, 2798 977, 978, 979, 980, 981, 982, 983, 984, 0, 0, 2799 1501, 985, 0, 0, 0, 986, 987, 0, 988, 0, 2800 276, 0, -420, 0, 0, 0, 989, 0, 169, 170, 2801 992, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2802 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2803 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2804 0, 0, 0, 0, 0, 286, 0, 367, 0, 0, 2805 166, 0, 0, 47, 48, 288, 289, 290, 291, 0, 2806 0, 273, 274, 993, 275, 975, 0, 976, -134, 0, 2807 977, 978, 979, 980, 981, 982, 983, 984, 0, 0, 2808 0, 985, 0, 0, 0, 986, 987, 0, 988, 0, 2809 276, 0, 0, 0, 0, 0, 989, 0, 169, 170, 2810 992, 0, 0, 279, 280, 270, 281, 282, 283, 43, 2811 44, 0, 284, 285, 0, 0, 0, 0, 0, 0, 2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2813 0, 0, 0, 0, 0, 286, 0, 367, 0, 0, 2814 166, 0, 0, 47, 48, 288, 289, 290, 291, 0, 2815 0, 0, 0, 993, 0, 0, 0, 0, -134, 2, 2816 200, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2817 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2818 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2819 0, 0, 0, 0, 0, 0, 0, 33, 0, 273, 2820 274, 0, 275, 975, 0, 976, 1361, 1362, 977, 978, 2821 979, 980, 981, 982, 983, 984, 0, 0, 1501, 985, 2822 0, 0, 0, 986, 987, 36, 988, 37, 276, 38, 2823 0, 0, 40, 41, 989, 0, 169, 170, 992, 0, 2824 0, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2825 284, 285, 0, 0, 0, 0, 1274, 0, 0, 0, 2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2827 0, 0, 0, 286, 0, 367, 0, 0, 166, 0, 2828 0, 47, 48, 288, 289, 290, 291, 0, 0, 273, 2829 274, 993, 275, 975, 0, 976, 1361, 1362, 977, 978, 2830 979, 980, 981, 982, 983, 984, 0, 0, 0, 985, 2831 0, 0, 0, 986, 987, 0, 988, 0, 276, 0, 2832 0, 0, 0, 0, 989, 0, 169, 170, 992, 0, 2833 0, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2834 284, 285, 0, 0, 0, 0, 0, 0, 0, 0, 2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2836 0, 0, 0, 286, 0, 367, 0, 0, 166, 0, 2837 0, 47, 48, 288, 289, 290, 291, 0, 0, 273, 2838 274, 993, 275, 975, 0, 976, 0, 0, 977, 978, 2839 979, 980, 981, 982, 983, 984, 0, 0, 0, 985, 2840 0, 0, 0, 986, 987, 0, 988, 0, 276, 0, 2841 0, 0, 0, 0, 989, 0, 169, 170, 992, 0, 2842 0, 279, 280, 270, 281, 282, 283, 43, 44, 0, 2843 284, 285, 0, 0, 0, 0, 0, 0, 273, 274, 2844 0, 275, 0, 0, 0, 0, 0, 0, 0, 0, 2845 0, 0, 0, 286, 0, 367, 0, 0, 166, 0, 2846 0, 47, 48, 288, 289, 290, 291, 276, 0, 0, 2847 0, 993, 0, 277, 0, 0, 0, 278, 0, 0, 2848 279, 280, 270, 281, 282, 283, 43, 44, 0, 284, 2849 285, 0, 0, 0, 0, 0, 0, 273, 274, 0, 2850 275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851 0, 0, 286, 0, 367, 0, 0, 910, 0, 0, 2852 47, 48, 288, 289, 290, 291, 276, 0, 0, 0, 2853 0, 0, 277, 0, 0, 0, 278, 0, 0, 279, 2854 280, 270, 281, 282, 283, 43, 44, 0, 284, 285, 2855 0, 0, 0, 0, 0, 0, 273, 274, 0, 275, 2856 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2857 0, 286, 0, 367, 0, 0, 0, 0, 0, 47, 2858 48, 288, 289, 290, 291, 276, 0, 0, 0, 0, 2859 0, 277, 0, 0, 0, 278, 0, 0, 279, 280, 2860 270, 281, 282, 283, 43, 44, 0, 284, 285, 0, 2861 0, 0, 0, 0, 0, 273, 274, 0, 275, 0, 2862 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2863 496, 0, 367, 0, 0, 0, 0, 0, 47, 48, 2864 288, 289, 290, 291, 276, 0, 0, 0, 0, 0, 2865 277, 0, 0, 0, 278, 0, 0, 279, 280, 270, 2866 281, 282, 283, 43, 44, 0, 284, 285, 0, 0, 2867 0, 0, 0, 0, 273, 274, 0, 275, 0, 0, 2868 0, 0, 0, 0, 0, 0, 0, 0, 0, 501, 2869 0, 367, 0, 0, 0, 0, 0, 47, 48, 288, 2870 289, 290, 291, 276, 0, 0, 0, 0, 0, 277, 2871 0, 0, 0, 278, 0, 0, 279, 280, 270, 281, 2872 282, 283, 43, 44, 0, 284, 285, 0, 0, 0, 2873 0, 0, 0, 273, 274, 0, 275, 0, 0, 0, 2874 0, 0, 0, 0, 0, 0, 0, 0, 504, 0, 2875 367, 0, 0, 0, 0, 0, 47, 48, 288, 289, 2876 290, 291, 276, 0, 0, 0, 0, 0, 277, 0, 2877 0, 0, 278, 0, 0, 279, 280, 270, 281, 282, 2878 283, 43, 44, 0, 284, 285, 0, 0, 0, 0, 2879 0, 0, 273, 274, 0, 275, 0, 0, 0, 0, 2880 0, 0, 0, 0, 0, 0, 0, 286, 0, 367, 2881 0, 0, 0, 0, 0, 679, 48, 288, 289, 290, 2882 291, 276, 0, 0, 0, 0, 0, 277, 0, 0, 2883 0, 278, 0, 0, 279, 280, 270, 281, 282, 283, 2884 43, 44, 0, 284, 285, 0, 0, 0, 0, 0, 2885 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2886 0, 0, 0, 0, 0, 0, 286, 0, 367, 0, 2887 0, 0, 0, 0, 333, 48, 288, 289, 290, 291, 2888 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2889 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2890 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2891 0, 0, 33, 199, 2, 200, 4, 5, 6, 7, 2892 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2893 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2894 36, 0, 28, 29, 30, 109, 0, 40, 41, 0, 2895 0, 0, 33, 0, 0, 0, 0, 0, 43, 44, 2896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2898 36, 0, 37, 0, 38, 0, 0, 201, 41, 453, 2899 2, 200, 4, 5, 6, 7, 8, 9, 10, 11, 2900 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2901 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2902 30, 0, 0, 0, 0, 0, 0, 0, 33, 0, 2903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2905 0, 0, 0, 0, 0, 0, 36, 0, 37, 0, 2906 38, 0, 0, 40, 41, 2, 200, 4, 5, 6, 2488 2907 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2489 2908 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2490 2909 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2491 0, 274, 275, 33, 276, 8, 9, 10, 11, 12, 2492 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2493 23, 24, 25, 26, 27, 0, 502, 28, 29, 30, 2494 277, 36, 0, 37, 0, 38, 278, 33, 40, 41, 2495 279, 0, 502, 280, 281, 282, 283, 284, 285, 43, 2496 44, 0, 286, 287, 0, 0, 0, 0, 0, 0, 2497 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 2498 0, 0, 40, 41, 0, 288, 0, 335, 0, 0, 2499 0, 0, 731, 336, 48, 290, 291, 292, 293, 2, 2500 202, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2501 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2502 23, 24, 25, 26, 27, 502, 502, 28, 29, 30, 2503 0, 0, 0, 0, 0, 274, 275, 33, 276, 8, 2504 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2505 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2506 0, 28, 29, 30, 277, 36, 0, 37, 0, 38, 2507 278, 33, 40, 41, 279, 0, 0, 280, 281, 282, 2508 283, 284, 285, 43, 44, 0, 286, 287, 0, 0, 2509 0, 0, 0, 0, 0, 0, 0, 0, 0, 36, 2510 0, 0, 0, 0, 0, 0, 203, 41, 0, 288, 2511 0, 335, 0, 0, 0, 0, 731, 47, 48, 290, 2512 291, 292, 293, 2, 202, 4, 5, 6, 7, 8, 2513 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2514 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2515 0, 28, 29, 30, 0, 0, 0, 0, 0, 274, 2516 275, 33, 276, 0, 0, 0, 0, 0, 0, 0, 2517 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2518 0, 0, 0, 0, 0, 0, 0, 0, 277, 36, 2519 0, 37, 0, 38, 278, 0, 40, 41, 279, 0, 2520 0, 280, 281, 282, 283, 284, 285, 43, 44, 0, 2521 286, 287, 0, 0, 0, 0, 0, 0, 0, 0, 2522 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2523 0, 0, 0, 288, 0, 335, 0, 0, 0, 0, 2524 0, 336, 48, 290, 291, 292, 293, 2, 202, 4, 2525 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2526 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2527 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2528 0, 0, 0, 274, 275, 33, 276, 0, 0, 0, 2910 0, 0, 0, 33, 0, 0, 0, 0, 0, 0, 2529 2911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2530 2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2531 0, 0, 277, 36, 0, 37, 0, 38, 278, 0, 2532 203, 41, 279, 0, 0, 280, 281, 282, 283, 284, 2533 285, 43, 44, 0, 286, 287, 0, 0, 0, 0, 2534 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2535 0, 0, 0, 0, 0, 0, 0, 288, 0, 946, 2536 0, 0, 0, 0, 0, 947, 48, 290, 291, 292, 2537 293, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2538 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2539 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2540 29, 30, 0, 0, 0, 0, 0, 274, 275, 33, 2541 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2542 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2543 0, 0, 0, 0, 0, 0, 277, 36, 0, 37, 2544 0, 38, 278, 0, 203, 41, 279, 0, 0, 280, 2545 281, 282, 283, 284, 285, 43, 44, 0, 286, 287, 2913 0, 36, 0, 37, 0, 38, 0, 0, 201, 41, 2914 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2915 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2916 0, 0, 28, 29, 30, 471, 472, 473, 474, 0, 2917 0, 0, 33, 0, 0, 0, 0, 0, 0, 0, 2546 2918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2547 2919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2548 0, 288, 0, 370, 0, 0, 0, 0, 0, 47, 2549 48, 290, 291, 292, 293, -522, 0, 0, 1, 2, 2550 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 2551 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2552 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2553 31, 0, 0, 0, 32, 0, 0, 33, 34, 0, 2554 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2555 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2556 0, 0, 35, 0, 0, 36, 0, 37, 0, 38, 2557 39, 0, 40, 41, 42, 0, 0, 0, 0, 0, 2558 0, 0, 0, 43, 44, 0, 0, 0, 0, 0, 2559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2560 0, 0, 0, 0, 0, 0, 0, 0, 0, 45, 2561 0, 46, 0, 0, 0, 0, 0, 47, 48, 1, 2562 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 2563 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2564 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2565 30, 31, 0, 0, 0, 32, 0, 0, 33, 34, 2566 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2567 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2568 0, 0, 0, 35, 0, 0, 36, 0, 37, 0, 2569 38, 39, 0, 40, 41, 42, 0, 0, 0, 0, 2570 0, 0, 0, 0, 43, 44, 0, 0, 0, 0, 2571 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2572 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2573 45, 0, 46, 0, 0, 0, -526, 0, 47, 48, 2574 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 2575 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2576 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2577 29, 30, 31, 0, 0, 0, 32, 0, 0, 33, 2578 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2580 0, 0, 0, 0, 35, 0, 0, 36, 0, 37, 2581 0, 38, 39, 0, 40, 41, 42, 0, 0, 0, 2582 0, 0, 0, 0, 0, 43, 44, 0, 0, 0, 2583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2585 0, 45, 0, 46, 0, 0, 0, 0, 0, 47, 2586 48, 1, 2, 202, 4, 5, 6, 7, 8, 9, 2587 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2588 20, 21, 22, 23, 24, 25, 26, 27, -299, 0, 2589 28, 29, 30, 31, 0, 0, 0, 32, 0, 0, 2590 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2591 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2592 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2593 37, 0, 38, 0, 0, 40, 41, 0, 0, -299, 2594 1, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2595 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2596 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2597 29, 30, 31, 0, 46, 0, 32, 0, 0, 33, 2598 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 2599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2600 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 2601 0, 38, 0, 0, 40, 41, 201, 2, 202, 4, 2602 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2603 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2604 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2605 0, 0, 0, 46, 0, 33, 0, 0, 0, 47, 2606 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2607 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2608 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2609 203, 41, 2, 202, 4, 5, 6, 7, 8, 9, 2610 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2611 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2612 28, 29, 30, 0, 0, 0, 0, 0, 0, 204, 2613 33, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2615 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2616 37, 0, 38, 39, 0, 203, 41, 42, 0, 0, 2617 0, 0, 0, 0, 0, 0, 43, 44, 0, 0, 2618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2620 0, 0, 45, 0, 204, 0, 0, 0, 0, 0, 2621 47, 48, 2, 202, 4, 5, 6, 7, 8, 9, 2622 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2623 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2624 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 2625 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2626 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2627 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2628 37, 0, 38, 0, 0, 40, 41, 2, 202, 4, 2629 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2630 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2631 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2632 0, 0, 0, -407, 664, 33, 0, 0, 0, 0, 2633 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 2634 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2635 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2636 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2638 0, 0, 0, 0, 1334, 0, 0, 0, 0, 0, 2639 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 2640 0, 0, 0, 0, 0, 47, 48, 2, 202, 4, 2641 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2642 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2643 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2644 0, 0, 0, 0, 0, 33, 0, 8, 9, 10, 2645 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2646 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2647 29, 30, 0, 36, 0, 37, 0, 38, 0, 33, 2648 40, 41, 0, 0, 0, 0, 0, 0, 0, 0, 2649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2650 0, 0, 0, 0, 1336, 0, 0, 36, 0, 0, 2651 0, 0, 0, 0, 40, 41, 0, 0, 0, 664, 2652 0, 0, 0, 0, 0, 47, 48, 2, 202, 4, 2653 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2654 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2655 25, 26, 27, 247, 0, 28, 29, 30, 0, 47, 2656 48, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2658 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2659 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2660 203, 41, 2, 202, 4, 5, 6, 7, 8, 9, 2661 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2662 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2663 28, 29, 30, 0, 0, 0, 0, 0, 0, 260, 2664 33, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2665 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2666 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2667 37, 0, 38, 0, 0, 40, 41, 2, 202, 4, 2668 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2669 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2670 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2671 0, 0, 0, 0, 664, 33, 0, 0, 0, 0, 2672 47, 48, 0, 0, 0, 0, 0, 0, 0, 0, 2673 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2674 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2675 203, 41, 8, 9, 10, 11, 12, 13, 14, 15, 2676 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2677 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2678 0, 0, 274, 275, 33, 276, 0, 0, 0, 204, 2679 0, 0, 0, 0, 0, 47, 48, 0, 0, 0, 2680 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2681 0, 277, 36, 0, 0, 0, 0, 278, 0, 40, 2682 41, 279, 0, 0, 280, 281, 282, 283, 284, 285, 2683 43, 44, 0, 286, 287, 0, 0, 0, 0, 0, 2684 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2685 0, 0, 0, 0, 0, 0, 288, 0, 510, 0, 2686 0, 168, 0, 0, 47, 48, 290, 291, 292, 293, 2687 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2688 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2689 0, 0, 28, 29, 30, 0, 0, 0, 0, 0, 2690 274, 275, 33, 276, 8, 9, 10, 11, 12, 13, 2691 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2692 24, 25, 26, 27, 0, 0, 28, 29, 30, 277, 2693 36, 0, 0, 0, 0, 278, 33, 40, 41, 279, 2694 0, 0, 280, 281, 282, 283, 284, 285, 43, 44, 2695 0, 286, 287, 0, 0, 0, 0, 0, 0, 0, 2696 0, 0, 0, 0, 36, 0, 0, 0, 0, 0, 2697 0, 203, 41, 0, 288, -40, 289, 0, 0, 0, 2698 0, 0, 47, 48, 290, 291, 292, 293, 8, 9, 2699 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2700 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2701 28, 29, 30, 0, 0, 0, 47, 48, 274, 275, 2702 33, 276, 0, 0, 0, 0, 0, 0, 0, 0, 2703 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2704 0, 0, 0, 0, 0, 0, 0, 277, 36, 0, 2705 0, 0, 0, 278, 0, 40, 41, 279, 0, 0, 2706 280, 281, 282, 283, 284, 285, 43, 44, 0, 286, 2707 287, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2709 0, 0, 288, 0, 289, 0, 0, 0, 0, 0, 2710 47, 48, 290, 291, 292, 293, 8, 9, 10, 11, 2711 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 2712 22, 23, 24, 25, 26, 27, 0, 0, 28, 29, 2713 30, 0, 0, 0, 0, 0, 274, 275, 33, 276, 2714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2716 0, 0, 0, 0, 0, 277, 36, 0, 0, 0, 2717 0, 278, 0, 40, 41, 279, 0, 0, 280, 281, 2718 282, 283, 284, 285, 43, 44, 0, 286, 287, 0, 2719 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2720 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2721 288, 0, 335, 0, 0, 0, 0, 0, 47, 48, 2722 290, 291, 292, 293, 8, 9, 10, 11, 12, 13, 2723 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 2724 24, 25, 26, 27, 0, 0, 28, 29, 30, 0, 2725 0, 0, 0, 0, 274, 275, 33, 276, 0, 0, 2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2728 0, 0, 0, 277, 36, 0, 0, 0, 0, 278, 2729 0, 40, 41, 279, 0, 0, 280, 281, 282, 283, 2730 284, 285, 43, 44, 0, 286, 287, 0, 0, 0, 2731 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2732 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 2733 370, 0, 0, 0, 0, 0, 47, 48, 290, 291, 2734 292, 293, 456, 2, 202, 4, 5, 6, 7, 8, 2735 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 2736 19, 20, 21, 22, 23, 24, 25, 26, 27, 0, 2737 0, 28, 29, 30, 0, 0, 0, 0, 0, 0, 2738 0, 33, 8, 9, 10, 11, 12, 13, 14, 15, 2739 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2740 26, 27, 0, 0, 28, 29, 30, 0, 0, 36, 2741 0, 37, 0, 38, 33, 0, 40, 41, 0, 0, 2742 0, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2743 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2744 26, 27, 36, 0, 28, 29, 30, 39, 0, 203, 2745 41, 42, 0, 0, 33, 0, 0, 0, -3, 0, 2746 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, 2747 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2748 0, 0, 36, 0, 0, 0, 45, 110, 260, 40, 2749 41, 0, 0, 0, 47, 48, 0, 0, 0, 0, 2750 43, 44, 0, 0, 0, 0, 0, 8, 9, 10, 2751 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2752 21, 22, 23, 24, 25, 26, 27, 0, 46, 28, 2753 29, 30, 0, 0, 47, 48, 0, 0, 0, 33, 2754 872, 0, 0, 0, 0, 0, 0, 8, 9, 10, 2755 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2756 21, 22, 23, 24, 25, 26, 27, 36, 0, 28, 2757 29, 30, 0, 0, 40, 41, 0, 0, 0, 33, 2758 872, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2759 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2760 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 2761 0, 0, 0, 719, 40, 41, 0, 1197, 0, 47, 2762 48, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2763 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2764 26, 27, 0, 0, 28, 29, 30, 0, 0, 0, 2765 0, 0, 0, 719, 33, 0, 0, 1287, 0, 47, 2766 48, 0, 8, 9, 10, 11, 12, 13, 14, 15, 2767 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2768 26, 27, 36, 0, 28, 29, 30, 0, 0, 40, 2769 41, 0, 0, 0, 33, 8, 9, 10, 11, 12, 2770 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 2771 23, 24, 25, 26, 27, 0, 0, 28, 29, 30, 2772 0, 0, 36, 0, 0, 0, 0, 33, 46, 203, 2773 41, 0, 0, 0, 47, 48, 0, 0, 0, 0, 2774 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2775 0, 0, 0, 0, 0, 36, 0, 0, 0, 0, 2776 0, 0, 40, 41, 0, 0, 0, 0, 260, 0, 2777 0, 0, 0, 0, 47, 48, 0, 0, 0, 0, 2778 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 2779 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 2780 0, 331, 28, 29, 30, 0, 0, 47, 48, 0, 2781 0, 0, 33, 8, 9, 10, 11, 12, 13, 14, 2782 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2783 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2784 36, 0, 0, 0, 0, 33, 0, 40, 41, 0, 2785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2786 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2787 0, 0, 0, 36, 0, 0, 0, 0, 0, 0, 2788 40, 41, 0, 0, 0, 0, 719, 0, 0, 0, 2789 0, 0, 47, 48, 0, 0, 0, 0, 0, 0, 2790 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2791 0, 0, 0, 0, 0, 0, 0, 0, 0, 664, 2792 0, 0, 0, 0, 0, 47, 48, 2, 202, 4, 2793 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2794 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2795 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2796 0, 0, 0, 0, 0, 33, 0, 274, 275, 0, 2797 276, 988, 0, 989, 0, 0, 990, 991, 992, 993, 2798 994, 995, 996, 997, 0, 0, 1520, 998, 0, 0, 2799 0, 999, 1000, 36, 35, 37, 277, 38, 0, 0, 2800 40, 41, 1001, 0, 171, 172, 1004, 0, 0, 280, 2801 281, 282, 283, 284, 285, 43, 44, 0, 286, 287, 2802 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2803 0, 0, 0, 0, 0, 0, 0, 0, -420, 0, 2804 0, 288, 0, 370, 0, 0, 168, 0, 0, 47, 2805 48, 290, 291, 292, 293, 0, 0, 274, 275, 1005, 2806 276, 988, 0, 989, -134, 0, 990, 991, 992, 993, 2807 994, 995, 996, 997, 0, 0, 0, 998, 0, 0, 2808 0, 999, 1000, 0, 35, 0, 277, 0, 0, 0, 2809 0, 0, 1001, 0, 171, 172, 1004, 0, 0, 280, 2810 281, 282, 283, 284, 285, 43, 44, 0, 286, 287, 2811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2813 0, 288, 0, 370, 0, 0, 168, 0, 0, 47, 2814 48, 290, 291, 292, 293, 0, 0, 0, 0, 1005, 2815 0, 0, 0, 0, -134, 2, 202, 4, 5, 6, 2816 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 2817 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 2818 27, 0, 0, 28, 29, 30, 0, 0, 0, 0, 2819 0, 0, 0, 33, 0, 274, 275, 0, 276, 988, 2820 0, 989, 1389, 1390, 990, 991, 992, 993, 994, 995, 2821 996, 997, 0, 0, 1520, 998, 0, 0, 0, 999, 2822 1000, 36, 35, 37, 277, 38, 0, 0, 40, 41, 2823 1001, 0, 171, 172, 1004, 0, 0, 280, 281, 282, 2824 283, 284, 285, 43, 44, 0, 286, 287, 0, 0, 2825 0, 0, 1294, 0, 0, 0, 0, 0, 0, 0, 2826 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 2827 0, 370, 0, 0, 168, 0, 0, 47, 48, 290, 2828 291, 292, 293, 0, 0, 274, 275, 1005, 276, 988, 2829 0, 989, 1389, 1390, 990, 991, 992, 993, 994, 995, 2830 996, 997, 0, 0, 0, 998, 0, 0, 0, 999, 2831 1000, 0, 35, 0, 277, 0, 0, 0, 0, 0, 2832 1001, 0, 171, 172, 1004, 0, 0, 280, 281, 282, 2833 283, 284, 285, 43, 44, 0, 286, 287, 0, 0, 2834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2835 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 2836 0, 370, 0, 0, 168, 0, 0, 47, 48, 290, 2837 291, 292, 293, 0, 0, 274, 275, 1005, 276, 988, 2838 0, 989, 0, 0, 990, 991, 992, 993, 994, 995, 2839 996, 997, 0, 0, 0, 998, 0, 0, 0, 999, 2840 1000, 0, 35, 0, 277, 0, 0, 0, 0, 0, 2841 1001, 0, 171, 172, 1004, 0, 0, 280, 281, 282, 2842 283, 284, 285, 43, 44, 0, 286, 287, 0, 0, 2843 0, 0, 0, 0, 274, 275, 0, 276, 0, 0, 2844 0, 0, 0, 0, 0, 0, 0, 0, 0, 288, 2845 0, 370, 0, 0, 168, 0, 0, 47, 48, 290, 2846 291, 292, 293, 277, 0, 0, 0, 1005, 0, 278, 2847 0, 0, 0, 279, 0, 0, 280, 281, 282, 283, 2848 284, 285, 43, 44, 0, 286, 287, 0, 0, 0, 2849 0, 0, 0, 274, 275, 0, 276, 0, 0, 0, 2850 0, 0, 0, 0, 0, 0, 0, 0, 288, 0, 2851 370, 0, 0, 0, 0, 731, 47, 48, 290, 291, 2852 292, 293, 277, 0, 0, 0, 0, 0, 278, 0, 2853 0, 0, 279, 0, 0, 280, 281, 282, 283, 284, 2854 285, 43, 44, 0, 286, 287, 0, 0, 0, 0, 2855 0, 0, 274, 275, 0, 276, 0, 0, 0, 0, 2856 0, 0, 0, 0, 0, 0, 0, 499, 0, 370, 2857 0, 0, 0, 0, 0, 47, 48, 290, 291, 292, 2858 293, 277, 0, 0, 0, 0, 0, 278, 0, 0, 2859 0, 279, 0, 0, 280, 281, 282, 283, 284, 285, 2860 43, 44, 0, 286, 287, 0, 0, 0, 0, 0, 2861 0, 274, 275, 0, 276, 0, 0, 0, 0, 0, 2862 0, 0, 0, 0, 0, 0, 504, 0, 370, 0, 2863 0, 0, 0, 0, 47, 48, 290, 291, 292, 293, 2864 277, 0, 0, 0, 0, 0, 278, 0, 0, 0, 2865 279, 0, 0, 280, 281, 282, 283, 284, 285, 43, 2866 44, 0, 286, 287, 0, 0, 0, 0, 0, 0, 2867 274, 275, 0, 276, 0, 0, 0, 0, 0, 0, 2868 0, 0, 0, 0, 0, 507, 0, 370, 0, 0, 2869 0, 0, 0, 47, 48, 290, 291, 292, 293, 277, 2870 0, 0, 0, 0, 0, 278, 0, 0, 0, 279, 2871 0, 0, 280, 281, 282, 283, 284, 285, 43, 44, 2872 0, 286, 287, 0, 0, 0, 0, 0, 0, 274, 2873 275, 0, 276, 0, 0, 0, 0, 0, 0, 0, 2874 0, 0, 0, 0, 288, 0, 370, 0, 0, 0, 2875 0, 0, 683, 48, 290, 291, 292, 293, 277, 0, 2876 0, 0, 0, 0, 278, 0, 0, 0, 279, 0, 2877 0, 280, 281, 282, 283, 284, 285, 43, 44, 0, 2878 286, 287, 0, 0, 0, 0, 0, 0, 0, 0, 2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2880 0, 0, 0, 288, 0, 370, 0, 0, 0, 0, 2881 0, 336, 48, 290, 291, 292, 293, 8, 9, 10, 2882 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2883 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2884 29, 30, 0, 0, 0, 0, 0, 0, 0, 33, 2885 201, 2, 202, 4, 5, 6, 7, 8, 9, 10, 2886 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2887 21, 22, 23, 24, 25, 26, 27, 36, 0, 28, 2888 29, 30, 110, 0, 40, 41, 0, 0, 0, 33, 2889 0, 0, 0, 0, 0, 43, 44, 0, 0, 0, 2890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2891 0, 0, 0, 0, 0, 0, 0, 36, 0, 37, 2892 0, 38, 0, 0, 203, 41, 456, 2, 202, 4, 2893 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 2894 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 2895 25, 26, 27, 0, 0, 28, 29, 30, 0, 0, 2896 0, 0, 0, 0, 0, 33, 0, 0, 0, 0, 2897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2899 0, 0, 0, 36, 0, 37, 0, 38, 0, 0, 2900 40, 41, 2, 202, 4, 5, 6, 7, 8, 9, 2901 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 2902 20, 21, 22, 23, 24, 25, 26, 27, 0, 0, 2903 28, 29, 30, 0, 0, 0, 0, 0, 0, 0, 2904 33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2906 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 2907 37, 0, 38, 0, 0, 203, 41, 8, 9, 10, 2908 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 2909 21, 22, 23, 24, 25, 26, 27, 0, 0, 28, 2910 29, 30, 474, 475, 476, 477, 0, 0, 0, 33, 2911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2913 0, 0, 0, 0, 0, 0, 0, 36, 0, 0, 2914 0, 0, 0, 0, 40, 41 2920 36, 0, 0, 0, 0, 0, 0, 40, 41 2915 2921 }; 2916 2922 2917 2923 #define yypact_value_is_default(yystate) \ 2918 ((yystate) == (-1 276))2924 ((yystate) == (-1310)) 2919 2925 2920 2926 #define yytable_value_is_error(yytable_value) \ … … 2923 2929 static const yytype_int16 yycheck[] = 2924 2930 { 2925 0, 1, 0, 200, 0, 45, 180, 444, 180, 1, 2926 0, 180, 843, 45, 180, 45, 590, 180, 506, 632, 2927 180, 180, 525, 154, 1035, 183, 561, 341, 1035, 116, 2928 1035, 31, 32, 608, 34, 1304, 34, 485, 34, 0, 2929 34, 489, 105, 996, 34, 45, 246, 843, 341, 590, 2930 337, 51, 970, 51, 0, 588, 42, 356, 215, 59, 2931 588, 360, 165, 166, 64, 42, 64, 67, 878, 67, 2932 70, 45, 70, 34, 703, 588, 1037, 67, 70, 588, 2933 409, 255, 54, 255, 969, 970, 255, 1264, 34, 255, 2934 153, 66, 255, 251, 252, 255, 255, 42, 45, 428, 2935 592, 42, 67, 588, 596, 42, 106, 436, 588, 109, 2936 197, 45, 417, 418, 1389, 84, 116, 933, 42, 0, 2937 1, 42, 42, 30, 124, 617, 114, 999, 1000, 621, 2938 116, 47, 48, 471, 1, 622, 623, 114, 100, 116, 2939 180, 42, 114, 1412, 112, 145, 84, 145, 180, 114, 2940 180, 638, 71, 34, 588, 74, 987, 157, 77, 157, 2941 79, 101, 137, 1088, 980, 0, 85, 288, 136, 114, 2942 591, 116, 134, 114, 81, 116, 597, 114, 116, 116, 2943 180, 181, 487, 181, 471, 478, 67, 127, 1463, 70, 2944 114, 987, 116, 114, 114, 116, 116, 197, 685, 34, 2945 57, 506, 181, 114, 120, 205, 180, 205, 693, 409, 2946 45, 714, 1084, 693, 214, 255, 51, 217, 0, 217, 2947 794, 11, 1032, 255, 224, 255, 1187, 217, 428, 64, 2948 114, 766, 67, 180, 234, 70, 436, 237, 0, 1, 2949 97, 241, 242, 241, 401, 241, 180, 241, 101, 782, 2950 246, 241, 34, 794, 782, 255, 256, 1434, 256, 693, 2951 115, 117, 262, 568, 1441, 265, 121, 121, 276, 782, 2952 333, 119, 34, 782, 127, 114, 590, 256, 1496, 578, 2953 241, 910, 1200, 137, 622, 623, 899, 47, 48, 208, 2954 3, 181, 423, 301, 302, 241, 135, 782, 1393, 1517, 2955 638, 1226, 782, 1228, 1229, 90, 1524, 42, 70, 3, 2956 145, 1264, 67, 887, 1496, 42, 121, 1494, 47, 48, 2957 619, 608, 157, 323, 816, 323, 613, 121, 415, 337, 2958 135, 42, 189, 118, 421, 1253, 217, 1168, 42, 668, 2959 340, 341, 1524, 137, 122, 180, 181, 685, 782, 51, 2960 128, 129, 342, 886, 42, 212, 121, 357, 886, 119, 2961 241, 361, 117, 784, 372, 222, 256, 1252, 1253, 10, 2962 205, 371, 1168, 948, 115, 242, 623, 886, 499, 114, 2963 501, 116, 217, 504, 0, 516, 507, 114, 726, 116, 2964 119, 638, 1345, 453, 135, 395, 1491, 395, 121, 115, 2965 892, 1496, 157, 114, 75, 116, 241, 1036, 114, 1445, 2966 114, 113, 116, 409, 137, 415, 395, 88, 89, 135, 2967 255, 421, 1517, 114, 115, 344, 114, 346, 116, 1524, 2968 136, 288, 428, 1264, 75, 115, 77, 78, 685, 726, 2969 436, 224, 121, 931, 1480, 116, 1482, 121, 579, 1078, 2970 1041, 115, 1043, 901, 237, 135, 456, 121, 137, 241, 2971 121, 461, 217, 137, 246, 1, 903, 1385, 668, 469, 2972 1083, 469, 462, 473, 135, 473, 775, 473, 478, 241, 2973 794, 481, 682, 473, 1058, 1438, 486, 1440, 323, 1500, 2974 469, 622, 623, 1500, 249, 1500, 115, 1313, 136, 254, 2975 1385, 794, 121, 205, 75, 395, 341, 638, 79, 1138, 2976 1139, 0, 473, 432, 1475, 51, 121, 88, 89, 519, 2977 115, 59, 95, 96, 524, 75, 121, 473, 114, 114, 2978 633, 116, 137, 541, 542, 543, 957, 958, 88, 89, 2979 1501, 121, 1495, 114, 4, 5, 6, 7, 8, 9, 2980 115, 122, 123, 640, 685, 135, 121, 130, 131, 261, 2981 395, 1377, 1378, 117, 651, 1526, 116, 121, 106, 105, 2982 75, 109, 77, 78, 79, 1466, 433, 113, 916, 469, 2983 121, 1472, 117, 88, 89, 114, 121, 342, 588, 456, 2984 590, 75, 473, 77, 78, 79, 137, 657, 891, 301, 2985 121, 458, 1493, 1434, 88, 89, 121, 1498, 144, 609, 2986 1441, 117, 72, 115, 74, 121, 137, 153, 114, 121, 2987 610, 75, 137, 114, 624, 116, 273, 409, 628, 916, 2988 115, 969, 137, 579, 88, 89, 121, 637, 473, 639, 2989 640, 641, 499, 478, 114, 117, 428, 504, 121, 121, 2990 507, 651, 519, 137, 436, 121, 114, 524, 121, 121, 2991 114, 948, 116, 1494, 137, 201, 116, 422, 118, 205, 2992 114, 137, 668, 830, 137, 137, 214, 137, 115, 114, 2993 680, 115, 121, 673, 121, 135, 682, 0, 1, 471, 2994 75, 473, 117, 693, 694, 75, 121, 687, 137, 79, 2995 858, 701, 762, 88, 89, 705, 115, 462, 88, 89, 2996 115, 473, 772, 773, 115, 133, 121, 115, 136, 703, 2997 121, 34, 730, 783, 262, 261, 115, 75, 264, 77, 2998 78, 115, 45, 836, 114, 114, 867, 121, 51, 3, 2999 88, 89, 122, 123, 1373, 115, 10, 11, 12, 13, 3000 14, 64, 288, 588, 67, 590, 75, 70, 77, 78, 3001 1389, 115, 115, 114, 961, 301, 114, 1105, 121, 88, 3002 89, 119, 639, 115, 641, 120, 760, 1280, 42, 121, 3003 115, 114, 782, 116, 1076, 115, 121, 777, 1080, 122, 3004 123, 121, 105, 114, 794, 124, 125, 333, 121, 656, 3005 113, 337, 340, 116, 117, 115, 70, 114, 665, 116, 3006 67, 121, 669, 680, 114, 122, 123, 114, 1105, 357, 3007 356, 137, 115, 361, 360, 93, 94, 582, 121, 115, 3008 114, 144, 145, 1462, 1463, 121, 836, 119, 969, 970, 3009 153, 154, 842, 843, 157, 115, 137, 843, 832, 137, 3010 497, 121, 119, 843, 84, 610, 97, 98, 693, 694, 3011 615, 1035, 114, 1035, 114, 51, 1035, 180, 181, 1035, 3012 84, 1028, 1035, 132, 874, 1035, 1035, 877, 123, 982, 3013 133, 417, 418, 99, 197, 75, 668, 77, 78, 79, 3014 116, 891, 205, 120, 121, 874, 117, 843, 88, 89, 3015 682, 114, 115, 116, 217, 117, 966, 967, 444, 115, 3016 902, 115, 116, 1200, 1252, 61, 62, 917, 673, 115, 3017 456, 867, 115, 923, 114, 114, 910, 113, 241, 929, 3018 47, 48, 687, 933, 1089, 1090, 249, 67, 120, 121, 3019 948, 254, 255, 256, 726, 115, 76, 782, 261, 485, 3020 115, 487, 936, 489, 548, 549, 550, 551, 144, 794, 3021 115, 951, 843, 499, 137, 501, 1026, 1027, 504, 671, 3022 506, 507, 114, 115, 116, 288, 114, 115, 116, 987, 3023 980, 1068, 544, 545, 874, 546, 547, 117, 301, 117, 3024 990, 987, 116, 993, 994, 995, 119, 987, 119, 288, 3025 984, 114, 115, 116, 317, 136, 653, 61, 62, 63, 3026 323, 121, 869, 10, 11, 12, 13, 14, 136, 205, 3027 333, 902, 777, 1023, 337, 552, 553, 157, 341, 342, 3028 119, 114, 568, 1033, 115, 1035, 115, 1037, 135, 874, 3029 117, 987, 578, 356, 117, 42, 117, 360, 135, 1049, 3030 917, 135, 1036, 121, 1033, 31, 891, 115, 1037, 115, 3031 119, 843, 929, 115, 121, 120, 933, 1198, 1068, 120, 3032 717, 609, 608, 70, 1511, 261, 75, 613, 77, 78, 3033 79, 843, 395, 619, 120, 114, 624, 217, 1088, 88, 3034 89, 115, 135, 137, 1078, 115, 121, 115, 75, 637, 3035 77, 78, 415, 115, 417, 418, 987, 115, 421, 115, 3036 423, 88, 89, 980, 121, 301, 120, 115, 31, 249, 3037 115, 1252, 1253, 122, 254, 115, 115, 115, 417, 418, 3038 115, 444, 115, 115, 916, 671, 115, 114, 1198, 119, 3039 902, 998, 119, 1033, 115, 1145, 115, 1037, 461, 115, 3040 136, 337, 115, 115, 1138, 1139, 469, 121, 471, 117, 3041 473, 697, 117, 115, 115, 478, 114, 135, 1168, 115, 3042 872, 121, 1168, 1233, 487, 119, 121, 115, 1168, 121, 3043 121, 1241, 1242, 1243, 115, 114, 499, 1187, 501, 114, 3044 114, 504, 114, 506, 507, 114, 951, 137, 1033, 135, 3045 1035, 135, 1037, 516, 121, 987, 120, 135, 1187, 135, 3046 499, 115, 342, 1205, 115, 504, 115, 135, 507, 117, 3047 120, 1088, 1168, 75, 133, 987, 1226, 120, 1228, 1229, 3048 82, 417, 418, 85, 119, 87, 88, 89, 115, 775, 3049 137, 117, 121, 75, 117, 77, 78, 560, 561, 115, 3050 115, 115, 3, 115, 1385, 568, 88, 89, 444, 10, 3051 11, 12, 13, 14, 116, 578, 579, 117, 1264, 582, 3052 559, 117, 117, 117, 1264, 588, 75, 590, 77, 78, 3053 79, 117, 1369, 1283, 116, 843, 117, 1168, 50, 88, 3054 89, 42, 422, 1293, 137, 608, 137, 1187, 137, 137, 3055 613, 487, 615, 137, 120, 115, 619, 115, 438, 622, 3056 623, 115, 1304, 1313, 1293, 114, 32, 115, 1264, 70, 3057 506, 135, 115, 1105, 1205, 638, 1500, 640, 1500, 120, 3058 120, 1500, 462, 117, 1500, 117, 872, 1500, 651, 1339, 3059 1500, 1500, 1342, 86, 117, 117, 117, 117, 115, 115, 3060 1052, 1411, 1187, 117, 114, 114, 1348, 1347, 671, 1226, 3061 114, 1228, 1229, 63, 119, 901, 902, 903, 1368, 1369, 3062 115, 115, 685, 686, 687, 114, 137, 1377, 1378, 117, 3063 693, 694, 568, 1264, 117, 115, 1168, 75, 1475, 1373, 3064 117, 115, 101, 1393, 82, 101, 114, 85, 1398, 87, 3065 88, 89, 114, 1293, 115, 1389, 1168, 120, 124, 137, 3066 1400, 115, 948, 726, 115, 45, 1273, 1417, 1200, 115, 3067 1412, 135, 608, 1304, 121, 115, 115, 613, 1428, 1076, 3068 137, 101, 990, 1080, 1081, 137, 101, 115, 1434, 137, 3069 117, 115, 137, 1205, 1434, 1441, 1313, 115, 120, 115, 3070 137, 1441, 582, 766, 117, 993, 994, 995, 1293, 117, 3071 1500, 137, 775, 114, 777, 120, 1347, 1348, 1500, 782, 3072 1500, 120, 115, 137, 115, 1475, 1476, 1179, 1462, 1463, 3073 610, 794, 1264, 137, 115, 615, 1486, 115, 1434, 1005, 3074 554, 1491, 555, 558, 556, 1441, 1496, 557, 1494, 928, 3075 1500, 1501, 1264, 1501, 1494, 1168, 1463, 1350, 1536, 1081, 3076 1377, 1378, 1309, 1274, 1441, 1515, 1052, 1517, 234, 1400, 3077 1023, 1521, 1501, 872, 1524, 1033, 1526, 67, 1526, 1293, 3078 843, 1412, 1532, 1043, 705, 895, 1536, 923, 75, 634, 3079 77, 78, 1304, 673, 836, 697, 1205, 1526, 1494, 265, 3080 1417, 88, 89, 1434, 867, 894, 713, 687, 473, 872, 3081 1441, 874, -1, -1, 1211, -1, 560, 75, 560, 77, 3082 78, 79, -1, 886, 887, -1, 560, 117, 891, -1, 3083 88, 89, 119, -1, -1, 1442, 1348, 1444, -1, 902, 3084 903, -1, 1347, 0, 1, -1, 4, 5, 6, 7, 3085 8, 9, -1, 916, -1, -1, 114, -1, 116, 1476, 3086 1168, 1501, -1, 1494, 122, 123, -1, 157, 657, 1486, 3087 -1, 3, 1479, -1, 1481, -1, -1, 34, 10, 11, 3088 12, 13, 14, -1, -1, 948, 1526, -1, -1, -1, 3089 -1, -1, -1, 1179, 51, 1400, -1, 777, -1, -1, 3090 1412, -1, 1434, -1, -1, 371, 969, 970, 1305, 1441, 3091 42, -1, 1309, 70, 72, 1500, 74, -1, 1525, 1205, 3092 1527, -1, 1434, -1, 987, -1, -1, 217, 75, 1441, 3093 77, 78, 79, 1540, 1541, -1, -1, -1, 70, -1, 3094 -1, 88, 89, -1, 234, -1, -1, -1, 105, 10, 3095 11, 12, 13, 14, 10, 11, 12, 13, 14, 249, 3096 -1, -1, 1494, -1, 254, -1, -1, 903, -1, -1, 3097 1033, -1, 1035, 762, 1037, 1283, -1, -1, -1, -1, 3098 -1, 42, 1494, 772, 773, 51, 42, -1, 145, 1052, 3099 -1, 1443, -1, 1445, 783, 1058, 153, 154, 64, -1, 3100 -1, 67, -1, -1, 70, 1068, -1, 0, -1, 70, 3101 -1, -1, 948, -1, 70, 481, -1, 86, 1304, 1416, 3102 486, 90, 91, 92, 181, -1, -1, -1, 1480, -1, 3103 1482, 1339, -1, -1, 1342, -1, -1, -1, -1, -1, 3104 197, 34, 1105, 200, 201, 114, -1, 116, 205, 118, 3105 119, -1, 342, 114, -1, 116, -1, -1, 114, -1, 3106 116, 122, 123, -1, -1, -1, 122, 123, -1, 226, 3107 -1, 951, -1, 230, 185, 232, -1, 70, 235, 145, 3108 1368, 192, -1, -1, 241, 1393, -1, -1, 75, 246, 3109 1398, 157, 79, -1, -1, -1, -1, -1, -1, 256, 3110 -1, 88, 89, -1, -1, 1168, -1, 264, -1, -1, 3111 1149, 1150, -1, 1152, -1, 181, 1179, -1, -1, 1158, 3112 1428, -1, 1161, -1, 1187, -1, 1412, 114, -1, 116, 3113 -1, -1, 422, -1, -1, 122, 123, 1200, -1, 205, 3114 -1, 75, 1205, 77, 78, 79, -1, 258, -1, -1, 3115 -1, 217, -1, -1, 88, 89, -1, 1443, -1, 1445, 3116 -1, 154, 628, -1, 4, 5, 6, 7, 8, 9, 3117 -1, -1, 462, -1, -1, -1, 333, 966, 967, -1, 3118 337, -1, -1, -1, -1, -1, 343, -1, -1, 1252, 3119 1253, -1, -1, -1, 1480, 35, 1482, -1, -1, 356, 3120 -1, 1264, -1, 360, -1, -1, 317, 1515, 75, -1, 3121 77, 78, 79, 1521, -1, 326, -1, -1, 329, -1, 3122 -1, 88, 89, -1, 1532, 1511, -1, -1, 1536, -1, 3123 1293, -1, 72, 226, 74, 701, -1, 1026, 1027, 705, 3124 -1, 1304, -1, -1, -1, -1, -1, 114, 241, 116, 3125 -1, -1, 409, 246, -1, 122, 123, 323, -1, -1, 3126 -1, -1, -1, -1, -1, -1, 423, -1, 135, -1, 3127 -1, 428, -1, -1, -1, -1, 387, -1, -1, 436, 3128 391, -1, -1, -1, 1347, 1348, -1, 75, -1, 77, 3129 78, 79, 582, -1, -1, -1, 453, -1, -1, 456, 3130 88, 89, 1341, -1, -1, 75, 1369, 77, 78, 79, 3131 -1, -1, -1, -1, 471, -1, 473, -1, 88, 89, 3132 610, -1, 1385, -1, -1, 615, 114, -1, 485, 395, 3133 0, -1, 489, -1, 122, 123, -1, 1400, -1, -1, 3134 -1, -1, -1, -1, 114, -1, 116, -1, 75, 1412, 3135 343, -1, 122, 123, -1, 82, -1, 468, 85, 516, 3136 87, 88, 89, 86, 34, -1, -1, 90, 91, 92, 3137 836, 1434, -1, -1, 75, -1, 842, -1, 1441, -1, 3138 1443, 82, 1445, 673, 85, -1, 87, 88, 89, 116, 3139 -1, 114, -1, 116, -1, 118, 119, 687, -1, -1, 3140 70, -1, 0, 1, 561, -1, -1, -1, -1, -1, 3141 -1, 877, 1475, -1, -1, 116, 409, 1480, -1, 1482, 3142 -1, 578, 579, -1, -1, -1, -1, -1, -1, -1, 3143 423, 1494, -1, 590, -1, 428, 34, 1500, 1501, -1, 3144 -1, -1, -1, 436, 1233, -1, -1, -1, 1511, 560, 3145 561, 608, 1241, 1242, 1243, -1, 613, 923, -1, 0, 3146 453, -1, 619, 1526, -1, 622, 623, 1347, -1, 67, 3147 -1, -1, 70, -1, -1, -1, -1, -1, 471, -1, 3148 473, 638, -1, -1, 154, -1, -1, 777, -1, -1, 3149 -1, -1, -1, 34, 10, 11, 12, 13, 14, -1, 3150 657, -1, 75, -1, 77, 78, 79, -1, -1, -1, 3151 -1, 668, -1, -1, -1, 88, 89, -1, -1, -1, 3152 1400, -1, -1, 516, -1, 682, 42, -1, 685, 70, 3153 -1, 642, -1, -1, -1, 646, -1, 694, -1, -1, 3154 697, 114, -1, 116, -1, -1, -1, -1, -1, 122, 3155 123, -1, -1, -1, 70, -1, 154, 1023, -1, 75, 3156 -1, 77, 78, 79, 75, -1, 77, 78, 79, 726, 3157 -1, 241, 88, 89, -1, 1511, 246, 88, 89, -1, 3158 -1, -1, -1, 1049, -1, -1, 579, -1, -1, -1, 3159 -1, 10, 11, 12, 13, 14, -1, -1, 114, -1, 3160 116, -1, -1, 114, -1, 762, 122, 123, -1, -1, 3161 -1, 122, 123, 154, -1, 772, 773, -1, 775, 217, 3162 -1, 778, 1411, 42, -1, -1, 783, -1, -1, 622, 3163 623, -1, -1, -1, -1, -1, 793, -1, -1, -1, 3164 -1, -1, -1, 241, -1, 638, -1, -1, -1, -1, 3165 -1, 70, -1, -1, -1, 766, 75, -1, 77, 78, 3166 79, 951, -1, -1, 657, -1, -1, -1, -1, 88, 3167 89, -1, -1, 343, -1, 668, -1, -1, -1, 1145, 3168 -1, -1, -1, -1, -1, -1, 843, -1, -1, 682, 3169 -1, -1, 685, -1, -1, 114, -1, 116, -1, -1, 3170 241, -1, -1, 122, 123, 246, -1, -1, -1, -1, 3171 867, -1, 102, 103, 104, 105, 106, 107, 108, 109, 3172 110, 111, 112, -1, -1, -1, -1, -1, -1, -1, 3173 887, -1, -1, 726, -1, -1, -1, -1, -1, 409, 3174 -1, -1, -1, -1, 901, 902, 136, -1, -1, -1, 3175 -1, -1, -1, 423, -1, -1, -1, -1, 428, 916, 3176 -1, -1, -1, -1, -1, -1, 436, -1, -1, 762, 3177 -1, -1, -1, -1, -1, -1, -1, -1, -1, 772, 3178 773, -1, -1, 453, -1, 778, -1, -1, -1, -1, 3179 783, 948, -1, -1, 10, 11, 12, 13, 14, -1, 3180 -1, 471, 343, 473, 961, -1, -1, -1, -1, 966, 3181 967, -1, 969, 970, -1, -1, -1, -1, -1, -1, 3182 -1, -1, -1, -1, -1, 423, 42, 938, -1, -1, 3183 987, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3184 -1, -1, -1, 954, -1, -1, 516, -1, -1, -1, 3185 843, -1, 0, -1, 70, 59, -1, -1, -1, 75, 3186 -1, 77, 78, 79, 42, -1, -1, -1, 409, 1026, 3187 1027, -1, 88, 89, 867, 473, -1, -1, -1, -1, 3188 1037, -1, 423, -1, -1, -1, 34, 428, -1, -1, 3189 -1, -1, 70, -1, -1, 436, -1, 75, 114, -1, 3190 28, 79, 106, -1, -1, 109, 122, 123, -1, 579, 3191 88, 89, 453, -1, -1, -1, -1, -1, 516, -1, 3192 -1, -1, 70, 916, 10, 11, 12, 13, 14, -1, 3193 471, 1042, 473, -1, -1, -1, 114, -1, -1, -1, 3194 -1, -1, -1, -1, 122, 123, -1, -1, 1105, -1, 3195 -1, -1, 622, 623, -1, 83, 42, -1, -1, -1, 3196 -1, -1, -1, -1, -1, -1, -1, -1, 638, -1, 3197 98, -1, 100, 966, 967, 516, 969, 970, -1, -1, 3198 -1, 579, -1, -1, 70, -1, -1, 657, -1, 75, 3199 -1, 77, 78, 79, 987, -1, -1, -1, 668, -1, 3200 -1, -1, 88, 89, -1, -1, 154, -1, -1, -1, 3201 214, 1168, 682, -1, -1, 685, -1, -1, -1, -1, 3202 -1, -1, -1, -1, 622, 623, -1, -1, 114, -1, 3203 116, -1, -1, 1026, 1027, -1, 122, 123, 579, -1, 3204 638, 1198, -1, 1200, -1, -1, -1, -1, 1205, -1, 3205 -1, -1, -1, -1, -1, -1, 726, 1347, 262, 187, 3206 188, -1, -1, -1, 192, -1, 194, 195, -1, -1, 3207 -1, 1182, -1, -1, -1, -1, 1233, -1, -1, -1, 3208 -1, 622, 623, -1, 1241, 1242, 1243, 685, -1, -1, 3209 -1, -1, 762, 241, -1, 1252, 1253, 638, 246, -1, 3210 -1, -1, 772, 773, -1, -1, -1, 1264, 778, -1, 3211 1400, -1, 1105, 783, -1, -1, 657, -1, -1, -1, 3212 -1, -1, -1, -1, -1, -1, -1, 668, -1, -1, 3213 -1, -1, -1, -1, -1, -1, 340, -1, -1, -1, 3214 -1, 682, -1, -1, 685, -1, -1, 1304, -1, -1, 3215 -1, -1, -1, 357, -1, -1, -1, 361, -1, -1, 3216 10, 11, 12, 13, 14, -1, -1, -1, -1, -1, 3217 -1, -1, -1, 843, -1, 1168, -1, -1, 1289, -1, 3218 -1, -1, -1, -1, -1, 726, -1, -1, -1, -1, 3219 -1, 1348, 42, -1, -1, 343, -1, 867, -1, -1, 3220 -1, -1, -1, -1, -1, 1198, -1, 1200, -1, -1, 2931 0, 1, 0, 178, 1, 178, 45, 441, 1, 178, 2932 115, 699, 178, 45, 179, 45, 179, 198, 244, 178, 2933 275, 178, 699, 58, 837, 1023, 163, 164, 213, 178, 2934 521, 31, 32, 141, 34, 586, 34, 338, 181, 1023, 2935 1023, 604, 84, 298, 299, 45, 338, 503, 837, 628, 2936 51, 51, 34, 51, 1025, 104, 334, 586, 58, 957, 2937 653, 557, 872, 63, 1284, 63, 66, 30, 66, 69, 2938 105, 69, 69, 108, 54, 1242, 584, 754, 253, 334, 2939 253, 584, 920, 584, 253, 0, 584, 253, 353, 254, 2940 195, 254, 357, 0, 253, 482, 253, 1361, 45, 486, 2941 45, 584, 151, 584, 253, 105, 249, 250, 108, 45, 2942 51, 112, 42, 584, 369, 115, 956, 957, 81, 34, 2943 47, 48, 588, 123, 986, 987, 592, 34, 983, 967, 2944 286, 0, 0, 1070, 114, 56, 47, 48, 45, 178, 2945 90, 414, 415, 143, 51, 143, 178, 613, 178, 826, 2946 84, 617, 112, 618, 619, 155, 63, 155, 114, 66, 2947 0, 974, 69, 756, 1473, 34, 34, 1387, 118, 634, 2948 406, 112, 1436, 766, 767, 96, 136, 212, 178, 179, 2949 406, 179, 116, 475, 777, 974, 116, 587, 286, 425, 2950 468, 42, 119, 593, 34, 195, 1505, 433, 114, 425, 2951 1171, 142, 203, 203, 1066, 203, 689, 433, 689, 120, 2952 1020, 484, 212, 398, 253, 215, 681, 215, 689, 710, 2953 136, 253, 222, 253, 32, 260, 66, 392, 114, 392, 2954 503, 178, 232, 178, 450, 235, 143, 788, 1405, 239, 2955 240, 239, 178, 0, 1, 1412, 923, 240, 155, 135, 2956 114, 468, 116, 253, 254, 115, 254, 239, 259, 788, 2957 260, 121, 203, 263, 760, 619, 187, 1204, 776, 1206, 2958 1207, 178, 179, 776, 101, 776, 100, 34, 776, 222, 2959 634, 330, 537, 538, 539, 586, 1184, 0, 1, 210, 2960 42, 564, 235, 776, 971, 776, 203, 298, 66, 220, 2961 127, 466, 337, 466, 1471, 776, 1365, 412, 215, 574, 2962 134, 42, 69, 418, 893, 123, 414, 415, 259, 354, 2963 320, 34, 320, 358, 239, 114, 604, 681, 114, 244, 2964 881, 609, 239, 1231, 67, 115, 1024, 337, 338, 1152, 2965 496, 101, 498, 10, 810, 501, 253, 1024, 504, 1416, 2966 615, 42, 121, 66, 354, 135, 69, 298, 358, 114, 2967 953, 954, 114, 1152, 116, 286, 135, 127, 368, 137, 2968 239, 239, 935, 42, 117, 215, 244, 880, 778, 880, 2969 115, 114, 880, 114, 3, 116, 1453, 1242, 1455, 121, 2970 1230, 1231, 392, 334, 392, 47, 48, 119, 496, 239, 2971 135, 618, 619, 501, 3, 137, 504, 115, 75, 1468, 2972 77, 78, 412, 320, 1473, 121, 42, 634, 418, 121, 2973 886, 1014, 1015, 114, 232, 116, 121, 135, 664, 1242, 2974 115, 338, 1120, 1121, 121, 137, 121, 653, 664, 1498, 2975 135, 0, 720, 1120, 1121, 114, 1505, 116, 135, 42, 2976 1288, 133, 678, 453, 136, 263, 837, 555, 458, 1357, 2977 453, 42, 918, 897, 681, 1320, 466, 119, 466, 724, 2978 470, 0, 470, 414, 415, 475, 117, 1448, 478, 1477, 2979 121, 114, 239, 483, 114, 392, 1065, 788, 114, 136, 2980 116, 406, 629, 1477, 1477, 1046, 788, 42, 114, 339, 2981 441, 114, 215, 720, 769, 42, 114, 1478, 895, 430, 2982 425, 1349, 1350, 95, 96, 515, 42, 1357, 433, 115, 2983 520, 114, 515, 116, 114, 121, 239, 520, 116, 114, 2984 118, 636, 42, 114, 455, 116, 1507, 42, 406, 115, 2985 756, 649, 647, 484, 944, 945, 115, 135, 130, 131, 2986 766, 767, 121, 468, 1409, 470, 1411, 425, 121, 84, 2987 368, 777, 503, 470, 115, 433, 121, 114, 475, 114, 2988 605, 116, 1439, 121, 137, 496, 115, 114, 1445, 116, 2989 501, 75, 137, 504, 584, 620, 586, 115, 114, 137, 2990 116, 115, 1405, 885, 88, 89, 977, 121, 633, 1412, 2991 75, 470, 470, 1470, 114, 605, 116, 82, 1475, 114, 2992 85, 116, 87, 88, 89, 121, 115, 1472, 1211, 459, 2993 620, 1473, 116, 564, 624, 903, 1219, 1220, 1221, 121, 2994 470, 137, 115, 633, 121, 635, 636, 637, 121, 824, 2995 114, 116, 635, 121, 637, 137, 1498, 647, 70, 121, 2996 137, 73, 115, 1505, 76, 121, 78, 935, 1471, 137, 2997 117, 115, 84, 604, 121, 137, 667, 121, 609, 120, 2998 478, 137, 115, 1361, 114, 483, 676, 584, 121, 586, 2999 935, 75, 121, 676, 1361, 79, 903, 0, 1, 689, 3000 690, 121, 121, 830, 88, 89, 121, 697, 137, 114, 3001 115, 701, 75, 868, 75, 868, 575, 137, 79, 852, 3002 117, 67, 137, 470, 121, 88, 89, 88, 89, 974, 3003 114, 34, 4, 5, 6, 7, 8, 9, 122, 123, 3004 115, 652, 114, 115, 116, 1423, 121, 953, 954, 956, 3005 661, 124, 125, 114, 665, 116, 1423, 1435, 1436, 664, 3006 114, 122, 123, 66, 122, 114, 69, 470, 1435, 1436, 3007 128, 129, 115, 678, 119, 75, 606, 948, 121, 1260, 3008 1458, 1152, 82, 119, 115, 85, 776, 87, 88, 89, 3009 121, 1458, 689, 690, 206, 117, 137, 75, 788, 121, 3010 72, 79, 74, 1386, 137, 114, 664, 116, 1014, 1015, 3011 88, 89, 137, 122, 123, 720, 116, 115, 117, 1087, 3012 678, 75, 121, 77, 78, 79, 624, 84, 4, 5, 3013 6, 7, 8, 9, 88, 89, 114, 93, 94, 669, 3014 830, 1016, 969, 114, 122, 123, 836, 837, 75, 152, 3015 77, 78, 1530, 683, 544, 545, 546, 547, 1023, 35, 3016 1023, 88, 89, 1530, 1023, 137, 1021, 1023, 1021, 1456, 3017 1025, 115, 1025, 1460, 1023, 866, 1023, 121, 868, 776, 3018 1087, 871, 114, 137, 1023, 10, 11, 12, 13, 14, 3019 123, 788, 1263, 132, 115, 885, 72, 133, 74, 697, 3020 121, 99, 114, 701, 116, 75, 116, 77, 78, 896, 3021 75, 1029, 215, 1031, 904, 117, 1184, 42, 88, 89, 3022 910, 904, 117, 88, 89, 75, 916, 77, 78, 341, 3023 920, 343, 837, 916, 75, 115, 239, 920, 88, 89, 3024 115, 771, 115, 1314, 114, 70, 1317, 88, 89, 119, 3025 51, 116, 863, 115, 115, 980, 981, 982, 115, 121, 3026 121, 1056, 63, 115, 114, 66, 897, 115, 69, 119, 3027 137, 868, 114, 114, 116, 116, 1182, 967, 837, 837, 3028 122, 123, 114, 75, 967, 77, 78, 977, 885, 115, 3029 980, 981, 982, 117, 1365, 121, 88, 89, 903, 1370, 3030 115, 3, 861, 116, 935, 1211, 121, 837, 10, 11, 3031 12, 13, 14, 1219, 1220, 1221, 1171, 429, 1171, 115, 3032 115, 1011, 119, 1230, 136, 121, 121, 119, 1399, 97, 3033 98, 1021, 830, 1023, 119, 1025, 120, 121, 836, 121, 3034 42, 119, 143, 1131, 1132, 136, 1134, 1037, 114, 1040, 3035 115, 116, 1140, 115, 155, 1143, 61, 62, 75, 115, 3036 77, 78, 79, 114, 115, 116, 1056, 137, 70, 974, 3037 1494, 88, 89, 871, 985, 114, 115, 116, 179, 75, 3038 1070, 77, 78, 79, 114, 115, 116, 1070, 120, 121, 3039 837, 117, 88, 89, 117, 10, 11, 12, 13, 14, 3040 47, 48, 203, 1071, 1072, 122, 540, 541, 938, 61, 3041 62, 63, 910, 117, 215, 974, 974, 420, 1273, 75, 3042 1273, 77, 78, 79, 1021, 1496, 1023, 42, 1025, 542, 3043 543, 1502, 88, 89, 837, 135, 135, 1127, 548, 549, 3044 135, 137, 121, 31, 974, 115, 115, 1518, 119, 896, 3045 115, 1522, 120, 120, 120, 70, 75, 121, 114, 114, 3046 75, 1259, 1152, 82, 79, 115, 85, 470, 87, 88, 3047 89, 115, 1163, 88, 89, 121, 115, 115, 115, 115, 3048 1386, 1171, 1087, 115, 115, 4, 5, 6, 7, 8, 3049 9, 0, 1, 896, 121, 115, 120, 116, 115, 114, 3050 31, 115, 1189, 115, 115, 115, 115, 122, 123, 115, 3051 513, 115, 115, 1011, 1204, 136, 1206, 1207, 115, 320, 3052 119, 1204, 3, 1206, 1207, 34, 115, 974, 1316, 10, 3053 11, 12, 13, 14, 121, 1333, 45, 117, 1, 1037, 3054 117, 115, 51, 115, 119, 121, 115, 1152, 115, 115, 3055 121, 1346, 114, 72, 63, 74, 121, 66, 114, 114, 3056 69, 42, 114, 75, 114, 77, 78, 79, 75, 11, 3057 133, 974, 575, 1263, 1171, 82, 88, 89, 85, 1184, 3058 87, 88, 89, 1273, 135, 121, 1384, 135, 51, 70, 3059 135, 392, 120, 1152, 1152, 104, 137, 1284, 1288, 115, 3060 135, 115, 114, 112, 116, 1288, 115, 116, 135, 115, 3061 122, 123, 1477, 115, 1477, 618, 619, 120, 1477, 120, 3062 1345, 1477, 1152, 1478, 1314, 1478, 119, 1317, 1477, 1127, 3063 1477, 634, 117, 142, 143, 121, 1323, 1242, 1477, 117, 3064 1251, 104, 151, 152, 115, 115, 155, 115, 117, 112, 3065 117, 117, 1507, 1448, 1507, 1345, 1346, 115, 1456, 1349, 3066 1350, 117, 1460, 1461, 117, 117, 1349, 1350, 50, 178, 3067 179, 120, 137, 137, 115, 1365, 1273, 137, 681, 142, 3068 1370, 115, 137, 1242, 1242, 115, 195, 137, 151, 75, 3069 1488, 77, 78, 79, 203, 115, 120, 120, 117, 86, 3070 1387, 117, 88, 89, 117, 1152, 215, 117, 117, 1399, 3071 117, 115, 1242, 1511, 115, 117, 114, 1515, 114, 114, 3072 63, 114, 119, 1414, 3, 1416, 115, 115, 114, 101, 3073 239, 10, 11, 12, 13, 14, 199, 117, 247, 117, 3074 203, 1539, 1189, 252, 253, 254, 115, 117, 1477, 1152, 3075 259, 115, 101, 114, 114, 1477, 137, 1477, 1448, 1449, 3076 115, 120, 1453, 42, 1455, 115, 1449, 75, 152, 77, 3077 78, 79, 45, 115, 115, 121, 115, 286, 1468, 135, 3078 88, 89, 115, 1473, 137, 137, 1189, 1477, 1478, 298, 3079 1478, 70, 1322, 137, 101, 1242, 259, 101, 135, 262, 3080 1405, 137, 1413, 117, 1415, 314, 1496, 1412, 1498, 137, 3081 115, 320, 1502, 115, 135, 1505, 114, 1507, 121, 1507, 3082 120, 330, 117, 286, 117, 334, 137, 117, 1518, 338, 3083 339, 137, 1522, 115, 837, 298, 114, 1284, 115, 1242, 3084 120, 1452, 1372, 1454, 353, 120, 1405, 1405, 357, 115, 3085 1540, 135, 115, 1412, 1412, 115, 137, 1540, 861, 115, 3086 114, 1551, 993, 1494, 115, 137, 1471, 330, 1551, 137, 3087 137, 334, 550, 553, 551, 1405, 1323, 552, 66, 1152, 3088 1477, 1284, 1412, 392, 1436, 915, 75, 75, 77, 78, 3089 353, 554, 1522, 896, 357, 1506, 1325, 1508, 1252, 88, 3090 89, 1461, 1515, 412, 1412, 414, 415, 1011, 866, 418, 3091 1021, 420, 1471, 1471, 1031, 1526, 1527, 1273, 701, 1322, 3092 1323, 75, 889, 77, 78, 79, 910, 116, 116, 830, 3093 183, 1189, 441, 66, 88, 89, 630, 190, 693, 888, 3094 1387, 1471, 709, 556, 470, -1, -1, -1, 556, 458, 3095 -1, 414, 415, 956, 957, 556, -1, 466, 1405, 468, 3096 75, 470, 77, 78, 79, 1412, 475, 155, -1, 1372, 3097 -1, 974, -1, 88, 89, 484, -1, -1, 441, -1, 3098 -1, -1, -1, 116, 1387, -1, -1, 496, -1, 498, 3099 453, -1, 501, -1, 503, 504, -1, -1, -1, 114, 3100 -1, 116, 1405, 256, 513, -1, -1, 122, 123, 1412, 3101 -1, 10, 11, 12, 13, 14, -1, -1, -1, 482, 3102 135, 484, 155, 486, 1471, -1, -1, 215, -1, 66, 3103 -1, -1, -1, 496, -1, 498, 420, -1, 501, -1, 3104 503, 504, -1, 42, -1, -1, -1, 556, 557, 75, 3105 -1, 77, 78, 79, -1, 564, -1, -1, -1, 247, 3106 -1, 314, 88, 89, 252, 574, 575, -1, 1471, 578, 3107 323, 70, -1, 326, -1, 584, 75, 586, -1, 116, 3108 79, -1, 215, -1, -1, -1, -1, -1, 114, 88, 3109 89, -1, -1, -1, -1, 604, 122, 123, -1, 232, 3110 609, 564, 611, -1, -1, -1, 615, -1, -1, 618, 3111 619, 574, -1, -1, 247, 114, -1, -1, 155, 252, 3112 -1, -1, -1, 122, 123, 634, -1, 636, -1, 513, 3113 -1, 384, -1, -1, -1, 388, -1, -1, 647, -1, 3114 -1, 604, -1, -1, -1, -1, 609, -1, -1, 1152, 3115 -1, 339, 615, 10, 11, 12, 13, 14, 667, -1, 3116 -1, -1, 54, -1, 56, -1, -1, 59, 60, 61, 3117 -1, -1, 681, 682, 683, -1, -1, -1, 215, -1, 3118 689, 690, -1, -1, 76, 42, 1189, -1, -1, -1, 3119 -1, 575, -1, -1, -1, 87, 88, -1, -1, -1, 3120 -1, -1, -1, -1, 667, -1, 339, -1, -1, -1, 3121 247, 720, 465, 70, -1, 252, -1, 10, 11, 12, 3122 13, 14, -1, -1, -1, -1, -1, 1230, 1231, -1, 3123 693, 419, -1, -1, 618, 619, -1, -1, -1, 1242, 3124 -1, -1, -1, -1, -1, -1, -1, 435, -1, 42, 3125 634, 760, -1, -1, -1, -1, -1, 114, -1, 116, 3126 769, -1, 771, -1, -1, 122, 123, 776, -1, -1, 3127 75, 459, 77, 78, 79, -1, -1, 70, -1, 788, 3128 -1, 1284, -1, 88, 89, -1, 419, -1, 180, -1, 3129 -1, -1, -1, -1, -1, -1, -1, 681, -1, -1, 3130 -1, -1, 339, 556, 557, -1, 769, -1, -1, 114, 3131 -1, 116, -1, -1, -1, -1, -1, 122, 123, 1322, 3132 1323, 114, -1, 116, -1, -1, 459, -1, 837, 122, 3133 123, 102, 103, 104, 105, 106, 107, 108, 109, 110, 3134 111, 112, -1, -1, -1, -1, 10, 11, 12, 13, 3135 14, -1, 861, -1, 1357, -1, -1, 866, -1, 868, 3136 75, -1, 77, 78, 79, 136, -1, -1, -1, 1372, 3137 -1, 880, 881, 88, 89, -1, 885, -1, 42, -1, 3138 -1, -1, 419, -1, 1387, 638, -1, 896, 897, 642, 3139 578, -1, -1, -1, 903, -1, -1, -1, -1, 114, 3140 -1, 116, 1405, 866, -1, -1, 70, 122, 123, 1412, 3141 -1, 75, -1, 77, 78, 79, -1, -1, 606, -1, 3142 -1, -1, 459, 611, 88, 89, 935, -1, -1, -1, 3143 -1, -1, 895, 896, 897, -1, -1, -1, -1, -1, 3144 -1, 333, -1, 335, -1, 578, -1, 956, 957, -1, 3145 114, -1, 116, -1, 346, 347, -1, -1, 122, 123, 3146 -1, 28, -1, -1, -1, 974, -1, -1, 1471, -1, 3147 -1, -1, 935, 606, -1, -1, -1, 861, 611, -1, 3148 -1, 669, -1, -1, 0, -1, 7, -1, -1, 10, 3149 11, 12, 13, 14, -1, 683, 75, -1, 77, 78, 3150 79, -1, -1, -1, -1, -1, -1, 760, -1, 88, 3151 89, -1, 1021, -1, 1023, 82, 1025, -1, 34, 40, 3152 41, 42, 43, -1, -1, -1, -1, -1, -1, -1, 3153 97, 1040, 99, -1, -1, 114, 669, 1046, -1, -1, 3154 -1, 578, -1, 122, 123, -1, -1, 1056, 69, 70, 3155 683, -1, -1, 69, 75, -1, -1, 124, 79, -1, 3156 -1, 82, 83, 84, 85, 86, 87, 88, 89, 606, 3157 91, 92, 956, 957, 611, -1, -1, 1040, 1087, -1, 3158 86, -1, -1, 771, 90, 91, 92, -1, -1, -1, 3159 -1, -1, -1, 114, -1, 116, -1, -1, -1, -1, 3160 -1, 122, 123, 124, 125, 126, 127, -1, 114, -1, 3161 116, -1, 118, 119, -1, -1, 183, -1, 185, 186, 3162 -1, -1, -1, 190, -1, 192, 193, -1, -1, -1, 3163 -1, -1, 669, -1, -1, 86, 152, -1, 771, 90, 3164 91, 92, -1, 1152, -1, -1, 683, -1, -1, -1, 3165 -1, -1, -1, -1, 1163, -1, -1, -1, -1, -1, 3166 -1, -1, 1171, 114, -1, 116, -1, 118, 119, -1, 3167 -1, -1, 925, -1, -1, 1184, -1, -1, -1, -1, 3168 1189, -1, -1, -1, -1, -1, -1, -1, 941, 256, 3221 3169 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3222 70, 762, -1, -1, -1, 75, -1, -1, 1385, 79, 3223 -1, 772, 773, -1, -1, -1, -1, 778, 88, 89, 3224 1233, -1, 783, -1, -1, 843, 916, -1, 1241, 1242, 3225 1243, -1, -1, -1, 1411, 1412, -1, -1, -1, 1252, 3226 1253, 409, -1, -1, 114, -1, -1, -1, -1, 867, 3227 398, 1264, 122, 123, -1, 423, -1, 1434, -1, -1, 3228 428, -1, -1, -1, 1441, 55, -1, 57, 436, -1, 3229 60, 61, 62, -1, -1, -1, 966, 967, -1, 969, 3230 970, -1, 843, -1, 902, 453, -1, 77, -1, 10, 3231 11, 12, 13, 14, -1, -1, -1, 987, 88, 89, 3232 -1, -1, -1, 471, -1, 473, 867, -1, -1, -1, 3233 -1, -1, -1, -1, -1, -1, -1, 1494, -1, -1, 3234 -1, 42, -1, -1, 1501, -1, -1, -1, -1, -1, 3235 -1, -1, -1, -1, -1, 1348, 1026, 1027, -1, -1, 3236 -1, -1, -1, -1, -1, -1, -1, -1, 516, 70, 3237 -1, 969, 970, -1, 75, 916, 77, 78, 79, -1, 3238 -1, -1, -1, -1, -1, -1, -1, 88, 89, 987, 3239 -1, -1, 1385, -1, -1, -1, -1, -1, -1, -1, 3240 -1, -1, -1, -1, -1, 609, -1, -1, -1, -1, 3241 -1, -1, 182, 114, -1, -1, -1, -1, 1411, -1, 3242 624, 122, 123, -1, -1, 966, 967, -1, 969, 970, 3243 -1, 579, -1, 637, -1, 1105, 564, 565, -1, -1, 3244 -1, 1434, -1, -1, -1, -1, 987, -1, 1441, -1, 3170 1163, -1, -1, -1, -1, -1, -1, -1, 224, -1, 3245 3171 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3246 -1, -1, -1, 591, -1, -1, 594, 595, -1, 597, 3247 -1, 599, 600, -1, 622, 623, 604, 605, -1, -1, 3248 -1, -1, -1, -1, -1, 1026, 1027, -1, -1, -1, 3249 638, -1, -1, -1, -1, -1, -1, -1, 1168, -1, 3250 -1, 1494, -1, -1, -1, -1, -1, -1, -1, 657, 3251 -1, -1, -1, -1, 642, -1, -1, -1, 646, -1, 3252 668, -1, -1, -1, -1, -1, -1, -1, 1198, -1, 3253 1200, -1, -1, -1, 682, -1, -1, 685, -1, -1, 3254 -1, -1, -1, 10, 11, 12, 13, 14, 15, 16, 3255 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3256 27, 28, 29, 1233, 1105, -1, 336, -1, 338, -1, 3257 1168, 1241, 1242, 1243, -1, 42, -1, -1, 726, 349, 3258 350, -1, 1252, 1253, -1, -1, -1, -1, -1, -1, 3259 -1, -1, -1, -1, 1264, -1, -1, -1, -1, 40, 3260 41, -1, 43, 70, -1, -1, -1, 1205, -1, -1, 3261 -1, -1, -1, -1, 762, -1, -1, -1, -1, -1, 3262 -1, -1, -1, -1, 772, 773, -1, 1168, 69, -1, 3263 778, -1, -1, -1, 75, 783, -1, -1, 79, 843, 3264 -1, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3265 91, 92, -1, -1, 1252, 1253, -1, 1198, -1, 1200, 3266 -1, -1, -1, -1, -1, -1, 1264, -1, -1, -1, 3267 -1, -1, -1, 114, -1, 116, -1, -1, 1348, -1, 3268 -1, 122, 123, 124, 125, 126, 127, -1, -1, -1, 3269 -1, -1, 1233, -1, 135, 843, -1, -1, -1, -1, 3270 1241, 1242, 1243, -1, -1, -1, 1304, -1, -1, -1, 3271 -1, 1252, 1253, -1, -1, 1385, -1, -1, -1, 867, 3272 -1, -1, -1, 1264, -1, -1, -1, -1, -1, -1, 3172 -1, 1230, 1231, 239, -1, -1, 1189, -1, 244, -1, 3173 -1, -1, -1, 1242, 771, -1, -1, -1, -1, 10, 3174 11, 12, 13, 14, -1, -1, -1, -1, -1, -1, 3175 938, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3176 -1, -1, -1, -1, 1273, -1, -1, -1, -1, -1, 3177 -1, 42, -1, -1, -1, 1284, -1, 1030, 670, -1, 3178 672, -1, -1, -1, -1, -1, -1, 679, 680, -1, 3179 -1, -1, 684, -1, -1, -1, -1, -1, 1182, 70, 3180 -1, -1, -1, -1, 75, 938, 77, 78, 79, -1, 3181 702, -1, -1, 1322, 1323, 707, -1, 88, 89, -1, 3182 -1, 1284, -1, -1, 340, -1, -1, -1, 395, -1, 3183 -1, -1, -1, -1, 726, -1, -1, 1346, -1, -1, 3184 -1, -1, -1, 114, -1, 116, 1230, 1231, 1357, -1, 3185 -1, 122, 123, -1, -1, -1, -1, 0, 1, -1, 3186 -1, -1, -1, 1372, -1, -1, -1, -1, -1, -1, 3187 -1, -1, -1, -1, -1, -1, -1, -1, 1387, -1, 3273 3188 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3274 -1, 1411, -1, -1, -1, -1, -1, -1, -1, 1347, 3275 1348, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3276 -1, -1, -1, -1, 1434, -1, -1, -1, 916, -1, 3277 -1, 1441, -1, -1, -1, -1, -1, -1, -1, -1, 3278 -1, -1, -1, -1, -1, -1, 990, 1385, -1, 993, 3279 994, 995, -1, -1, -1, -1, -1, -1, -1, -1, 3280 -1, -1, 1400, -1, -1, -1, -1, 1348, -1, -1, 3281 938, -1, -1, -1, 1412, -1, -1, -1, 966, 967, 3282 -1, 969, 970, -1, 1494, -1, 954, -1, -1, 957, 3283 958, -1, -1, -1, -1, -1, 1434, -1, -1, 987, 3284 -1, -1, -1, 1441, 1385, 10, 11, 12, 13, 14, 3285 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3286 25, 26, 27, 28, 29, 30, -1, -1, -1, -1, 3287 1411, -1, -1, -1, -1, -1, -1, 42, 1026, 1027, 3189 406, 34, -1, -1, -1, -1, 1405, -1, -1, -1, 3190 -1, 938, -1, 1412, 420, 1414, -1, 1416, 51, 425, 3191 -1, -1, -1, 1166, -1, -1, -1, 433, -1, -1, 3192 -1, -1, -1, -1, 1387, -1, 69, 819, -1, 821, 3193 822, 823, -1, -1, 450, -1, -1, -1, -1, 1448, 3194 -1, -1, -1, -1, 1453, -1, 1455, -1, 840, -1, 3195 -1, 1414, 468, 1416, 470, -1, -1, -1, -1, -1, 3196 -1, 104, 1471, -1, 856, -1, -1, -1, 1477, 1478, 3197 -1, -1, -1, 1357, -1, -1, -1, -1, -1, -1, 3198 -1, -1, -1, -1, -1, 1494, -1, 879, -1, -1, 3199 1453, -1, 1455, 560, 561, -1, -1, 513, 1507, -1, 3200 143, -1, -1, -1, -1, -1, -1, -1, 151, 152, 3201 -1, -1, -1, -1, -1, -1, 1269, -1, -1, -1, 3202 587, -1, 914, 590, 591, -1, 593, 919, 595, 596, 3203 -1, 1494, 924, 600, 601, -1, 179, 929, 930, -1, 3204 -1, -1, 934, -1, 936, 937, -1, -1, 940, -1, 3205 -1, -1, 195, -1, -1, 198, 199, 949, -1, 575, 3206 203, -1, 10, 11, 12, 13, 14, -1, -1, -1, 3207 -1, 638, -1, 965, 966, 642, -1, -1, -1, -1, 3208 -1, 224, -1, -1, -1, 228, -1, 230, -1, -1, 3209 233, -1, -1, -1, 42, -1, 239, -1, -1, -1, 3210 -1, 244, 618, 619, -1, 997, -1, -1, 1000, -1, 3211 -1, 254, -1, -1, -1, -1, -1, -1, 634, 262, 3212 -1, -1, 70, -1, -1, -1, -1, 75, -1, 77, 3213 78, 79, -1, -1, 1322, -1, -1, 653, -1, -1, 3214 88, 89, -1, -1, -1, -1, -1, -1, 664, -1, 3288 3215 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3289 -1, -1, -1, 1434, -1, -1, 1494, -1, -1, -1, 3290 1441, 1029, -1, -1, 674, 70, 676, -1, -1, -1, 3291 -1, -1, -1, 683, 684, -1, 81, -1, 688, 1047, 3292 1048, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3293 -1, -1, -1, -1, -1, -1, 706, -1, -1, -1, 3294 -1, 711, -1, -1, -1, -1, -1, -1, -1, -1, 3295 -1, -1, -1, 1494, -1, -1, -1, 1105, -1, -1, 3296 -1, -1, 732, -1, 1168, -1, -1, -1, -1, -1, 3297 -1, -1, -1, -1, -1, 51, -1, -1, -1, -1, 3298 40, 41, 1110, 43, -1, -1, -1, -1, -1, -1, 3299 -1, 67, -1, -1, -1, -1, -1, -1, -1, -1, 3300 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 3301 -1, -1, -1, -1, -1, 75, -1, -1, -1, 79, 3302 1168, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3303 -1, 91, 92, -1, -1, -1, -1, 113, -1, -1, 3304 -1, 117, 1170, -1, -1, -1, -1, -1, -1, -1, 3305 1198, -1, 1200, -1, 114, 825, 116, 827, 828, 829, 3306 -1, 1189, 122, 123, 124, 125, 126, 127, 144, -1, 3307 -1, -1, -1, -1, -1, -1, 846, -1, 154, 1283, 3308 -1, 157, -1, -1, -1, 1233, -1, -1, -1, -1, 3309 -1, -1, 862, 1241, 1242, 1243, -1, -1, -1, -1, 3310 -1, -1, -1, -1, 1252, 1253, -1, -1, -1, -1, 3311 -1, -1, -1, -1, -1, 885, 1264, -1, -1, -1, 3312 -1, -1, -1, -1, -1, -1, -1, -1, -1, 205, 3313 -1, -1, -1, -1, -1, 1339, -1, -1, 1342, -1, 3314 -1, 217, -1, -1, -1, -1, -1, -1, -1, -1, 3315 -1, -1, -1, -1, -1, -1, -1, 927, -1, -1, 3316 -1, 1289, 932, -1, 1368, -1, -1, 937, -1, -1, 3317 -1, -1, 942, 943, -1, -1, -1, 947, 254, 949, 3318 950, -1, -1, 953, -1, 261, -1, -1, -1, 1393, 3319 -1, -1, 962, -1, 1398, -1, -1, -1, -1, -1, 3320 1348, -1, -1, -1, -1, -1, -1, -1, 978, 979, 3321 -1, -1, 288, -1, -1, -1, -1, -1, -1, -1, 3322 -1, -1, -1, -1, 1428, 301, -1, -1, -1, -1, 3323 -1, -1, -1, -1, -1, -1, -1, 1385, -1, 1009, 3324 -1, -1, 1012, -1, -1, -1, -1, -1, -1, -1, 3216 -1, 1053, 678, -1, -1, 681, 114, 1059, 1060, -1, 3217 -1, -1, -1, -1, 122, 123, 1068, -1, -1, -1, 3218 -1, 1073, -1, -1, 1372, -1, 1078, 330, -1, 1322, 3219 -1, 334, -1, -1, -1, -1, -1, 340, -1, 1091, 3220 -1, -1, -1, -1, 720, -1, -1, -1, -1, -1, 3221 353, -1, -1, -1, 357, 1107, -1, 1109, 1110, 1111, 3222 1112, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3223 -1, -1, 1124, -1, 1126, -1, -1, -1, -1, 1372, 3224 756, -1, -1, -1, 10, 11, 12, 13, 14, 0, 3225 766, 767, -1, -1, -1, -1, 772, -1, -1, -1, 3226 -1, 777, -1, 406, -1, -1, 1158, 1159, -1, -1, 3227 -1, -1, -1, -1, -1, -1, 42, 420, -1, -1, 3228 -1, -1, 425, 34, -1, 1322, -1, -1, -1, -1, 3229 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3230 -1, -1, -1, -1, 70, -1, -1, 450, -1, 75, 3231 453, 77, 78, 79, -1, -1, -1, -1, 69, -1, 3232 -1, 837, 88, 89, -1, 468, -1, 470, -1, -1, 3233 1222, 1223, -1, -1, -1, 1372, -1, -1, -1, 482, 3234 1232, -1, -1, 486, -1, 861, -1, -1, 114, -1, 3235 116, -1, -1, -1, -1, -1, 122, 123, 925, -1, 3325 3236 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3326 -1, 337, -1, 1411, -1, -1, 342, -1, -1, -1, 3237 513, -1, -1, -1, 941, -1, -1, 944, 945, -1, 3238 -1, -1, -1, -1, -1, -1, -1, 903, -1, -1, 3327 3239 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3328 -1, -1, -1, -1, -1, -1, 1434, 1491, -1, -1, 3329 -1, -1, 1496, 1441, -1, 1065, -1, -1, -1, -1, 3330 -1, 1071, 1072, -1, -1, -1, -1, -1, -1, -1, 3331 -1, 1515, -1, 1517, -1, -1, 1086, 1521, -1, -1, 3332 1524, 1091, -1, -1, -1, -1, 1096, -1, 1532, -1, 3333 -1, -1, 1536, -1, -1, -1, -1, -1, -1, 1109, 3334 -1, 417, 418, -1, -1, -1, 1494, 423, -1, -1, 3335 -1, -1, -1, -1, -1, 1125, -1, 1127, 1128, 1129, 3336 1130, -1, -1, -1, -1, -1, -1, -1, 444, -1, 3337 -1, -1, 1142, -1, 1144, -1, -1, -1, -1, -1, 3240 -1, 152, -1, -1, 1296, -1, 1298, 1299, 1300, -1, 3241 58, -1, -1, -1, 557, -1, -1, -1, 1310, -1, 3242 -1, -1, -1, -1, -1, -1, 1318, -1, -1, 1321, 3243 -1, 574, 575, -1, -1, -1, -1, 953, 954, -1, 3244 956, 957, -1, 586, -1, -1, -1, -1, -1, -1, 3245 1017, -1, -1, -1, -1, -1, 1348, 105, 974, -1, 3246 108, 604, -1, 1030, -1, -1, 609, -1, 1035, 1036, 3247 -1, -1, 615, -1, -1, 618, 619, -1, -1, -1, 3248 -1, -1, -1, -1, -1, -1, -1, -1, 239, -1, 3249 -1, 634, -1, 244, -1, -1, -1, -1, 1014, 1015, 3250 1392, 1393, -1, -1, -1, -1, -1, -1, -1, -1, 3251 653, -1, -1, 1405, -1, -1, -1, -1, -1, -1, 3252 1412, 664, -1, -1, -1, 1092, -1, -1, -1, 0, 3253 -1, -1, -1, -1, -1, 678, -1, 1429, 681, -1, 3254 -1, -1, -1, -1, -1, -1, -1, 690, -1, -1, 3255 693, -1, -1, -1, -1, 1447, -1, -1, -1, 1451, 3256 -1, -1, -1, 34, 212, -1, -1, -1, -1, -1, 3257 -1, 1087, -1, -1, -1, -1, -1, 720, -1, -1, 3258 -1, -1, -1, -1, -1, -1, -1, 1154, -1, 340, 3259 -1, -1, 1484, -1, 1486, -1, -1, -1, 69, -1, 3260 -1, -1, -1, -1, -1, -1, 1173, -1, -1, -1, 3261 -1, -1, 260, 756, -1, -1, -1, -1, 10, 11, 3262 12, 13, 14, 766, 767, -1, 769, -1, -1, 772, 3263 -1, -1, 1524, 1525, 777, -1, 1152, -1, -1, -1, 3264 -1, -1, -1, -1, 787, 1537, 1538, -1, -1, -1, 3265 42, -1, -1, -1, -1, 406, -1, -1, -1, -1, 3266 -1, -1, -1, -1, -1, -1, 1182, -1, 1184, 420, 3267 -1, -1, -1, -1, 425, -1, -1, -1, 70, -1, 3268 -1, 152, 433, 75, -1, 77, 78, 79, 28, 337, 3269 -1, -1, -1, -1, 837, 1211, 88, 89, -1, 450, 3270 -1, -1, 1269, 1219, 1220, 1221, 354, -1, -1, -1, 3271 358, -1, -1, -1, 1230, 1231, -1, 468, 861, 470, 3272 -1, -1, 114, -1, -1, -1, 1242, -1, -1, -1, 3273 122, 123, -1, -1, -1, -1, -1, -1, 881, -1, 3274 -1, -1, 82, -1, -1, -1, -1, -1, -1, -1, 3275 -1, -1, 895, 896, -1, -1, -1, 97, -1, 99, 3276 903, -1, 513, -1, -1, -1, -1, -1, 239, -1, 3277 -1, -1, -1, 244, -1, -1, -1, -1, -1, -1, 3338 3278 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3339 -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, 3340 -1, -1, -1, -1, 1174, 1175, -1, 67, -1, -1, 3341 -1, 487, -1, -1, -1, -1, 76, -1, 78, -1, 3342 80, -1, -1, 499, -1, 501, 86, -1, 504, -1, 3343 506, 507, -1, -1, -1, -1, -1, -1, -1, -1, 3344 516, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3345 -1, -1, -1, -1, -1, -1, -1, 117, -1, 119, 3346 120, 121, -1, -1, -1, -1, -1, -1, -1, -1, 3347 -1, -1, -1, -1, 1244, 1245, -1, -1, -1, -1, 3348 -1, -1, -1, -1, 1254, -1, -1, -1, -1, -1, 3349 -1, -1, 568, -1, -1, -1, -1, 157, -1, -1, 3350 -1, -1, -1, 579, -1, -1, 582, -1, -1, -1, 3351 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3352 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3353 28, 29, 608, -1, 32, 33, 34, 613, -1, -1, 3354 -1, -1, -1, -1, 42, -1, 622, 623, -1, -1, 3355 -1, 1321, -1, 1323, 1324, 1325, -1, 217, -1, 219, 3356 220, 221, 638, -1, -1, 1335, -1, -1, -1, -1, 3357 -1, -1, 70, 1343, -1, -1, 1346, 75, -1, 77, 3358 78, 79, -1, -1, -1, -1, -1, -1, -1, 249, 3359 88, 89, -1, -1, 254, 671, -1, -1, -1, -1, 3360 -1, -1, -1, -1, -1, -1, 1376, -1, -1, 685, 3361 -1, 687, -1, -1, -1, -1, 114, -1, 116, -1, 3362 -1, -1, -1, -1, 122, 123, 10, 11, 12, 13, 3363 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3364 24, 25, 26, 27, 28, 29, 30, 28, -1, -1, 3365 726, 1421, 1422, -1, -1, -1, -1, -1, 42, -1, 3366 -1, -1, -1, 323, 1434, -1, -1, -1, 46, -1, 3367 -1, 1441, -1, -1, -1, -1, -1, -1, -1, -1, 3368 -1, 1451, 342, -1, -1, -1, 70, 347, 348, -1, 3369 -1, -1, -1, -1, -1, 355, -1, 81, -1, -1, 3370 -1, 777, 83, -1, 1474, -1, -1, -1, 1478, -1, 3371 -1, -1, -1, 91, -1, -1, -1, 98, -1, 100, 3372 -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, 3373 -1, -1, -1, -1, -1, 395, -1, 1507, -1, 1509, 3374 -1, -1, -1, -1, 125, -1, -1, -1, -1, -1, 3375 -1, -1, -1, -1, -1, 415, -1, -1, -1, -1, 3376 420, -1, 422, -1, -1, -1, -1, -1, 1538, 1539, 3377 -1, -1, -1, -1, -1, -1, 1546, 1547, 438, -1, 3378 -1, 441, 442, -1, -1, -1, -1, -1, 448, -1, 3379 168, 867, -1, -1, -1, -1, 872, -1, -1, -1, 3380 -1, -1, 462, -1, 185, -1, 187, 188, -1, 469, 3381 -1, 192, 190, 194, 195, -1, -1, -1, -1, -1, 3382 -1, -1, -1, -1, -1, -1, 204, 903, -1, -1, 3383 -1, -1, -1, -1, -1, 213, -1, -1, -1, -1, 3384 916, -1, -1, -1, -1, 223, -1, -1, -1, -1, 3385 -1, 7, -1, -1, 10, 11, 12, 13, 14, -1, 3386 -1, -1, -1, -1, 242, -1, -1, -1, -1, 247, 3387 -1, -1, 948, -1, -1, -1, -1, 258, -1, -1, 3388 -1, -1, 260, -1, 40, 41, 42, 43, -1, -1, 3389 268, -1, 270, 969, 970, -1, -1, -1, -1, -1, 3279 -1, -1, 935, -1, -1, -1, -1, -1, -1, -1, 3280 -1, -1, -1, -1, -1, 948, -1, 1323, -1, 0, 3281 953, 954, -1, 956, 957, -1, -1, -1, -1, -1, 3282 -1, -1, -1, -1, 575, -1, -1, -1, -1, -1, 3283 -1, 974, -1, -1, -1, -1, -1, -1, -1, -1, 3284 -1, 1357, -1, 34, -1, 185, 186, -1, -1, -1, 3285 190, -1, 192, 193, -1, -1, -1, -1, -1, -1, 3286 -1, -1, -1, -1, -1, -1, -1, 618, 619, 340, 3287 1386, 1014, 1015, -1, -1, -1, -1, -1, 69, -1, 3288 -1, -1, 1025, 634, -1, -1, -1, -1, -1, 1405, 3289 -1, -1, -1, -1, -1, -1, 1412, -1, -1, -1, 3290 -1, -1, 653, -1, -1, -1, -1, -1, -1, -1, 3291 -1, -1, -1, 664, -1, -1, -1, -1, -1, -1, 3292 -1, -1, -1, -1, -1, -1, -1, 678, -1, -1, 3293 681, -1, -1, -1, -1, 406, -1, -1, -1, -1, 3294 -1, -1, -1, -1, 1087, -1, -1, -1, -1, 420, 3295 -1, -1, -1, -1, 425, 1471, -1, 605, -1, -1, 3296 -1, 152, 433, -1, -1, -1, -1, -1, -1, 720, 3297 -1, -1, 620, -1, -1, -1, -1, -1, -1, 450, 3298 -1, -1, -1, -1, -1, 633, -1, -1, -1, -1, 3299 -1, -1, -1, -1, -1, -1, -1, 468, -1, 470, 3300 -1, -1, -1, -1, -1, 756, -1, -1, -1, 1152, 3301 -1, -1, -1, -1, -1, 766, 767, -1, -1, -1, 3302 -1, 772, -1, -1, -1, -1, 777, -1, -1, -1, 3303 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1182, 3304 -1, 1184, 513, -1, -1, -1, 1189, -1, 239, -1, 3305 -1, -1, -1, 244, -1, 395, -1, -1, 7, -1, 3306 -1, 10, 11, 12, 13, 14, -1, -1, 1211, -1, 3307 -1, -1, -1, -1, -1, -1, 1219, 1220, 1221, -1, 3308 -1, -1, -1, -1, -1, -1, 837, 1230, 1231, -1, 3309 -1, 40, 41, 42, 43, -1, -1, -1, -1, 1242, 3310 -1, -1, -1, -1, 575, -1, -1, -1, -1, -1, 3311 861, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3312 69, 70, -1, -1, -1, -1, 75, -1, -1, -1, 3313 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, 3314 89, 1284, 91, 92, -1, -1, -1, 618, 619, 340, 3315 -1, -1, 903, -1, -1, -1, -1, -1, -1, -1, 3316 -1, -1, -1, 634, -1, 114, -1, 116, -1, -1, 3317 -1, -1, -1, 122, 123, 124, 125, 126, 127, -1, 3318 1323, -1, 653, -1, -1, -1, -1, -1, -1, 837, 3319 -1, -1, -1, 664, -1, -1, -1, -1, -1, -1, 3320 -1, -1, 953, 954, -1, 956, 957, 678, -1, -1, 3321 681, -1, -1, -1, 1357, 406, -1, -1, -1, -1, 3322 560, 561, -1, 974, -1, -1, -1, -1, -1, 420, 3323 -1, -1, -1, -1, 425, -1, -1, -1, -1, -1, 3324 -1, -1, 433, 1386, 1387, -1, -1, 587, -1, 720, 3325 590, 591, -1, 593, -1, 595, 596, -1, -1, 450, 3326 600, 601, 1405, 1014, 1015, 40, 41, -1, 43, 1412, 3327 -1, -1, -1, -1, -1, -1, -1, 468, -1, 470, 3328 -1, -1, -1, -1, -1, 756, -1, -1, -1, -1, 3329 -1, -1, -1, -1, 69, 766, 767, -1, 638, -1, 3330 75, 772, 642, -1, 79, -1, 777, 82, 83, 84, 3331 85, 86, 87, 88, 89, -1, 91, 92, -1, -1, 3332 -1, -1, 513, -1, -1, -1, -1, -1, 1471, 977, 3333 -1, -1, 980, 981, 982, 1478, 1087, -1, -1, 114, 3334 -1, 116, -1, -1, -1, -1, -1, 122, 123, 124, 3335 125, 126, 127, -1, -1, 51, -1, -1, -1, -1, 3336 135, -1, -1, -1, -1, -1, 837, -1, -1, -1, 3337 66, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3338 -1, -1, -1, -1, 575, -1, -1, -1, -1, -1, 3339 861, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3340 -1, 1152, -1, -1, -1, -1, -1, -1, -1, -1, 3341 -1, -1, -1, -1, -1, -1, 112, -1, -1, -1, 3342 116, -1, -1, -1, -1, -1, -1, 618, 619, -1, 3343 -1, 1182, 903, 1184, -1, -1, -1, -1, -1, -1, 3344 -1, -1, -1, 634, -1, -1, 142, -1, -1, -1, 3345 -1, -1, -1, -1, -1, -1, 152, -1, -1, 155, 3346 1211, -1, 653, -1, -1, -1, -1, -1, 1219, 1220, 3347 1221, -1, -1, 664, -1, -1, -1, -1, -1, 1230, 3348 1231, -1, 953, 954, -1, 956, 957, 678, -1, -1, 3349 681, 1242, -1, -1, -1, -1, -1, -1, -1, -1, 3350 -1, -1, -1, 974, 1152, -1, -1, 203, -1, -1, 3351 -1, -1, -1, -1, -1, -1, -1, -1, -1, 215, 3352 -1, -1, -1, -1, -1, -1, -1, -1, -1, 720, 3390 3353 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3391 -1, 289, -1, 69, 70, -1, -1, -1, -1, 75, 3392 -1, -1, 582, 79, -1, -1, 82, 83, 84, 85, 3393 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 3354 -1, -1, -1, 1014, 1015, -1, -1, -1, -1, -1, 3355 -1, -1, -1, -1, -1, -1, 252, -1, -1, -1, 3356 -1, -1, -1, 259, -1, 756, -1, -1, -1, -1, 3357 -1, -1, 1323, -1, -1, 766, 767, -1, -1, -1, 3358 -1, 772, -1, -1, -1, 925, 777, -1, -1, -1, 3359 286, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3360 -1, 941, 298, -1, 944, 945, 1357, -1, -1, -1, 3361 -1, -1, -1, -1, -1, 1263, 1087, -1, -1, -1, 3394 3362 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3395 610, -1, -1, 331, -1, 615, -1, 335, 114, -1, 3396 116, -1, -1, -1, -1, -1, 122, 123, 124, 125, 3397 126, 127, -1, -1, -1, -1, 1052, -1, -1, -1, 3398 -1, -1, -1, -1, -1, 363, -1, -1, -1, 367, 3399 368, -1, 370, -1, -1, -1, -1, -1, -1, 377, 3400 378, -1, 380, 381, -1, 383, -1, 385, -1, -1, 3401 -1, -1, -1, 673, -1, -1, -1, 398, -1, -1, 3402 -1, -1, -1, -1, 402, -1, -1, 687, -1, 1105, 3403 -1, -1, 410, -1, -1, -1, -1, -1, -1, -1, 3363 -1, -1, -1, -1, -1, 1386, -1, -1, 334, -1, 3364 -1, -1, -1, 339, -1, -1, 837, -1, -1, -1, 3365 -1, -1, -1, -1, 1405, -1, -1, -1, -1, -1, 3366 -1, 1412, -1, -1, -1, -1, 1314, -1, -1, 1317, 3367 861, -1, -1, -1, -1, -1, -1, 1017, -1, -1, 3368 -1, 1152, -1, -1, -1, -1, -1, -1, -1, -1, 3369 -1, -1, -1, -1, -1, 1035, 1036, 1345, -1, -1, 3404 3370 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3405 -1, -1, -1, -1, -1, -1, 434, -1, -1, -1, 3371 -1, 1182, 903, 1184, -1, -1, -1, 1365, 414, 415, 3372 1471, -1, 1370, -1, 420, -1, -1, -1, -1, -1, 3406 3373 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3407 153, 154, -1, -1, -1, -1, -1, -1, -1, -1, 3408 -1, 459, -1, -1, -1, -1, -1, 465, -1, -1, 3409 -1, -1, 470, -1, -1, -1, -1, -1, -1, -1, 3410 -1, -1, 185, 1179, -1, -1, 766, -1, -1, 192, 3411 -1, -1, -1, -1, -1, -1, -1, 777, -1, 40, 3412 41, -1, 43, -1, 1200, -1, -1, -1, -1, -1, 3413 -1, -1, 510, -1, 794, -1, -1, -1, -1, -1, 3414 -1, -1, -1, -1, -1, 523, -1, -1, 69, -1, 3415 -1, -1, -1, -1, 75, -1, 77, 78, 79, -1, 3416 -1, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3417 91, 92, -1, -1, -1, 258, 1252, 1253, -1, -1, 3418 -1, -1, 560, 564, 565, -1, -1, -1, -1, -1, 3419 -1, 569, -1, 114, 572, 116, -1, 118, 119, -1, 3420 -1, 122, 123, 124, 125, 126, 127, -1, -1, -1, 3421 591, 589, -1, 594, 595, -1, 597, -1, 599, 600, 3422 -1, -1, -1, 604, 605, -1, -1, -1, -1, -1, 3423 -1, 891, -1, -1, 317, -1, -1, -1, -1, -1, 3424 -1, -1, -1, 326, 327, -1, 329, 330, -1, 627, 3425 -1, -1, -1, -1, 337, -1, -1, -1, 341, -1, 3426 -1, 642, -1, -1, -1, 646, -1, -1, -1, -1, 3427 -1, 1347, -1, -1, -1, -1, -1, 360, -1, -1, 3428 -1, -1, -1, -1, -1, -1, 664, -1, -1, -1, 3429 -1, 951, -1, -1, -1, -1, -1, -1, -1, -1, 3430 -1, -1, 962, -1, 387, -1, -1, -1, 391, 1385, 3431 -1, -1, -1, 691, -1, -1, -1, -1, -1, -1, 3432 -1, -1, -1, -1, 1400, -1, -1, -1, -1, 707, 3433 708, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3434 423, 719, -1, -1, -1, -1, -1, -1, -1, -1, 3435 -1, -1, -1, -1, -1, 733, -1, -1, -1, -1, 3436 738, -1, -1, -1, -1, -1, -1, 1443, -1, 1445, 3374 1211, -1, -1, -1, -1, 441, -1, -1, 1219, 1220, 3375 1221, 1399, 1092, -1, -1, -1, -1, -1, -1, 1230, 3376 1231, -1, 953, 954, -1, 956, 957, -1, -1, -1, 3377 -1, 1242, 468, -1, -1, -1, -1, -1, -1, -1, 3378 -1, -1, -1, 974, 66, -1, -1, -1, 484, -1, 3379 -1, -1, -1, 75, -1, 77, -1, 79, -1, -1, 3380 496, -1, 498, 85, -1, 501, -1, 503, 504, -1, 3381 -1, -1, -1, -1, 1154, -1, -1, 513, -1, -1, 3382 1468, -1, -1, 1014, 1015, 1473, -1, -1, -1, -1, 3383 -1, -1, -1, 1173, 116, -1, 118, 119, 120, -1, 3384 -1, -1, -1, -1, -1, -1, -1, -1, 1496, -1, 3385 1498, -1, 1323, -1, 1502, -1, -1, 1505, -1, -1, 3386 -1, -1, -1, -1, -1, -1, -1, -1, 564, -1, 3387 1518, -1, -1, 155, 1522, -1, -1, -1, -1, 575, 3388 -1, -1, 578, -1, -1, -1, 1357, -1, -1, -1, 3389 -1, -1, -1, -1, -1, -1, 1087, -1, -1, -1, 3390 -1, -1, -1, -1, -1, -1, -1, -1, 604, -1, 3391 -1, -1, -1, 609, -1, 1386, -1, -1, -1, -1, 3392 -1, -1, 618, 619, -1, -1, -1, -1, -1, 1269, 3393 -1, -1, -1, 215, 1405, 217, 218, 219, 634, -1, 3394 -1, 1412, -1, -1, -1, -1, -1, -1, -1, -1, 3437 3395 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3438 -1, -1, -1, -1, -1, 468, -1, -1, 471, -1, 3439 -1, -1, -1, -1, -1, -1, -1, -1, 1058, -1, 3440 -1, -1, -1, -1, 1480, -1, 1482, -1, -1, -1, 3396 -1, 1152, -1, -1, -1, 247, -1, -1, -1, -1, 3397 252, 667, -1, -1, -1, -1, -1, -1, -1, -1, 3398 -1, -1, -1, -1, -1, 681, -1, 683, -1, -1, 3399 -1, 1182, -1, 1184, -1, -1, -1, -1, -1, -1, 3400 1471, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3441 3401 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3442 798, -1, -1, -1, -1, -1, -1, 805, -1, -1, 3443 -1, -1, -1, 516, -1, 1511, -1, -1, -1, -1, 3444 818, -1, 820, -1, -1, -1, -1, -1, -1, -1, 3445 -1, -1, -1, -1, -1, 833, -1, -1, -1, -1, 3446 -1, 839, -1, -1, -1, -1, -1, -1, -1, -1, 3447 -1, -1, 850, -1, -1, -1, 854, 560, 561, 144, 3448 -1, -1, -1, -1, -1, -1, -1, -1, -1, 154, 3449 -1, -1, -1, -1, -1, 578, 579, -1, -1, -1, 3450 165, 166, -1, -1, -1, 588, -1, 590, 591, -1, 3451 -1, -1, -1, -1, 597, -1, -1, -1, -1, -1, 3452 -1, -1, -1, -1, 607, 608, -1, 1187, -1, -1, 3453 613, -1, -1, -1, -1, -1, -1, -1, -1, 622, 3454 623, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3455 -1, -1, -1, -1, -1, 638, -1, 938, -1, 642, 3456 643, -1, -1, 646, 647, -1, -1, -1, 946, -1, 3457 -1, -1, 655, 954, -1, -1, 957, 958, -1, -1, 3458 -1, -1, -1, -1, -1, -1, -1, -1, 253, -1, 3402 1211, -1, -1, -1, 720, -1, -1, -1, 1219, 1220, 3403 1221, -1, -1, -1, -1, -1, -1, -1, 320, 1230, 3404 1231, -1, 40, 41, -1, 43, -1, -1, -1, -1, 3405 -1, 1242, -1, -1, 46, -1, -1, 339, -1, -1, 3406 -1, -1, 344, 345, -1, -1, -1, -1, -1, -1, 3407 352, 69, -1, -1, -1, 771, -1, 75, -1, 77, 3408 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 3409 88, 89, -1, 91, 92, -1, -1, -1, 90, -1, 3410 -1, -1, -1, -1, -1, -1, -1, -1, 100, -1, 3411 392, -1, -1, -1, -1, -1, 114, -1, 116, -1, 3412 118, 119, -1, -1, 122, 123, 124, 125, 126, 127, 3413 412, -1, 1323, -1, -1, 417, -1, 419, -1, -1, 3459 3414 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3460 -1, -1, 685, 686, 10, 11, 12, 13, 14, 15, 3415 -1, -1, -1, 435, -1, -1, 438, 439, -1, -1, 3416 -1, -1, -1, 445, -1, 861, 1357, -1, -1, -1, 3417 866, -1, -1, -1, 166, -1, -1, 459, -1, -1, 3418 -1, -1, -1, -1, 466, -1, -1, -1, -1, -1, 3419 -1, -1, -1, -1, -1, 1386, 188, -1, -1, -1, 3420 -1, 897, -1, -1, -1, -1, -1, 903, -1, -1, 3421 202, -1, -1, -1, 1405, -1, -1, -1, -1, 211, 3422 -1, 1412, -1, -1, -1, -1, -1, -1, -1, 221, 3423 -1, -1, -1, -1, -1, -1, -1, -1, -1, 935, 3424 -1, -1, -1, -1, -1, -1, -1, -1, 240, -1, 3425 -1, -1, -1, 245, -1, -1, -1, -1, -1, -1, 3426 956, 957, -1, -1, -1, -1, 258, -1, -1, -1, 3427 -1, -1, -1, -1, 266, -1, 268, -1, -1, -1, 3428 1471, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3429 -1, -1, -1, -1, -1, 287, 578, -1, 10, 11, 3430 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3431 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3432 32, 33, 34, -1, 606, -1, -1, -1, -1, 611, 3433 42, -1, -1, -1, -1, -1, 328, -1, -1, -1, 3434 332, -1, -1, -1, 1040, -1, -1, -1, -1, -1, 3435 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3436 -1, -1, -1, 75, -1, 77, 78, 79, 360, -1, 3437 -1, -1, 364, 365, -1, 367, 88, 89, -1, -1, 3438 -1, -1, 374, 375, -1, 377, 378, 669, 380, -1, 3439 382, 1087, -1, -1, -1, -1, -1, -1, -1, 142, 3440 -1, 683, 114, -1, 116, -1, -1, 399, -1, 152, 3441 122, 123, -1, -1, -1, 407, -1, -1, -1, -1, 3442 163, 164, -1, -1, -1, -1, -1, -1, -1, -1, 3443 -1, -1, -1, -1, -1, -1, -1, -1, -1, 431, 3444 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3445 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3446 30, -1, -1, -1, 456, -1, -1, 1163, -1, -1, 3447 462, -1, 42, -1, -1, 467, -1, -1, 760, -1, 3448 -1, -1, -1, -1, -1, -1, -1, -1, 1184, 771, 3449 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3450 70, 40, 41, -1, 43, -1, 788, -1, 251, -1, 3451 -1, 81, -1, -1, -1, 507, -1, -1, -1, -1, 3452 -1, -1, -1, -1, -1, -1, -1, 519, -1, -1, 3453 69, -1, -1, -1, 1230, 1231, 75, -1, -1, -1, 3454 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, 3455 89, -1, 91, 92, -1, -1, -1, -1, -1, -1, 3456 -1, -1, -1, -1, 556, -1, -1, -1, -1, -1, 3457 -1, -1, -1, 565, -1, 114, 568, 116, -1, -1, 3458 119, -1, -1, 122, 123, 124, 125, 126, 127, -1, 3459 -1, -1, -1, 585, -1, -1, -1, -1, -1, -1, 3460 -1, -1, -1, 885, 10, 11, 12, 13, 14, 15, 3461 3461 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3462 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 3463 -1, -1, -1, -1, 1012, -1, 42, 43, -1, -1, 3464 -1, -1, -1, 726, -1, -1, -1, -1, 1029, -1, 3462 26, 27, 28, 29, 30, 368, 1322, -1, -1, -1, 3463 -1, 623, -1, -1, -1, -1, 42, -1, -1, -1, 3464 151, 152, -1, -1, -1, -1, -1, -1, 273, -1, 3465 275, 276, -1, -1, -1, -1, 938, -1, -1, 284, 3466 285, 1357, -1, -1, 70, -1, -1, 949, 660, -1, 3467 -1, -1, 183, 298, 299, 81, 1372, -1, -1, 190, 3465 3468 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3466 -1, 1042, -1, -1, 70, -1, 1047, 1048, -1, -1, 3467 -1, 77, 78, -1, -1, -1, 1054, -1, -1, -1, 3468 -1, 1059, -1, 766, -1, -1, -1, 1347, -1, -1, 3469 -1, 1069, -1, -1, -1, -1, -1, -1, -1, 782, 3470 -1, 784, -1, -1, -1, -1, 371, -1, -1, -1, 3471 116, 794, -1, -1, 120, -1, 122, 123, -1, -1, 3472 -1, 1099, -1, -1, -1, -1, -1, -1, -1, 1110, 3473 -1, -1, -1, -1, 1112, -1, -1, -1, 1116, -1, 3474 1400, 1119, -1, -1, -1, -1, -1, -1, -1, -1, 3475 -1, -1, -1, -1, -1, -1, -1, 1135, 1136, -1, 3469 -1, -1, -1, -1, -1, 687, -1, -1, 441, -1, 3470 -1, -1, -1, -1, -1, -1, -1, -1, -1, 334, 3471 -1, 703, 704, -1, -1, -1, -1, 460, 1414, -1, 3472 1416, 713, -1, -1, -1, -1, -1, -1, -1, -1, 3473 -1, -1, -1, -1, -1, 727, -1, -1, -1, -1, 3474 732, -1, -1, -1, 369, 256, -1, -1, -1, -1, 3475 -1, -1, -1, -1, -1, -1, -1, 1453, -1, 1455, 3476 503, -1, -1, -1, 1046, -1, -1, -1, -1, -1, 3477 513, -1, -1, -1, -1, 518, -1, -1, 521, -1, 3476 3478 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3477 -1, -1, -1, -1, -1, 1153, -1, -1, -1, 444, 3478 -1, -1, -1, -1, 867, -1, -1, -1, -1, 1170, 3479 -1, 874, -1, -1, -1, -1, -1, -1, 463, -1, 3480 -1, -1, -1, 886, 887, -1, -1, -1, 1189, -1, 3479 -1, 534, -1, -1, -1, -1, -1, -1, 1494, -1, 3480 792, -1, -1, 314, -1, -1, -1, 799, -1, -1, 3481 -1, -1, 323, 324, -1, 326, 327, -1, -1, -1, 3482 812, 564, 814, 334, -1, -1, -1, 338, 571, -1, 3483 -1, -1, 575, -1, -1, 827, -1, -1, -1, -1, 3484 -1, 833, -1, -1, -1, -1, 357, -1, -1, -1, 3485 -1, -1, 844, -1, -1, -1, 848, -1, -1, -1, 3481 3486 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3487 -1, -1, -1, 384, -1, -1, -1, 388, 621, -1, 3488 -1, -1, -1, -1, -1, -1, 629, -1, -1, 1171, 3482 3489 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3483 -1, -1, -1, 916, -1, -1, -1, -1, -1, -1, 3484 -1, 506, -1, -1, 1222, -1, -1, -1, -1, -1, 3485 -1, 516, -1, -1, -1, 938, 939, 522, -1, -1, 3486 525, -1, -1, -1, -1, 948, 1526, 274, -1, 276, 3487 277, 954, 955, 538, 957, 958, 959, -1, -1, 286, 3488 287, -1, -1, -1, -1, -1, 969, 970, -1, -1, 3489 -1, -1, -1, -1, 301, 302, -1, -1, -1, -1, 3490 -1, -1, -1, 568, -1, -1, -1, -1, 1289, -1, 3491 575, -1, -1, -1, 579, -1, -1, -1, -1, -1, 3492 -1, 1299, -1, 1301, -1, -1, -1, -1, -1, -1, 3493 337, -1, -1, -1, -1, -1, -1, -1, 1316, -1, 3494 1318, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3495 1033, -1, 1035, -1, 1037, 1333, -1, -1, -1, 1042, 3496 625, -1, -1, -1, -1, 372, -1, -1, 633, -1, 3497 -1, -1, -1, 1351, 1352, 1058, -1, -1, -1, -1, 3498 -1, -1, -1, -1, 1362, -1, -1, -1, -1, 1367, 3499 -1, -1, 1370, -1, -1, -1, -1, -1, -1, -1, 3500 -1, -1, -1, -1, -1, -1, -1, -1, 40, 41, 3501 -1, 43, -1, 1391, -1, -1, -1, -1, -1, -1, 3502 -1, -1, 1105, 1401, -1, -1, 1404, -1, 1406, 1407, 3503 1408, -1, -1, 698, -1, -1, -1, 69, -1, -1, 3504 -1, -1, -1, 75, -1, -1, -1, 79, -1, 714, 3505 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 3506 92, 726, -1, 728, -1, -1, 731, -1, -1, 1447, 3507 -1, 1449, 737, -1, 1452, -1, -1, -1, -1, -1, 3508 -1, -1, 114, -1, 116, -1, -1, 119, -1, 1467, 3509 122, 123, 124, 125, 126, 127, -1, -1, -1, 1182, 3510 -1, -1, -1, -1, 1187, -1, -1, -1, -1, -1, 3511 -1, -1, 777, 778, -1, -1, -1, 1200, -1, -1, 3512 -1, -1, -1, -1, -1, -1, -1, -1, 793, -1, 3513 -1, -1, -1, -1, 541, 542, 543, 544, 545, 546, 3514 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 3515 557, 558, -1, -1, -1, -1, -1, -1, -1, -1, 3516 -1, -1, -1, -1, -1, -1, -1, 832, -1, 1252, 3517 1253, 836, -1, -1, 3, 4, 5, 6, 7, 8, 3518 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3519 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3520 29, -1, 867, 32, 33, 34, 1289, 1290, -1, -1, 3521 1293, -1, -1, 42, -1, -1, -1, -1, -1, -1, 3490 -1, -1, -1, -1, -1, -1, -1, -1, -1, 420, 3491 -1, -1, 537, 538, 539, 540, 541, 542, 543, 544, 3492 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 3522 3493 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3523 -1, -1, -1, -1, -1, -1, -1, -1, 903, -1, 3524 -1, 70, -1, 72, -1, 74, 75, -1, 77, 78, 3525 79, 916, -1, -1, -1, -1, -1, -1, 923, 88, 3526 89, -1, -1, 928, -1, 7, 931, -1, 10, 11, 3527 12, 13, 14, -1, -1, -1, -1, -1, -1, -1, 3528 -1, -1, -1, -1, -1, 114, 951, 116, -1, -1, 3529 -1, -1, -1, 122, 123, -1, 703, 962, 40, 41, 3530 42, 43, 1385, -1, -1, -1, -1, -1, -1, -1, 3531 -1, -1, -1, -1, -1, -1, -1, 982, -1, 984, 3532 -1, -1, -1, 730, -1, -1, -1, 69, 70, -1, 3533 -1, -1, -1, 75, 999, 1000, -1, 79, -1, -1, 3534 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 3535 92, -1, -1, 760, -1, -1, -1, -1, -1, -1, 3536 1025, -1, 40, 41, -1, 43, -1, -1, -1, -1, 3537 -1, -1, 114, -1, 116, -1, -1, -1, -1, -1, 3538 122, 123, 124, 125, 126, 127, -1, -1, -1, -1, 3539 -1, 69, 1475, -1, -1, -1, -1, 75, -1, -1, 3540 -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, 3541 88, 89, -1, 91, 92, -1, -1, 1500, 1501, 1084, 3494 -1, 933, -1, -1, -1, -1, -1, -1, -1, -1, 3495 -1, 694, -1, -1, 465, -1, -1, 468, -1, -1, 3496 -1, -1, -1, -1, -1, -1, -1, 710, -1, -1, 3497 -1, -1, -1, -1, -1, 40, 41, 720, 43, 722, 3498 -1, -1, 725, -1, -1, -1, -1, -1, 731, -1, 3542 3499 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3543 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 3544 1105, 119, -1, 1526, 122, 123, 124, 125, 126, 127, 3545 -1, -1, -1, -1, -1, -1, -1, -1, 1123, 1124, 3500 -1, -1, 513, -1, 69, -1, -1, -1, 1000, -1, 3501 75, -1, -1, -1, 79, -1, -1, 82, 83, 84, 3502 85, 86, 87, 88, 89, -1, 91, 92, 771, 772, 3503 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3504 1322, -1, -1, -1, 787, 556, 557, -1, -1, 114, 3505 1042, 116, -1, -1, -1, 1047, 121, 122, 123, 124, 3506 125, 126, 127, 574, 575, 1057, -1, -1, -1, -1, 3507 -1, -1, -1, 584, 699, 586, 587, -1, -1, -1, 3508 -1, -1, 593, 826, -1, -1, -1, 830, -1, 1081, 3509 1372, -1, 603, 604, -1, -1, -1, -1, 609, 724, 3510 -1, -1, 1094, -1, -1, -1, 1098, 618, 619, 1101, 3511 -1, -1, -1, -1, -1, -1, -1, -1, 861, -1, 3512 -1, -1, -1, 634, -1, 1117, 1118, 638, 639, 754, 3513 -1, 642, 643, -1, -1, -1, -1, -1, -1, -1, 3514 651, -1, -1, 1135, -1, -1, -1, -1, -1, -1, 3515 -1, -1, -1, -1, 897, -1, -1, -1, -1, -1, 3516 903, -1, -1, -1, -1, -1, -1, 910, -1, -1, 3517 681, 682, 915, -1, -1, 918, -1, -1, -1, -1, 3518 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3519 -1, -1, -1, -1, -1, 938, -1, -1, -1, -1, 3520 -1, -1, -1, -1, -1, -1, 949, -1, 1200, 720, 3521 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3522 -1, -1, -1, -1, -1, 1507, 969, -1, 971, -1, 3523 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3524 -1, -1, -1, 986, 987, -1, -1, -1, -1, 760, 3525 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3526 -1, -1, -1, -1, -1, 776, -1, 778, -1, -1, 3527 1013, -1, -1, -1, -1, -1, -1, 788, -1, -1, 3528 -1, -1, -1, -1, -1, -1, -1, 1279, -1, 1281, 3529 -1, -1, -1, -1, -1, -1, -1, -1, 923, 1291, 3530 -1, 1293, -1, -1, -1, -1, -1, -1, -1, -1, 3531 935, -1, -1, -1, -1, -1, 1308, -1, -1, -1, 3532 -1, -1, -1, 1066, -1, -1, -1, -1, -1, -1, 3533 -1, -1, -1, -1, 1326, 1327, -1, -1, -1, -1, 3534 -1, -1, -1, -1, 1087, -1, -1, 1339, -1, 974, 3535 861, -1, 1344, -1, -1, 1347, -1, 868, -1, -1, 3536 -1, -1, 1105, 1106, -1, -1, -1, -1, -1, 880, 3537 881, 1363, -1, -1, -1, -1, -1, -1, -1, -1, 3538 -1, 1373, -1, -1, 1376, -1, 1378, 1379, 1380, -1, 3539 -1, -1, 903, -1, -1, -1, -1, -1, -1, 1024, 3540 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3541 -1, -1, -1, -1, 925, 926, -1, -1, -1, -1, 3542 -1, -1, -1, -1, 935, -1, 1418, -1, 1420, -1, 3543 941, 942, -1, 944, 945, 946, -1, -1, 1430, -1, 3544 -1, -1, -1, -1, -1, 956, 957, -1, 1440, -1, 3546 3545 -1, -1, -1, -1, -1, -1, -1, -1, 3, 4, 3547 3546 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3548 3547 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3549 25, 26, 27, 28, 29, -1, -1, 32, 33, 34,3550 35, -1, -1, 910, 39, 40, 41, 42, 43, -1,3548 25, 26, 27, 28, 29, 30, -1, 32, 33, 34, 3549 35, -1, -1, -1, 39, 1120, 1121, 42, -1, -1, 3551 3550 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3552 -1, -1, -1, -1, -1, -1, -1, -1, -1, 936, 3553 -1, -1, -1, -1, 69, 70, -1, 72, -1, 74, 3554 75, 948, 77, 78, 79, -1, -1, 82, 83, 84, 3555 85, 86, 87, 88, 89, -1, 91, 92, -1, -1, 3551 1021, -1, 1023, 1256, 1025, -1, -1, 1260, -1, 1030, 3552 -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 3553 -1, -1, 77, 78, -1, 1046, 81, -1, -1, -1, 3554 -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 3555 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3556 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3557 -1, 116, 32, 33, 34, 35, 1087, 122, 123, 39, 3558 40, 41, 42, 43, 44, -1, 46, -1, -1, 49, 3559 50, 51, 52, 53, 54, 55, 56, -1, -1, -1, 3560 60, -1, -1, -1, 64, 65, -1, 67, -1, 69, 3561 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 3562 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3563 -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, 3556 3564 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3557 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3558 987, 116, -1, -1, -1, -1, -1, 122, 123, 124, 3559 125, 126, 127, -1, -1, -1, -1, -1, -1, -1, 3560 -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, 3561 -1, -1, -1, 1278, -1, 1280, -1, -1, -1, -1, 3562 -1, -1, -1, -1, -1, -1, -1, -1, -1, 1036, 3565 -1, -1, -1, -1, 114, 1166, 116, -1, -1, 119, 3566 1171, -1, 122, 123, 124, 125, 126, 127, -1, -1, 3567 -1, -1, 132, 1184, -1, -1, -1, 137, -1, -1, 3563 3568 -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 3564 3569 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3565 3570 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3566 27, 28, 29, -1, -1, 32, 33, 34, 35, -1, 3567 -1, 1078, 39, 40, 41, 42, 43, 44, -1, 46, 3568 -1, -1, 49, 50, 51, 52, 53, 54, 55, 56, 3569 -1, -1, -1, 60, -1, -1, -1, 64, 65, -1, 3570 67, -1, 69, 70, -1, 72, -1, 74, 75, -1, 3571 77, 78, 79, -1, -1, 82, 83, 84, 85, 86, 3572 87, 88, 89, -1, 91, 92, -1, -1, -1, -1, 3573 -1, 1138, 1139, -1, -1, -1, -1, -1, -1, -1, 3574 -1, -1, -1, -1, -1, -1, -1, 114, -1, 116, 3575 -1, -1, 119, -1, -1, 122, 123, 124, 125, 126, 3576 127, -1, -1, -1, -1, 132, -1, -1, -1, -1, 3577 137, -1, -1, 3, 4, 5, 6, 7, 8, 9, 3571 27, 28, 29, -1, -1, 32, 33, 34, 35, 1230, 3572 1231, -1, 39, -1, -1, 42, -1, -1, -1, -1, 3573 -1, -1, -1, -1, -1, -1, 1361, -1, -1, -1, 3574 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3575 -1, 1494, -1, 70, -1, 72, -1, 74, 1269, 1270, 3576 77, 78, 1273, -1, -1, 3, 4, 5, 6, 7, 3577 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3578 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3579 28, 29, -1, -1, 32, 33, 34, -1, 1423, 116, 3580 -1, -1, -1, -1, 42, 122, 123, -1, -1, -1, 3581 1435, 1436, -1, -1, -1, -1, -1, -1, -1, -1, 3582 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3583 -1, -1, 70, 1458, 72, -1, 74, -1, -1, 77, 3584 78, -1, -1, -1, -1, -1, 1357, -1, -1, -1, 3585 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3586 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3587 23, 24, 25, 26, 27, 28, 29, -1, 116, 32, 3588 33, 34, 35, -1, 122, 123, 39, 40, 41, 42, 3589 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3590 -1, -1, -1, -1, -1, 1530, -1, -1, -1, -1, 3591 -1, -1, -1, -1, -1, -1, 69, 70, -1, 72, 3592 -1, 74, 75, -1, 77, 78, 79, -1, -1, 82, 3593 83, 84, 85, 86, 87, 88, 89, 1448, 91, 92, 3594 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3595 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3596 -1, 114, -1, 116, -1, -1, 1477, 1478, -1, 122, 3597 123, 124, 125, 126, 127, -1, -1, -1, -1, -1, 3598 -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, 3599 -1, -1, -1, -1, -1, -1, 1507, 3, 4, 5, 3600 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3601 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3602 26, 27, 28, 29, -1, -1, 32, 33, 34, 35, 3603 -1, -1, -1, 39, 40, 41, 42, 43, 10, 11, 3604 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3605 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3606 32, 33, 34, 69, 70, -1, 72, -1, 74, 75, 3607 42, 77, 78, 79, -1, -1, 82, 83, 84, 85, 3608 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 3609 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3610 -1, -1, -1, -1, -1, 77, 78, -1, 114, -1, 3611 116, -1, -1, -1, -1, -1, 122, 123, 124, 125, 3612 126, 127, 4, 5, 6, 7, 8, 9, 10, 11, 3613 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3614 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3615 32, 33, 34, -1, -1, -1, -1, -1, 40, 41, 3616 42, 43, 10, 11, 12, 13, 14, 15, 16, 17, 3617 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3618 28, 29, -1, -1, 32, 33, 34, 69, 70, -1, 3619 72, -1, 74, 75, 42, 77, 78, 79, -1, -1, 3620 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 3621 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3622 -1, -1, 70, -1, -1, -1, -1, -1, -1, 77, 3623 78, -1, 114, -1, 116, -1, -1, -1, -1, 121, 3624 122, 123, 124, 125, 126, 127, 4, 5, 6, 7, 3625 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3626 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3627 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 3628 -1, -1, 40, 41, 42, 43, 10, 11, 12, 13, 3629 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3630 24, 25, 26, 27, 28, 29, -1, -1, -1, -1, 3631 -1, 69, 70, -1, 72, -1, 74, 75, 42, 77, 3632 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 3633 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 3634 -1, -1, -1, -1, -1, -1, 70, -1, -1, -1, 3635 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 3636 -1, -1, -1, 121, 122, 123, 124, 125, 126, 127, 3637 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3638 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3639 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3640 34, -1, -1, -1, -1, -1, 40, 41, 42, 43, 3641 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3642 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3643 -1, -1, -1, -1, -1, 69, 70, -1, 72, -1, 3644 74, 75, -1, 77, 78, 79, -1, -1, 82, 83, 3645 84, 85, 86, 87, 88, 89, -1, 91, 92, -1, 3646 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3647 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3648 114, -1, 116, -1, -1, -1, -1, -1, 122, 123, 3649 124, 125, 126, 127, 4, 5, 6, 7, 8, 9, 3578 3650 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3579 3651 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3580 -1, -1, 32, 33, 34, 35, -1, -1, -1, 39,3652 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3581 3653 40, 41, 42, 43, -1, -1, -1, -1, -1, -1, 3582 3654 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3583 3655 -1, -1, -1, -1, -1, -1, -1, -1, -1, 69, 3584 70, -1, 72, -1, 74, 75, 1511, 77, 78, 79,3656 70, -1, 72, -1, 74, 75, -1, 77, 78, 79, 3585 3657 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3586 3658 -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, 3587 3659 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3588 3660 -1, -1, -1, -1, 114, -1, 116, -1, -1, -1, 3589 -1, -1, 122, 123, 124, 125, 126, 127, -1, -1, 3590 -1, -1, -1, -1, -1, 4, 5, 6, 7, 8, 3591 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3592 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3593 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 3594 -1, 40, 41, 42, 43, 10, 11, 12, 13, 14, 3595 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3596 25, 26, 27, 28, 29, -1, 1373, 32, 33, 34, 3597 69, 70, -1, 72, -1, 74, 75, 42, 77, 78, 3598 79, -1, 1389, 82, 83, 84, 85, 86, 87, 88, 3599 89, -1, 91, 92, -1, -1, -1, -1, -1, -1, 3600 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, 3601 -1, -1, 77, 78, -1, 114, -1, 116, -1, -1, 3602 -1, -1, 121, 122, 123, 124, 125, 126, 127, 4, 3661 -1, -1, 122, 123, 124, 125, 126, 127, 4, 5, 3662 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3663 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3664 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 3665 -1, -1, -1, -1, 40, 41, 42, 43, -1, -1, 3666 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3667 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3668 -1, -1, -1, 69, 70, -1, 72, -1, 74, 75, 3669 -1, 77, 78, 79, -1, -1, 82, 83, 84, 85, 3670 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 3671 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3672 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 3673 116, -1, -1, -1, -1, -1, 122, 123, 124, 125, 3674 126, 127, 0, -1, -1, 3, 4, 5, 6, 7, 3675 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 3676 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3677 28, 29, -1, -1, 32, 33, 34, 35, -1, -1, 3678 -1, 39, -1, -1, 42, 43, -1, -1, -1, -1, 3679 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3680 -1, -1, -1, -1, -1, -1, -1, -1, -1, 67, 3681 -1, -1, 70, -1, 72, -1, 74, 75, -1, 77, 3682 78, 79, -1, -1, -1, -1, -1, -1, -1, -1, 3683 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 3684 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3685 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 3686 -1, -1, -1, -1, 122, 123, 3, 4, 5, 6, 3687 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3688 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3689 27, 28, 29, -1, -1, 32, 33, 34, 35, -1, 3690 -1, -1, 39, -1, -1, 42, 43, -1, -1, -1, 3691 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3692 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3693 67, -1, -1, 70, -1, 72, -1, 74, 75, -1, 3694 77, 78, 79, -1, -1, -1, -1, -1, -1, -1, 3695 -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, 3696 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3697 -1, -1, -1, -1, -1, -1, -1, 114, -1, 116, 3698 -1, -1, -1, 120, -1, 122, 123, 3, 4, 5, 3699 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 3700 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3701 26, 27, 28, 29, -1, -1, 32, 33, 34, 35, 3702 -1, -1, -1, 39, -1, -1, 42, 43, -1, -1, 3703 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3704 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3705 -1, 67, -1, -1, 70, -1, 72, -1, 74, 75, 3706 -1, 77, 78, 79, -1, -1, -1, -1, -1, -1, 3707 -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, 3708 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3709 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 3710 116, -1, -1, -1, -1, -1, 122, 123, 3, 4, 3603 3711 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3604 3712 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3605 25, 26, 27, 28, 29, 1462, 1463, 32, 33, 34,3606 -1, -1, -1, -1, -1, 40, 41, 42, 43, 10,3713 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3714 -1, -1, -1, -1, -1, -1, -1, 42, -1, 10, 3607 3715 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3608 3716 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3609 -1, 32, 33, 34, 69, 70, -1, 72, -1, 74,3610 75, 42, 77, 78, 79, -1, -1, 82, 83, 84,3611 85, 86, 87, 88, 89, -1, 91, 92, -1, -1,3717 -1, 32, 33, 34, -1, 70, -1, 72, -1, 74, 3718 75, 42, 77, 78, 79, -1, -1, -1, -1, -1, 3719 -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, 3612 3720 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 3613 3721 -1, -1, -1, -1, -1, -1, 77, 78, -1, 114, 3614 -1, 116, -1, -1, -1, -1, 121, 122, 123, 124, 3615 125, 126, 127, 4, 5, 6, 7, 8, 9, 10, 3722 -1, 116, -1, -1, -1, -1, -1, 122, 123, 4, 3723 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3724 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3725 25, 26, 27, 28, 29, 116, -1, 32, 33, 34, 3726 -1, 122, 123, -1, -1, -1, -1, 42, -1, 10, 3727 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3728 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3729 -1, 32, 33, 34, -1, 70, -1, 72, -1, 74, 3730 75, 42, 77, 78, 79, -1, -1, -1, -1, -1, 3731 -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, 3732 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 3733 -1, -1, -1, -1, -1, -1, 77, 78, -1, 114, 3734 -1, 116, -1, -1, -1, -1, -1, 122, 123, 4, 3735 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3736 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3737 25, 26, 27, 28, 29, 116, -1, 32, 33, 34, 3738 -1, 122, 123, -1, -1, -1, -1, 42, -1, -1, 3739 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3740 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3741 -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 3742 -1, -1, 77, 78, 4, 5, 6, 7, 8, 9, 3743 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3744 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3745 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3746 115, 116, 42, -1, -1, -1, -1, 122, 123, -1, 3747 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3748 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3749 70, -1, 72, -1, 74, -1, -1, 77, 78, -1, 3750 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3751 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3752 -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, 3753 -1, -1, -1, -1, -1, -1, 116, -1, -1, -1, 3754 -1, -1, 122, 123, 4, 5, 6, 7, 8, 9, 3755 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3756 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3757 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3758 -1, -1, 42, -1, 10, 11, 12, 13, 14, 15, 3759 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3760 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 3761 70, -1, 72, -1, 74, -1, 42, 77, 78, -1, 3762 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3763 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3764 -1, 101, -1, -1, 70, -1, -1, -1, -1, -1, 3765 -1, 77, 78, -1, -1, -1, 116, -1, -1, -1, 3766 -1, -1, 122, 123, 4, 5, 6, 7, 8, 9, 3767 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3768 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3769 116, -1, 32, 33, 34, -1, 122, 123, -1, -1, 3770 -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, 3771 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3772 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3773 70, -1, 72, -1, 74, -1, -1, 77, 78, 4, 3774 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3775 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3776 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3777 -1, -1, -1, -1, -1, -1, 116, 42, -1, -1, 3778 -1, -1, 122, 123, -1, -1, -1, -1, -1, -1, 3779 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3780 -1, -1, -1, -1, -1, 70, -1, 72, -1, 74, 3781 -1, -1, 77, 78, 4, 5, 6, 7, 8, 9, 3782 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3783 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3784 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3785 -1, 116, 42, -1, -1, -1, -1, 122, 123, -1, 3786 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3788 70, -1, 72, -1, 74, -1, -1, 77, 78, 10, 3616 3789 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3617 3790 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3618 3791 -1, 32, 33, 34, -1, -1, -1, -1, -1, 40, 3619 41, 42, 43, -1, -1, -1, -1, -1, -1, -1,3620 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3792 41, 42, 43, -1, -1, -1, 116, -1, -1, -1, 3793 -1, -1, 122, 123, -1, -1, -1, -1, -1, -1, 3621 3794 -1, -1, -1, -1, -1, -1, -1, -1, 69, 70, 3622 -1, 72, -1, 74, 75, -1, 77, 78, 79, -1,3795 -1, -1, -1, -1, 75, -1, 77, 78, 79, -1, 3623 3796 -1, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3624 3797 91, 92, -1, -1, -1, -1, -1, -1, -1, -1, 3625 3798 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3626 -1, -1, -1, 114, -1, 116, -1, -1, -1, -1, 3627 -1, 122, 123, 124, 125, 126, 127, 4, 5, 6, 3628 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3799 -1, -1, -1, 114, -1, 116, -1, -1, 119, -1, 3800 -1, 122, 123, 124, 125, 126, 127, 10, 11, 12, 3801 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3802 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3803 33, 34, -1, -1, -1, -1, -1, 40, 41, 42, 3804 43, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3805 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3806 29, -1, -1, 32, 33, 34, 69, 70, -1, -1, 3807 -1, -1, 75, 42, 77, 78, 79, -1, -1, 82, 3808 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, 3809 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3810 -1, 70, -1, -1, -1, -1, -1, -1, 77, 78, 3811 -1, 114, 115, 116, -1, -1, -1, -1, -1, 122, 3812 123, 124, 125, 126, 127, 10, 11, 12, 13, 14, 3813 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3814 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3815 -1, -1, -1, 122, 123, 40, 41, 42, 43, -1, 3816 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3818 -1, -1, -1, -1, 69, 70, -1, -1, -1, -1, 3819 75, -1, 77, 78, 79, -1, -1, 82, 83, 84, 3820 85, 86, 87, 88, 89, -1, 91, 92, -1, -1, 3821 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3822 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3823 -1, 116, -1, -1, -1, -1, -1, 122, 123, 124, 3824 125, 126, 127, 10, 11, 12, 13, 14, 15, 16, 3629 3825 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3630 3826 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, … … 3632 3828 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3633 3829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3634 -1, -1, 69, 70, -1, 72, -1, 74, 75, -1,3830 -1, -1, 69, 70, -1, -1, -1, -1, 75, -1, 3635 3831 77, 78, 79, -1, -1, 82, 83, 84, 85, 86, 3636 3832 87, 88, 89, -1, 91, 92, -1, -1, -1, -1, … … 3638 3834 -1, -1, -1, -1, -1, -1, -1, 114, -1, 116, 3639 3835 -1, -1, -1, -1, -1, 122, 123, 124, 125, 126, 3640 127, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3641 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3642 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3643 33, 34, -1, -1, -1, -1, -1, 40, 41, 42, 3644 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3645 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3646 -1, -1, -1, -1, -1, -1, 69, 70, -1, 72, 3647 -1, 74, 75, -1, 77, 78, 79, -1, -1, 82, 3648 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, 3836 127, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3837 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3838 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 3839 -1, 40, 41, 42, 43, -1, -1, -1, -1, -1, 3649 3840 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3650 3841 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3651 -1, 114, -1, 116, -1, -1, -1, -1, -1, 122, 3652 123, 124, 125, 126, 127, 0, -1, -1, 3, 4, 3842 69, 70, -1, -1, -1, -1, 75, -1, 77, 78, 3843 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, 3844 89, -1, 91, 92, -1, -1, -1, -1, -1, -1, 3845 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3846 -1, -1, -1, -1, -1, 114, -1, 116, -1, -1, 3847 -1, -1, -1, 122, 123, 124, 125, 126, 127, 3, 3848 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3849 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3850 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3851 34, -1, -1, -1, -1, -1, -1, -1, 42, 10, 3852 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3853 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3854 -1, 32, 33, 34, -1, -1, 70, -1, 72, -1, 3855 74, 42, -1, 77, 78, -1, -1, -1, -1, 10, 3856 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3857 21, 22, 23, 24, 25, 26, 27, 28, 29, 70, 3858 -1, 32, 33, 34, 75, -1, 77, 78, 79, -1, 3859 -1, 42, -1, -1, -1, 119, -1, 88, 89, -1, 3860 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3861 -1, -1, -1, -1, -1, -1, -1, -1, -1, 70, 3862 -1, -1, -1, 114, 75, 116, 77, 78, -1, -1, 3863 -1, 122, 123, -1, -1, -1, -1, 88, 89, -1, 3864 -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3865 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3866 26, 27, 28, 29, -1, 116, 32, 33, 34, -1, 3867 -1, 122, 123, -1, -1, -1, 42, 43, -1, -1, 3868 -1, -1, -1, -1, 10, 11, 12, 13, 14, 15, 3869 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3870 26, 27, 28, 29, 70, -1, 32, 33, 34, -1, 3871 -1, 77, 78, -1, -1, -1, 42, 43, -1, -1, 3872 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3873 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3874 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, 3875 116, 77, 78, -1, 120, -1, 122, 123, -1, 10, 3876 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3877 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3878 -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, 3879 116, 42, 43, -1, 120, -1, 122, 123, -1, 10, 3880 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3881 21, 22, 23, 24, 25, 26, 27, 28, 29, 70, 3882 -1, 32, 33, 34, -1, -1, 77, 78, -1, -1, 3883 -1, 42, 10, 11, 12, 13, 14, 15, 16, 17, 3884 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3885 28, 29, -1, -1, 32, 33, 34, -1, -1, 70, 3886 -1, -1, -1, -1, 42, 116, 77, 78, -1, 120, 3887 -1, 122, 123, -1, -1, -1, -1, -1, -1, -1, 3888 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3889 -1, -1, 70, -1, -1, -1, -1, -1, -1, 77, 3890 78, -1, -1, -1, -1, 116, -1, -1, -1, -1, 3891 -1, 122, 123, -1, -1, -1, -1, 10, 11, 12, 3892 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3893 23, 24, 25, 26, 27, 28, 29, -1, 116, 32, 3894 33, 34, -1, -1, 122, 123, -1, -1, -1, 42, 3895 -1, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3896 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3897 23, 24, 25, 26, 27, 28, 29, 70, -1, 32, 3898 33, 34, -1, -1, 77, 78, -1, -1, -1, 42, 3899 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3900 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3901 -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, 3902 -1, 74, -1, 116, 77, 78, -1, -1, -1, 122, 3903 123, 40, 41, -1, 43, 44, -1, 46, -1, -1, 3904 49, 50, 51, 52, 53, 54, 55, 56, -1, -1, 3905 59, 60, -1, -1, -1, 64, 65, -1, 67, -1, 3906 69, -1, 115, -1, -1, -1, 75, -1, 77, 78, 3907 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, 3908 89, -1, 91, 92, -1, -1, -1, -1, -1, -1, 3909 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3910 -1, -1, -1, -1, -1, 114, -1, 116, -1, -1, 3911 119, -1, -1, 122, 123, 124, 125, 126, 127, -1, 3912 -1, 40, 41, 132, 43, 44, -1, 46, 137, -1, 3913 49, 50, 51, 52, 53, 54, 55, 56, -1, -1, 3914 -1, 60, -1, -1, -1, 64, 65, -1, 67, -1, 3915 69, -1, -1, -1, -1, -1, 75, -1, 77, 78, 3916 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, 3917 89, -1, 91, 92, -1, -1, -1, -1, -1, -1, 3918 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3919 -1, -1, -1, -1, -1, 114, -1, 116, -1, -1, 3920 119, -1, -1, 122, 123, 124, 125, 126, 127, -1, 3921 -1, -1, -1, 132, -1, -1, -1, -1, 137, 4, 3653 3922 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 3654 3923 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3655 3924 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3656 35, -1, -1, -1, 39, -1, -1, 42, 43, -1, 3925 -1, -1, -1, -1, -1, -1, -1, 42, -1, 40, 3926 41, -1, 43, 44, -1, 46, 47, 48, 49, 50, 3927 51, 52, 53, 54, 55, 56, -1, -1, 59, 60, 3928 -1, -1, -1, 64, 65, 70, 67, 72, 69, 74, 3929 -1, -1, 77, 78, 75, -1, 77, 78, 79, -1, 3930 -1, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3931 91, 92, -1, -1, -1, -1, 101, -1, -1, -1, 3657 3932 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3933 -1, -1, -1, 114, -1, 116, -1, -1, 119, -1, 3934 -1, 122, 123, 124, 125, 126, 127, -1, -1, 40, 3935 41, 132, 43, 44, -1, 46, 47, 48, 49, 50, 3936 51, 52, 53, 54, 55, 56, -1, -1, -1, 60, 3937 -1, -1, -1, 64, 65, -1, 67, -1, 69, -1, 3938 -1, -1, -1, -1, 75, -1, 77, 78, 79, -1, 3939 -1, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3940 91, 92, -1, -1, -1, -1, -1, -1, -1, -1, 3658 3941 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3659 -1, -1, 67, -1, -1, 70, -1, 72, -1, 74, 3660 75, -1, 77, 78, 79, -1, -1, -1, -1, -1, 3661 -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, 3662 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3663 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3664 -1, 116, -1, -1, -1, -1, -1, 122, 123, 3, 3665 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 3666 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3667 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3668 34, 35, -1, -1, -1, 39, -1, -1, 42, 43, 3669 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3670 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3671 -1, -1, -1, 67, -1, -1, 70, -1, 72, -1, 3672 74, 75, -1, 77, 78, 79, -1, -1, -1, -1, 3673 -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, 3674 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3675 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3676 114, -1, 116, -1, -1, -1, 120, -1, 122, 123, 3677 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3678 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3679 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3680 33, 34, 35, -1, -1, -1, 39, -1, -1, 42, 3942 -1, -1, -1, 114, -1, 116, -1, -1, 119, -1, 3943 -1, 122, 123, 124, 125, 126, 127, -1, -1, 40, 3944 41, 132, 43, 44, -1, 46, -1, -1, 49, 50, 3945 51, 52, 53, 54, 55, 56, -1, -1, -1, 60, 3946 -1, -1, -1, 64, 65, -1, 67, -1, 69, -1, 3947 -1, -1, -1, -1, 75, -1, 77, 78, 79, -1, 3948 -1, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3949 91, 92, -1, -1, -1, -1, -1, -1, 40, 41, 3950 -1, 43, -1, -1, -1, -1, -1, -1, -1, -1, 3951 -1, -1, -1, 114, -1, 116, -1, -1, 119, -1, 3952 -1, 122, 123, 124, 125, 126, 127, 69, -1, -1, 3953 -1, 132, -1, 75, -1, -1, -1, 79, -1, -1, 3954 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 3955 92, -1, -1, -1, -1, -1, -1, 40, 41, -1, 3681 3956 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3682 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3683 -1, -1, -1, -1, 67, -1, -1, 70, -1, 72,3684 -1, 74, 75, -1, 77, 78, 79, -1, -1, -1,3685 -1, -1, -1, -1, -1, 88, 89, -1, -1, -1,3686 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3957 -1, -1, 114, -1, 116, -1, -1, 119, -1, -1, 3958 122, 123, 124, 125, 126, 127, 69, -1, -1, -1, 3959 -1, -1, 75, -1, -1, -1, 79, -1, -1, 82, 3960 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, 3961 -1, -1, -1, -1, -1, -1, 40, 41, -1, 43, 3687 3962 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3688 3963 -1, 114, -1, 116, -1, -1, -1, -1, -1, 122, 3689 123, 3, 4, 5, 6, 7, 8, 9, 10, 11, 3690 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3691 22, 23, 24, 25, 26, 27, 28, 29, 30, -1, 3692 32, 33, 34, 35, -1, -1, -1, 39, -1, -1, 3693 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3694 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3695 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3696 72, -1, 74, -1, -1, 77, 78, -1, -1, 81, 3697 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3698 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3699 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3700 33, 34, 35, -1, 116, -1, 39, -1, -1, 42, 3701 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, 3702 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3703 -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, 3704 -1, 74, -1, -1, 77, 78, 3, 4, 5, 6, 3705 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3706 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3707 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3708 -1, -1, -1, 116, -1, 42, -1, -1, -1, 122, 3709 123, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3710 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3711 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 3712 77, 78, 4, 5, 6, 7, 8, 9, 10, 11, 3713 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3714 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3715 32, 33, 34, -1, -1, -1, -1, -1, -1, 116, 3716 42, -1, -1, -1, -1, 122, 123, -1, -1, -1, 3717 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3718 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3719 72, -1, 74, 75, -1, 77, 78, 79, -1, -1, 3720 -1, -1, -1, -1, -1, -1, 88, 89, -1, -1, 3721 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3722 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3723 -1, -1, 114, -1, 116, -1, -1, -1, -1, -1, 3724 122, 123, 4, 5, 6, 7, 8, 9, 10, 11, 3725 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3726 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3727 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 3728 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3729 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3730 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3731 72, -1, 74, -1, -1, 77, 78, 4, 5, 6, 3732 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3733 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3734 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3735 -1, -1, -1, 115, 116, 42, -1, -1, -1, -1, 3736 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, 3737 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3738 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 3739 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, 3740 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3741 -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, 3742 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, 3743 -1, -1, -1, -1, -1, 122, 123, 4, 5, 6, 3744 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3745 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3746 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3747 -1, -1, -1, -1, -1, 42, -1, 10, 11, 12, 3748 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3749 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3750 33, 34, -1, 70, -1, 72, -1, 74, -1, 42, 3751 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, 3752 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3753 -1, -1, -1, -1, 101, -1, -1, 70, -1, -1, 3754 -1, -1, -1, -1, 77, 78, -1, -1, -1, 116, 3755 -1, -1, -1, -1, -1, 122, 123, 4, 5, 6, 3756 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3757 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3758 27, 28, 29, 116, -1, 32, 33, 34, -1, 122, 3759 123, -1, -1, -1, -1, 42, -1, -1, -1, -1, 3760 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3761 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3762 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 3763 77, 78, 4, 5, 6, 7, 8, 9, 10, 11, 3764 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3765 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3766 32, 33, 34, -1, -1, -1, -1, -1, -1, 116, 3767 42, -1, -1, -1, -1, 122, 123, -1, -1, -1, 3768 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3769 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 3770 72, -1, 74, -1, -1, 77, 78, 4, 5, 6, 3771 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3772 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3773 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3774 -1, -1, -1, -1, 116, 42, -1, -1, -1, -1, 3775 122, 123, -1, -1, -1, -1, -1, -1, -1, -1, 3776 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3777 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 3778 77, 78, 10, 11, 12, 13, 14, 15, 16, 17, 3779 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3780 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 3781 -1, -1, 40, 41, 42, 43, -1, -1, -1, 116, 3782 -1, -1, -1, -1, -1, 122, 123, -1, -1, -1, 3783 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3784 -1, 69, 70, -1, -1, -1, -1, 75, -1, 77, 3785 78, 79, -1, -1, 82, 83, 84, 85, 86, 87, 3786 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 3787 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3788 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 3789 -1, 119, -1, -1, 122, 123, 124, 125, 126, 127, 3790 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3791 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3792 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3793 40, 41, 42, 43, 10, 11, 12, 13, 14, 15, 3794 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3795 26, 27, 28, 29, -1, -1, 32, 33, 34, 69, 3796 70, -1, -1, -1, -1, 75, 42, 77, 78, 79, 3797 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3798 -1, 91, 92, -1, -1, -1, -1, -1, -1, -1, 3799 -1, -1, -1, -1, 70, -1, -1, -1, -1, -1, 3800 -1, 77, 78, -1, 114, 115, 116, -1, -1, -1, 3801 -1, -1, 122, 123, 124, 125, 126, 127, 10, 11, 3802 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 3803 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 3804 32, 33, 34, -1, -1, -1, 122, 123, 40, 41, 3805 42, 43, -1, -1, -1, -1, -1, -1, -1, -1, 3806 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3807 -1, -1, -1, -1, -1, -1, -1, 69, 70, -1, 3808 -1, -1, -1, 75, -1, 77, 78, 79, -1, -1, 3809 82, 83, 84, 85, 86, 87, 88, 89, -1, 91, 3810 92, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3811 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3812 -1, -1, 114, -1, 116, -1, -1, -1, -1, -1, 3813 122, 123, 124, 125, 126, 127, 10, 11, 12, 13, 3814 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 3815 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 3816 34, -1, -1, -1, -1, -1, 40, 41, 42, 43, 3817 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3818 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3819 -1, -1, -1, -1, -1, 69, 70, -1, -1, -1, 3820 -1, 75, -1, 77, 78, 79, -1, -1, 82, 83, 3964 123, 124, 125, 126, 127, 69, -1, -1, -1, -1, 3965 -1, 75, -1, -1, -1, 79, -1, -1, 82, 83, 3821 3966 84, 85, 86, 87, 88, 89, -1, 91, 92, -1, 3822 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,3967 -1, -1, -1, -1, -1, 40, 41, -1, 43, -1, 3823 3968 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3824 3969 114, -1, 116, -1, -1, -1, -1, -1, 122, 123, 3825 124, 125, 126, 127, 10, 11, 12, 13, 14, 15, 3826 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 3827 26, 27, 28, 29, -1, -1, 32, 33, 34, -1, 3828 -1, -1, -1, -1, 40, 41, 42, 43, -1, -1, 3829 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3830 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3831 -1, -1, -1, 69, 70, -1, -1, -1, -1, 75, 3832 -1, 77, 78, 79, -1, -1, 82, 83, 84, 85, 3833 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 3834 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3835 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 3836 116, -1, -1, -1, -1, -1, 122, 123, 124, 125, 3837 126, 127, 3, 4, 5, 6, 7, 8, 9, 10, 3838 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 3839 21, 22, 23, 24, 25, 26, 27, 28, 29, -1, 3840 -1, 32, 33, 34, -1, -1, -1, -1, -1, -1, 3841 -1, 42, 10, 11, 12, 13, 14, 15, 16, 17, 3842 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3843 28, 29, -1, -1, 32, 33, 34, -1, -1, 70, 3844 -1, 72, -1, 74, 42, -1, 77, 78, -1, -1, 3845 -1, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3846 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3847 28, 29, 70, -1, 32, 33, 34, 75, -1, 77, 3848 78, 79, -1, -1, 42, -1, -1, -1, 119, -1, 3849 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, 3850 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3851 -1, -1, 70, -1, -1, -1, 114, 75, 116, 77, 3852 78, -1, -1, -1, 122, 123, -1, -1, -1, -1, 3853 88, 89, -1, -1, -1, -1, -1, 10, 11, 12, 3854 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3855 23, 24, 25, 26, 27, 28, 29, -1, 116, 32, 3856 33, 34, -1, -1, 122, 123, -1, -1, -1, 42, 3857 43, -1, -1, -1, -1, -1, -1, 10, 11, 12, 3858 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3859 23, 24, 25, 26, 27, 28, 29, 70, -1, 32, 3860 33, 34, -1, -1, 77, 78, -1, -1, -1, 42, 3861 43, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3862 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3863 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, 3864 -1, -1, -1, 116, 77, 78, -1, 120, -1, 122, 3865 123, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3866 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3867 28, 29, -1, -1, 32, 33, 34, -1, -1, -1, 3868 -1, -1, -1, 116, 42, -1, -1, 120, -1, 122, 3869 123, -1, 10, 11, 12, 13, 14, 15, 16, 17, 3870 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 3871 28, 29, 70, -1, 32, 33, 34, -1, -1, 77, 3872 78, -1, -1, -1, 42, 10, 11, 12, 13, 14, 3873 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 3874 25, 26, 27, 28, 29, -1, -1, 32, 33, 34, 3875 -1, -1, 70, -1, -1, -1, -1, 42, 116, 77, 3876 78, -1, -1, -1, 122, 123, -1, -1, -1, -1, 3877 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3878 -1, -1, -1, -1, -1, 70, -1, -1, -1, -1, 3879 -1, -1, 77, 78, -1, -1, -1, -1, 116, -1, 3880 -1, -1, -1, -1, 122, 123, -1, -1, -1, -1, 3881 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3882 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3883 -1, 116, 32, 33, 34, -1, -1, 122, 123, -1, 3884 -1, -1, 42, 10, 11, 12, 13, 14, 15, 16, 3885 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3886 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3887 70, -1, -1, -1, -1, 42, -1, 77, 78, -1, 3888 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3889 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3890 -1, -1, -1, 70, -1, -1, -1, -1, -1, -1, 3891 77, 78, -1, -1, -1, -1, 116, -1, -1, -1, 3892 -1, -1, 122, 123, -1, -1, -1, -1, -1, -1, 3893 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3894 -1, -1, -1, -1, -1, -1, -1, -1, -1, 116, 3895 -1, -1, -1, -1, -1, 122, 123, 4, 5, 6, 3896 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3897 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3898 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3899 -1, -1, -1, -1, -1, 42, -1, 40, 41, -1, 3900 43, 44, -1, 46, -1, -1, 49, 50, 51, 52, 3901 53, 54, 55, 56, -1, -1, 59, 60, -1, -1, 3902 -1, 64, 65, 70, 67, 72, 69, 74, -1, -1, 3903 77, 78, 75, -1, 77, 78, 79, -1, -1, 82, 3904 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, 3905 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3906 -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, 3907 -1, 114, -1, 116, -1, -1, 119, -1, -1, 122, 3908 123, 124, 125, 126, 127, -1, -1, 40, 41, 132, 3909 43, 44, -1, 46, 137, -1, 49, 50, 51, 52, 3910 53, 54, 55, 56, -1, -1, -1, 60, -1, -1, 3911 -1, 64, 65, -1, 67, -1, 69, -1, -1, -1, 3912 -1, -1, 75, -1, 77, 78, 79, -1, -1, 82, 3913 83, 84, 85, 86, 87, 88, 89, -1, 91, 92, 3914 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3915 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3916 -1, 114, -1, 116, -1, -1, 119, -1, -1, 122, 3917 123, 124, 125, 126, 127, -1, -1, -1, -1, 132, 3918 -1, -1, -1, -1, 137, 4, 5, 6, 7, 8, 3919 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 3920 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 3921 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 3922 -1, -1, -1, 42, -1, 40, 41, -1, 43, 44, 3923 -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 3924 55, 56, -1, -1, 59, 60, -1, -1, -1, 64, 3925 65, 70, 67, 72, 69, 74, -1, -1, 77, 78, 3926 75, -1, 77, 78, 79, -1, -1, 82, 83, 84, 3927 85, 86, 87, 88, 89, -1, 91, 92, -1, -1, 3928 -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, 3929 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3930 -1, 116, -1, -1, 119, -1, -1, 122, 123, 124, 3931 125, 126, 127, -1, -1, 40, 41, 132, 43, 44, 3932 -1, 46, 47, 48, 49, 50, 51, 52, 53, 54, 3933 55, 56, -1, -1, -1, 60, -1, -1, -1, 64, 3934 65, -1, 67, -1, 69, -1, -1, -1, -1, -1, 3935 75, -1, 77, 78, 79, -1, -1, 82, 83, 84, 3936 85, 86, 87, 88, 89, -1, 91, 92, -1, -1, 3937 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3938 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3939 -1, 116, -1, -1, 119, -1, -1, 122, 123, 124, 3940 125, 126, 127, -1, -1, 40, 41, 132, 43, 44, 3941 -1, 46, -1, -1, 49, 50, 51, 52, 53, 54, 3942 55, 56, -1, -1, -1, 60, -1, -1, -1, 64, 3943 65, -1, 67, -1, 69, -1, -1, -1, -1, -1, 3944 75, -1, 77, 78, 79, -1, -1, 82, 83, 84, 3970 124, 125, 126, 127, 69, -1, -1, -1, -1, -1, 3971 75, -1, -1, -1, 79, -1, -1, 82, 83, 84, 3945 3972 85, 86, 87, 88, 89, -1, 91, 92, -1, -1, 3946 3973 -1, -1, -1, -1, 40, 41, -1, 43, -1, -1, 3947 3974 -1, -1, -1, -1, -1, -1, -1, -1, -1, 114, 3948 -1, 116, -1, -1, 119, -1, -1, 122, 123, 124,3949 125, 126, 127, 69, -1, -1, -1, 132, -1, 75,3975 -1, 116, -1, -1, -1, -1, -1, 122, 123, 124, 3976 125, 126, 127, 69, -1, -1, -1, -1, -1, 75, 3950 3977 -1, -1, -1, 79, -1, -1, 82, 83, 84, 85, 3951 3978 86, 87, 88, 89, -1, 91, 92, -1, -1, -1, 3952 3979 -1, -1, -1, 40, 41, -1, 43, -1, -1, -1, 3953 3980 -1, -1, -1, -1, -1, -1, -1, -1, 114, -1, 3954 116, -1, -1, -1, -1, 121, 122, 123, 124, 125,3981 116, -1, -1, -1, -1, -1, 122, 123, 124, 125, 3955 3982 126, 127, 69, -1, -1, -1, -1, -1, 75, -1, 3956 3983 -1, -1, 79, -1, -1, 82, 83, 84, 85, 86, … … 3962 3989 -1, 79, -1, -1, 82, 83, 84, 85, 86, 87, 3963 3990 88, 89, -1, 91, 92, -1, -1, -1, -1, -1, 3964 -1, 40, 41, -1, 43, -1, -1, -1, -1, -1,3991 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3965 3992 -1, -1, -1, -1, -1, -1, 114, -1, 116, -1, 3966 3993 -1, -1, -1, -1, 122, 123, 124, 125, 126, 127, 3967 69, -1, -1, -1, -1, -1, 75, -1, -1, -1, 3968 79, -1, -1, 82, 83, 84, 85, 86, 87, 88, 3969 89, -1, 91, 92, -1, -1, -1, -1, -1, -1, 3970 40, 41, -1, 43, -1, -1, -1, -1, -1, -1, 3971 -1, -1, -1, -1, -1, 114, -1, 116, -1, -1, 3972 -1, -1, -1, 122, 123, 124, 125, 126, 127, 69, 3973 -1, -1, -1, -1, -1, 75, -1, -1, -1, 79, 3974 -1, -1, 82, 83, 84, 85, 86, 87, 88, 89, 3975 -1, 91, 92, -1, -1, -1, -1, -1, -1, 40, 3976 41, -1, 43, -1, -1, -1, -1, -1, -1, -1, 3977 -1, -1, -1, -1, 114, -1, 116, -1, -1, -1, 3978 -1, -1, 122, 123, 124, 125, 126, 127, 69, -1, 3979 -1, -1, -1, -1, 75, -1, -1, -1, 79, -1, 3980 -1, 82, 83, 84, 85, 86, 87, 88, 89, -1, 3981 91, 92, -1, -1, -1, -1, -1, -1, -1, -1, 3982 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3983 -1, -1, -1, 114, -1, 116, -1, -1, -1, -1, 3984 -1, 122, 123, 124, 125, 126, 127, 10, 11, 12, 3985 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3986 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 3987 33, 34, -1, -1, -1, -1, -1, -1, -1, 42, 3988 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 3989 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 3990 23, 24, 25, 26, 27, 28, 29, 70, -1, 32, 3991 33, 34, 75, -1, 77, 78, -1, -1, -1, 42, 3992 -1, -1, -1, -1, -1, 88, 89, -1, -1, -1, 3993 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3994 -1, -1, -1, -1, -1, -1, -1, 70, -1, 72, 3995 -1, 74, -1, -1, 77, 78, 3, 4, 5, 6, 3996 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 3997 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 3998 27, 28, 29, -1, -1, 32, 33, 34, -1, -1, 3999 -1, -1, -1, -1, -1, 42, -1, -1, -1, -1, 3994 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3995 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 3996 -1, -1, 32, 33, 34, -1, -1, -1, -1, -1, 3997 -1, -1, 42, 3, 4, 5, 6, 7, 8, 9, 3998 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 3999 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 4000 70, -1, 32, 33, 34, 75, -1, 77, 78, -1, 4001 -1, -1, 42, -1, -1, -1, -1, -1, 88, 89, 4000 4002 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4001 4003 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4002 -1, -1, -1, 70, -1, 72, -1, 74, -1, -1, 4003 77, 78, 4, 5, 6, 7, 8, 9, 10, 11, 4004 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 4005 22, 23, 24, 25, 26, 27, 28, 29, -1, -1, 4006 32, 33, 34, -1, -1, -1, -1, -1, -1, -1, 4007 42, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4008 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4009 -1, -1, -1, -1, -1, -1, -1, -1, 70, -1, 4010 72, -1, 74, -1, -1, 77, 78, 10, 11, 12, 4011 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 4012 23, 24, 25, 26, 27, 28, 29, -1, -1, 32, 4013 33, 34, 35, 36, 37, 38, -1, -1, -1, 42, 4004 70, -1, 72, -1, 74, -1, -1, 77, 78, 3, 4005 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 4006 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 4007 24, 25, 26, 27, 28, 29, -1, -1, 32, 33, 4008 34, -1, -1, -1, -1, -1, -1, -1, 42, -1, 4014 4009 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4015 4010 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4016 -1, -1, -1, -1, -1, -1, -1, 70, -1, -1, 4017 -1, -1, -1, -1, 77, 78 4011 -1, -1, -1, -1, -1, -1, 70, -1, 72, -1, 4012 74, -1, -1, 77, 78, 4, 5, 6, 7, 8, 4013 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 4014 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 4015 29, -1, -1, 32, 33, 34, -1, -1, -1, -1, 4016 -1, -1, -1, 42, -1, -1, -1, -1, -1, -1, 4017 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4018 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4019 -1, 70, -1, 72, -1, 74, -1, -1, 77, 78, 4020 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 4021 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 4022 -1, -1, 32, 33, 34, 35, 36, 37, 38, -1, 4023 -1, -1, 42, -1, -1, -1, -1, -1, -1, -1, 4024 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4025 -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4026 70, -1, -1, -1, -1, -1, -1, 77, 78 4018 4027 }; 4019 4028 … … 4027 4036 34, 35, 39, 42, 43, 67, 70, 72, 74, 75, 4028 4037 77, 78, 79, 88, 89, 114, 116, 122, 123, 142, 4029 145, 157, 206, 220, 221, 222, 223, 224, 225, 226, 4030 227, 228, 229, 230, 232, 233, 234, 235, 236, 237, 4031 239, 240, 241, 242, 243, 244, 245, 247, 248, 249, 4032 250, 251, 252, 254, 262, 289, 290, 291, 299, 302, 4033 308, 309, 311, 313, 314, 320, 325, 329, 330, 331, 4034 332, 333, 334, 335, 336, 356, 373, 374, 375, 376, 4035 75, 144, 145, 157, 223, 225, 233, 235, 244, 248, 4036 250, 290, 84, 114, 318, 319, 320, 75, 77, 78, 4037 79, 143, 144, 279, 280, 300, 301, 77, 78, 280, 4038 114, 311, 11, 207, 114, 157, 325, 330, 331, 332, 4039 334, 335, 336, 117, 139, 226, 233, 235, 329, 333, 4040 372, 373, 376, 377, 140, 112, 136, 283, 119, 140, 4041 181, 77, 78, 142, 278, 140, 140, 140, 77, 78, 4042 114, 157, 231, 315, 324, 325, 326, 327, 328, 329, 4043 333, 337, 338, 339, 340, 341, 347, 3, 30, 81, 4044 246, 3, 5, 77, 116, 157, 225, 236, 240, 242, 4045 251, 291, 329, 333, 376, 223, 225, 235, 244, 248, 4046 250, 290, 329, 333, 35, 241, 241, 236, 242, 140, 4047 241, 236, 241, 236, 318, 241, 236, 121, 140, 140, 4048 0, 139, 114, 181, 318, 318, 139, 116, 233, 235, 4049 374, 278, 278, 136, 235, 114, 157, 315, 325, 329, 4050 116, 157, 376, 312, 238, 119, 280, 320, 114, 296, 4051 114, 114, 54, 114, 40, 41, 43, 69, 75, 79, 4052 82, 83, 84, 85, 86, 87, 91, 92, 114, 116, 4053 124, 125, 126, 127, 141, 145, 146, 147, 148, 149, 4054 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 4055 166, 167, 168, 169, 170, 172, 175, 233, 281, 282, 4056 298, 372, 377, 235, 115, 115, 115, 115, 115, 115, 4057 115, 116, 233, 356, 374, 116, 122, 157, 172, 225, 4058 226, 232, 235, 239, 240, 244, 247, 248, 250, 268, 4059 269, 273, 274, 275, 276, 290, 356, 368, 369, 370, 4060 371, 376, 377, 114, 329, 333, 376, 114, 121, 137, 4061 116, 119, 157, 172, 284, 284, 120, 139, 121, 137, 4062 114, 121, 137, 121, 137, 121, 137, 325, 326, 327, 4063 328, 338, 339, 340, 341, 235, 324, 337, 121, 140, 4064 67, 317, 116, 318, 355, 356, 318, 318, 181, 139, 4065 114, 318, 355, 318, 318, 235, 315, 114, 114, 234, 4066 235, 233, 235, 139, 233, 372, 377, 181, 139, 278, 4067 283, 225, 240, 329, 333, 181, 139, 300, 235, 244, 4068 137, 235, 235, 78, 114, 119, 280, 291, 235, 300, 4069 137, 137, 311, 139, 144, 277, 3, 140, 215, 216, 4070 230, 232, 235, 139, 317, 114, 317, 172, 325, 235, 4071 114, 139, 278, 119, 35, 36, 37, 38, 233, 292, 4072 293, 295, 264, 280, 263, 139, 133, 136, 297, 139, 4073 10, 75, 77, 78, 321, 322, 323, 114, 146, 114, 4074 156, 114, 156, 159, 114, 156, 114, 114, 156, 156, 4075 116, 172, 177, 181, 281, 376, 139, 84, 86, 90, 4076 91, 92, 114, 116, 118, 119, 102, 103, 104, 105, 4077 106, 107, 108, 109, 110, 111, 112, 136, 174, 159, 4078 159, 122, 128, 129, 124, 125, 93, 94, 95, 96, 4079 130, 131, 97, 98, 123, 132, 133, 99, 100, 134, 4080 114, 157, 351, 352, 353, 354, 355, 115, 121, 114, 4081 355, 356, 114, 355, 356, 139, 233, 374, 117, 139, 4082 140, 233, 235, 367, 368, 376, 377, 140, 114, 116, 4083 157, 325, 342, 343, 344, 345, 346, 347, 348, 349, 4084 350, 356, 357, 358, 359, 360, 361, 362, 157, 376, 4085 235, 140, 140, 157, 233, 235, 369, 278, 233, 356, 4086 369, 278, 139, 139, 139, 139, 75, 116, 118, 145, 4087 280, 284, 285, 286, 287, 288, 139, 139, 139, 139, 4088 139, 139, 115, 115, 115, 115, 115, 115, 115, 324, 4089 337, 318, 137, 114, 283, 117, 215, 139, 315, 177, 4090 282, 177, 282, 315, 116, 215, 317, 181, 139, 215, 4091 298, 255, 253, 235, 270, 271, 272, 275, 276, 115, 4092 121, 181, 139, 122, 172, 139, 232, 235, 269, 368, 4093 376, 309, 310, 114, 157, 342, 115, 121, 136, 379, 4094 280, 121, 378, 136, 265, 119, 292, 114, 119, 280, 4095 282, 292, 115, 121, 114, 146, 115, 135, 281, 116, 4096 281, 281, 151, 172, 282, 281, 139, 115, 121, 115, 4097 115, 121, 172, 116, 144, 150, 151, 139, 116, 144, 4098 150, 172, 159, 159, 159, 160, 160, 161, 161, 162, 4099 162, 162, 162, 163, 163, 164, 165, 166, 167, 168, 4100 135, 177, 139, 352, 353, 354, 235, 351, 318, 318, 4101 172, 282, 139, 139, 233, 356, 369, 235, 239, 117, 4102 376, 117, 114, 139, 325, 343, 344, 345, 348, 358, 4103 359, 360, 117, 139, 235, 342, 346, 357, 114, 318, 4104 361, 379, 318, 318, 379, 114, 318, 361, 318, 318, 4105 318, 318, 356, 233, 367, 377, 278, 117, 121, 117, 4106 121, 379, 233, 369, 379, 266, 267, 268, 269, 266, 4107 278, 172, 139, 116, 280, 135, 121, 378, 284, 116, 4108 135, 288, 31, 217, 218, 278, 266, 144, 315, 144, 4109 114, 318, 355, 356, 114, 318, 355, 356, 315, 146, 4110 356, 181, 270, 115, 115, 115, 115, 139, 181, 215, 4111 181, 115, 43, 120, 233, 256, 257, 372, 119, 140, 4112 140, 144, 230, 140, 140, 266, 114, 157, 376, 140, 4113 120, 235, 293, 172, 294, 280, 120, 170, 171, 264, 4114 140, 139, 139, 114, 140, 115, 322, 150, 135, 137, 4115 116, 146, 208, 209, 210, 115, 139, 121, 115, 115, 4116 115, 115, 172, 119, 159, 172, 173, 176, 121, 139, 4117 115, 121, 172, 139, 120, 170, 135, 270, 115, 115, 4118 115, 351, 270, 270, 233, 369, 116, 122, 157, 172, 4119 172, 235, 348, 270, 115, 115, 115, 115, 115, 115, 4120 115, 7, 235, 342, 346, 357, 139, 139, 379, 139, 4121 139, 140, 140, 140, 140, 283, 170, 171, 172, 316, 4122 139, 284, 286, 120, 139, 219, 280, 43, 44, 46, 4123 49, 50, 51, 52, 53, 54, 55, 56, 60, 64, 4124 65, 75, 77, 78, 79, 132, 145, 177, 178, 179, 4125 180, 181, 182, 183, 185, 186, 198, 200, 201, 206, 4126 220, 278, 314, 31, 140, 136, 139, 139, 317, 115, 4127 140, 181, 119, 233, 257, 114, 135, 157, 258, 259, 4128 261, 324, 325, 337, 355, 363, 364, 365, 366, 121, 4129 137, 280, 255, 115, 121, 117, 117, 140, 235, 121, 4130 379, 296, 265, 378, 115, 292, 223, 225, 233, 304, 4131 305, 306, 307, 298, 115, 115, 135, 171, 114, 115, 4132 135, 121, 144, 285, 121, 140, 176, 82, 85, 87, 4133 144, 152, 153, 154, 151, 140, 152, 170, 140, 114, 4134 318, 355, 356, 140, 140, 139, 140, 140, 140, 172, 4135 115, 140, 114, 318, 355, 356, 114, 318, 361, 114, 4136 318, 361, 356, 234, 7, 122, 140, 172, 270, 270, 4137 269, 273, 273, 274, 115, 121, 121, 115, 101, 127, 4138 140, 140, 152, 284, 172, 121, 137, 220, 314, 114, 4139 114, 179, 114, 114, 137, 278, 137, 278, 122, 278, 4140 178, 114, 181, 173, 173, 149, 137, 140, 139, 140, 4141 135, 219, 115, 172, 270, 270, 283, 318, 115, 255, 4142 258, 137, 325, 364, 365, 366, 171, 235, 363, 121, 4143 137, 260, 261, 260, 318, 318, 280, 120, 139, 115, 4144 139, 120, 140, 315, 120, 139, 140, 140, 115, 119, 4145 208, 117, 171, 137, 208, 210, 115, 378, 173, 117, 4146 140, 155, 116, 153, 155, 155, 121, 140, 90, 118, 4147 117, 140, 115, 139, 115, 115, 117, 117, 117, 140, 4148 115, 139, 139, 139, 172, 172, 140, 117, 140, 140, 4149 140, 140, 139, 139, 171, 171, 117, 117, 140, 280, 4150 177, 177, 50, 177, 139, 137, 137, 177, 137, 137, 4151 177, 61, 62, 63, 202, 203, 204, 137, 66, 137, 4038 145, 157, 220, 221, 222, 223, 224, 225, 226, 227, 4039 228, 229, 230, 232, 233, 234, 235, 236, 237, 239, 4040 240, 241, 242, 243, 244, 245, 247, 248, 249, 250, 4041 251, 252, 254, 262, 289, 290, 291, 299, 302, 308, 4042 309, 311, 313, 314, 320, 325, 329, 330, 331, 332, 4043 333, 334, 335, 336, 356, 373, 374, 375, 376, 75, 4044 144, 145, 157, 223, 225, 233, 235, 244, 248, 250, 4045 290, 84, 114, 318, 319, 320, 75, 77, 78, 79, 4046 143, 144, 279, 280, 300, 301, 77, 78, 280, 114, 4047 311, 114, 114, 157, 325, 330, 331, 332, 334, 335, 4048 336, 117, 139, 226, 233, 235, 329, 333, 372, 373, 4049 376, 377, 140, 112, 136, 283, 119, 140, 181, 77, 4050 78, 142, 278, 140, 140, 140, 77, 78, 114, 157, 4051 231, 315, 324, 325, 326, 327, 328, 329, 333, 337, 4052 338, 339, 340, 341, 347, 3, 30, 81, 246, 3, 4053 5, 77, 116, 157, 225, 236, 240, 242, 251, 291, 4054 329, 333, 376, 223, 225, 235, 244, 248, 250, 290, 4055 329, 333, 35, 241, 241, 236, 242, 140, 241, 236, 4056 241, 236, 318, 241, 236, 121, 140, 140, 0, 139, 4057 114, 181, 318, 318, 139, 116, 233, 235, 374, 278, 4058 278, 136, 235, 114, 157, 315, 325, 329, 116, 157, 4059 376, 312, 238, 119, 280, 320, 114, 296, 114, 114, 4060 84, 146, 147, 40, 41, 43, 69, 75, 79, 82, 4061 83, 85, 86, 87, 91, 92, 114, 116, 124, 125, 4062 126, 127, 141, 145, 146, 148, 149, 156, 157, 158, 4063 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 4064 169, 170, 172, 175, 233, 281, 282, 298, 372, 377, 4065 235, 115, 115, 115, 115, 115, 115, 115, 116, 233, 4066 356, 374, 116, 122, 157, 172, 225, 226, 232, 235, 4067 239, 240, 244, 247, 248, 250, 268, 269, 273, 274, 4068 275, 276, 290, 356, 368, 369, 370, 371, 376, 377, 4069 114, 329, 333, 376, 114, 121, 137, 116, 119, 157, 4070 172, 284, 284, 120, 139, 121, 137, 114, 121, 137, 4071 121, 137, 121, 137, 325, 326, 327, 328, 338, 339, 4072 340, 341, 235, 324, 337, 121, 140, 67, 317, 116, 4073 318, 355, 356, 318, 318, 181, 139, 114, 318, 355, 4074 318, 318, 235, 315, 114, 114, 234, 235, 233, 235, 4075 139, 233, 372, 377, 181, 139, 278, 283, 225, 240, 4076 329, 333, 181, 139, 300, 235, 244, 137, 235, 235, 4077 78, 114, 119, 280, 291, 235, 300, 137, 137, 311, 4078 139, 144, 277, 3, 140, 215, 216, 230, 232, 235, 4079 139, 317, 114, 317, 172, 325, 235, 114, 139, 278, 4080 119, 35, 36, 37, 38, 233, 292, 293, 295, 264, 4081 280, 263, 139, 133, 136, 297, 139, 10, 75, 77, 4082 78, 321, 322, 323, 115, 84, 114, 156, 114, 156, 4083 159, 114, 156, 114, 114, 156, 156, 116, 172, 177, 4084 181, 281, 376, 139, 86, 90, 91, 92, 114, 116, 4085 118, 119, 102, 103, 104, 105, 106, 107, 108, 109, 4086 110, 111, 112, 136, 174, 159, 159, 122, 128, 129, 4087 124, 125, 93, 94, 95, 96, 130, 131, 97, 98, 4088 123, 132, 133, 99, 100, 134, 114, 157, 351, 352, 4089 353, 354, 355, 115, 121, 114, 355, 356, 114, 355, 4090 356, 139, 233, 374, 117, 139, 140, 233, 235, 367, 4091 368, 376, 377, 140, 114, 116, 157, 325, 342, 343, 4092 344, 345, 346, 347, 348, 349, 350, 356, 357, 358, 4093 359, 360, 361, 362, 157, 376, 235, 140, 140, 157, 4094 233, 235, 369, 278, 233, 356, 369, 278, 139, 139, 4095 139, 139, 75, 116, 118, 145, 280, 284, 285, 286, 4096 287, 288, 139, 139, 139, 139, 139, 139, 115, 115, 4097 115, 115, 115, 115, 115, 324, 337, 318, 137, 114, 4098 283, 117, 215, 139, 315, 177, 282, 177, 282, 315, 4099 116, 215, 317, 181, 139, 215, 298, 255, 253, 235, 4100 270, 271, 272, 275, 276, 115, 121, 181, 139, 122, 4101 172, 139, 232, 235, 269, 368, 376, 309, 310, 114, 4102 157, 342, 115, 121, 136, 379, 280, 121, 378, 136, 4103 265, 119, 292, 114, 119, 280, 282, 292, 115, 121, 4104 114, 137, 281, 116, 281, 281, 151, 172, 282, 281, 4105 139, 115, 121, 115, 115, 121, 172, 116, 144, 150, 4106 151, 139, 116, 144, 150, 172, 159, 159, 159, 160, 4107 160, 161, 161, 162, 162, 162, 162, 163, 163, 164, 4108 165, 166, 167, 168, 135, 177, 139, 352, 353, 354, 4109 235, 351, 318, 318, 172, 282, 139, 139, 233, 356, 4110 369, 235, 239, 117, 376, 117, 114, 139, 325, 343, 4111 344, 345, 348, 358, 359, 360, 117, 139, 235, 342, 4112 346, 357, 114, 318, 361, 379, 318, 318, 379, 114, 4113 318, 361, 318, 318, 318, 318, 356, 233, 367, 377, 4114 278, 117, 121, 117, 121, 379, 233, 369, 379, 266, 4115 267, 268, 269, 266, 278, 172, 139, 116, 280, 135, 4116 121, 378, 284, 116, 135, 288, 31, 217, 218, 278, 4117 266, 144, 315, 144, 114, 318, 355, 356, 114, 318, 4118 355, 356, 315, 146, 356, 181, 270, 115, 115, 115, 4119 115, 139, 181, 215, 181, 115, 43, 120, 233, 256, 4120 257, 372, 119, 140, 140, 144, 230, 140, 140, 266, 4121 114, 157, 376, 140, 120, 235, 293, 172, 294, 280, 4122 120, 170, 171, 264, 140, 139, 139, 114, 140, 115, 4123 322, 150, 115, 139, 121, 115, 115, 115, 115, 172, 4124 119, 159, 172, 173, 176, 121, 139, 115, 121, 172, 4125 139, 120, 170, 135, 270, 115, 115, 115, 351, 270, 4126 270, 233, 369, 116, 122, 157, 172, 172, 235, 348, 4127 270, 115, 115, 115, 115, 115, 115, 115, 7, 235, 4128 342, 346, 357, 139, 139, 379, 139, 139, 140, 140, 4129 140, 140, 283, 170, 171, 172, 316, 139, 284, 286, 4130 120, 139, 219, 280, 43, 44, 46, 49, 50, 51, 4131 52, 53, 54, 55, 56, 60, 64, 65, 67, 75, 4132 77, 78, 79, 132, 145, 177, 178, 179, 180, 181, 4133 182, 183, 185, 186, 198, 200, 201, 206, 220, 278, 4134 314, 31, 140, 136, 139, 139, 317, 115, 140, 181, 4135 119, 233, 257, 114, 135, 157, 258, 259, 261, 324, 4136 325, 337, 355, 363, 364, 365, 366, 121, 137, 280, 4137 255, 115, 121, 117, 117, 140, 235, 121, 379, 296, 4138 265, 378, 115, 292, 223, 225, 233, 304, 305, 306, 4139 307, 298, 115, 115, 144, 285, 121, 140, 176, 82, 4140 85, 87, 144, 152, 153, 154, 151, 140, 152, 170, 4141 140, 114, 318, 355, 356, 140, 140, 139, 140, 140, 4142 140, 172, 115, 140, 114, 318, 355, 356, 114, 318, 4143 361, 114, 318, 361, 356, 234, 7, 122, 140, 172, 4144 270, 270, 269, 273, 273, 274, 115, 121, 121, 115, 4145 101, 127, 140, 140, 152, 284, 172, 121, 137, 220, 4146 314, 114, 114, 179, 114, 114, 137, 278, 137, 278, 4147 122, 278, 178, 114, 181, 173, 173, 11, 207, 149, 4148 137, 140, 139, 140, 135, 219, 115, 172, 270, 270, 4149 283, 318, 115, 255, 258, 137, 325, 364, 365, 366, 4150 171, 235, 363, 121, 137, 260, 261, 260, 318, 318, 4151 280, 120, 139, 115, 139, 120, 140, 315, 120, 139, 4152 140, 140, 115, 119, 115, 378, 173, 117, 140, 155, 4153 116, 153, 155, 155, 121, 140, 90, 118, 117, 140, 4154 115, 139, 115, 115, 117, 117, 117, 140, 115, 139, 4155 139, 139, 172, 172, 140, 117, 140, 140, 140, 140, 4156 139, 139, 171, 171, 117, 117, 140, 280, 177, 177, 4157 50, 177, 139, 137, 137, 177, 137, 137, 177, 61, 4158 62, 63, 202, 203, 204, 137, 66, 137, 54, 114, 4152 4159 119, 183, 120, 318, 137, 140, 140, 120, 137, 115, 4153 4160 115, 115, 363, 318, 101, 275, 276, 115, 305, 121, 4154 137, 121, 137, 120, 303, 135, 146, 115, 115, 135, 4155 120, 117, 86, 139, 153, 117, 116, 153, 116, 153, 4156 117, 270, 117, 270, 270, 270, 140, 140, 117, 117, 4157 115, 115, 117, 121, 101, 269, 101, 140, 117, 115, 4158 115, 114, 115, 178, 199, 220, 224, 235, 239, 137, 4159 115, 114, 114, 181, 204, 61, 62, 172, 150, 179, 4160 115, 115, 114, 318, 355, 356, 259, 119, 139, 139, 4161 304, 146, 211, 114, 137, 211, 152, 139, 139, 140, 4162 140, 140, 140, 117, 117, 139, 140, 117, 179, 47, 4163 48, 119, 189, 190, 191, 177, 179, 140, 115, 178, 4164 235, 119, 191, 101, 139, 101, 139, 114, 114, 137, 4165 120, 139, 139, 278, 315, 120, 121, 135, 171, 115, 4166 140, 152, 152, 115, 115, 115, 115, 273, 45, 171, 4167 187, 188, 316, 135, 139, 179, 189, 115, 137, 179, 4168 137, 139, 115, 139, 115, 139, 101, 139, 101, 139, 4169 137, 270, 304, 146, 144, 212, 115, 137, 117, 140, 4170 140, 179, 101, 121, 135, 140, 213, 214, 220, 137, 4171 178, 178, 213, 181, 205, 233, 372, 181, 205, 115, 4172 139, 115, 139, 140, 120, 115, 121, 117, 117, 171, 4173 187, 190, 192, 193, 139, 137, 190, 194, 195, 140, 4174 114, 157, 315, 363, 144, 140, 181, 205, 181, 205, 4175 115, 114, 137, 144, 179, 184, 120, 190, 220, 178, 4176 59, 184, 197, 120, 190, 115, 235, 115, 140, 140, 4177 298, 179, 184, 137, 196, 197, 184, 197, 181, 181, 4178 115, 115, 115, 196, 140, 140, 181, 181, 140, 140 4161 137, 121, 137, 120, 303, 120, 117, 86, 139, 153, 4162 117, 116, 153, 116, 153, 117, 270, 117, 270, 270, 4163 270, 140, 140, 117, 117, 115, 115, 117, 121, 101, 4164 269, 101, 140, 117, 115, 115, 114, 115, 178, 199, 4165 220, 224, 235, 239, 137, 115, 114, 114, 181, 204, 4166 61, 62, 172, 114, 146, 150, 179, 115, 115, 114, 4167 318, 355, 356, 259, 119, 139, 139, 304, 152, 139, 4168 139, 140, 140, 140, 140, 117, 117, 139, 140, 117, 4169 179, 47, 48, 119, 189, 190, 191, 177, 179, 140, 4170 115, 178, 235, 119, 191, 101, 139, 101, 139, 114, 4171 114, 137, 146, 115, 135, 120, 139, 139, 278, 315, 4172 120, 140, 152, 152, 115, 115, 115, 115, 273, 45, 4173 171, 187, 188, 316, 135, 139, 179, 189, 115, 137, 4174 179, 137, 139, 115, 139, 115, 139, 101, 139, 101, 4175 139, 135, 137, 116, 146, 208, 209, 210, 137, 270, 4176 304, 117, 140, 140, 179, 101, 121, 135, 140, 213, 4177 214, 220, 137, 178, 178, 213, 181, 205, 233, 372, 4178 181, 205, 115, 139, 115, 139, 135, 171, 114, 115, 4179 135, 121, 140, 120, 117, 117, 171, 187, 190, 192, 4180 193, 139, 137, 190, 194, 195, 140, 114, 157, 315, 4181 363, 144, 140, 181, 205, 181, 205, 208, 117, 171, 4182 137, 208, 210, 115, 114, 179, 184, 120, 190, 220, 4183 178, 59, 184, 197, 120, 190, 115, 235, 115, 140, 4184 140, 135, 146, 115, 115, 135, 298, 179, 184, 137, 4185 196, 197, 184, 197, 181, 181, 115, 115, 146, 211, 4186 114, 137, 211, 115, 196, 140, 140, 181, 181, 121, 4187 135, 171, 115, 140, 140, 146, 144, 212, 115, 137, 4188 115, 121, 137, 144 4179 4189 }; 4180 4190 … … 7914 7924 /* Line 1806 of yacc.c */ 7915 7925 #line 2091 "parser.yy" 7916 {} 7926 { 7927 (yyval.decl) = DeclarationNode::newAsmStmt( new StatementNode( build_asmstmt( false, (yyvsp[(3) - (5)].constant), 0 ) ) ); 7928 } 7917 7929 break; 7918 7930 … … 7920 7932 7921 7933 /* Line 1806 of yacc.c */ 7922 #line 209 3"parser.yy"7934 #line 2095 "parser.yy" 7923 7935 { 7924 7936 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" … … 7930 7942 7931 7943 /* Line 1806 of yacc.c */ 7932 #line 2 098"parser.yy"7944 #line 2100 "parser.yy" 7933 7945 { 7934 7946 linkage = linkageStack.top(); … … 7941 7953 7942 7954 /* Line 1806 of yacc.c */ 7943 #line 210 4"parser.yy"7955 #line 2106 "parser.yy" 7944 7956 { 7945 7957 distExt( (yyvsp[(2) - (2)].decl) ); // mark all fields in list … … 7951 7963 7952 7964 /* Line 1806 of yacc.c */ 7953 #line 21 18"parser.yy"7965 #line 2120 "parser.yy" 7954 7966 { 7955 7967 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7962 7974 7963 7975 /* Line 1806 of yacc.c */ 7964 #line 212 4"parser.yy"7976 #line 2126 "parser.yy" 7965 7977 { 7966 7978 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7973 7985 7974 7986 /* Line 1806 of yacc.c */ 7975 #line 213 3"parser.yy"7987 #line 2135 "parser.yy" 7976 7988 { 7977 7989 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7984 7996 7985 7997 /* Line 1806 of yacc.c */ 7986 #line 21 39"parser.yy"7998 #line 2141 "parser.yy" 7987 7999 { 7988 8000 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7995 8007 7996 8008 /* Line 1806 of yacc.c */ 7997 #line 214 5"parser.yy"8009 #line 2147 "parser.yy" 7998 8010 { 7999 8011 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8006 8018 8007 8019 /* Line 1806 of yacc.c */ 8008 #line 215 1"parser.yy"8020 #line 2153 "parser.yy" 8009 8021 { 8010 8022 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8017 8029 8018 8030 /* Line 1806 of yacc.c */ 8019 #line 215 7"parser.yy"8031 #line 2159 "parser.yy" 8020 8032 { 8021 8033 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8028 8040 8029 8041 /* Line 1806 of yacc.c */ 8030 #line 216 5"parser.yy"8042 #line 2167 "parser.yy" 8031 8043 { 8032 8044 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8039 8051 8040 8052 /* Line 1806 of yacc.c */ 8041 #line 217 1"parser.yy"8053 #line 2173 "parser.yy" 8042 8054 { 8043 8055 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8050 8062 8051 8063 /* Line 1806 of yacc.c */ 8052 #line 21 79"parser.yy"8064 #line 2181 "parser.yy" 8053 8065 { 8054 8066 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8061 8073 8062 8074 /* Line 1806 of yacc.c */ 8063 #line 218 5"parser.yy"8075 #line 2187 "parser.yy" 8064 8076 { 8065 8077 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8072 8084 8073 8085 /* Line 1806 of yacc.c */ 8074 #line 220 0"parser.yy"8086 #line 2202 "parser.yy" 8075 8087 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 8076 8088 break; … … 8079 8091 8080 8092 /* Line 1806 of yacc.c */ 8081 #line 220 5"parser.yy"8093 #line 2207 "parser.yy" 8082 8094 { (yyval.decl) = nullptr; } 8083 8095 break; … … 8086 8098 8087 8099 /* Line 1806 of yacc.c */ 8088 #line 220 7"parser.yy"8100 #line 2209 "parser.yy" 8089 8101 { 8090 8102 DeclarationNode * name = new DeclarationNode(); … … 8097 8109 8098 8110 /* Line 1806 of yacc.c */ 8099 #line 221 6"parser.yy"8111 #line 2218 "parser.yy" 8100 8112 { (yyval.decl) = nullptr; } 8101 8113 break; … … 8104 8116 8105 8117 /* Line 1806 of yacc.c */ 8106 #line 222 3"parser.yy"8118 #line 2225 "parser.yy" 8107 8119 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8108 8120 break; … … 8111 8123 8112 8124 /* Line 1806 of yacc.c */ 8113 #line 22 28"parser.yy"8125 #line 2230 "parser.yy" 8114 8126 { (yyval.decl) = (yyvsp[(4) - (6)].decl); } 8115 8127 break; … … 8118 8130 8119 8131 /* Line 1806 of yacc.c */ 8120 #line 223 4"parser.yy"8132 #line 2236 "parser.yy" 8121 8133 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 8122 8134 break; … … 8125 8137 8126 8138 /* Line 1806 of yacc.c */ 8127 #line 22 39"parser.yy"8139 #line 2241 "parser.yy" 8128 8140 { (yyval.decl) = nullptr; } 8129 8141 break; … … 8132 8144 8133 8145 /* Line 1806 of yacc.c */ 8134 #line 224 1"parser.yy"8146 #line 2243 "parser.yy" 8135 8147 { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (1)].tok) ); } 8136 8148 break; … … 8139 8151 8140 8152 /* Line 1806 of yacc.c */ 8141 #line 224 3"parser.yy"8153 #line 2245 "parser.yy" 8142 8154 { (yyval.decl) = DeclarationNode::newAttribute( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 8143 8155 break; … … 8146 8158 8147 8159 /* Line 1806 of yacc.c */ 8148 #line 225 1"parser.yy"8160 #line 2253 "parser.yy" 8149 8161 { (yyval.tok) = Token{ new string( "__const__" ) }; } 8150 8162 break; … … 8153 8165 8154 8166 /* Line 1806 of yacc.c */ 8155 #line 228 6"parser.yy"8167 #line 2288 "parser.yy" 8156 8168 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8157 8169 break; 8158 8170 8159 8171 case 568: 8160 8161 /* Line 1806 of yacc.c */8162 #line 2289 "parser.yy"8163 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8164 break;8165 8166 case 569:8167 8172 8168 8173 /* Line 1806 of yacc.c */ … … 8171 8176 break; 8172 8177 8178 case 569: 8179 8180 /* Line 1806 of yacc.c */ 8181 #line 2293 "parser.yy" 8182 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8183 break; 8184 8173 8185 case 570: 8174 8186 8175 8187 /* Line 1806 of yacc.c */ 8176 #line 229 6"parser.yy"8188 #line 2298 "parser.yy" 8177 8189 { 8178 8190 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8184 8196 8185 8197 /* Line 1806 of yacc.c */ 8186 #line 230 1"parser.yy"8198 #line 2303 "parser.yy" 8187 8199 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8188 8200 break; … … 8191 8203 8192 8204 /* Line 1806 of yacc.c */ 8193 #line 230 6"parser.yy"8205 #line 2308 "parser.yy" 8194 8206 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8195 8207 break; … … 8198 8210 8199 8211 /* Line 1806 of yacc.c */ 8200 #line 23 08"parser.yy"8212 #line 2310 "parser.yy" 8201 8213 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8202 8214 break; … … 8205 8217 8206 8218 /* Line 1806 of yacc.c */ 8207 #line 231 0"parser.yy"8219 #line 2312 "parser.yy" 8208 8220 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8209 8221 break; … … 8212 8224 8213 8225 /* Line 1806 of yacc.c */ 8214 #line 231 5"parser.yy"8226 #line 2317 "parser.yy" 8215 8227 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8216 8228 break; 8217 8229 8218 8230 case 576: 8219 8220 /* Line 1806 of yacc.c */8221 #line 2317 "parser.yy"8222 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8223 break;8224 8225 case 577:8226 8231 8227 8232 /* Line 1806 of yacc.c */ … … 8230 8235 break; 8231 8236 8237 case 577: 8238 8239 /* Line 1806 of yacc.c */ 8240 #line 2321 "parser.yy" 8241 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8242 break; 8243 8232 8244 case 578: 8233 8245 8234 8246 /* Line 1806 of yacc.c */ 8235 #line 232 1"parser.yy"8247 #line 2323 "parser.yy" 8236 8248 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8237 8249 break; … … 8240 8252 8241 8253 /* Line 1806 of yacc.c */ 8242 #line 232 6"parser.yy"8254 #line 2328 "parser.yy" 8243 8255 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8244 8256 break; … … 8247 8259 8248 8260 /* Line 1806 of yacc.c */ 8249 #line 23 28"parser.yy"8261 #line 2330 "parser.yy" 8250 8262 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8251 8263 break; … … 8254 8266 8255 8267 /* Line 1806 of yacc.c */ 8256 #line 233 7"parser.yy"8268 #line 2339 "parser.yy" 8257 8269 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8258 8270 break; … … 8261 8273 8262 8274 /* Line 1806 of yacc.c */ 8263 #line 234 0"parser.yy"8275 #line 2342 "parser.yy" 8264 8276 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8265 8277 break; … … 8268 8280 8269 8281 /* Line 1806 of yacc.c */ 8270 #line 234 5"parser.yy"8282 #line 2347 "parser.yy" 8271 8283 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8272 8284 break; … … 8275 8287 8276 8288 /* Line 1806 of yacc.c */ 8277 #line 234 7"parser.yy"8289 #line 2349 "parser.yy" 8278 8290 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8279 8291 break; … … 8282 8294 8283 8295 /* Line 1806 of yacc.c */ 8284 #line 23 49"parser.yy"8296 #line 2351 "parser.yy" 8285 8297 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8286 8298 break; … … 8289 8301 8290 8302 /* Line 1806 of yacc.c */ 8291 #line 235 4"parser.yy"8303 #line 2356 "parser.yy" 8292 8304 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8293 8305 break; … … 8296 8308 8297 8309 /* Line 1806 of yacc.c */ 8298 #line 235 6"parser.yy"8310 #line 2358 "parser.yy" 8299 8311 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8300 8312 break; … … 8303 8315 8304 8316 /* Line 1806 of yacc.c */ 8305 #line 23 58"parser.yy"8317 #line 2360 "parser.yy" 8306 8318 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8307 8319 break; 8308 8320 8309 8321 case 590: 8310 8311 /* Line 1806 of yacc.c */8312 #line 2363 "parser.yy"8313 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8314 break;8315 8316 case 591:8317 8322 8318 8323 /* Line 1806 of yacc.c */ … … 8321 8326 break; 8322 8327 8328 case 591: 8329 8330 /* Line 1806 of yacc.c */ 8331 #line 2367 "parser.yy" 8332 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8333 break; 8334 8323 8335 case 592: 8324 8336 8325 8337 /* Line 1806 of yacc.c */ 8326 #line 236 7"parser.yy"8338 #line 2369 "parser.yy" 8327 8339 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8328 8340 break; … … 8331 8343 8332 8344 /* Line 1806 of yacc.c */ 8333 #line 238 5"parser.yy"8345 #line 2387 "parser.yy" 8334 8346 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8335 8347 break; … … 8338 8350 8339 8351 /* Line 1806 of yacc.c */ 8340 #line 238 7"parser.yy"8352 #line 2389 "parser.yy" 8341 8353 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8342 8354 break; … … 8345 8357 8346 8358 /* Line 1806 of yacc.c */ 8347 #line 23 89"parser.yy"8359 #line 2391 "parser.yy" 8348 8360 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8349 8361 break; … … 8352 8364 8353 8365 /* Line 1806 of yacc.c */ 8354 #line 239 4"parser.yy"8366 #line 2396 "parser.yy" 8355 8367 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8356 8368 break; … … 8359 8371 8360 8372 /* Line 1806 of yacc.c */ 8361 #line 239 6"parser.yy"8373 #line 2398 "parser.yy" 8362 8374 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8363 8375 break; … … 8366 8378 8367 8379 /* Line 1806 of yacc.c */ 8368 #line 2 398"parser.yy"8380 #line 2400 "parser.yy" 8369 8381 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8370 8382 break; 8371 8383 8372 8384 case 602: 8373 8374 /* Line 1806 of yacc.c */8375 #line 2403 "parser.yy"8376 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8377 break;8378 8379 case 603:8380 8385 8381 8386 /* Line 1806 of yacc.c */ … … 8384 8389 break; 8385 8390 8391 case 603: 8392 8393 /* Line 1806 of yacc.c */ 8394 #line 2407 "parser.yy" 8395 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8396 break; 8397 8386 8398 case 604: 8387 8399 8388 8400 /* Line 1806 of yacc.c */ 8389 #line 240 7"parser.yy"8401 #line 2409 "parser.yy" 8390 8402 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8391 8403 break; … … 8394 8406 8395 8407 /* Line 1806 of yacc.c */ 8396 #line 242 2"parser.yy"8408 #line 2424 "parser.yy" 8397 8409 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8398 8410 break; 8399 8411 8400 8412 case 607: 8401 8402 /* Line 1806 of yacc.c */8403 #line 2425 "parser.yy"8404 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8405 break;8406 8407 case 608:8408 8413 8409 8414 /* Line 1806 of yacc.c */ … … 8412 8417 break; 8413 8418 8419 case 608: 8420 8421 /* Line 1806 of yacc.c */ 8422 #line 2429 "parser.yy" 8423 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8424 break; 8425 8414 8426 case 610: 8415 8427 8416 8428 /* Line 1806 of yacc.c */ 8417 #line 243 3"parser.yy"8429 #line 2435 "parser.yy" 8418 8430 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8419 8431 break; … … 8422 8434 8423 8435 /* Line 1806 of yacc.c */ 8424 #line 24 38"parser.yy"8436 #line 2440 "parser.yy" 8425 8437 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8426 8438 break; … … 8429 8441 8430 8442 /* Line 1806 of yacc.c */ 8431 #line 244 0"parser.yy"8443 #line 2442 "parser.yy" 8432 8444 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8433 8445 break; … … 8436 8448 8437 8449 /* Line 1806 of yacc.c */ 8438 #line 244 2"parser.yy"8450 #line 2444 "parser.yy" 8439 8451 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8440 8452 break; … … 8443 8455 8444 8456 /* Line 1806 of yacc.c */ 8445 #line 244 7"parser.yy"8457 #line 2449 "parser.yy" 8446 8458 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8447 8459 break; 8448 8460 8449 8461 case 615: 8450 8451 /* Line 1806 of yacc.c */8452 #line 2449 "parser.yy"8453 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8454 break;8455 8456 case 616:8457 8462 8458 8463 /* Line 1806 of yacc.c */ … … 8461 8466 break; 8462 8467 8468 case 616: 8469 8470 /* Line 1806 of yacc.c */ 8471 #line 2453 "parser.yy" 8472 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8473 break; 8474 8463 8475 case 617: 8464 8476 8465 8477 /* Line 1806 of yacc.c */ 8466 #line 245 3"parser.yy"8478 #line 2455 "parser.yy" 8467 8479 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8468 8480 break; … … 8471 8483 8472 8484 /* Line 1806 of yacc.c */ 8473 #line 24 58"parser.yy"8485 #line 2460 "parser.yy" 8474 8486 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8475 8487 break; … … 8478 8490 8479 8491 /* Line 1806 of yacc.c */ 8480 #line 246 0"parser.yy"8492 #line 2462 "parser.yy" 8481 8493 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8482 8494 break; … … 8485 8497 8486 8498 /* Line 1806 of yacc.c */ 8487 #line 246 2"parser.yy"8499 #line 2464 "parser.yy" 8488 8500 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8489 8501 break; … … 8492 8504 8493 8505 /* Line 1806 of yacc.c */ 8494 #line 247 2"parser.yy"8506 #line 2474 "parser.yy" 8495 8507 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8496 8508 break; 8497 8509 8498 8510 case 623: 8499 8500 /* Line 1806 of yacc.c */8501 #line 2475 "parser.yy"8502 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8503 break;8504 8505 case 624:8506 8511 8507 8512 /* Line 1806 of yacc.c */ … … 8510 8515 break; 8511 8516 8517 case 624: 8518 8519 /* Line 1806 of yacc.c */ 8520 #line 2479 "parser.yy" 8521 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8522 break; 8523 8512 8524 case 625: 8513 8525 8514 8526 /* Line 1806 of yacc.c */ 8515 #line 248 2"parser.yy"8527 #line 2484 "parser.yy" 8516 8528 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8517 8529 break; … … 8520 8532 8521 8533 /* Line 1806 of yacc.c */ 8522 #line 248 4"parser.yy"8534 #line 2486 "parser.yy" 8523 8535 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8524 8536 break; … … 8527 8539 8528 8540 /* Line 1806 of yacc.c */ 8529 #line 248 6"parser.yy"8541 #line 2488 "parser.yy" 8530 8542 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8531 8543 break; … … 8534 8546 8535 8547 /* Line 1806 of yacc.c */ 8536 #line 249 1"parser.yy"8548 #line 2493 "parser.yy" 8537 8549 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8538 8550 break; 8539 8551 8540 8552 case 629: 8541 8542 /* Line 1806 of yacc.c */8543 #line 2493 "parser.yy"8544 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8545 break;8546 8547 case 630:8548 8553 8549 8554 /* Line 1806 of yacc.c */ … … 8552 8557 break; 8553 8558 8559 case 630: 8560 8561 /* Line 1806 of yacc.c */ 8562 #line 2497 "parser.yy" 8563 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8564 break; 8565 8554 8566 case 631: 8555 8567 8556 8568 /* Line 1806 of yacc.c */ 8557 #line 249 7"parser.yy"8569 #line 2499 "parser.yy" 8558 8570 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8559 8571 break; … … 8562 8574 8563 8575 /* Line 1806 of yacc.c */ 8564 #line 250 2"parser.yy"8576 #line 2504 "parser.yy" 8565 8577 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8566 8578 break; … … 8569 8581 8570 8582 /* Line 1806 of yacc.c */ 8571 #line 250 4"parser.yy"8583 #line 2506 "parser.yy" 8572 8584 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8573 8585 break; … … 8576 8588 8577 8589 /* Line 1806 of yacc.c */ 8578 #line 250 6"parser.yy"8590 #line 2508 "parser.yy" 8579 8591 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8580 8592 break; … … 8583 8595 8584 8596 /* Line 1806 of yacc.c */ 8585 #line 25 19"parser.yy"8597 #line 2521 "parser.yy" 8586 8598 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8587 8599 break; 8588 8600 8589 8601 case 637: 8590 8591 /* Line 1806 of yacc.c */8592 #line 2522 "parser.yy"8593 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8594 break;8595 8596 case 638:8597 8602 8598 8603 /* Line 1806 of yacc.c */ … … 8601 8606 break; 8602 8607 8608 case 638: 8609 8610 /* Line 1806 of yacc.c */ 8611 #line 2526 "parser.yy" 8612 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8613 break; 8614 8603 8615 case 639: 8604 8616 8605 8617 /* Line 1806 of yacc.c */ 8606 #line 25 29"parser.yy"8618 #line 2531 "parser.yy" 8607 8619 { 8608 8620 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8614 8626 8615 8627 /* Line 1806 of yacc.c */ 8616 #line 253 4"parser.yy"8628 #line 2536 "parser.yy" 8617 8629 { 8618 8630 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8624 8636 8625 8637 /* Line 1806 of yacc.c */ 8626 #line 254 2"parser.yy"8638 #line 2544 "parser.yy" 8627 8639 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8628 8640 break; … … 8631 8643 8632 8644 /* Line 1806 of yacc.c */ 8633 #line 254 4"parser.yy"8645 #line 2546 "parser.yy" 8634 8646 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8635 8647 break; … … 8638 8650 8639 8651 /* Line 1806 of yacc.c */ 8640 #line 254 6"parser.yy"8652 #line 2548 "parser.yy" 8641 8653 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8642 8654 break; … … 8645 8657 8646 8658 /* Line 1806 of yacc.c */ 8647 #line 255 1"parser.yy"8659 #line 2553 "parser.yy" 8648 8660 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8649 8661 break; … … 8652 8664 8653 8665 /* Line 1806 of yacc.c */ 8654 #line 255 3"parser.yy"8666 #line 2555 "parser.yy" 8655 8667 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8656 8668 break; … … 8659 8671 8660 8672 /* Line 1806 of yacc.c */ 8661 #line 25 58"parser.yy"8673 #line 2560 "parser.yy" 8662 8674 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8663 8675 break; … … 8666 8678 8667 8679 /* Line 1806 of yacc.c */ 8668 #line 256 0"parser.yy"8680 #line 2562 "parser.yy" 8669 8681 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8670 8682 break; 8671 8683 8672 8684 case 649: 8673 8674 /* Line 1806 of yacc.c */8675 #line 2578 "parser.yy"8676 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8677 break;8678 8679 case 650:8680 8685 8681 8686 /* Line 1806 of yacc.c */ … … 8684 8689 break; 8685 8690 8691 case 650: 8692 8693 /* Line 1806 of yacc.c */ 8694 #line 2582 "parser.yy" 8695 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8696 break; 8697 8686 8698 case 651: 8687 8699 8688 8700 /* Line 1806 of yacc.c */ 8689 #line 258 5"parser.yy"8701 #line 2587 "parser.yy" 8690 8702 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8691 8703 break; … … 8694 8706 8695 8707 /* Line 1806 of yacc.c */ 8696 #line 258 7"parser.yy"8708 #line 2589 "parser.yy" 8697 8709 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8698 8710 break; … … 8701 8713 8702 8714 /* Line 1806 of yacc.c */ 8703 #line 25 89"parser.yy"8715 #line 2591 "parser.yy" 8704 8716 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8705 8717 break; … … 8708 8720 8709 8721 /* Line 1806 of yacc.c */ 8710 #line 259 1"parser.yy"8722 #line 2593 "parser.yy" 8711 8723 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8712 8724 break; … … 8715 8727 8716 8728 /* Line 1806 of yacc.c */ 8717 #line 259 3"parser.yy"8729 #line 2595 "parser.yy" 8718 8730 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8719 8731 break; 8720 8732 8721 8733 case 657: 8722 8723 /* Line 1806 of yacc.c */8724 #line 2599 "parser.yy"8725 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8726 break;8727 8728 case 658:8729 8734 8730 8735 /* Line 1806 of yacc.c */ … … 8733 8738 break; 8734 8739 8740 case 658: 8741 8742 /* Line 1806 of yacc.c */ 8743 #line 2603 "parser.yy" 8744 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8745 break; 8746 8735 8747 case 659: 8736 8748 8737 8749 /* Line 1806 of yacc.c */ 8738 #line 260 3"parser.yy"8750 #line 2605 "parser.yy" 8739 8751 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8740 8752 break; … … 8743 8755 8744 8756 /* Line 1806 of yacc.c */ 8745 #line 26 08"parser.yy"8757 #line 2610 "parser.yy" 8746 8758 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8747 8759 break; … … 8750 8762 8751 8763 /* Line 1806 of yacc.c */ 8752 #line 261 0"parser.yy"8764 #line 2612 "parser.yy" 8753 8765 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8754 8766 break; … … 8757 8769 8758 8770 /* Line 1806 of yacc.c */ 8759 #line 261 2"parser.yy"8771 #line 2614 "parser.yy" 8760 8772 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8761 8773 break; … … 8764 8776 8765 8777 /* Line 1806 of yacc.c */ 8766 #line 26 18"parser.yy"8778 #line 2620 "parser.yy" 8767 8779 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8768 8780 break; … … 8771 8783 8772 8784 /* Line 1806 of yacc.c */ 8773 #line 262 0"parser.yy"8785 #line 2622 "parser.yy" 8774 8786 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8775 8787 break; … … 8778 8790 8779 8791 /* Line 1806 of yacc.c */ 8780 #line 262 6"parser.yy"8792 #line 2628 "parser.yy" 8781 8793 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8782 8794 break; … … 8785 8797 8786 8798 /* Line 1806 of yacc.c */ 8787 #line 26 28"parser.yy"8799 #line 2630 "parser.yy" 8788 8800 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8789 8801 break; … … 8792 8804 8793 8805 /* Line 1806 of yacc.c */ 8794 #line 263 0"parser.yy"8806 #line 2632 "parser.yy" 8795 8807 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8796 8808 break; … … 8799 8811 8800 8812 /* Line 1806 of yacc.c */ 8801 #line 263 2"parser.yy"8813 #line 2634 "parser.yy" 8802 8814 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8803 8815 break; 8804 8816 8805 8817 case 671: 8806 8807 /* Line 1806 of yacc.c */8808 #line 2667 "parser.yy"8809 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8810 break;8811 8812 case 672:8813 8818 8814 8819 /* Line 1806 of yacc.c */ … … 8817 8822 break; 8818 8823 8824 case 672: 8825 8826 /* Line 1806 of yacc.c */ 8827 #line 2671 "parser.yy" 8828 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8829 break; 8830 8819 8831 case 673: 8820 8832 8821 8833 /* Line 1806 of yacc.c */ 8822 #line 267 4"parser.yy"8834 #line 2676 "parser.yy" 8823 8835 { (yyval.decl) = DeclarationNode::newPointer( nullptr ); } 8824 8836 break; … … 8827 8839 8828 8840 /* Line 1806 of yacc.c */ 8829 #line 267 6"parser.yy"8841 #line 2678 "parser.yy" 8830 8842 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8831 8843 break; … … 8834 8846 8835 8847 /* Line 1806 of yacc.c */ 8836 #line 26 78"parser.yy"8848 #line 2680 "parser.yy" 8837 8849 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( nullptr ) ); } 8838 8850 break; … … 8841 8853 8842 8854 /* Line 1806 of yacc.c */ 8843 #line 268 0"parser.yy"8855 #line 2682 "parser.yy" 8844 8856 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8845 8857 break; … … 8848 8860 8849 8861 /* Line 1806 of yacc.c */ 8850 #line 268 2"parser.yy"8862 #line 2684 "parser.yy" 8851 8863 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8852 8864 break; 8853 8865 8854 8866 case 679: 8855 8856 /* Line 1806 of yacc.c */8857 #line 2688 "parser.yy"8858 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8859 break;8860 8861 case 680:8862 8867 8863 8868 /* Line 1806 of yacc.c */ … … 8866 8871 break; 8867 8872 8873 case 680: 8874 8875 /* Line 1806 of yacc.c */ 8876 #line 2692 "parser.yy" 8877 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8878 break; 8879 8868 8880 case 681: 8869 8881 8870 8882 /* Line 1806 of yacc.c */ 8871 #line 269 2"parser.yy"8883 #line 2694 "parser.yy" 8872 8884 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8873 8885 break; … … 8876 8888 8877 8889 /* Line 1806 of yacc.c */ 8878 #line 269 7"parser.yy"8890 #line 2699 "parser.yy" 8879 8891 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8880 8892 break; … … 8883 8895 8884 8896 /* Line 1806 of yacc.c */ 8885 #line 2 699"parser.yy"8897 #line 2701 "parser.yy" 8886 8898 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8887 8899 break; … … 8890 8902 8891 8903 /* Line 1806 of yacc.c */ 8892 #line 270 1"parser.yy"8904 #line 2703 "parser.yy" 8893 8905 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8894 8906 break; … … 8897 8909 8898 8910 /* Line 1806 of yacc.c */ 8899 #line 27 08"parser.yy"8911 #line 2710 "parser.yy" 8900 8912 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8901 8913 break; … … 8904 8916 8905 8917 /* Line 1806 of yacc.c */ 8906 #line 27 19"parser.yy"8918 #line 2721 "parser.yy" 8907 8919 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8908 8920 break; … … 8911 8923 8912 8924 /* Line 1806 of yacc.c */ 8913 #line 272 2"parser.yy"8925 #line 2724 "parser.yy" 8914 8926 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8915 8927 break; … … 8918 8930 8919 8931 /* Line 1806 of yacc.c */ 8920 #line 272 4"parser.yy"8932 #line 2726 "parser.yy" 8921 8933 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8922 8934 break; … … 8925 8937 8926 8938 /* Line 1806 of yacc.c */ 8927 #line 272 7"parser.yy"8939 #line 2729 "parser.yy" 8928 8940 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8929 8941 break; … … 8932 8944 8933 8945 /* Line 1806 of yacc.c */ 8934 #line 27 29"parser.yy"8946 #line 2731 "parser.yy" 8935 8947 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8936 8948 break; … … 8939 8951 8940 8952 /* Line 1806 of yacc.c */ 8941 #line 273 1"parser.yy"8953 #line 2733 "parser.yy" 8942 8954 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8943 8955 break; 8944 8956 8945 8957 case 695: 8946 8947 /* Line 1806 of yacc.c */8948 #line 2746 "parser.yy"8949 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8950 break;8951 8952 case 696:8953 8958 8954 8959 /* Line 1806 of yacc.c */ … … 8957 8962 break; 8958 8963 8964 case 696: 8965 8966 /* Line 1806 of yacc.c */ 8967 #line 2750 "parser.yy" 8968 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8969 break; 8970 8959 8971 case 697: 8960 8972 8961 8973 /* Line 1806 of yacc.c */ 8962 #line 275 3"parser.yy"8974 #line 2755 "parser.yy" 8963 8975 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8964 8976 break; … … 8967 8979 8968 8980 /* Line 1806 of yacc.c */ 8969 #line 275 5"parser.yy"8981 #line 2757 "parser.yy" 8970 8982 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8971 8983 break; … … 8974 8986 8975 8987 /* Line 1806 of yacc.c */ 8976 #line 275 7"parser.yy"8988 #line 2759 "parser.yy" 8977 8989 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8978 8990 break; … … 8981 8993 8982 8994 /* Line 1806 of yacc.c */ 8983 #line 27 59"parser.yy"8995 #line 2761 "parser.yy" 8984 8996 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8985 8997 break; … … 8988 9000 8989 9001 /* Line 1806 of yacc.c */ 8990 #line 276 1"parser.yy"9002 #line 2763 "parser.yy" 8991 9003 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addQualifiers( (yyvsp[(4) - (4)].decl) ); } 8992 9004 break; 8993 9005 8994 9006 case 703: 8995 8996 /* Line 1806 of yacc.c */8997 #line 2767 "parser.yy"8998 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8999 break;9000 9001 case 704:9002 9007 9003 9008 /* Line 1806 of yacc.c */ … … 9006 9011 break; 9007 9012 9013 case 704: 9014 9015 /* Line 1806 of yacc.c */ 9016 #line 2771 "parser.yy" 9017 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9018 break; 9019 9008 9020 case 705: 9009 9021 9010 9022 /* Line 1806 of yacc.c */ 9011 #line 277 1"parser.yy"9023 #line 2773 "parser.yy" 9012 9024 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9013 9025 break; … … 9016 9028 9017 9029 /* Line 1806 of yacc.c */ 9018 #line 277 6"parser.yy"9030 #line 2778 "parser.yy" 9019 9031 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 9020 9032 break; … … 9023 9035 9024 9036 /* Line 1806 of yacc.c */ 9025 #line 27 78"parser.yy"9037 #line 2780 "parser.yy" 9026 9038 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9027 9039 break; … … 9030 9042 9031 9043 /* Line 1806 of yacc.c */ 9032 #line 27 88"parser.yy"9044 #line 2790 "parser.yy" 9033 9045 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9034 9046 break; … … 9037 9049 9038 9050 /* Line 1806 of yacc.c */ 9039 #line 2 798"parser.yy"9051 #line 2800 "parser.yy" 9040 9052 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9041 9053 break; … … 9044 9056 9045 9057 /* Line 1806 of yacc.c */ 9046 #line 280 0"parser.yy"9058 #line 2802 "parser.yy" 9047 9059 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9048 9060 break; … … 9051 9063 9052 9064 /* Line 1806 of yacc.c */ 9053 #line 280 2"parser.yy"9065 #line 2804 "parser.yy" 9054 9066 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9055 9067 break; … … 9058 9070 9059 9071 /* Line 1806 of yacc.c */ 9060 #line 280 4"parser.yy"9072 #line 2806 "parser.yy" 9061 9073 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9062 9074 break; … … 9065 9077 9066 9078 /* Line 1806 of yacc.c */ 9067 #line 280 6"parser.yy"9079 #line 2808 "parser.yy" 9068 9080 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9069 9081 break; … … 9072 9084 9073 9085 /* Line 1806 of yacc.c */ 9074 #line 28 08"parser.yy"9086 #line 2810 "parser.yy" 9075 9087 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9076 9088 break; … … 9079 9091 9080 9092 /* Line 1806 of yacc.c */ 9081 #line 281 5"parser.yy"9093 #line 2817 "parser.yy" 9082 9094 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9083 9095 break; … … 9086 9098 9087 9099 /* Line 1806 of yacc.c */ 9088 #line 281 7"parser.yy"9100 #line 2819 "parser.yy" 9089 9101 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9090 9102 break; … … 9093 9105 9094 9106 /* Line 1806 of yacc.c */ 9095 #line 28 19"parser.yy"9107 #line 2821 "parser.yy" 9096 9108 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9097 9109 break; … … 9100 9112 9101 9113 /* Line 1806 of yacc.c */ 9102 #line 282 1"parser.yy"9114 #line 2823 "parser.yy" 9103 9115 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9104 9116 break; … … 9107 9119 9108 9120 /* Line 1806 of yacc.c */ 9109 #line 282 3"parser.yy"9121 #line 2825 "parser.yy" 9110 9122 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9111 9123 break; … … 9114 9126 9115 9127 /* Line 1806 of yacc.c */ 9116 #line 282 6"parser.yy"9128 #line 2828 "parser.yy" 9117 9129 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9118 9130 break; … … 9121 9133 9122 9134 /* Line 1806 of yacc.c */ 9123 #line 28 28"parser.yy"9135 #line 2830 "parser.yy" 9124 9136 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9125 9137 break; … … 9128 9140 9129 9141 /* Line 1806 of yacc.c */ 9130 #line 283 0"parser.yy"9142 #line 2832 "parser.yy" 9131 9143 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9132 9144 break; … … 9135 9147 9136 9148 /* Line 1806 of yacc.c */ 9137 #line 283 2"parser.yy"9149 #line 2834 "parser.yy" 9138 9150 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9139 9151 break; … … 9142 9154 9143 9155 /* Line 1806 of yacc.c */ 9144 #line 283 4"parser.yy"9156 #line 2836 "parser.yy" 9145 9157 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9146 9158 break; … … 9149 9161 9150 9162 /* Line 1806 of yacc.c */ 9151 #line 28 39"parser.yy"9163 #line 2841 "parser.yy" 9152 9164 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9153 9165 break; … … 9156 9168 9157 9169 /* Line 1806 of yacc.c */ 9158 #line 284 1"parser.yy"9170 #line 2843 "parser.yy" 9159 9171 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9160 9172 break; … … 9163 9175 9164 9176 /* Line 1806 of yacc.c */ 9165 #line 284 6"parser.yy"9177 #line 2848 "parser.yy" 9166 9178 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9167 9179 break; … … 9170 9182 9171 9183 /* Line 1806 of yacc.c */ 9172 #line 28 48"parser.yy"9184 #line 2850 "parser.yy" 9173 9185 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9174 9186 break; … … 9177 9189 9178 9190 /* Line 1806 of yacc.c */ 9179 #line 287 5"parser.yy"9191 #line 2877 "parser.yy" 9180 9192 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9181 9193 break; … … 9184 9196 9185 9197 /* Line 1806 of yacc.c */ 9186 #line 288 6"parser.yy"9198 #line 2888 "parser.yy" 9187 9199 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9188 9200 break; … … 9191 9203 9192 9204 /* Line 1806 of yacc.c */ 9193 #line 28 88"parser.yy"9205 #line 2890 "parser.yy" 9194 9206 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9195 9207 break; … … 9198 9210 9199 9211 /* Line 1806 of yacc.c */ 9200 #line 289 0"parser.yy"9212 #line 2892 "parser.yy" 9201 9213 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9202 9214 break; … … 9205 9217 9206 9218 /* Line 1806 of yacc.c */ 9207 #line 289 2"parser.yy"9219 #line 2894 "parser.yy" 9208 9220 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9209 9221 break; … … 9212 9224 9213 9225 /* Line 1806 of yacc.c */ 9214 #line 289 4"parser.yy"9226 #line 2896 "parser.yy" 9215 9227 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9216 9228 break; … … 9219 9231 9220 9232 /* Line 1806 of yacc.c */ 9221 #line 289 6"parser.yy"9233 #line 2898 "parser.yy" 9222 9234 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9223 9235 break; … … 9226 9238 9227 9239 /* Line 1806 of yacc.c */ 9228 #line 290 3"parser.yy"9240 #line 2905 "parser.yy" 9229 9241 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9230 9242 break; … … 9233 9245 9234 9246 /* Line 1806 of yacc.c */ 9235 #line 290 5"parser.yy"9247 #line 2907 "parser.yy" 9236 9248 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9237 9249 break; … … 9240 9252 9241 9253 /* Line 1806 of yacc.c */ 9242 #line 290 7"parser.yy"9254 #line 2909 "parser.yy" 9243 9255 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9244 9256 break; … … 9247 9259 9248 9260 /* Line 1806 of yacc.c */ 9249 #line 29 09"parser.yy"9261 #line 2911 "parser.yy" 9250 9262 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9251 9263 break; … … 9254 9266 9255 9267 /* Line 1806 of yacc.c */ 9256 #line 291 1"parser.yy"9268 #line 2913 "parser.yy" 9257 9269 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9258 9270 break; … … 9261 9273 9262 9274 /* Line 1806 of yacc.c */ 9263 #line 291 3"parser.yy"9275 #line 2915 "parser.yy" 9264 9276 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9265 9277 break; … … 9268 9280 9269 9281 /* Line 1806 of yacc.c */ 9270 #line 29 18"parser.yy"9282 #line 2920 "parser.yy" 9271 9283 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9272 9284 break; 9273 9285 9274 9286 case 751: 9275 9276 /* Line 1806 of yacc.c */9277 #line 2925 "parser.yy"9278 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }9279 break;9280 9281 case 752:9282 9287 9283 9288 /* Line 1806 of yacc.c */ … … 9286 9291 break; 9287 9292 9293 case 752: 9294 9295 /* Line 1806 of yacc.c */ 9296 #line 2929 "parser.yy" 9297 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9298 break; 9299 9288 9300 case 755: 9289 9301 9290 9302 /* Line 1806 of yacc.c */ 9291 #line 295 1"parser.yy"9303 #line 2953 "parser.yy" 9292 9304 { (yyval.en) = nullptr; } 9293 9305 break; … … 9296 9308 9297 9309 /* Line 1806 of yacc.c */ 9298 #line 295 3"parser.yy"9310 #line 2955 "parser.yy" 9299 9311 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9300 9312 break; … … 9303 9315 9304 9316 /* Line 1806 of yacc.c */ 9305 #line 93 06"Parser/parser.cc"9317 #line 9318 "Parser/parser.cc" 9306 9318 default: break; 9307 9319 } … … 9534 9546 9535 9547 /* Line 2067 of yacc.c */ 9536 #line 295 6"parser.yy"9548 #line 2958 "parser.yy" 9537 9549 9538 9550 // ----end of grammar---- -
TabularUnified src/Parser/parser.yy ¶
rf923b5f rd3a804f5 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Mon Feb 6 16:00:29201713 // Update Count : 218 112 // Last Modified On : Thu Feb 9 15:00:03 2017 13 // Update Count : 2184 14 14 // 15 15 … … 2088 2088 declaration 2089 2089 | external_function_definition 2090 | asm_statement // GCC, global assembler statement 2091 {} 2090 | ASM '(' string_literal ')' ';' // GCC, global assembler statement 2091 { 2092 $$ = DeclarationNode::newAsmStmt( new StatementNode( build_asmstmt( false, $3, 0 ) ) ); 2093 } 2092 2094 | EXTERN STRINGliteral // C++-style linkage specifier 2093 2095 { -
TabularUnified src/SymTab/Validate.cc ¶
rf923b5f rd3a804f5 629 629 } else { 630 630 TypeDeclMap::const_iterator base = typedeclNames.find( typeInst->get_name() ); 631 assert ( base != typedeclNames.end() );631 assertf( base != typedeclNames.end(), "Can't find name %s", typeInst->get_name().c_str() ); 632 632 typeInst->set_baseType( base->second ); 633 633 } // if -
TabularUnified src/SynTree/Declaration.cc ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 18 23:49:57 201613 // Update Count : 1 312 // Last Modified On : Thu Feb 9 14:28:05 2017 13 // Update Count : 16 14 14 // 15 15 … … 66 66 67 67 68 AsmDecl::AsmDecl( AsmStmt *stmt ) : Declaration( "", DeclarationNode::NoStorageClass, LinkageSpec::C ), stmt( stmt ) { 69 } 70 71 AsmDecl::AsmDecl( const AsmDecl &other ) : Declaration( other ), stmt( maybeClone( other.stmt ) ) { 72 } 73 74 AsmDecl::~AsmDecl() { 75 delete stmt; 76 } 77 78 void AsmDecl::print( std::ostream &os, int indent ) const { 79 stmt->print( os, indent ); 80 } 81 82 void AsmDecl::printShort( std::ostream &os, int indent ) const { 83 stmt->print( os, indent ); 84 } 85 86 68 87 // Local Variables: // 69 88 // tab-width: 4 // -
TabularUnified src/SynTree/Declaration.h ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Fri Jan 20 15:07:29201713 // Update Count : 5 312 // Last Modified On : Thu Feb 9 14:27:08 2017 13 // Update Count : 56 14 14 // 15 15 … … 304 304 }; 305 305 306 class AsmDecl : public Declaration { 307 public: 308 AsmDecl( AsmStmt *stmt ); 309 AsmDecl( const AsmDecl &other ); 310 virtual ~AsmDecl(); 311 312 AsmStmt *get_stmt() { return stmt; } 313 void set_stmt( AsmStmt *newValue ) { stmt = newValue; } 314 315 virtual AsmDecl *clone() const { return new AsmDecl( *this ); } 316 virtual void accept( Visitor &v ) { v.visit( this ); } 317 virtual AsmDecl *acceptMutator( Mutator &m ) { return m.mutate( this ); } 318 virtual void print( std::ostream &os, int indent = 0 ) const; 319 virtual void printShort( std::ostream &os, int indent = 0 ) const; 320 private: 321 AsmStmt *stmt; 322 }; 323 306 324 std::ostream & operator<<( std::ostream & out, const Declaration * decl ); 307 325 std::ostream & operator<<( std::ostream & os, const TypeDecl::Data & data ); -
TabularUnified src/SynTree/Mutator.cc ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 4 11:23:21 201613 // Update Count : 1912 // Last Modified On : Thu Feb 9 14:22:56 2017 13 // Update Count : 20 14 14 // 15 15 … … 86 86 } 87 87 88 AsmDecl *Mutator::mutate( AsmDecl *asmDecl ) { 89 asmDecl->set_stmt( maybeMutate( asmDecl->get_stmt(), *this ) ); 90 return asmDecl; 91 } 92 93 88 94 CompoundStmt *Mutator::mutate( CompoundStmt *compoundStmt ) { 89 95 mutateAll( compoundStmt->get_kids(), *this ); … … 177 183 return impCtorDtorStmt; 178 184 } 185 179 186 180 187 Expression *Mutator::mutate( ApplicationExpr *applicationExpr ) { … … 433 440 } 434 441 442 435 443 Type *Mutator::mutate( VoidType *voidType ) { 436 444 mutateAll( voidType->get_forall(), *this ); … … 533 541 } 534 542 543 535 544 Initializer *Mutator::mutate( SingleInit *singleInit ) { 536 545 singleInit->set_value( singleInit->get_value()->acceptMutator( *this ) ); … … 551 560 } 552 561 562 553 563 Subrange *Mutator::mutate( Subrange *subrange ) { 554 564 return subrange; 555 565 } 566 556 567 557 568 Constant *Mutator::mutate( Constant *constant ) { -
TabularUnified src/SynTree/Mutator.h ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 3 16:59:45 201613 // Update Count : 1 212 // Last Modified On : Thu Feb 9 14:23:23 2017 13 // Update Count : 13 14 14 // 15 15 #include <cassert> … … 34 34 virtual TypeDecl* mutate( TypeDecl *typeDecl ); 35 35 virtual Declaration* mutate( TypedefDecl *typeDecl ); 36 virtual AsmDecl* mutate( AsmDecl *asmDecl ); 36 37 37 38 virtual CompoundStmt* mutate( CompoundStmt *compoundStmt ); -
TabularUnified src/SynTree/SynTree.h ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 3 17:02:34 201613 // Update Count : 712 // Last Modified On : Thu Feb 9 14:23:49 2017 13 // Update Count : 8 14 14 // 15 15 … … 36 36 class DtypeDecl; 37 37 class TypedefDecl; 38 class AsmDecl; 38 39 39 40 class Statement; -
TabularUnified src/SynTree/Visitor.cc ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 4 11:24:25 201613 // Update Count : 2 112 // Last Modified On : Thu Feb 9 14:19:22 2017 13 // Update Count : 22 14 14 // 15 15 … … 74 74 } 75 75 76 void Visitor::visit( AsmDecl *asmDecl ) { 77 maybeAccept( asmDecl->get_stmt(), *this ); 78 } 79 80 76 81 void Visitor::visit( CompoundStmt *compoundStmt ) { 77 82 acceptAll( compoundStmt->get_kids(), *this ); … … 148 153 maybeAccept( impCtorDtorStmt->get_callStmt(), *this ); 149 154 } 155 150 156 151 157 void Visitor::visit( ApplicationExpr *applicationExpr ) { … … 338 344 maybeAccept( uniqueExpr->get_expr(), *this ); 339 345 } 346 340 347 341 348 void Visitor::visit( VoidType *voidType ) { … … 422 429 } 423 430 431 424 432 void Visitor::visit( SingleInit *singleInit ) { 425 433 singleInit->get_value()->accept( *this ); … … 437 445 } 438 446 447 439 448 void Visitor::visit( Subrange *subrange ) {} 449 440 450 441 451 void Visitor::visit( Constant *constant ) {} -
TabularUnified src/SynTree/Visitor.h ¶
rf923b5f rd3a804f5 10 10 // Created On : Mon May 18 07:44:20 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Wed Aug 3 17:01:50 201613 // Update Count : 912 // Last Modified On : Thu Feb 9 14:23:24 2017 13 // Update Count : 10 14 14 // 15 15 … … 34 34 virtual void visit( TypeDecl *typeDecl ); 35 35 virtual void visit( TypedefDecl *typeDecl ); 36 virtual void visit( AsmDecl *asmDecl ); 36 37 37 38 virtual void visit( CompoundStmt *compoundStmt ); -
TabularUnified src/libcfa/concurrency/coroutines ¶
rf923b5f rd3a804f5 36 36 void ?{}(coStack_t * this); 37 37 void ?{}(coroutine * this); 38 void ?{}(coroutine * this, const char * name); 38 39 void ^?{}(coStack_t * this); 39 40 void ^?{}(coroutine * this); … … 76 77 "Possible cause is a suspend executed in a member called by a coroutine user rather than by the coroutine main.", 77 78 src->name, src ); 78 assertf( src->last-> notHalted,79 assertf( src->last->state != Halted, 79 80 "Attempt by coroutine \"%.256s\" (%p) to suspend back to terminated coroutine \"%.256s\" (%p).\n" 80 81 "Possible cause is terminated coroutine's main routine has already returned.", … … 97 98 // not resuming self ? 98 99 if ( src != dst ) { 99 assertf( dst-> notHalted ,100 assertf( dst->state != Halted , 100 101 "Attempt by coroutine %.256s (%p) to resume terminated coroutine %.256s (%p).\n" 101 102 "Possible cause is terminated coroutine's main routine has already returned.", … … 115 116 // not resuming self ? 116 117 if ( src != dst ) { 117 assertf( dst-> notHalted ,118 assertf( dst->state != Halted , 118 119 "Attempt by coroutine %.256s (%p) to resume terminated coroutine %.256s (%p).\n" 119 120 "Possible cause is terminated coroutine's main routine has already returned.", -
TabularUnified src/libcfa/concurrency/coroutines.c ¶
rf923b5f rd3a804f5 61 61 62 62 void ?{}(coroutine* this) { 63 this->name = "Anonymous Coroutine"; 63 this{ "Anonymous Coroutine" }; 64 } 65 66 void ?{}(coroutine* this, const char * name) { 67 this->name = name; 64 68 this->errno_ = 0; 65 69 this->state = Start; 66 this->notHalted = true;67 70 this->starter = NULL; 68 71 this->last = NULL; -
TabularUnified src/libcfa/concurrency/invoke.c ¶
rf923b5f rd3a804f5 48 48 main( this ); 49 49 50 cor->state = Halt; 51 cor->notHalted = false; 50 cor->state = Halted; 52 51 53 52 //Final suspend, should never return -
TabularUnified src/libcfa/concurrency/invoke.h ¶
rf923b5f rd3a804f5 30 30 #define SCHEDULER_CAPACITY 10 31 31 32 struct spinlock { 33 volatile int lock; 34 }; 35 32 36 struct simple_thread_list { 33 37 struct thread * head; 34 38 struct thread ** tail; 39 }; 40 41 struct signal_once { 42 volatile bool condition; 43 struct spinlock lock; 44 struct simple_thread_list blocked; 35 45 }; 36 46 … … 40 50 void append( struct simple_thread_list *, struct thread * ); 41 51 struct thread * pop_head( struct simple_thread_list * ); 52 53 void ?{}(spinlock * this); 54 void ^?{}(spinlock * this); 55 56 void ?{}(signal_once * this); 57 void ^?{}(signal_once * this); 42 58 } 43 59 #endif … … 53 69 }; 54 70 55 enum coroutine_state { Start, Inactive, Active, Halt, Primed };71 enum coroutine_state { Halted, Start, Inactive, Active, Primed }; 56 72 57 73 struct coroutine { … … 60 76 int errno_; // copy of global UNIX variable errno 61 77 enum coroutine_state state; // current execution status for coroutine 62 bool notHalted; // indicate if execuation state is not halted63 64 78 struct coroutine *starter; // first coroutine to resume this one 65 79 struct coroutine *last; // last coroutine to resume this one 66 80 }; 67 81 68 struct simple_lock {69 struct simple_thread_list blocked;70 };71 72 82 struct thread { 73 struct coroutine c; 74 struct si mple_lock lock;75 struct thread * next; 83 struct coroutine c; // coroutine body used to store context 84 struct signal_once terminated;// indicate if execuation state is not halted 85 struct thread * next; // instrusive link field for threads 76 86 }; 77 87 -
TabularUnified src/libcfa/concurrency/kernel ¶
rf923b5f rd3a804f5 9 9 // 10 10 // Author : Thierry Delisle 11 // Created On : Tue Jan 17 12:27:26 201 611 // Created On : Tue Jan 17 12:27:26 2017 12 12 // Last Modified By : Thierry Delisle 13 13 // Last Modified On : -- … … 27 27 28 28 //----------------------------------------------------------------------------- 29 // Locks 30 void lock( spinlock * ); 31 void unlock( spinlock * ); 32 33 void wait( signal_once * ); 34 void signal( signal_once * ); 35 36 //----------------------------------------------------------------------------- 29 37 // Cluster 30 38 struct cluster { 31 39 simple_thread_list ready_queue; 32 pthread_spinlock_tlock;40 spinlock lock; 33 41 }; 34 42 … … 38 46 //----------------------------------------------------------------------------- 39 47 // Processor 48 enum FinishOpCode { No_Action, Release, Schedule, Release_Schedule }; 49 struct FinishAction { 50 FinishOpCode action_code; 51 thread * thrd; 52 spinlock * lock; 53 }; 54 static inline void ?{}(FinishAction * this) { 55 this->action_code = No_Action; 56 this->thrd = NULL; 57 this->lock = NULL; 58 } 59 static inline void ^?{}(FinishAction * this) {} 60 40 61 struct processor { 41 struct processorCtx_t * ctx;62 struct processorCtx_t * runner; 42 63 cluster * cltr; 43 64 coroutine * current_coroutine; 44 65 thread * current_thread; 45 66 pthread_t kernel_thread; 46 simple_lock lock; 47 volatile bool terminated; 67 68 signal_once terminated; 69 volatile bool is_terminated; 70 71 struct FinishAction finish; 48 72 }; 49 73 … … 51 75 void ?{}(processor * this, cluster * cltr); 52 76 void ^?{}(processor * this); 53 54 55 //-----------------------------------------------------------------------------56 // Locks57 58 void ?{}(simple_lock * this);59 void ^?{}(simple_lock * this);60 61 void lock( simple_lock * );62 void unlock( simple_lock * );63 64 struct pthread_spinlock_guard {65 pthread_spinlock_t * lock;66 };67 68 static inline void ?{}( pthread_spinlock_guard * this, pthread_spinlock_t * lock ) {69 this->lock = lock;70 pthread_spin_lock( this->lock );71 }72 73 static inline void ^?{}( pthread_spinlock_guard * this ) {74 pthread_spin_unlock( this->lock );75 }76 77 // //Simple spinlock implementation from78 // //http://stackoverflow.com/questions/1383363/is-my-spin-lock-implementation-correct-and-optimal79 // //Not optimal but correct80 // #define VOL81 82 // struct simple_spinlock {83 // VOL int lock;84 // };85 86 // extern VOL int __sync_lock_test_and_set( VOL int *, VOL int);87 // extern void __sync_synchronize();88 89 // static inline void lock( simple_spinlock * this ) {90 // while (__sync_lock_test_and_set(&this->lock, 1)) {91 // // Do nothing. This GCC builtin instruction92 // // ensures memory barrier.93 // }94 // }95 96 // static inline void unlock( simple_spinlock * this ) {97 // __sync_synchronize(); // Memory barrier.98 // this->lock = 0;99 // }100 77 101 78 #endif //KERNEL_H -
TabularUnified src/libcfa/concurrency/kernel.c ¶
rf923b5f rd3a804f5 9 9 // 10 10 // Author : Thierry Delisle 11 // Created On : Tue Jan 17 12:27:26 201 611 // Created On : Tue Jan 17 12:27:26 2017 12 12 // Last Modified By : Thierry Delisle 13 13 // Last Modified On : -- … … 20 20 21 21 //Header 22 #include "kernel "22 #include "kernel_private.h" 23 23 24 24 //C Includes 25 25 #include <stddef.h> 26 26 extern "C" { 27 #include <fenv.h> 27 28 #include <sys/resource.h> 28 29 } … … 30 31 //CFA Includes 31 32 #include "libhdr.h" 32 #include "threads"33 33 34 34 //Private includes … … 38 38 //----------------------------------------------------------------------------- 39 39 // Kernel storage 40 struct processorCtx_t {41 processor * proc;42 coroutine c;43 };44 45 DECL_COROUTINE(processorCtx_t);46 47 40 #define KERNEL_STORAGE(T,X) static char X##_storage[sizeof(T)] 48 41 … … 92 85 93 86 rlimit r; 94 int ret =getrlimit( RLIMIT_STACK, &r);87 getrlimit( RLIMIT_STACK, &r); 95 88 this->size = r.rlim_cur; 96 89 … … 114 107 this->name = "Main Thread"; 115 108 this->errno_ = 0; 116 this->state = Inactive; 117 this->notHalted = true; 109 this->state = Start; 118 110 } 119 111 … … 127 119 (&this->c){}; 128 120 this->proc = proc; 129 proc-> ctx= this;121 proc->runner = this; 130 122 } 131 123 … … 133 125 (&this->c){ info }; 134 126 this->proc = proc; 135 proc->ctx = this; 136 } 137 138 void start(processor * this); 127 proc->runner = this; 128 } 139 129 140 130 void ?{}(processor * this) { … … 146 136 this->current_coroutine = NULL; 147 137 this->current_thread = NULL; 148 (&this-> lock){};149 this-> terminated = false;138 (&this->terminated){}; 139 this->is_terminated = false; 150 140 151 141 start( this ); 152 142 } 153 143 154 void ?{}(processor * this, cluster * cltr, processorCtx_t * ctx) {144 void ?{}(processor * this, cluster * cltr, processorCtx_t * runner) { 155 145 this->cltr = cltr; 156 146 this->current_coroutine = NULL; 157 147 this->current_thread = NULL; 158 (&this-> lock){};159 this-> terminated = false;160 161 this-> ctx = ctx;162 LIB_DEBUG_PRINTF("Kernel : constructing processor context %p\n", ctx);163 ctx{ this };148 (&this->terminated){}; 149 this->is_terminated = false; 150 151 this->runner = runner; 152 LIB_DEBUG_PRINTF("Kernel : constructing processor context %p\n", runner); 153 runner{ this }; 164 154 } 165 155 166 156 void ^?{}(processor * this) { 167 if( ! this-> terminated ) {157 if( ! this->is_terminated ) { 168 158 LIB_DEBUG_PRINTF("Kernel : core %p signaling termination\n", this); 169 this-> terminated = true;170 lock( &this->lock);159 this->is_terminated = true; 160 wait( &this->terminated ); 171 161 } 172 162 } … … 174 164 void ?{}(cluster * this) { 175 165 ( &this->ready_queue ){}; 176 pthread_spin_init( &this->lock, PTHREAD_PROCESS_PRIVATE );166 ( &this->lock ){}; 177 167 } 178 168 179 169 void ^?{}(cluster * this) { 180 pthread_spin_destroy( &this->lock ); 181 } 182 183 //----------------------------------------------------------------------------- 184 // Processor running routines 185 void main(processorCtx_t * ctx); 186 thread * nextThread(cluster * this); 187 void scheduleInternal(processor * this, thread * dst); 188 void spin(processor * this, unsigned int * spin_count); 189 190 void main(processorCtx_t * ctx) { 191 processor * this = ctx->proc; 170 171 } 172 173 //============================================================================================= 174 // Kernel Scheduling logic 175 //============================================================================================= 176 //Main of the processor contexts 177 void main(processorCtx_t * runner) { 178 processor * this = runner->proc; 192 179 LIB_DEBUG_PRINTF("Kernel : core %p starting\n", this); 193 180 194 181 thread * readyThread = NULL; 195 for( unsigned int spin_count = 0; ! this-> terminated; spin_count++ ) {196 182 for( unsigned int spin_count = 0; ! this->is_terminated; spin_count++ ) 183 { 197 184 readyThread = nextThread( this->cltr ); 198 185 199 if(readyThread) { 200 scheduleInternal(this, readyThread); 186 if(readyThread) 187 { 188 runThread(this, readyThread); 189 190 //Some actions need to be taken from the kernel 191 finishRunning(this); 192 201 193 spin_count = 0; 202 } else { 194 } 195 else 196 { 203 197 spin(this, &spin_count); 204 198 } … … 206 200 207 201 LIB_DEBUG_PRINTF("Kernel : core %p unlocking thread\n", this); 208 unlock( &this->lock);202 signal( &this->terminated ); 209 203 LIB_DEBUG_PRINTF("Kernel : core %p terminated\n", this); 210 204 } 211 205 212 //Declarations for scheduleInternal 213 extern void ThreadCtxSwitch(coroutine * src, coroutine * dst); 214 215 // scheduleInternal runs a thread by context switching 206 // runThread runs a thread by context switching 216 207 // from the processor coroutine to the target thread 217 void scheduleInternal(processor * this, thread * dst) { 218 // coroutine * proc_ctx = get_coroutine(this->ctx); 219 // coroutine * thrd_ctx = get_coroutine(dst); 220 221 // //Update global state 222 // this->current_thread = dst; 223 224 // // Context Switch to the thread 225 // ThreadCtxSwitch(proc_ctx, thrd_ctx); 226 // // when ThreadCtxSwitch returns we are back in the processor coroutine 227 228 coroutine * proc_ctx = get_coroutine(this->ctx); 229 coroutine * thrd_ctx = get_coroutine(dst); 230 thrd_ctx->last = proc_ctx; 231 232 // context switch to specified coroutine 233 // Which is now the current_coroutine 234 LIB_DEBUG_PRINTF("Kernel : switching to ctx %p (from %p, current %p)\n", thrd_ctx, proc_ctx, this->current_coroutine); 235 this->current_thread = dst; 236 this->current_coroutine = thrd_ctx; 237 CtxSwitch( proc_ctx->stack.context, thrd_ctx->stack.context ); 238 this->current_coroutine = proc_ctx; 239 LIB_DEBUG_PRINTF("Kernel : returned from ctx %p (to %p, current %p)\n", thrd_ctx, proc_ctx, this->current_coroutine); 240 241 // when CtxSwitch returns we are back in the processor coroutine 208 void runThread(processor * this, thread * dst) { 209 coroutine * proc_cor = get_coroutine(this->runner); 210 coroutine * thrd_cor = get_coroutine(dst); 211 212 //Reset the terminating actions here 213 this->finish.action_code = No_Action; 214 215 //Update global state 216 this->current_thread = dst; 217 218 // Context Switch to the thread 219 ThreadCtxSwitch(proc_cor, thrd_cor); 220 // when ThreadCtxSwitch returns we are back in the processor coroutine 221 } 222 223 // Once a thread has finished running, some of 224 // its final actions must be executed from the kernel 225 void finishRunning(processor * this) { 226 if( this->finish.action_code == Release ) { 227 unlock( this->finish.lock ); 228 } 229 else if( this->finish.action_code == Schedule ) { 230 ScheduleThread( this->finish.thrd ); 231 } 232 else if( this->finish.action_code == Release_Schedule ) { 233 unlock( this->finish.lock ); 234 ScheduleThread( this->finish.thrd ); 235 } 236 else { 237 assert(this->finish.action_code == No_Action); 238 } 242 239 } 243 240 … … 262 259 processorCtx_t proc_cor_storage = { proc, &info }; 263 260 261 LIB_DEBUG_PRINTF("Coroutine : created stack %p\n", proc_cor_storage.c.stack.base); 262 264 263 //Set global state 265 proc->current_coroutine = &proc-> ctx->c;264 proc->current_coroutine = &proc->runner->c; 266 265 proc->current_thread = NULL; 267 266 268 267 //We now have a proper context from which to schedule threads 269 LIB_DEBUG_PRINTF("Kernel : core %p created (%p )\n", proc, proc->ctx);268 LIB_DEBUG_PRINTF("Kernel : core %p created (%p, %p)\n", proc, proc->runner, &ctx); 270 269 271 270 // SKULLDUGGERY: Since the coroutine doesn't have its own stack, we can't … … 275 274 proc_cor_storage.c.state = Active; 276 275 main( &proc_cor_storage ); 277 proc_cor_storage.c.state = Halt; 278 proc_cor_storage.c.notHalted = false; 276 proc_cor_storage.c.state = Halted; 279 277 280 278 // Main routine of the core returned, the core is now fully terminated 281 LIB_DEBUG_PRINTF("Kernel : core %p main ended (%p)\n", proc, proc-> ctx);279 LIB_DEBUG_PRINTF("Kernel : core %p main ended (%p)\n", proc, proc->runner); 282 280 283 281 return NULL; … … 287 285 LIB_DEBUG_PRINTF("Kernel : Starting core %p\n", this); 288 286 289 pthread_attr_t attributes;290 pthread_attr_init( &attributes );291 292 pthread_create( &this->kernel_thread, &attributes, CtxInvokeProcessor, (void*)this );293 294 pthread_attr_destroy( &attributes );287 // pthread_attr_t attributes; 288 // pthread_attr_init( &attributes ); 289 290 pthread_create( &this->kernel_thread, NULL, CtxInvokeProcessor, (void*)this ); 291 292 // pthread_attr_destroy( &attributes ); 295 293 296 294 LIB_DEBUG_PRINTF("Kernel : core %p started\n", this); … … 299 297 //----------------------------------------------------------------------------- 300 298 // Scheduler routines 301 void thread_schedule( thread * thrd ) {299 void ScheduleThread( thread * thrd ) { 302 300 assertf( thrd->next == NULL, "Expected null got %p", thrd->next ); 303 301 304 pthread_spinlock_guard guard = { &systemProcessor->cltr->lock };302 lock( &systemProcessor->cltr->lock ); 305 303 append( &systemProcessor->cltr->ready_queue, thrd ); 304 unlock( &systemProcessor->cltr->lock ); 306 305 } 307 306 308 307 thread * nextThread(cluster * this) { 309 pthread_spinlock_guard guard = { &this->lock }; 310 return pop_head( &this->ready_queue ); 308 lock( &this->lock ); 309 thread * head = pop_head( &this->ready_queue ); 310 unlock( &this->lock ); 311 return head; 312 } 313 314 void ScheduleInternal() { 315 suspend(); 316 } 317 318 void ScheduleInternal( spinlock * lock ) { 319 get_this_processor()->finish.action_code = Release; 320 get_this_processor()->finish.lock = lock; 321 suspend(); 322 } 323 324 void ScheduleInternal( thread * thrd ) { 325 get_this_processor()->finish.action_code = Schedule; 326 get_this_processor()->finish.thrd = thrd; 327 suspend(); 328 } 329 330 void ScheduleInternal( spinlock * lock, thread * thrd ) { 331 get_this_processor()->finish.action_code = Release_Schedule; 332 get_this_processor()->finish.lock = lock; 333 get_this_processor()->finish.thrd = thrd; 334 suspend(); 311 335 } 312 336 … … 314 338 // Kernel boot procedures 315 339 void kernel_startup(void) { 316 340 LIB_DEBUG_PRINTF("Kernel : Starting\n"); 341 342 // Start by initializing the main thread 317 343 // SKULLDUGGERY: the mainThread steals the process main thread 318 344 // which will then be scheduled by the systemProcessor normally 319 LIB_DEBUG_PRINTF("Kernel : Starting\n"); 320 345 mainThread = (thread *)&mainThread_storage; 321 346 current_stack_info_t info; 322 323 // LIB_DEBUG_PRINTF("Kernel : core base : %p \n", info.base );324 // LIB_DEBUG_PRINTF("Kernel : core storage : %p \n", info.storage );325 // LIB_DEBUG_PRINTF("Kernel : core size : %x \n", info.size );326 // LIB_DEBUG_PRINTF("Kernel : core limit : %p \n", info.limit );327 // LIB_DEBUG_PRINTF("Kernel : core context : %p \n", info.context );328 // LIB_DEBUG_PRINTF("Kernel : core top : %p \n", info.top );329 330 // Start by initializing the main thread331 mainThread = (thread *)&mainThread_storage;332 347 mainThread{ &info }; 333 348 … … 343 358 // Add the main thread to the ready queue 344 359 // once resume is called on systemProcessor->ctx the mainThread needs to be scheduled like any normal thread 345 thread_schedule(mainThread);360 ScheduleThread(mainThread); 346 361 347 362 //initialize the global state variables … … 353 368 // context. Hence, the main thread does not begin through CtxInvokeThread, like all other threads. The trick here is that 354 369 // mainThread is on the ready queue when this call is made. 355 resume(systemProcessor-> ctx);370 resume(systemProcessor->runner); 356 371 357 372 358 373 359 374 // THE SYSTEM IS NOW COMPLETELY RUNNING 360 361 362 363 375 LIB_DEBUG_PRINTF("Kernel : Started\n--------------------------------------------------\n\n"); 364 376 } … … 370 382 // When its coroutine terminates, it return control to the mainThread 371 383 // which is currently here 372 systemProcessor-> terminated = true;384 systemProcessor->is_terminated = true; 373 385 suspend(); 374 386 … … 377 389 // Destroy the system processor and its context in reverse order of construction 378 390 // These were manually constructed so we need manually destroy them 379 ^(systemProcessor-> ctx){};391 ^(systemProcessor->runner){}; 380 392 ^(systemProcessor){}; 381 393 … … 389 401 //----------------------------------------------------------------------------- 390 402 // Locks 391 void ?{}( simple_lock * this ) { 392 ( &this->blocked ){}; 393 } 394 395 void ^?{}( simple_lock * this ) { 396 397 } 398 399 void lock( simple_lock * this ) { 403 void ?{}( spinlock * this ) { 404 this->lock = 0; 405 } 406 void ^?{}( spinlock * this ) { 407 408 } 409 410 void lock( spinlock * this ) { 411 for ( unsigned int i = 1;; i += 1 ) { 412 if ( this->lock == 0 && __sync_lock_test_and_set_4( &this->lock, 1 ) == 0 ) break; 413 } 414 } 415 416 void unlock( spinlock * this ) { 417 __sync_lock_release_4( &this->lock ); 418 } 419 420 void ?{}( signal_once * this ) { 421 this->condition = false; 422 } 423 void ^?{}( signal_once * this ) { 424 425 } 426 427 void wait( signal_once * this ) { 428 lock( &this->lock ); 429 if( !this->condition ) { 430 append( &this->blocked, this_thread() ); 431 ScheduleInternal( &this->lock ); 432 lock( &this->lock ); 433 } 434 unlock( &this->lock ); 435 } 436 437 void signal( signal_once * this ) { 438 lock( &this->lock ); 400 439 { 401 pthread_spinlock_guard guard = { &systemCluster->lock }; //HUGE TEMP HACK which only works if we have a single cluster and is stupid 402 append( &this->blocked, this_thread() ); 403 } 404 suspend(); 405 } 406 407 void unlock( simple_lock * this ) { 408 thread * it; 409 while( it = pop_head( &this->blocked) ) { 410 thread_schedule( it ); 411 } 440 this->condition = true; 441 442 thread * it; 443 while( it = pop_head( &this->blocked) ) { 444 ScheduleThread( it ); 445 } 446 } 447 unlock( &this->lock ); 412 448 } 413 449 -
TabularUnified src/libcfa/concurrency/threads.c ¶
rf923b5f rd3a804f5 17 17 #include "threads" 18 18 19 #include "kernel "19 #include "kernel_private.h" 20 20 #include "libhdr.h" 21 21 … … 24 24 25 25 extern "C" { 26 #include <fenv.h> 26 27 #include <stddef.h> 27 28 } … … 43 44 (&this->c){}; 44 45 this->c.name = "Anonymous Coroutine"; 45 (&this-> lock){};46 (&this->terminated){}; 46 47 this->next = NULL; 47 48 } … … 71 72 //----------------------------------------------------------------------------- 72 73 // Starting and stopping threads 73 extern "C" {74 forall(dtype T | is_thread(T))75 void CtxInvokeThread(T * this);76 }77 78 extern void thread_schedule( thread * );79 80 74 forall( dtype T | is_thread(T) ) 81 75 void start( T* this ) { … … 91 85 CtxSwitch( thrd_c->last->stack.context, thrd_c->stack.context ); 92 86 93 LIB_DEBUG_PRINTF("Thread started : %p (t %p, c %p)\n", this, thrd_c, thrd_h); 94 95 thread_schedule(thrd_h); 87 ScheduleThread(thrd_h); 96 88 } 97 89 98 90 forall( dtype T | is_thread(T) ) 99 91 void stop( T* this ) { 100 thread* thrd = get_thread(this); 101 if( thrd->c.notHalted ) { 102 lock( &thrd->lock ); 103 } 92 wait( & get_thread(this)->terminated ); 104 93 } 105 94 106 95 void yield( void ) { 107 thread_schedule( this_thread() ); 108 suspend(); 96 ScheduleInternal( get_this_processor()->current_thread ); 109 97 } 110 98 111 99 void ThreadCtxSwitch(coroutine* src, coroutine* dst) { 100 // set state of current coroutine to inactive 101 src->state = Inactive; 102 dst->state = Active; 103 104 //update the last resumer 112 105 dst->last = src; 113 106 114 // set state of current coroutine to inactive 115 src->state = Inactive; 116 117 // set new coroutine that task is executing 107 // set new coroutine that the processor is executing 108 // and context switch to it 118 109 get_this_processor()->current_coroutine = dst; 119 120 // context switch to specified coroutine121 110 CtxSwitch( src->stack.context, dst->stack.context ); 122 // when CtxSwitch returns we are back in the src coroutine111 get_this_processor()->current_coroutine = src; 123 112 124 113 // set state of new coroutine to active 114 dst->state = Inactive; 125 115 src->state = Active; 126 116 } … … 130 120 extern "C" { 131 121 void __thread_signal_termination( thread * this ) { 132 this->c.state = Halt ;133 this->c.notHalted = false;134 unlock( &this->lock );122 this->c.state = Halted; 123 LIB_DEBUG_PRINTF("Thread end : %p\n", this); 124 signal( &this->terminated ); 135 125 } 136 126 } -
TabularUnified src/tests/thread.c ¶
rf923b5f rd3a804f5 4 4 #include <threads> 5 5 6 struct First { thread t; si mple_lock* lock; };7 struct Second { thread t; si mple_lock* lock; };6 struct First { thread t; signal_once* lock; }; 7 struct Second { thread t; signal_once* lock; }; 8 8 9 9 DECL_THREAD(First); 10 10 DECL_THREAD(Second); 11 11 12 void ?{}( First * this, si mple_lock* lock ) { this->lock = lock; }13 void ?{}( Second * this, si mple_lock* lock ) { this->lock = lock; }12 void ?{}( First * this, signal_once* lock ) { this->lock = lock; } 13 void ?{}( Second * this, signal_once* lock ) { this->lock = lock; } 14 14 15 15 void main(First* this) { … … 18 18 yield(); 19 19 } 20 unlock(this->lock);20 signal(this->lock); 21 21 } 22 22 23 23 void main(Second* this) { 24 lock(this->lock);24 wait(this->lock); 25 25 for(int i = 0; i < 10; i++) { 26 26 sout | "Second : Suspend No." | i + 1 | endl; … … 31 31 32 32 int main(int argc, char* argv[]) { 33 si mple_locklock;33 signal_once lock; 34 34 sout | "User main begin" | endl; 35 35 { 36 //processor p;36 processor p; 37 37 { 38 38 scoped(First) f = { &lock };
Note: See TracChangeset
for help on using the changeset viewer.