1
0
Files
irix-657m-src/eoe/cmd/sss/ssdb/ssdbserver/sql/sql_yacc.cc
2022-09-29 17:59:04 +03:00

8392 lines
388 KiB
C++
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* A Bison parser, made from sql_yacc.yy
by GNU Bison version 1.25
*/
#define YYBISON 1 /* Identify Bison output. */
#define END_OF_INPUT 258
#define EQ 259
#define GE 260
#define GT_SYM 261
#define LE 262
#define LT 263
#define NE 264
#define IS 265
#define SHIFT_LEFT 266
#define SHIFT_RIGHT 267
#define AVG_SUM 268
#define COUNT_SUM 269
#define MAX_SUM 270
#define MIN_SUM 271
#define SUM_SUM 272
#define STD_SUM 273
#define ADD 274
#define ALTER 275
#define AFTER_SYM 276
#define CHANGE 277
#define CREATE 278
#define CROSS 279
#define DELETE_SYM 280
#define DROP 281
#define INSERT 282
#define FLUSH_SYM 283
#define SELECT_SYM 284
#define OPTIMIZE 285
#define SHOW 286
#define UPDATE_SYM 287
#define KILL_SYM 288
#define LOAD 289
#define LOCK_SYM 290
#define UNLOCK_SYM 291
#define ACTION 292
#define ALL 293
#define AS 294
#define DISTINCT 295
#define STRAIGHT_JOIN 296
#define AND 297
#define ASC 298
#define BIT_SYM 299
#define BOTH 300
#define BOOL_SYM 301
#define BY 302
#define CASCADE 303
#define CONSTRAINT 304
#define CHECK_SYM 305
#define DATA_SYM 306
#define DATABASES 307
#define DEFAULT 308
#define DESC 309
#define DESCRIBE 310
#define COLUMN_SYM 311
#define COLUMNS 312
#define ENCLOSED 313
#define ESCAPED 314
#define ESCAPE_SYM 315
#define EXISTS 316
#define FOREIGN 317
#define HEAP_SYM 318
#define ISAM_SYM 319
#define GET_LOCK 320
#define KEYS 321
#define FIND_IN_SET 322
#define FIRST_SYM 323
#define FULL 324
#define FROM 325
#define GRANT 326
#define GLOBAL_SYM 327
#define GREATEST_SYM 328
#define GROUP 329
#define HOSTS_SYM 330
#define IGNORE_SYM 331
#define INDEX 332
#define INFILE 333
#define INTO 334
#define IN_SYM 335
#define IF 336
#define JOIN_SYM 337
#define LEADING 338
#define LEAST_SYM 339
#define LOCAL_SYM 340
#define LONG_SYM 341
#define LOGS_SYM 342
#define LIKE 343
#define LINES 344
#define MYISAM_SYM 345
#define PARTIAL 346
#define PRIVILEGES 347
#define READ_SYM 348
#define RELEASE_LOCK 349
#define REGEXP 350
#define RENAME 351
#define RESTRICT 352
#define REFERENCES 353
#define LOW_PRIORITY 354
#define HIGH_PRIORITY 355
#define MATCH 356
#define NATURAL 357
#define NO_SYM 358
#define NOT 359
#define NULL_SYM 360
#define ON 361
#define OPTION 362
#define OPTIONALLY 363
#define OR 364
#define ORDER_SYM 365
#define OUTER 366
#define OUTFILE 367
#define PROCESSLIST_SYM 368
#define ROW_SYM 369
#define ROWS_SYM 370
#define HAVING 371
#define SET 372
#define STARTING 373
#define STATUS_SYM 374
#define USING 375
#define TABLES 376
#define TABLE_SYM 377
#define TERMINATED 378
#define TRAILING 379
#define TO_SYM 380
#define TYPE_SYM 381
#define VALUES 382
#define VARIABLES 383
#define UDF_SYM 384
#define UDF_RETURNS_SYM 385
#define UDF_SONAME_SYM 386
#define USAGE 387
#define USE_SYM 388
#define WITH 389
#define WRITE_SYM 390
#define WHERE 391
#define REVOKE 392
#define RELOAD 393
#define SHUTDOWN 394
#define FILE_SYM 395
#define PROCESS 396
#define KEY_SYM 397
#define PRIMARY_SYM 398
#define UNIQUE_SYM 399
#define AUTO_INC 400
#define BINARY 401
#define IDENT 402
#define NUM 403
#define LONG_NUM 404
#define REAL_NUM 405
#define TEXT_STRING 406
#define HEX_NUM 407
#define LEX_HOSTNAME 408
#define CHAR_SYM 409
#define VARYING 410
#define VARBINARY 411
#define INT_SYM 412
#define REAL 413
#define SMALLINT 414
#define BIGINT 415
#define VARCHAR 416
#define BLOB_SYM 417
#define TEXT_SYM 418
#define TINYBLOB 419
#define TINYTEXT 420
#define MEDIUMBLOB 421
#define MEDIUMTEXT 422
#define LONGBLOB 423
#define LONGTEXT 424
#define TIMESTAMP 425
#define DATETIME 426
#define DATE_SYM 427
#define TIME_SYM 428
#define TINYINT 429
#define MEDIUMINT 430
#define FLOAT_SYM 431
#define DOUBLE_SYM 432
#define DECIMAL_SYM 433
#define NUMERIC_SYM 434
#define ENUM 435
#define ZEROFILL 436
#define UNSIGNED 437
#define PRECISION 438
#define LIMIT 439
#define STRING_SYM 440
#define ABS 441
#define ACOS 442
#define ASCII 443
#define ASIN 444
#define ATAN 445
#define BETWEEN_SYM 446
#define BIN 447
#define BIT_AND 448
#define BIT_COUNT 449
#define BIT_OR 450
#define CEILING 451
#define CONCAT 452
#define CONV 453
#define COS 454
#define COT 455
#define CURDATE 456
#define CURTIME 457
#define DATABASE 458
#define DATE_FORMAT_SYM 459
#define DATE_ADD_INTERVAL 460
#define DATE_SUB_INTERVAL 461
#define DAYNAME 462
#define DEGREES 463
#define YEAR_SYM 464
#define MONTH_SYM 465
#define MONTH_NAME_SYM 466
#define DAY_SYM 467
#define HOUR_SYM 468
#define MINUTE_SYM 469
#define SECOND_SYM 470
#define YEAR_MONTH_SYM 471
#define DAY_HOUR_SYM 472
#define DAY_MINUTE_SYM 473
#define DAY_SECOND_SYM 474
#define DAY_OF_WEEK 475
#define DAY_OF_MONTH 476
#define DAY_OF_YEAR 477
#define DECODE_SYM 478
#define HOUR_MINUTE_SYM 479
#define HOUR_SECOND_SYM 480
#define MINUTE_SECOND_SYM 481
#define ELT_FUNC 482
#define ENCODE_SYM 483
#define ENCRYPT 484
#define EXP 485
#define FIELD_FUNC 486
#define FLOOR 487
#define FOR_SYM 488
#define FORMAT 489
#define FROM_DAYS 490
#define FROM_UNIXTIME 491
#define GROUP_UNIQUE_USERS 492
#define HEX 493
#define IDENTIFIED_SYM 494
#define IFNULL 495
#define INSERT_ID 496
#define INSTR 497
#define INTERVAL_SYM 498
#define ISNULL 499
#define LAST_INSERT_ID 500
#define LCASE 501
#define LEFT 502
#define LENGTH 503
#define LOCATE 504
#define LOG 505
#define LOG10 506
#define LPAD 507
#define LTRIM 508
#define MAKE_SET_SYM 509
#define MOD_SYM 510
#define NOW_SYM 511
#define OCT 512
#define PASSWORD 513
#define PERIOD_ADD 514
#define PERIOD_DIFF 515
#define PI_SYM 516
#define POSITION_SYM 517
#define POW 518
#define PROCEDURE 519
#define QUARTER 520
#define RAND 521
#define RADIANS 522
#define REPEAT 523
#define REPLACE 524
#define REVERSE 525
#define RIGHT 526
#define ROUND 527
#define RPAD 528
#define RTRIM 529
#define SEC_TO_TIME 530
#define SIGN 531
#define SIN 532
#define SOUNDEX 533
#define SPACE 534
#define SQRT 535
#define STRCMP 536
#define SUBSTRING 537
#define SUBSTRING_INDEX 538
#define TAN 539
#define TIME_TO_SEC 540
#define TIME_FORMAT_SYM 541
#define TO_DAYS 542
#define TRIM 543
#define TRUNCATE 544
#define UCASE 545
#define UNIQUE_USERS 546
#define UNIX_TIMESTAMP 547
#define USER 548
#define VERSION_SYM 549
#define WEEK_SYM 550
#define WEEKDAY 551
#define UDF_CHAR_FUNC 552
#define UDF_FLOAT_FUNC 553
#define UDF_INT_FUNC 554
#define SQL_BIG_TABLES 555
#define SQL_BIG_SELECTS 556
#define SQL_SELECT_LIMIT 557
#define SQL_LOG_OFF 558
#define SQL_LOG_UPDATE 559
#define SQL_LOW_PRIORITY_UPDATES 560
#define SQL_SMALL_RESULT 561
#define SQL_WARNINGS 562
#define NEG 563
#line 17 "sql_yacc.yy"
#define MYSQL_YACC
#define YYINITDEPTH 100
#define YYMAXDEPTH 3200 /* Because of 64K stack */
#define Lex current_lex
#include "mysql_priv.h"
#include "sql_acl.h"
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
extern void yyerror(char*);
int yylex(void *yylval);
#define yyoverflow(A,B,C,D,E,F) if (my_yyoverflow((B),(D),(F))) { yyerror(A); return 2; }
#line 35 "sql_yacc.yy"
typedef union {
int num;
ulong ulong_num;
ulonglong ulonglong_num;
LEX_STRING lex_str;
LEX_STRING *lex_str_ptr;
Table_ident *table;
char *simple_string;
Item *item;
List<Item> *item_list;
Key::Keytype key_type;
enum db_type db_type;
String *string;
key_part_spec *key_part;
TABLE_LIST *table_list;
udf_func *udf;
interval_type interval;
LEX_USER *lex_user;
} YYSTYPE;
#line 55 "sql_yacc.yy"
bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
#include <stdio.h>
#ifndef __cplusplus
#ifndef __STDC__
#define const
#endif
#endif
#define YYFINAL 1718
#define YYFLAG -32768
#define YYNTBASE 325
#define YYTRANSLATE(x) ((unsigned)(x) <= 563 ? yytranslate[x] : 534)
static const short yytranslate[] = { 0,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 319, 2, 2, 2, 314, 309, 2, 316,
317, 312, 311, 318, 310, 323, 313, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 320, 2, 2,
2, 2, 2, 324, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 321, 308, 322, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 2, 2, 2, 1, 2, 3, 4, 5,
6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25,
26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
36, 37, 38, 39, 40, 41, 42, 43, 44, 45,
46, 47, 48, 49, 50, 51, 52, 53, 54, 55,
56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75,
76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
86, 87, 88, 89, 90, 91, 92, 93, 94, 95,
96, 97, 98, 99, 100, 101, 102, 103, 104, 105,
106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
116, 117, 118, 119, 120, 121, 122, 123, 124, 125,
126, 127, 128, 129, 130, 131, 132, 133, 134, 135,
136, 137, 138, 139, 140, 141, 142, 143, 144, 145,
146, 147, 148, 149, 150, 151, 152, 153, 154, 155,
156, 157, 158, 159, 160, 161, 162, 163, 164, 165,
166, 167, 168, 169, 170, 171, 172, 173, 174, 175,
176, 177, 178, 179, 180, 181, 182, 183, 184, 185,
186, 187, 188, 189, 190, 191, 192, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225,
226, 227, 228, 229, 230, 231, 232, 233, 234, 235,
236, 237, 238, 239, 240, 241, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, 264, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 315
};
#if YYDEBUG != 0
static const short yyprhs[] = { 0,
0, 2, 5, 7, 9, 11, 13, 15, 17, 19,
21, 23, 25, 27, 29, 31, 33, 35, 37, 39,
41, 43, 45, 46, 55, 56, 67, 71, 72, 81,
82, 84, 86, 89, 92, 97, 103, 105, 107, 109,
111, 113, 115, 117, 121, 123, 126, 132, 140, 145,
146, 149, 150, 155, 159, 163, 167, 169, 171, 177,
180, 185, 191, 196, 200, 202, 204, 206, 211, 213,
215, 217, 219, 221, 224, 227, 229, 231, 233, 235,
243, 251, 252, 258, 259, 265, 268, 270, 272, 274,
276, 278, 280, 282, 284, 287, 288, 292, 298, 299,
301, 304, 306, 308, 310, 311, 315, 316, 322, 323,
325, 328, 330, 332, 335, 338, 340, 343, 344, 346,
350, 357, 358, 360, 363, 365, 369, 373, 376, 379,
381, 383, 386, 389, 392, 396, 398, 401, 403, 405,
407, 409, 410, 412, 417, 420, 422, 427, 428, 430,
432, 436, 437, 444, 446, 450, 451, 457, 458, 464,
469, 473, 478, 482, 489, 495, 499, 501, 502, 504,
505, 507, 508, 510, 512, 513, 516, 518, 522, 523,
529, 530, 532, 535, 538, 547, 548, 550, 553, 555,
557, 559, 561, 563, 565, 569, 571, 573, 578, 579,
580, 582, 584, 585, 588, 591, 593, 595, 601, 608,
614, 621, 625, 629, 634, 640, 644, 649, 653, 658,
662, 666, 670, 674, 678, 682, 686, 690, 694, 698,
702, 706, 710, 714, 718, 724, 731, 735, 739, 744,
750, 754, 759, 763, 768, 772, 776, 780, 784, 788,
792, 796, 800, 804, 808, 812, 816, 820, 824, 828,
830, 836, 843, 849, 856, 860, 865, 871, 875, 880,
884, 889, 893, 897, 901, 905, 909, 913, 917, 921,
925, 929, 933, 937, 941, 945, 949, 951, 953, 955,
957, 960, 963, 966, 970, 975, 980, 985, 990, 995,
1000, 1007, 1012, 1017, 1022, 1027, 1032, 1041, 1046, 1051,
1053, 1057, 1059, 1063, 1068, 1072, 1081, 1088, 1097, 1102,
1107, 1112, 1117, 1122, 1129, 1136, 1141, 1148, 1155, 1162,
1167, 1174, 1181, 1186, 1193, 1198, 1203, 1210, 1217, 1222,
1227, 1236, 1243, 1254, 1261, 1268, 1273, 1277, 1282, 1287,
1294, 1299, 1306, 1315, 1320, 1325, 1334, 1339, 1346, 1353,
1358, 1365, 1370, 1375, 1377, 1381, 1386, 1391, 1396, 1403,
1410, 1414, 1421, 1428, 1433, 1438, 1443, 1447, 1452, 1459,
1468, 1473, 1480, 1485, 1492, 1501, 1506, 1511, 1516, 1521,
1526, 1531, 1536, 1541, 1548, 1557, 1564, 1573, 1580, 1589,
1594, 1601, 1606, 1611, 1616, 1624, 1632, 1640, 1647, 1654,
1659, 1664, 1669, 1674, 1685, 1689, 1694, 1698, 1702, 1707,
1714, 1719, 1724, 1725, 1727, 1732, 1737, 1742, 1747, 1752,
1763, 1768, 1773, 1778, 1783, 1784, 1787, 1788, 1791, 1793,
1797, 1798, 1800, 1804, 1806, 1810, 1814, 1818, 1823, 1831,
1832, 1843, 1850, 1853, 1864, 1865, 1867, 1869, 1873, 1875,
1877, 1879, 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1895,
1897, 1899, 1900, 1902, 1904, 1905, 1908, 1909, 1912, 1913,
1914, 1918, 1921, 1922, 1923, 1927, 1932, 1935, 1936, 1940,
1945, 1948, 1949, 1951, 1953, 1954, 1957, 1962, 1963, 1966,
1968, 1970, 1972, 1974, 1976, 1977, 1978, 1985, 1989, 1991,
1994, 1995, 2002, 2007, 2008, 2015, 2020, 2024, 2026, 2030,
2032, 2033, 2036, 2037, 2044, 2045, 2051, 2052, 2054, 2057,
2059, 2061, 2064, 2065, 2069, 2070, 2074, 2078, 2080, 2083,
2084, 2090, 2094, 2096, 2100, 2102, 2106, 2107, 2112, 2116,
2118, 2125, 2131, 2135, 2142, 2143, 2147, 2150, 2154, 2160,
2165, 2167, 2169, 2172, 2173, 2176, 2177, 2180, 2181, 2186,
2189, 2191, 2193, 2194, 2196, 2198, 2199, 2203, 2207, 2209,
2211, 2213, 2215, 2217, 2219, 2222, 2225, 2226, 2241, 2242,
2244, 2245, 2247, 2249, 2250, 2253, 2256, 2258, 2262, 2267,
2271, 2275, 2276, 2279, 2282, 2284, 2288, 2292, 2293, 2297,
2299, 2302, 2304, 2306, 2308, 2310, 2312, 2314, 2316, 2318,
2321, 2324, 2327, 2329, 2331, 2335, 2341, 2343, 2345, 2347,
2349, 2351, 2353, 2355, 2359, 2364, 2370, 2372, 2376, 2379,
2381, 2385, 2388, 2390, 2392, 2394, 2396, 2398, 2400, 2404,
2406, 2408, 2410, 2412, 2414, 2416, 2418, 2420, 2422, 2424,
2426, 2428, 2430, 2432, 2434, 2436, 2438, 2440, 2442, 2444,
2446, 2448, 2450, 2452, 2454, 2456, 2458, 2460, 2462, 2464,
2466, 2468, 2470, 2472, 2474, 2476, 2478, 2480, 2482, 2484,
2486, 2488, 2490, 2491, 2496, 2497, 2499, 2501, 2505, 2509,
2513, 2517, 2521, 2525, 2529, 2533, 2537, 2541, 2545, 2551,
2553, 2558, 2560, 2562, 2564, 2566, 2568, 2570, 2571, 2576,
2578, 2580, 2582, 2586, 2590, 2592, 2594, 2597, 2600, 2601,
2610, 2611, 2621, 2622, 2624, 2626, 2629, 2631, 2633, 2637,
2638, 2642, 2643, 2647, 2648, 2652, 2654, 2655, 2659, 2661,
2663, 2665, 2667, 2669, 2671, 2673, 2675, 2677, 2680, 2682,
2686, 2690, 2692, 2694, 2698, 2703, 2705, 2706, 2710, 2714,
2716, 2718, 2719
};
static const short yyrhs[] = { 3,
0, 326, 3, 0, 370, 0, 327, 0, 460, 0,
466, 0, 434, 0, 517, 0, 439, 0, 470, 0,
476, 0, 508, 0, 474, 0, 380, 0, 441, 0,
515, 0, 381, 0, 501, 0, 461, 0, 514, 0,
458, 0, 475, 0, 0, 23, 122, 496, 328, 316,
336, 317, 331, 0, 0, 23, 365, 77, 497, 106,
496, 329, 316, 366, 317, 0, 23, 203, 497, 0,
0, 23, 129, 497, 330, 130, 335, 131, 151, 0,
0, 332, 0, 333, 0, 333, 332, 0, 126, 334,
0, 15, 115, 4, 427, 0, 13, 114, 248, 4,
426, 0, 64, 0, 90, 0, 63, 0, 185, 0,
158, 0, 157, 0, 337, 0, 336, 318, 337, 0,
339, 0, 339, 357, 0, 362, 368, 316, 366, 317,
0, 338, 62, 142, 316, 366, 317, 357, 0, 50,
316, 394, 317, 0, 0, 49, 368, 0, 0, 495,
340, 341, 353, 0, 345, 351, 348, 0, 346, 352,
348, 0, 176, 347, 348, 0, 44, 0, 46, 0,
154, 316, 148, 317, 356, 0, 154, 356, 0, 146,
316, 148, 317, 0, 344, 316, 148, 317, 356, 0,
156, 316, 148, 317, 0, 209, 351, 348, 0, 172,
0, 173, 0, 170, 0, 170, 316, 148, 317, 0,
171, 0, 164, 0, 162, 0, 166, 0, 168, 0,
86, 156, 0, 86, 344, 0, 165, 0, 163, 0,
167, 0, 169, 0, 178, 316, 148, 318, 148, 317,
348, 0, 179, 316, 148, 318, 148, 317, 348, 0,
0, 180, 342, 316, 369, 317, 0, 0, 117, 343,
316, 369, 317, 0, 154, 155, 0, 161, 0, 157,
0, 174, 0, 159, 0, 175, 0, 160, 0, 158,
0, 177, 0, 177, 183, 0, 0, 316, 148, 317,
0, 316, 148, 318, 148, 317, 0, 0, 349, 0,
349, 350, 0, 350, 0, 182, 0, 181, 0, 0,
316, 148, 317, 0, 0, 316, 148, 318, 148, 317,
0, 0, 354, 0, 354, 355, 0, 355, 0, 105,
0, 104, 105, 0, 53, 489, 0, 145, 0, 143,
142, 0, 0, 146, 0, 98, 496, 358, 0, 98,
496, 316, 366, 317, 358, 0, 0, 359, 0, 359,
360, 0, 360, 0, 106, 25, 361, 0, 106, 32,
361, 0, 101, 69, 0, 101, 91, 0, 97, 0,
48, 0, 117, 105, 0, 103, 37, 0, 117, 53,
0, 338, 143, 142, 0, 363, 0, 338, 144, 0,
142, 0, 77, 0, 66, 0, 77, 0, 0, 144,
0, 366, 318, 367, 423, 0, 367, 423, 0, 497,
0, 497, 316, 148, 317, 0, 0, 497, 0, 488,
0, 369, 318, 488, 0, 0, 20, 377, 122, 496,
371, 372, 0, 373, 0, 372, 318, 373, 0, 0,
19, 376, 374, 337, 379, 0, 0, 22, 376, 497,
375, 339, 0, 26, 376, 497, 378, 0, 26, 143,
142, 0, 26, 62, 142, 368, 0, 26, 363, 497,
0, 20, 376, 497, 117, 53, 489, 0, 20, 376,
497, 26, 53, 0, 96, 413, 496, 0, 333, 0,
0, 56, 0, 0, 76, 0, 0, 97, 0, 48,
0, 0, 21, 497, 0, 68, 0, 30, 122, 496,
0, 0, 29, 382, 385, 388, 383, 0, 0, 384,
0, 432, 384, 0, 384, 432, 0, 70, 407, 415,
419, 416, 421, 424, 428, 0, 0, 386, 0, 386,
387, 0, 387, 0, 41, 0, 100, 0, 40, 0,
306, 0, 38, 0, 388, 318, 389, 0, 389, 0,
312, 0, 390, 392, 391, 393, 0, 0, 0, 491,
0, 394, 0, 0, 39, 497, 0, 39, 151, 0,
395, 0, 398, 0, 394, 80, 316, 403, 317, 0,
394, 104, 80, 316, 403, 317, 0, 394, 191, 397,
42, 394, 0, 394, 104, 191, 397, 42, 394, 0,
394, 109, 394, 0, 394, 42, 394, 0, 394, 88,
398, 418, 0, 394, 104, 88, 398, 418, 0, 394,
95, 394, 0, 394, 104, 95, 394, 0, 394, 10,
105, 0, 394, 10, 104, 105, 0, 394, 4, 394,
0, 394, 5, 394, 0, 394, 6, 394, 0, 394,
7, 394, 0, 394, 8, 394, 0, 394, 9, 394,
0, 394, 11, 394, 0, 394, 12, 394, 0, 394,
311, 394, 0, 394, 310, 394, 0, 394, 312, 394,
0, 394, 313, 394, 0, 394, 308, 394, 0, 394,
309, 394, 0, 394, 314, 394, 0, 396, 191, 397,
42, 394, 0, 396, 104, 191, 397, 42, 394, 0,
396, 109, 394, 0, 396, 42, 394, 0, 396, 88,
398, 418, 0, 396, 104, 88, 398, 418, 0, 396,
95, 394, 0, 396, 104, 95, 394, 0, 396, 10,
105, 0, 396, 10, 104, 105, 0, 396, 4, 394,
0, 396, 5, 394, 0, 396, 6, 394, 0, 396,
7, 394, 0, 396, 8, 394, 0, 396, 9, 394,
0, 396, 11, 394, 0, 396, 12, 394, 0, 396,
311, 394, 0, 396, 310, 394, 0, 396, 312, 394,
0, 396, 313, 394, 0, 396, 308, 394, 0, 396,
309, 394, 0, 396, 314, 394, 0, 398, 0, 397,
80, 316, 403, 317, 0, 397, 104, 80, 316, 403,
317, 0, 397, 191, 397, 42, 394, 0, 397, 104,
191, 397, 42, 394, 0, 397, 109, 394, 0, 397,
88, 398, 418, 0, 397, 104, 88, 398, 418, 0,
397, 95, 394, 0, 397, 104, 95, 394, 0, 397,
10, 105, 0, 397, 10, 104, 105, 0, 397, 4,
394, 0, 397, 5, 394, 0, 397, 6, 394, 0,
397, 7, 394, 0, 397, 8, 394, 0, 397, 9,
394, 0, 397, 11, 394, 0, 397, 12, 394, 0,
397, 311, 394, 0, 397, 310, 394, 0, 397, 312,
394, 0, 397, 313, 394, 0, 397, 308, 394, 0,
397, 309, 394, 0, 397, 314, 394, 0, 398, 0,
494, 0, 489, 0, 400, 0, 310, 394, 0, 104,
394, 0, 319, 394, 0, 316, 394, 317, 0, 321,
497, 394, 322, 0, 186, 316, 394, 317, 0, 187,
316, 394, 317, 0, 188, 316, 394, 317, 0, 189,
316, 394, 317, 0, 190, 316, 394, 317, 0, 190,
316, 394, 318, 394, 317, 0, 192, 316, 394, 317,
0, 194, 316, 394, 317, 0, 196, 316, 394, 317,
0, 154, 316, 403, 317, 0, 197, 316, 403, 317,
0, 198, 316, 394, 318, 394, 318, 394, 317, 0,
199, 316, 394, 317, 0, 200, 316, 394, 317, 0,
201, 0, 201, 316, 317, 0, 202, 0, 202, 316,
317, 0, 202, 316, 394, 317, 0, 203, 316, 317,
0, 205, 316, 394, 318, 243, 394, 412, 317, 0,
204, 316, 394, 318, 394, 317, 0, 206, 316, 394,
318, 243, 394, 412, 317, 0, 221, 316, 394, 317,
0, 220, 316, 394, 317, 0, 222, 316, 394, 317,
0, 207, 316, 394, 317, 0, 208, 316, 394, 317,
0, 227, 316, 394, 318, 403, 317, 0, 254, 316,
394, 318, 403, 317, 0, 229, 316, 394, 317, 0,
229, 316, 394, 318, 394, 317, 0, 223, 316, 394,
318, 151, 317, 0, 228, 316, 394, 318, 151, 317,
0, 230, 316, 394, 317, 0, 231, 316, 394, 318,
403, 317, 0, 67, 316, 394, 318, 394, 317, 0,
232, 316, 394, 317, 0, 234, 316, 394, 318, 148,
317, 0, 235, 316, 394, 317, 0, 236, 316, 394,
317, 0, 236, 316, 394, 318, 394, 317, 0, 65,
316, 394, 318, 394, 317, 0, 238, 316, 394, 317,
0, 213, 316, 394, 317, 0, 81, 316, 394, 318,
394, 318, 394, 317, 0, 240, 316, 394, 318, 394,
317, 0, 27, 316, 394, 318, 394, 318, 394, 318,
394, 317, 0, 242, 316, 394, 318, 394, 317, 0,
243, 316, 394, 318, 403, 317, 0, 244, 316, 394,
317, 0, 245, 316, 317, 0, 245, 316, 394, 317,
0, 246, 316, 394, 317, 0, 247, 316, 394, 318,
394, 317, 0, 248, 316, 394, 317, 0, 249, 316,
394, 318, 394, 317, 0, 249, 316, 394, 318, 394,
318, 394, 317, 0, 250, 316, 394, 317, 0, 251,
316, 394, 317, 0, 252, 316, 394, 318, 394, 318,
394, 317, 0, 253, 316, 394, 317, 0, 73, 316,
394, 318, 403, 317, 0, 84, 316, 394, 318, 403,
317, 0, 214, 316, 394, 317, 0, 255, 316, 394,
318, 394, 317, 0, 211, 316, 394, 317, 0, 210,
316, 394, 317, 0, 256, 0, 256, 316, 317, 0,
256, 316, 394, 317, 0, 257, 316, 394, 317, 0,
258, 316, 394, 317, 0, 259, 316, 394, 318, 394,
317, 0, 260, 316, 394, 318, 394, 317, 0, 261,
316, 317, 0, 262, 316, 396, 80, 394, 317, 0,
263, 316, 394, 318, 394, 317, 0, 265, 316, 394,
317, 0, 267, 316, 394, 317, 0, 266, 316, 394,
317, 0, 266, 316, 317, 0, 94, 316, 394, 317,
0, 268, 316, 394, 318, 394, 317, 0, 269, 316,
394, 318, 394, 318, 394, 317, 0, 270, 316, 394,
317, 0, 271, 316, 394, 318, 394, 317, 0, 272,
316, 394, 317, 0, 272, 316, 394, 318, 394, 317,
0, 273, 316, 394, 318, 394, 318, 394, 317, 0,
274, 316, 394, 317, 0, 275, 316, 394, 317, 0,
215, 316, 394, 317, 0, 276, 316, 394, 317, 0,
277, 316, 394, 317, 0, 279, 316, 394, 317, 0,
278, 316, 394, 317, 0, 280, 316, 394, 317, 0,
281, 316, 394, 318, 394, 317, 0, 282, 316, 394,
318, 394, 318, 394, 317, 0, 282, 316, 394, 318,
394, 317, 0, 282, 316, 394, 70, 394, 233, 394,
317, 0, 282, 316, 394, 70, 394, 317, 0, 283,
316, 394, 318, 394, 318, 394, 317, 0, 284, 316,
394, 317, 0, 286, 316, 394, 318, 394, 317, 0,
285, 316, 394, 317, 0, 287, 316, 394, 317, 0,
288, 316, 394, 317, 0, 288, 316, 83, 406, 70,
394, 317, 0, 288, 316, 124, 406, 70, 394, 317,
0, 288, 316, 45, 406, 70, 394, 317, 0, 288,
316, 394, 70, 394, 317, 0, 289, 316, 394, 318,
394, 317, 0, 290, 316, 394, 317, 0, 297, 316,
399, 317, 0, 298, 316, 399, 317, 0, 299, 316,
399, 317, 0, 291, 316, 487, 318, 148, 318, 148,
318, 403, 317, 0, 292, 316, 317, 0, 292, 316,
394, 317, 0, 293, 316, 317, 0, 294, 316, 317,
0, 295, 316, 394, 317, 0, 295, 316, 394, 318,
394, 317, 0, 296, 316, 394, 317, 0, 209, 316,
394, 317, 0, 0, 403, 0, 13, 316, 401, 317,
0, 193, 316, 401, 317, 0, 195, 316, 401, 317,
0, 14, 316, 312, 317, 0, 14, 316, 401, 317,
0, 237, 316, 487, 318, 148, 318, 148, 318, 401,
317, 0, 16, 316, 401, 317, 0, 15, 316, 401,
317, 0, 18, 316, 401, 317, 0, 17, 316, 401,
317, 0, 0, 402, 394, 0, 0, 404, 405, 0,
394, 0, 405, 318, 394, 0, 0, 394, 0, 316,
407, 317, 0, 409, 0, 407, 318, 409, 0, 407,
82, 409, 0, 407, 41, 409, 0, 407, 24, 82,
409, 0, 407, 247, 410, 82, 409, 106, 394, 0,
0, 407, 247, 410, 82, 409, 408, 120, 316, 411,
317, 0, 407, 102, 247, 410, 82, 409, 0, 496,
414, 0, 321, 497, 409, 247, 111, 82, 409, 106,
394, 322, 0, 0, 111, 0, 497, 0, 411, 318,
497, 0, 217, 0, 218, 0, 219, 0, 212, 0,
224, 0, 225, 0, 213, 0, 226, 0, 214, 0,
210, 0, 215, 0, 216, 0, 209, 0, 0, 39,
0, 4, 0, 0, 413, 497, 0, 0, 136, 394,
0, 0, 0, 116, 417, 394, 0, 60, 151, 0,
0, 0, 74, 47, 420, 0, 420, 318, 492, 423,
0, 492, 423, 0, 0, 110, 47, 422, 0, 422,
318, 493, 423, 0, 493, 423, 0, 0, 43, 0,
54, 0, 0, 184, 426, 0, 184, 426, 318, 426,
0, 0, 184, 427, 0, 148, 0, 150, 0, 148,
0, 149, 0, 150, 0, 0, 0, 264, 497, 429,
316, 430, 317, 0, 430, 318, 431, 0, 431, 0,
390, 394, 0, 0, 79, 112, 151, 433, 480, 483,
0, 26, 122, 438, 436, 0, 0, 26, 77, 497,
106, 496, 435, 0, 26, 203, 438, 497, 0, 26,
129, 497, 0, 437, 0, 436, 318, 437, 0, 496,
0, 0, 81, 61, 0, 0, 27, 440, 443, 377,
444, 446, 0, 0, 269, 442, 443, 444, 446, 0,
0, 99, 0, 79, 445, 0, 445, 0, 437, 0,
448, 450, 0, 0, 117, 447, 453, 0, 0, 316,
449, 317, 0, 449, 318, 490, 0, 490, 0, 127,
452, 0, 0, 29, 451, 385, 388, 384, 0, 452,
318, 455, 0, 455, 0, 453, 318, 454, 0, 454,
0, 494, 4, 394, 0, 0, 316, 456, 457, 317,
0, 457, 318, 394, 0, 394, 0, 32, 443, 437,
117, 459, 415, 0, 459, 318, 494, 4, 394, 0,
494, 4, 394, 0, 25, 443, 70, 437, 415, 425,
0, 0, 31, 462, 463, 0, 52, 465, 0, 121,
464, 465, 0, 57, 70, 496, 464, 465, 0, 364,
70, 496, 464, 0, 119, 0, 113, 0, 128, 465,
0, 0, 70, 497, 0, 0, 88, 488, 0, 0,
468, 496, 467, 469, 0, 468, 381, 0, 54, 0,
55, 0, 0, 488, 0, 497, 0, 0, 28, 471,
472, 0, 472, 318, 473, 0, 473, 0, 121, 0,
75, 0, 92, 0, 87, 0, 119, 0, 33, 148,
0, 133, 497, 0, 0, 34, 51, 478, 78, 151,
477, 479, 79, 122, 496, 480, 483, 486, 448, 0,
0, 85, 0, 0, 269, 0, 76, 0, 0, 57,
481, 0, 481, 482, 0, 482, 0, 123, 47, 488,
0, 108, 58, 47, 488, 0, 58, 47, 488, 0,
59, 47, 488, 0, 0, 89, 484, 0, 484, 485,
0, 485, 0, 123, 47, 488, 0, 118, 47, 488,
0, 0, 76, 148, 89, 0, 151, 0, 487, 151,
0, 151, 0, 152, 0, 487, 0, 148, 0, 149,
0, 150, 0, 105, 0, 152, 0, 172, 487, 0,
173, 487, 0, 170, 487, 0, 494, 0, 491, 0,
497, 323, 312, 0, 497, 323, 497, 323, 312, 0,
494, 0, 148, 0, 487, 0, 494, 0, 148, 0,
487, 0, 497, 0, 497, 323, 497, 0, 323, 497,
323, 497, 0, 497, 323, 497, 323, 497, 0, 497,
0, 497, 323, 497, 0, 323, 497, 0, 497, 0,
497, 323, 497, 0, 323, 497, 0, 147, 0, 500,
0, 497, 0, 151, 0, 153, 0, 498, 0, 498,
324, 498, 0, 173, 0, 172, 0, 170, 0, 163,
0, 44, 0, 180, 0, 103, 0, 37, 0, 50,
0, 209, 0, 210, 0, 212, 0, 213, 0, 214,
0, 113, 0, 215, 0, 119, 0, 128, 0, 129,
0, 185, 0, 258, 0, 46, 0, 21, 0, 68,
0, 85, 0, 114, 0, 115, 0, 13, 0, 15,
0, 126, 0, 63, 0, 64, 0, 90, 0, 60,
0, 87, 0, 75, 0, 28, 0, 138, 0, 139,
0, 140, 0, 141, 0, 239, 0, 72, 0, 0,
117, 503, 502, 504, 0, 0, 107, 0, 505, 0,
504, 318, 505, 0, 507, 4, 148, 0, 302, 4,
426, 0, 302, 4, 53, 0, 170, 4, 426, 0,
170, 4, 53, 0, 245, 4, 427, 0, 241, 4,
427, 0, 154, 117, 147, 0, 154, 117, 53, 0,
258, 4, 506, 0, 258, 233, 499, 4, 506, 0,
151, 0, 258, 316, 151, 317, 0, 300, 0, 301,
0, 303, 0, 304, 0, 307, 0, 305, 0, 0,
35, 510, 509, 511, 0, 122, 0, 121, 0, 512,
0, 511, 318, 512, 0, 496, 414, 513, 0, 93,
0, 135, 0, 99, 135, 0, 36, 510, 0, 0,
137, 516, 519, 520, 106, 527, 70, 528, 0, 0,
71, 518, 519, 520, 106, 527, 125, 528, 533, 0,
0, 72, 0, 521, 0, 38, 92, 0, 38, 0,
522, 0, 521, 318, 522, 0, 0, 29, 523, 530,
0, 0, 27, 524, 530, 0, 0, 32, 525, 530,
0, 25, 0, 0, 98, 526, 530, 0, 132, 0,
77, 0, 20, 0, 23, 0, 26, 0, 138, 0,
139, 0, 141, 0, 140, 0, 71, 107, 0, 312,
0, 497, 323, 312, 0, 312, 323, 312, 0, 496,
0, 529, 0, 528, 318, 529, 0, 499, 239, 47,
151, 0, 499, 0, 0, 316, 531, 317, 0, 531,
318, 532, 0, 532, 0, 497, 0, 0, 134, 71,
107, 0
};
#endif
#if YYDEBUG != 0
static const short yyrline[] = { 0,
467, 474, 476, 478, 479, 480, 481, 482, 483, 484,
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
495, 496, 500, 511, 512, 522, 527, 532, 538, 544,
546, 548, 550, 552, 554, 555, 557, 559, 560, 562,
564, 565, 567, 569, 572, 574, 578, 583, 587, 592,
594, 596, 602, 612, 614, 615, 616, 618, 620, 622,
624, 627, 629, 632, 633, 634, 635, 636, 638, 639,
641, 643, 645, 647, 649, 650, 651, 652, 653, 654,
657, 660, 660, 666, 666, 673, 675, 677, 679, 680,
681, 682, 684, 686, 687, 690, 692, 693, 695, 697,
699, 701, 703, 705, 707, 709, 711, 713, 715, 717,
719, 721, 723, 725, 726, 727, 728, 730, 732, 734,
736, 741, 743, 745, 747, 750, 752, 753, 754, 756,
758, 759, 760, 761, 763, 765, 766, 768, 770, 772,
774, 776, 778, 780, 782, 784, 786, 788, 790, 792,
794, 800, 817, 817, 819, 822, 823, 824, 825, 825,
828, 829, 830, 833, 835, 837, 839, 841, 843, 845,
847, 849, 851, 852, 854, 856, 857, 859, 872, 883,
885, 887, 888, 889, 891, 895, 897, 899, 901, 903,
905, 906, 907, 908, 910, 912, 913, 920, 931, 934,
937, 939, 941, 943, 944, 947, 948, 951, 954, 956,
958, 960, 961, 962, 963, 964, 965, 966, 967, 968,
969, 970, 971, 972, 973, 974, 975, 976, 977, 978,
979, 980, 981, 982, 985, 988, 990, 991, 992, 993,
994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003,
1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
1016, 1019, 1021, 1023, 1025, 1026, 1027, 1028, 1029, 1030,
1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040,
1041, 1042, 1043, 1044, 1045, 1046, 1047, 1049, 1051, 1052,
1053, 1054, 1055, 1056, 1057, 1058, 1059, 1061, 1063, 1065,
1067, 1069, 1072, 1073, 1074, 1076, 1078, 1080, 1082, 1085,
1087, 1089, 1091, 1093, 1095, 1097, 1099, 1101, 1103, 1105,
1107, 1109, 1111, 1113, 1115, 1117, 1118, 1119, 1121, 1123,
1124, 1126, 1128, 1129, 1131, 1133, 1135, 1139, 1141, 1144,
1146, 1148, 1150, 1152, 1154, 1156, 1158, 1163, 1167, 1168,
1170, 1171, 1173, 1175, 1176, 1177, 1179, 1181, 1183, 1185,
1187, 1189, 1191, 1193, 1195, 1197, 1199, 1202, 1203, 1205,
1207, 1209, 1211, 1213, 1215, 1217, 1218, 1219, 1223, 1225,
1227, 1228, 1230, 1232, 1233, 1235, 1237, 1239, 1241, 1242,
1244, 1246, 1248, 1249, 1251, 1253, 1255, 1257, 1259, 1261,
1263, 1265, 1267, 1269, 1271, 1273, 1275, 1277, 1279, 1280,
1281, 1288, 1295, 1302, 1304, 1306, 1308, 1310, 1313, 1315,
1317, 1319, 1322, 1324, 1326, 1329, 1331, 1333, 1335, 1337,
1339, 1341, 1343, 1345, 1348, 1351, 1356, 1359, 1361, 1363,
1365, 1367, 1369, 1371, 1372, 1373, 1374, 1375, 1376, 1378,
1381, 1383, 1386, 1389, 1392, 1394, 1396, 1401, 1407, 1409,
1410, 1411, 1412, 1413, 1414, 1415, 1416, 1417, 1418, 1419,
1420, 1422, 1424, 1425, 1427, 1429, 1433, 1435, 1437, 1439,
1440, 1442, 1444, 1451, 1453, 1455, 1458, 1465, 1467, 1469,
1472, 1475, 1477, 1478, 1481, 1487, 1489, 1492, 1497, 1500,
1502, 1504, 1506, 1507, 1509, 1511, 1520, 1523, 1525, 1527,
1536, 1542, 1548, 1554, 1555, 1563, 1569, 1576, 1578, 1580,
1584, 1586, 1592, 1593, 1595, 1596, 1599, 1601, 1603, 1605,
1607, 1615, 1617, 1625, 1625, 1627, 1629, 1631, 1633, 1635,
1645, 1647, 1649, 1651, 1653, 1656, 1664, 1670, 1676, 1682,
1690, 1694, 1700, 1709, 1716, 1718, 1718, 1721, 1723, 1731,
1739, 1741, 1743, 1746, 1748, 1750, 1752, 1755, 1764, 1764,
1767, 1769, 1771, 1773, 1774, 1779, 1782, 1782, 1784, 1786,
1788, 1789, 1790, 1791, 1796, 1805, 1810, 1818, 1825, 1827,
1829, 1831, 1832, 1834, 1836, 1838, 1840, 1842, 1844, 1846,
1847, 1849, 1851, 1853, 1855, 1857, 1859, 1861, 1863, 1868,
1870, 1873, 1875, 1881, 1883, 1884, 1885, 1886, 1888, 1889,
1890, 1891, 1897, 1899, 1901, 1903, 1906, 1908, 1909, 1911,
1913, 1914, 1916, 1919, 1921, 1923, 1927, 1929, 1930, 1932,
1934, 1935, 1937, 1939, 1947, 1949, 1950, 1952, 1959, 1968,
1970, 1971, 1972, 1973, 1974, 1975, 1976, 1977, 1978, 1979,
1980, 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1988, 1989,
1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
2010, 2011, 2015, 2024, 2024, 2026, 2028, 2030, 2032, 2040,
2044, 2048, 2052, 2056, 2060, 2064, 2074, 2078, 2084, 2092,
2094, 2106, 2108, 2109, 2110, 2111, 2112, 2116, 2123, 2123,
2125, 2127, 2129, 2131, 2135, 2137, 2138, 2140, 2146, 2155,
2157, 2166, 2169, 2171, 2173, 2175, 2176, 2178, 2180, 2182,
2186, 2186, 2189, 2189, 2192, 2192, 2193, 2194, 2194, 2195,
2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203, 2205, 2217,
2228, 2239, 2248, 2250, 2253, 2255, 2258, 2260, 2262, 2264,
2266, 2284, 2286
};
#endif
#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)
static const char * const yytname[] = { "$","error","$undefined.","END_OF_INPUT",
"EQ","GE","GT_SYM","LE","LT","NE","IS","SHIFT_LEFT","SHIFT_RIGHT","AVG_SUM",
"COUNT_SUM","MAX_SUM","MIN_SUM","SUM_SUM","STD_SUM","ADD","ALTER","AFTER_SYM",
"CHANGE","CREATE","CROSS","DELETE_SYM","DROP","INSERT","FLUSH_SYM","SELECT_SYM",
"OPTIMIZE","SHOW","UPDATE_SYM","KILL_SYM","LOAD","LOCK_SYM","UNLOCK_SYM","ACTION",
"ALL","AS","DISTINCT","STRAIGHT_JOIN","AND","ASC","BIT_SYM","BOTH","BOOL_SYM",
"BY","CASCADE","CONSTRAINT","CHECK_SYM","DATA_SYM","DATABASES","DEFAULT","DESC",
"DESCRIBE","COLUMN_SYM","COLUMNS","ENCLOSED","ESCAPED","ESCAPE_SYM","EXISTS",
"FOREIGN","HEAP_SYM","ISAM_SYM","GET_LOCK","KEYS","FIND_IN_SET","FIRST_SYM",
"FULL","FROM","GRANT","GLOBAL_SYM","GREATEST_SYM","GROUP","HOSTS_SYM","IGNORE_SYM",
"INDEX","INFILE","INTO","IN_SYM","IF","JOIN_SYM","LEADING","LEAST_SYM","LOCAL_SYM",
"LONG_SYM","LOGS_SYM","LIKE","LINES","MYISAM_SYM","PARTIAL","PRIVILEGES","READ_SYM",
"RELEASE_LOCK","REGEXP","RENAME","RESTRICT","REFERENCES","LOW_PRIORITY","HIGH_PRIORITY",
"MATCH","NATURAL","NO_SYM","NOT","NULL_SYM","ON","OPTION","OPTIONALLY","OR",
"ORDER_SYM","OUTER","OUTFILE","PROCESSLIST_SYM","ROW_SYM","ROWS_SYM","HAVING",
"SET","STARTING","STATUS_SYM","USING","TABLES","TABLE_SYM","TERMINATED","TRAILING",
"TO_SYM","TYPE_SYM","VALUES","VARIABLES","UDF_SYM","UDF_RETURNS_SYM","UDF_SONAME_SYM",
"USAGE","USE_SYM","WITH","WRITE_SYM","WHERE","REVOKE","RELOAD","SHUTDOWN","FILE_SYM",
"PROCESS","KEY_SYM","PRIMARY_SYM","UNIQUE_SYM","AUTO_INC","BINARY","IDENT","NUM",
"LONG_NUM","REAL_NUM","TEXT_STRING","HEX_NUM","LEX_HOSTNAME","CHAR_SYM","VARYING",
"VARBINARY","INT_SYM","REAL","SMALLINT","BIGINT","VARCHAR","BLOB_SYM","TEXT_SYM",
"TINYBLOB","TINYTEXT","MEDIUMBLOB","MEDIUMTEXT","LONGBLOB","LONGTEXT","TIMESTAMP",
"DATETIME","DATE_SYM","TIME_SYM","TINYINT","MEDIUMINT","FLOAT_SYM","DOUBLE_SYM",
"DECIMAL_SYM","NUMERIC_SYM","ENUM","ZEROFILL","UNSIGNED","PRECISION","LIMIT",
"STRING_SYM","ABS","ACOS","ASCII","ASIN","ATAN","BETWEEN_SYM","BIN","BIT_AND",
"BIT_COUNT","BIT_OR","CEILING","CONCAT","CONV","COS","COT","CURDATE","CURTIME",
"DATABASE","DATE_FORMAT_SYM","DATE_ADD_INTERVAL","DATE_SUB_INTERVAL","DAYNAME",
"DEGREES","YEAR_SYM","MONTH_SYM","MONTH_NAME_SYM","DAY_SYM","HOUR_SYM","MINUTE_SYM",
"SECOND_SYM","YEAR_MONTH_SYM","DAY_HOUR_SYM","DAY_MINUTE_SYM","DAY_SECOND_SYM",
"DAY_OF_WEEK","DAY_OF_MONTH","DAY_OF_YEAR","DECODE_SYM","HOUR_MINUTE_SYM","HOUR_SECOND_SYM",
"MINUTE_SECOND_SYM","ELT_FUNC","ENCODE_SYM","ENCRYPT","EXP","FIELD_FUNC","FLOOR",
"FOR_SYM","FORMAT","FROM_DAYS","FROM_UNIXTIME","GROUP_UNIQUE_USERS","HEX","IDENTIFIED_SYM",
"IFNULL","INSERT_ID","INSTR","INTERVAL_SYM","ISNULL","LAST_INSERT_ID","LCASE",
"LEFT","LENGTH","LOCATE","LOG","LOG10","LPAD","LTRIM","MAKE_SET_SYM","MOD_SYM",
"NOW_SYM","OCT","PASSWORD","PERIOD_ADD","PERIOD_DIFF","PI_SYM","POSITION_SYM",
"POW","PROCEDURE","QUARTER","RAND","RADIANS","REPEAT","REPLACE","REVERSE","RIGHT",
"ROUND","RPAD","RTRIM","SEC_TO_TIME","SIGN","SIN","SOUNDEX","SPACE","SQRT","STRCMP",
"SUBSTRING","SUBSTRING_INDEX","TAN","TIME_TO_SEC","TIME_FORMAT_SYM","TO_DAYS",
"TRIM","TRUNCATE","UCASE","UNIQUE_USERS","UNIX_TIMESTAMP","USER","VERSION_SYM",
"WEEK_SYM","WEEKDAY","UDF_CHAR_FUNC","UDF_FLOAT_FUNC","UDF_INT_FUNC","SQL_BIG_TABLES",
"SQL_BIG_SELECTS","SQL_SELECT_LIMIT","SQL_LOG_OFF","SQL_LOG_UPDATE","SQL_LOW_PRIORITY_UPDATES",
"SQL_SMALL_RESULT","SQL_WARNINGS","'|'","'&'","'-'","'+'","'*'","'/'","'%'",
"NEG","'('","')'","','","'!'","':'","'{'","'}'","'.'","'@'","query","verb_clause",
"create","@1","@2","@3","opt_create_table_options","create_table_options","create_table_option",
"table_types","udf_type","field_list","field_list_item","opt_constraint","field_spec",
"@4","type","@5","@6","varchar","int_type","real_type","float_options","field_options",
"field_opt_list","field_option","opt_len","opt_precision","opt_attribute","opt_attribute_list",
"attribute","opt_binary","references","opt_on_delete","opt_on_delete_list","opt_on_delete_item",
"delete_option","key_type","key_or_index","keys_or_index","opt_unique","key_list",
"key_part","opt_ident","string_list","alter","@7","alter_list","alter_list_item",
"@8","@9","opt_column","opt_ignore","opt_restrict","opt_place","optimize","select",
"@10","select_into","select_from","select_options","select_option_list","select_option",
"select_item_list","select_item","remember_name","remember_end","select_item2",
"select_alias","expr","expr_expr","no_in_expr","no_and_expr","simple_expr","udf_expr_list",
"sum_expr","in_sum_expr","@11","expr_list","@12","expr_list2","opt_pad","join_table_list",
"@13","join_table","opt_outer","using_list","interval","table_alias","opt_table_alias",
"where_clause","having_clause","@14","opt_escape","group_clause","group_list",
"order_clause","order_list","order_dir","limit_clause","delete_limit_clause",
"ULONG_NUM","ULONGLONG_NUM","procedure_clause","@15","procedure_list","procedure_item",
"opt_into","@16","drop","@17","table_list","table","if_exists","insert","@18",
"replace","@19","opt_low_priority","insert2","insert_table","insert_field_spec",
"@20","opt_field_spec","fields","insert_values","@21","values_list","ident_eq_list",
"ident_eq_value","no_braces","@22","values","update","update_list","delete",
"show","@23","show_param","opt_db","wild","describe","@24","describe_command",
"opt_describe_column","flush","@25","flush_options","flush_option","kill","use",
"load","@26","opt_local","opt_duplicate","opt_field_term","field_term_list",
"field_term","opt_line_term","line_term_list","line_term","opt_ignore_lines",
"text_literal","text_string","literal","insert_ident","table_wild","group_ident",
"order_ident","simple_ident","field_ident","table_ident","ident","ident_or_text",
"user","keyword","set","@27","opt_option","option_value_list","option_value",
"text_or_password","set_option","lock","@28","table_or_tables","table_lock_list",
"table_lock","lock_option","unlock","revoke","@29","grant","@30","global_option",
"grant_privileges","grant_privilege_list","grant_privilege","@31","@32","@33",
"@34","opt_table","user_list","grant_user","opt_column_list","column_list","column_list_id",
"grant_option", NULL
};
#endif
static const short yyr1[] = { 0,
325, 325, 326, 326, 326, 326, 326, 326, 326, 326,
326, 326, 326, 326, 326, 326, 326, 326, 326, 326,
326, 326, 328, 327, 329, 327, 327, 330, 327, 331,
331, 332, 332, 333, 333, 333, 334, 334, 334, 335,
335, 335, 336, 336, 337, 337, 337, 337, 337, 338,
338, 340, 339, 341, 341, 341, 341, 341, 341, 341,
341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
341, 341, 341, 341, 341, 341, 341, 341, 341, 341,
341, 342, 341, 343, 341, 344, 344, 345, 345, 345,
345, 345, 346, 346, 346, 347, 347, 347, 348, 348,
349, 349, 350, 350, 351, 351, 352, 352, 353, 353,
354, 354, 355, 355, 355, 355, 355, 356, 356, 357,
357, 358, 358, 359, 359, 360, 360, 360, 360, 361,
361, 361, 361, 361, 362, 362, 362, 363, 363, 364,
364, 365, 365, 366, 366, 367, 367, 368, 368, 369,
369, 371, 370, 372, 372, 374, 373, 375, 373, 373,
373, 373, 373, 373, 373, 373, 373, 376, 376, 377,
377, 378, 378, 378, 379, 379, 379, 380, 382, 381,
383, 383, 383, 383, 384, 385, 385, 386, 386, 387,
387, 387, 387, 387, 388, 388, 388, 389, 390, 391,
392, 392, 393, 393, 393, 394, 394, 395, 395, 395,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
395, 395, 395, 395, 396, 396, 396, 396, 396, 396,
396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
397, 397, 397, 397, 397, 397, 397, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 398, 398, 398, 398, 398, 398, 398, 398,
398, 398, 399, 399, 400, 400, 400, 400, 400, 400,
400, 400, 400, 400, 402, 401, 404, 403, 405, 405,
406, 406, 407, 407, 407, 407, 407, 407, 407, 408,
407, 407, 409, 409, 410, 410, 411, 411, 412, 412,
412, 412, 412, 412, 412, 412, 412, 412, 412, 412,
412, 413, 413, 413, 414, 414, 415, 415, 416, 417,
416, 418, 418, 419, 419, 420, 420, 421, 421, 422,
422, 423, 423, 423, 424, 424, 424, 425, 425, 426,
426, 427, 427, 427, 428, 429, 428, 430, 430, 431,
433, 432, 434, 435, 434, 434, 434, 436, 436, 437,
438, 438, 440, 439, 442, 441, 443, 443, 444, 444,
445, 446, 447, 446, 448, 448, 449, 449, 450, 451,
450, 452, 452, 453, 453, 454, 456, 455, 457, 457,
458, 459, 459, 460, 462, 461, 463, 463, 463, 463,
463, 463, 463, 464, 464, 465, 465, 467, 466, 466,
468, 468, 469, 469, 469, 471, 470, 472, 472, 473,
473, 473, 473, 473, 474, 475, 477, 476, 478, 478,
479, 479, 479, 480, 480, 481, 481, 482, 482, 482,
482, 483, 483, 484, 484, 485, 485, 486, 486, 487,
487, 488, 488, 489, 489, 489, 489, 489, 489, 489,
489, 489, 490, 490, 491, 491, 492, 492, 492, 493,
493, 493, 494, 494, 494, 494, 495, 495, 495, 496,
496, 496, 497, 497, 498, 498, 498, 499, 499, 500,
500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
500, 500, 500, 500, 500, 500, 500, 500, 500, 500,
500, 500, 502, 501, 503, 503, 504, 504, 505, 505,
505, 505, 505, 505, 505, 505, 505, 505, 505, 506,
506, 507, 507, 507, 507, 507, 507, 509, 508, 510,
510, 511, 511, 512, 513, 513, 513, 514, 516, 515,
518, 517, 519, 519, 520, 520, 520, 521, 521, 523,
522, 524, 522, 525, 522, 522, 526, 522, 522, 522,
522, 522, 522, 522, 522, 522, 522, 522, 527, 527,
527, 527, 528, 528, 529, 529, 530, 530, 531, 531,
532, 533, 533
};
static const short yyr2[] = { 0,
1, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 8, 0, 10, 3, 0, 8, 0,
1, 1, 2, 2, 4, 5, 1, 1, 1, 1,
1, 1, 1, 3, 1, 2, 5, 7, 4, 0,
2, 0, 4, 3, 3, 3, 1, 1, 5, 2,
4, 5, 4, 3, 1, 1, 1, 4, 1, 1,
1, 1, 1, 2, 2, 1, 1, 1, 1, 7,
7, 0, 5, 0, 5, 2, 1, 1, 1, 1,
1, 1, 1, 1, 2, 0, 3, 5, 0, 1,
2, 1, 1, 1, 0, 3, 0, 5, 0, 1,
2, 1, 1, 2, 2, 1, 2, 0, 1, 3,
6, 0, 1, 2, 1, 3, 3, 2, 2, 1,
1, 2, 2, 2, 3, 1, 2, 1, 1, 1,
1, 0, 1, 4, 2, 1, 4, 0, 1, 1,
3, 0, 6, 1, 3, 0, 5, 0, 5, 4,
3, 4, 3, 6, 5, 3, 1, 0, 1, 0,
1, 0, 1, 1, 0, 2, 1, 3, 0, 5,
0, 1, 2, 2, 8, 0, 1, 2, 1, 1,
1, 1, 1, 1, 3, 1, 1, 4, 0, 0,
1, 1, 0, 2, 2, 1, 1, 5, 6, 5,
6, 3, 3, 4, 5, 3, 4, 3, 4, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 5, 6, 3, 3, 4, 5,
3, 4, 3, 4, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 1,
5, 6, 5, 6, 3, 4, 5, 3, 4, 3,
4, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 1, 1, 1, 1,
2, 2, 2, 3, 4, 4, 4, 4, 4, 4,
6, 4, 4, 4, 4, 4, 8, 4, 4, 1,
3, 1, 3, 4, 3, 8, 6, 8, 4, 4,
4, 4, 4, 6, 6, 4, 6, 6, 6, 4,
6, 6, 4, 6, 4, 4, 6, 6, 4, 4,
8, 6, 10, 6, 6, 4, 3, 4, 4, 6,
4, 6, 8, 4, 4, 8, 4, 6, 6, 4,
6, 4, 4, 1, 3, 4, 4, 4, 6, 6,
3, 6, 6, 4, 4, 4, 3, 4, 6, 8,
4, 6, 4, 6, 8, 4, 4, 4, 4, 4,
4, 4, 4, 6, 8, 6, 8, 6, 8, 4,
6, 4, 4, 4, 7, 7, 7, 6, 6, 4,
4, 4, 4, 10, 3, 4, 3, 3, 4, 6,
4, 4, 0, 1, 4, 4, 4, 4, 4, 10,
4, 4, 4, 4, 0, 2, 0, 2, 1, 3,
0, 1, 3, 1, 3, 3, 3, 4, 7, 0,
10, 6, 2, 10, 0, 1, 1, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 0, 1, 1, 0, 2, 0, 2, 0, 0,
3, 2, 0, 0, 3, 4, 2, 0, 3, 4,
2, 0, 1, 1, 0, 2, 4, 0, 2, 1,
1, 1, 1, 1, 0, 0, 6, 3, 1, 2,
0, 6, 4, 0, 6, 4, 3, 1, 3, 1,
0, 2, 0, 6, 0, 5, 0, 1, 2, 1,
1, 2, 0, 3, 0, 3, 3, 1, 2, 0,
5, 3, 1, 3, 1, 3, 0, 4, 3, 1,
6, 5, 3, 6, 0, 3, 2, 3, 5, 4,
1, 1, 2, 0, 2, 0, 2, 0, 4, 2,
1, 1, 0, 1, 1, 0, 3, 3, 1, 1,
1, 1, 1, 1, 2, 2, 0, 14, 0, 1,
0, 1, 1, 0, 2, 2, 1, 3, 4, 3,
3, 0, 2, 2, 1, 3, 3, 0, 3, 1,
2, 1, 1, 1, 1, 1, 1, 1, 1, 2,
2, 2, 1, 1, 3, 5, 1, 1, 1, 1,
1, 1, 1, 3, 4, 5, 1, 3, 2, 1,
3, 2, 1, 1, 1, 1, 1, 1, 3, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 0, 4, 0, 1, 1, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 5, 1,
4, 1, 1, 1, 1, 1, 1, 0, 4, 1,
1, 1, 3, 3, 1, 1, 2, 2, 0, 8,
0, 9, 0, 1, 1, 2, 1, 1, 3, 0,
3, 0, 3, 0, 3, 1, 0, 3, 1, 1,
1, 1, 1, 1, 1, 1, 1, 2, 1, 3,
3, 1, 1, 3, 4, 1, 0, 3, 3, 1,
1, 0, 3
};
static const short yydefact[] = { 0,
1, 170, 142, 527, 0, 523, 576, 179, 0, 555,
527, 0, 0, 0, 0, 571, 572, 731, 695, 0,
729, 525, 0, 4, 3, 14, 17, 7, 9, 15,
21, 5, 19, 6, 0, 10, 13, 22, 11, 18,
12, 20, 16, 8, 171, 0, 0, 0, 143, 0,
0, 528, 0, 0, 521, 0, 521, 527, 0, 186,
0, 0, 0, 585, 589, 721, 720, 718, 728, 733,
696, 693, 677, 678, 672, 686, 657, 654, 671, 658,
683, 680, 681, 673, 692, 685, 674, 684, 682, 656,
664, 675, 676, 666, 679, 667, 668, 687, 688, 689,
690, 643, 653, 652, 651, 650, 655, 669, 659, 660,
661, 662, 663, 665, 691, 670, 586, 644, 733, 527,
2, 0, 570, 568, 640, 0, 23, 28, 27, 0,
0, 0, 0, 0, 517, 0, 170, 581, 583, 582,
584, 580, 577, 579, 194, 192, 190, 191, 193, 199,
187, 189, 178, 566, 0, 140, 141, 562, 561, 564,
566, 0, 556, 0, 520, 590, 0, 0, 734, 0,
0, 0, 0, 642, 573, 0, 152, 0, 0, 0,
477, 0, 522, 513, 518, 516, 0, 0, 197, 181,
196, 0, 188, 0, 557, 0, 0, 566, 563, 0,
0, 0, 472, 719, 722, 751, 752, 746, 753, 742,
740, 744, 737, 0, 750, 747, 749, 754, 755, 757,
756, 0, 735, 738, 0, 0, 0, 0, 0, 712,
713, 0, 714, 715, 717, 716, 694, 697, 0, 0,
0, 531, 535, 530, 612, 613, 569, 574, 575, 641,
0, 50, 0, 0, 0, 498, 514, 0, 535, 578,
0, 0, 199, 180, 182, 0, 677, 0, 678, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618, 615, 616, 617, 610, 619, 0, 652, 651, 650,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 310, 312, 0, 0, 0, 0,
0, 0, 659, 660, 0, 662, 663, 665, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 364, 0,
670, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 200, 202, 206, 207,
290, 614, 289, 201, 288, 633, 567, 564, 565, 558,
564, 477, 0, 633, 587, 474, 473, 0, 0, 0,
767, 767, 767, 736, 758, 767, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 529, 533,
0, 526, 0, 0, 0, 168, 168, 168, 168, 472,
0, 167, 153, 154, 148, 658, 139, 138, 0, 0,
43, 0, 45, 148, 136, 52, 637, 42, 41, 40,
0, 25, 478, 0, 554, 515, 519, 524, 0, 0,
477, 444, 472, 0, 195, 184, 183, 435, 435, 435,
435, 435, 435, 0, 0, 0, 0, 0, 0, 0,
292, 437, 622, 620, 621, 0, 0, 0, 0, 0,
0, 435, 0, 435, 0, 437, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 437, 437, 437, 291, 0, 293, 0,
0, 203, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 611, 0, 566, 560, 0,
551, 0, 0, 591, 476, 725, 0, 726, 724, 723,
0, 743, 741, 745, 748, 759, 762, 640, 0, 739,
707, 706, 703, 500, 501, 702, 502, 503, 504, 705,
704, 710, 0, 708, 646, 647, 645, 648, 0, 701,
700, 698, 699, 0, 0, 0, 538, 624, 623, 540,
0, 532, 0, 0, 169, 156, 0, 0, 0, 0,
0, 0, 0, 39, 37, 38, 34, 0, 51, 149,
0, 639, 30, 50, 0, 0, 137, 0, 46, 0,
0, 0, 0, 0, 499, 0, 0, 0, 0, 0,
0, 455, 0, 484, 453, 511, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 311, 313, 0,
315, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 347, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 365, 0, 0, 0, 0, 0, 371,
0, 260, 0, 0, 377, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 441, 441, 441,
0, 0, 0, 0, 415, 0, 417, 418, 0, 0,
0, 424, 0, 0, 294, 0, 0, 0, 198, 220,
221, 222, 223, 224, 225, 0, 218, 226, 227, 213,
437, 483, 216, 0, 0, 0, 0, 212, 0, 287,
232, 233, 229, 228, 230, 231, 234, 625, 634, 559,
0, 553, 634, 593, 592, 0, 727, 771, 0, 770,
0, 0, 0, 0, 0, 0, 0, 534, 545, 0,
536, 0, 186, 547, 539, 543, 0, 0, 50, 0,
158, 148, 161, 163, 172, 166, 155, 0, 24, 31,
32, 44, 0, 135, 122, 0, 57, 58, 0, 84,
0, 118, 0, 88, 93, 90, 92, 87, 71, 77,
70, 76, 72, 78, 73, 79, 67, 69, 65, 66,
89, 91, 96, 94, 0, 0, 82, 105, 109, 0,
105, 107, 638, 29, 0, 443, 0, 0, 447, 446,
455, 456, 0, 445, 0, 479, 594, 425, 436, 428,
429, 432, 431, 434, 433, 0, 0, 0, 437, 0,
437, 378, 305, 439, 438, 296, 297, 298, 299, 300,
0, 302, 426, 303, 427, 304, 306, 0, 308, 309,
314, 0, 0, 0, 322, 323, 422, 363, 362, 340,
360, 388, 320, 319, 321, 0, 437, 0, 326, 0,
330, 437, 333, 0, 335, 336, 0, 0, 339, 0,
0, 437, 346, 348, 349, 0, 351, 0, 354, 355,
0, 357, 437, 0, 366, 367, 368, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 374, 376, 375, 0, 0, 381, 0,
383, 0, 0, 386, 387, 389, 390, 392, 391, 393,
0, 0, 0, 0, 400, 402, 0, 403, 442, 0,
0, 0, 0, 404, 0, 410, 0, 416, 419, 0,
421, 411, 412, 413, 295, 635, 205, 204, 219, 0,
0, 214, 437, 483, 217, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 768, 0, 761, 760, 766, 772, 763,
0, 649, 709, 730, 0, 0, 537, 199, 0, 0,
0, 35, 175, 0, 0, 0, 162, 174, 173, 160,
49, 33, 0, 0, 0, 0, 120, 123, 125, 0,
492, 146, 0, 74, 75, 0, 0, 119, 86, 0,
60, 0, 0, 0, 99, 95, 0, 0, 0, 0,
99, 0, 0, 113, 0, 116, 53, 110, 112, 0,
99, 0, 99, 0, 0, 448, 0, 0, 0, 480,
488, 0, 602, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 245, 246, 247, 248, 249, 250, 0,
243, 251, 252, 238, 0, 483, 241, 0, 0, 0,
237, 0, 257, 258, 254, 253, 255, 256, 259, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 208, 482, 0,
215, 0, 272, 273, 274, 275, 276, 277, 0, 270,
278, 279, 210, 437, 483, 268, 0, 0, 0, 0,
265, 0, 284, 285, 281, 280, 282, 283, 286, 626,
636, 552, 0, 769, 0, 0, 0, 732, 711, 544,
546, 0, 550, 0, 542, 36, 0, 177, 157, 165,
0, 159, 0, 128, 129, 0, 0, 0, 124, 47,
0, 493, 494, 145, 0, 0, 0, 0, 0, 0,
0, 104, 103, 56, 100, 102, 0, 0, 0, 0,
64, 0, 0, 0, 115, 114, 117, 111, 0, 54,
0, 55, 26, 0, 0, 450, 628, 485, 629, 492,
627, 0, 0, 495, 0, 0, 0, 0, 595, 597,
0, 512, 0, 338, 332, 358, 0, 359, 440, 301,
0, 317, 0, 0, 328, 324, 329, 327, 331, 334,
337, 0, 342, 344, 345, 350, 352, 0, 0, 325,
361, 369, 370, 244, 372, 239, 483, 242, 0, 0,
373, 379, 0, 382, 384, 0, 394, 0, 398, 396,
0, 0, 401, 0, 0, 0, 408, 409, 0, 420,
209, 211, 271, 0, 266, 437, 483, 269, 0, 0,
594, 0, 0, 764, 541, 548, 0, 176, 164, 0,
131, 130, 0, 0, 126, 127, 122, 492, 0, 0,
150, 61, 118, 63, 68, 97, 0, 101, 0, 0,
0, 106, 118, 0, 0, 452, 0, 0, 0, 487,
481, 0, 0, 505, 0, 0, 0, 0, 596, 0,
0, 603, 605, 0, 0, 0, 471, 468, 462, 465,
467, 469, 470, 459, 460, 461, 463, 464, 466, 0,
0, 0, 0, 0, 240, 0, 235, 0, 0, 0,
0, 0, 407, 405, 406, 0, 261, 0, 267, 0,
263, 602, 765, 773, 549, 48, 133, 134, 132, 121,
144, 147, 85, 0, 59, 0, 0, 0, 83, 62,
0, 0, 449, 0, 492, 631, 489, 632, 492, 630,
496, 0, 185, 600, 601, 0, 598, 0, 0, 604,
0, 341, 307, 316, 318, 435, 353, 356, 236, 380,
385, 397, 395, 399, 437, 262, 264, 608, 151, 98,
99, 99, 108, 0, 0, 486, 0, 491, 0, 506,
599, 607, 606, 0, 0, 0, 0, 535, 80, 81,
0, 0, 457, 492, 497, 0, 343, 430, 414, 0,
588, 454, 451, 0, 490, 199, 609, 458, 0, 0,
509, 510, 507, 199, 508, 0, 0, 0
};
static const short yydefgoto[] = { 1716,
23, 24, 178, 724, 179, 939, 940, 452, 707, 471,
460, 461, 462, 463, 721, 979, 1239, 1226, 980, 981,
982, 1235, 1414, 1415, 1416, 1241, 1253, 1247, 1248, 1249,
1231, 719, 1217, 1218, 1219, 1535, 464, 465, 162, 51,
1220, 1221, 709, 1540, 25, 251, 453, 454, 929, 1206,
696, 46, 1210, 1389, 26, 27, 60, 264, 265, 150,
151, 152, 190, 191, 192, 612, 397, 869, 1129, 399,
821, 889, 400, 861, 401, 737, 738, 862, 753, 1015,
1130, 481, 1558, 482, 993, 1692, 1590, 418, 419, 256,
1261, 1442, 1152, 996, 1438, 1444, 1637, 1404, 1564, 475,
666, 670, 1643, 1696, 1710, 1711, 266, 997, 28, 476,
184, 242, 134, 29, 58, 30, 120, 53, 243, 244,
442, 685, 443, 686, 692, 923, 925, 918, 919, 926,
1199, 1384, 31, 412, 32, 33, 62, 163, 198, 195,
34, 175, 35, 247, 36, 59, 143, 144, 37, 38,
39, 644, 167, 906, 1263, 1449, 1450, 1452, 1572, 1573,
1688, 402, 1541, 403, 687, 688, 1440, 1639, 405, 466,
483, 414, 678, 1188, 118, 40, 171, 72, 237, 238,
674, 239, 41, 168, 68, 204, 205, 649, 42, 43,
119, 44, 70, 170, 222, 223, 224, 422, 421, 423,
426, 659, 1189, 1190, 652, 909, 910, 1378
};
static const short yypact[] = { 7558,
-32768, 10, 140, 50, -3,-32768,-32768,-32768, 47,-32768,
50, -23, 159, 25, 25,-32768,-32768,-32768, 95, 15433,
-32768,-32768, 219,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768, 12912,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768, 111, 13486, 15433,-32768, 15433,
162,-32768, 166, 15433, 175, 15433, 175, 50, 205, -24,
13486, 265, 13486,-32768, 160,-32768,-32768,-32768,-32768, 188,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 188, 50,
-32768, 15433,-32768,-32768, -76, 13486,-32768,-32768,-32768, 15433,
13486, 161, 226, 13486,-32768, 15433, 10,-32768,-32768,-32768,
-32768,-32768, -27,-32768,-32768,-32768,-32768,-32768,-32768, -19,
-24,-32768,-32768, 233, 225,-32768,-32768,-32768,-32768, 253,
233, 286,-32768, 252,-32768,-32768, 299, 13486,-32768, 4928,
129, 4928, 13068,-32768, 15015, 15433,-32768, 75, 255, 277,
259, 13486,-32768, 81,-32768,-32768, 13068, 205,-32768, -50,
-32768, 12076,-32768, 151,-32768, 13486, 15433, 233,-32768, 13486,
13617, 250, 58, 92,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 296, 305,-32768,-32768,-32768,-32768,-32768,-32768,
-32768, 311, 107,-32768, 309, 424, 433, 434, 22,-32768,
-32768, 436,-32768,-32768,-32768,-32768, 124,-32768, 439, 339,
13486,-32768, -105,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
168, 12363, 121, 13486, 12076, 262,-32768, 13486, -105,-32768,
12494, 335,-32768,-32768, 369, 379, 134, 135, 136, 137,
145, 148, 149, 150, 172, 174, 178, 227, 258, 12076,
-32768,-32768,-32768,-32768,-32768,-32768, 263, 316, 316, 316,
264, 266, 267, 269, 281, 284, 294, 295, 297, 298,
302, 303, 304, 308, 310, 312, 313, 314, 317, 318,
328, 329, 330, 331, 332, 333, 334, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 358,
360, 364, 368, 370, 371, 372, 375, 376, 377, 380,
381, 383, 384, 385, 387, 389, 398, 399, 400, 401,
402, 404, 405, 406, 408, 409, 413, 414, 415, 416,
417, 418, 421, 422, 423, 425, 426, 429, 430, 431,
432, 435, 437, 438, 440, 442, 444, 445, 446, 448,
453, 456, 460, 462, 463, 465, 466, 467, 468, 469,
471, 12076, 12076, 12076, 15433, 15433,-32768, 13893,-32768,-32768,
-32768, 461,-32768,-32768,-32768, 198,-32768, 253,-32768,-32768,
253, -67, 568, 270,-32768,-32768,-32768, 15433, 108, 13486,
472, 472, 472,-32768,-32768, 472, 13199, 748, 38, 55,
-21, -21, -79, 15171, 69, 129, 427, 13199,-32768,-32768,
13617,-32768, 31, 501, 506, 525, 525, 525, 88, 100,
237,-32768, 307,-32768, 15433, 473,-32768,-32768, 15433, -13,
-32768, 71, 524, 15433,-32768,-32768, 470,-32768,-32768,-32768,
496,-32768, 13893, -21,-32768,-32768,-32768,-32768, 12494, 15433,
39,-32768, 762, 481,-32768,-32768,-32768,-32768, 443,-32768,
-32768,-32768,-32768, 12076, 12076, 12076, 12076, 12076, 12076, 12076,
547,-32768, 461, 461, 461, 12076, 12076, 12076, 12076, 12076,
12076,-32768, 12076,-32768, 12076,-32768, 12076, 12076, 12076, 378,
10641, 474, 12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076,
12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076,
12076, 12076, 12076, 12076, 12076, 12076, 316, 12076, 12076, 12076,
12076, 12076, 10928, 12076, 12076, 12076, 12076, 12076, 12076, 12076,
12076, 12076, 12076, 11215, 12076, 12076, 12076, 12076, 475, 12076,
12076, 12076, 11502, 12076, 12076, 12076, 12076, 12076, 12076, 12076,
12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076,
12076, 12076, 12076, 12076, 10354, 12076, 12076, 316, 11789, 477,
478, 12076, 12076, 479, 479, 479, 547, 4295, 547, 12076,
476, 711, 12076, 12076, 12076, 12076, 12076, 12076, 224, 12076,
12076, 12076, 482, 12076, 12076, 4, 12076, 12076, 12076, 12076,
12076, 12076, 12076, 12076, 12076,-32768, 14597, 233,-32768, 13617,
-32768, 12076, 15433, -17,-32768,-32768, 655,-32768,-32768,-32768,
15433,-32768,-32768,-32768,-32768, 483,-32768, 484, 672,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768, 486,-32768,-32768,-32768,-32768, 480, 796,-32768,
-32768,-32768,-32768, 735, 13617, 16,-32768,-32768,-32768,-32768,
492,-32768, 561, 806,-32768,-32768, 15433, 15433, 669, 670,
15433, 15433, 13486,-32768,-32768,-32768,-32768, 168,-32768,-32768,
12076,-32768, 66, 12363, 671, 674,-32768, 13486,-32768, 498,
1798, 15433, 667, 504,-32768, 41, 13330, 739, 13330, 13330,
576, 713, 13330, 752,-32768,-32768, 510, 12076, 511, 512,
513, 514, 515, 516, 1716, 1727, 1744, 1979, 1990, 2103,
4305, 517, 12076, 4462, 4568, 4578, 4590, 912, 4629, 518,
4735, 520, 4745, 521, 2114, 4905, 4923,-32768,-32768, 5029,
-32768, 2125, 2142, 2153, 5068, 5078, 5095, 5240, 5352, 5409,
5467, 5516, 5579, 5644, 5694, 2267, 2398, 2504, 1173, 5751,
2522, 5806, 2544, 5921, 1199, -83, 5939, 2561, 2673, 2692,
5978,-32768, 6084, 6094, 2715, 6133, 2839, 6257, 6371, 2884,
6410, 3008, 3030,-32768, 6420, 6534, 6544, 3050, 3158,-32768,
14003,-32768, 3175, 6583,-32768, 6696, 6821, 3200, 3219, 6860,
3325, 1333, 3369, 6870, 6976, 7015, 7032, 7144, 7187, 7294,
3493, 1569, 3536, 7355, 7461, 3643, 7471, 12076, 12076, 12076,
4171, 3660, 7521, -81,-32768, 7628,-32768,-32768, 1581, 7756,
523,-32768, 526, 528,-32768, 631, 15433, 15302,-32768, -1,
-1, -1, -1, -1, -1, 737,-32768, -40, -40, 10152,
-32768, 789, -1, 535, 12076, 12076, 12076, 14342, 14025,-32768,
26, 34, -37, -37, 547, 547, 547,-32768, 529,-32768,
849, 13893, 531,-32768,-32768, 776,-32768,-32768, 37,-32768,
544, 14728, 15171, 706, 15171, -79, 15171, 540,-32768, 855,
-32768, 13617, -24,-32768, 543,-32768, 858, -21, 12363, 57,
-32768, 15433,-32768,-32768, 48,-32768,-32768, 7795,-32768,-32768,
66,-32768, 550,-32768, -66, 15433,-32768,-32768, 164,-32768,
553, -68, 554,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 555,-32768,-32768,-32768,
-32768,-32768, 557, 680, 558, 559,-32768, 560, 153, 563,
560, 565,-32768,-32768, 15433,-32768, 630, 13330,-32768,-32768,
713,-32768, 802,-32768, 838, 774, 834,-32768, 13893,-32768,
-32768,-32768,-32768,-32768,-32768, 12076, 12076, 12076,-32768, 12076,
-32768,-32768,-32768, 13893, 578,-32768,-32768,-32768,-32768,-32768,
12076,-32768,-32768,-32768,-32768,-32768,-32768, 12076,-32768,-32768,
-32768, 12076, 651, 656,-32768,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768, 749,-32768, 750,-32768, 12076,
-32768,-32768,-32768, 755,-32768,-32768, 12076, 756,-32768, 12076,
12076,-32768,-32768,-32768,-32768, 12076,-32768, 12076,-32768,-32768,
12076,-32768,-32768, 12076,-32768,-32768,-32768, 12076, 12076, 12076,
12076, 12076, 12076, 12076, 12076, 247, 12076, 12076, 12076, 12076,
12076, 12076, 0, 12076, 12076, 12076, 12076, 12076, 12076, 12076,
12076, 12076, 12076,-32768,-32768,-32768, 12076, 12076,-32768, 12076,
-32768, 12076, 12076,-32768,-32768,-32768,-32768,-32768,-32768,-32768,
12076, 12076, 12076, 12076,-32768,-32768, 12076,-32768, 13893, 835,
836, 837, 12076,-32768, 12076,-32768, 760,-32768,-32768, 12076,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 593,
763,-32768,-32768, 789, -1, 14131, 12076, 12076, 12076, 12076,
12076, 12076, 256, 12076, 12076, 12076, 595, 12076, 12076, 5,
12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076, 12076, 14884,
12076, 15433, 791,-32768, 15433,-32768,-32768, 676, -95,-32768,
608,-32768,-32768, 609, 13617, 12076,-32768, -19, 12076, 492,
68,-32768, 84, 875, 876, 13748,-32768,-32768,-32768,-32768,
-32768,-32768, 15433, 49, 146, 15433,-32768, 184,-32768, 45,
70, 614, 777,-32768,-32768, 615, 785,-32768,-32768, 786,
-32768, 787, 788, 790, 183,-32768, 799, 800, 621, 801,
183, 306, 845,-32768, 809,-32768,-32768, 153,-32768, 804,
183, 807, 183, 62, 852,-32768, 882, 13330, 12650,-32768,
856, 207, 878, 3686, 7805, 7911, 652, 3704, 654, 12076,
7950, 3810, 7967, 12076, 12076, 657, 658, 659, 8079, 660,
661, 8122, 665, 8229, 8290, 662, 8396, 1592, 3854, 668,
8406, 8456, 8563, -1, -1, -1, -1, -1, -1, 867,
-32768, -40, -40, 10152, 8691, 789, -1, 12076, 12076, 12076,
14342, 14149, 26, 34, -37, -37, 547, 547, 547, 8730,
8740, 3978, 8846, 8885, 4021, 8902, 4189, 1705, 4128, 9014,
12076, 12076, 12076, 9057, 9164, 673, 9225,-32768,-32768, 677,
-32768, 12076, -1, -1, -1, -1, -1, -1, 868,-32768,
-40, -40, 10152,-32768, 789, -1, 681, 12076, 12076, 12076,
14342, 14171, 26, 34, -37, -37, 547, 547, 547,-32768,
-32768, 13893, 13486,-32768, 939, 916, 15171,-32768,-32768,-32768,
13893, -65, 13893, 64,-32768,-32768, 15433,-32768,-32768,-32768,
306,-32768, 72,-32768,-32768, 67, 67, 79,-32768,-32768,
15433,-32768,-32768,-32768, 840, 151, 682, 684, 686, 687,
85,-32768,-32768,-32768, 183,-32768, 690, 692, 151, 688,
-32768, 316, 316, 316,-32768,-32768,-32768,-32768, 694,-32768,
695,-32768,-32768, 907, 13330, 884,-32768, 696, 461, 70,
-32768, 12076, 951, 828, 968, 970, 960, 972, 207,-32768,
196,-32768, 12076,-32768,-32768,-32768, 12076,-32768, 13893,-32768,
12076,-32768, 13837, 13837,-32768,-32768,-32768,-32768,-32768,-32768,
-32768, 872,-32768,-32768,-32768,-32768,-32768, 12076, 12076,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 789, -1, 14277, 12076,
-32768,-32768, 12076,-32768,-32768, 12076,-32768, 12076,-32768,-32768,
12076, 12076,-32768, 9331, 9341, 9391,-32768,-32768, 874,-32768,
-32768, 10152,-32768, 708,-32768,-32768, 789, -1, 14287, 12076,
834, 877, 920,-32768,-32768,-32768, 12076,-32768,-32768, 524,
-32768,-32768, 986, 56,-32768,-32768, 184, 70, 712, 87,
-32768,-32768, 886,-32768,-32768,-32768, 885,-32768, 888, 889,
91,-32768, 886, 890, 13330,-32768, 12076, 910, 12650,-32768,
13893, 12781, 68, 775, 151, 151, 994, 151,-32768, 996,
997, 196,-32768, 4145, 9498, 9626,-32768,-32768,-32768,-32768,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 729,
730, 731, 9665, 9675,-32768, 12076, 10152, 9781, 9820, 9837,
9949, 9992,-32768,-32768,-32768, 732,-32768, 761,-32768, 12076,
10152, 878,-32768,-32768, 13893,-32768,-32768,-32768,-32768,-32768,
-32768,-32768,-32768, 151,-32768, 766, 768, 771,-32768,-32768,
772, 959, 13893, 751, 70,-32768, 773, 461, 70,-32768,
781, 15433,-32768,-32768,-32768, 151,-32768, 151, 151,-32768,
12076,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 10152,-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 10152, 993,-32768,-32768,
183, 183,-32768, 12076, 15433,-32768, 12781,-32768, 68,-32768,
-32768,-32768,-32768, 10099, 783, 793, 942, 778,-32768,-32768,
648, 98,-32768, 70,-32768, 792,-32768,-32768,-32768, 1003,
-32768,-32768,-32768, 15433,-32768,-32768,-32768,-32768, 12076, 102,
-32768, 13893,-32768,-32768,-32768, 1093, 1102,-32768
};
static const short yypgoto[] = {-32768,
-32768,-32768,-32768,-32768,-32768,-32768, 163, -682,-32768,-32768,
-32768, -701,-32768, -101,-32768,-32768,-32768,-32768, 157,-32768,
-32768,-32768, -1209,-32768, -304, 131,-32768,-32768,-32768, -135,
-1411, -415, -421,-32768, -100, -280,-32768, 675,-32768,-32768,
-967, -281, -457, -298,-32768,-32768,-32768, 419,-32768,-32768,
-223, 985,-32768,-32768,-32768, 1088,-32768,-32768, -263, 202,
-32768, 975, -70, 879, -1517,-32768,-32768,-32768, -26,-32768,
-32768, -883, -493, -233,-32768, -439,-32768, -303,-32768,-32768,
-427, 685,-32768, -672, 139,-32768, -327, 691, 663, -318,
-32768,-32768, -1146,-32768,-32768,-32768,-32768, -1431,-32768,-32768,
-434, -384,-32768,-32768,-32768, -570, 894,-32768,-32768,-32768,
-32768, 3, 1097,-32768,-32768,-32768,-32768, 78, 974, 922,
908,-32768, -522,-32768,-32768,-32768,-32768,-32768, -8, -32,
-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, -310, -142,
-32768,-32768,-32768,-32768,-32768,-32768,-32768, 981,-32768,-32768,
-32768,-32768,-32768,-32768, -350,-32768, -277, -438,-32768, -397,
-32768, -266, -169, -1171, 254, 998, -371, -488, -199,-32768,
-14, -20, 276, 758,-32768,-32768,-32768,-32768,-32768, 759,
278,-32768,-32768,-32768, 1182,-32768, 779,-32768,-32768,-32768,
-32768,-32768,-32768, 1079, 1028,-32768, 784,-32768,-32768,-32768,
-32768, 764, 301, -176, -73,-32768, 29,-32768
};
#define YYLAST 15691
static const short yytable[] = { 117,
681, 413, 487, 1156, 261, 248, 720, 1341, 1560, 620,
621, 440, 942, 145, 125, 146, 147, 1254, 199, 261,
124, 503, 504, 505, 407, 433, 125, 128, 262, 129,
941, 1421, 127, 132, 1214, 135, 620, 621, 1376, 1215,
125, 1430, 125, 1432, 620, 621, 153, 671, 165, 740,
741, 742, 743, 744, 987, 410, 989, 990, 904, 690,
994, 416, 728, 626, 728, 164, 626, 636, 255, 636,
1425, 672, 760, 54, 762, 148, 822, 1228, 444, 729,
445, 729, 1204, 884, 1357, 45, 1229, 1308, 63, 725,
661, 885, 1358, 641, 1309, 1208, 417, 638, 886, 1359,
639, 174, 626, 416, 1387, 125, 1621, 663, 1618, 180,
125, 177, 1402, 125, 1531, 186, 165, 1394, 55, 165,
730, 680, 730, 1403, 64, 56, 667, 668, 669, 626,
882, 1625, 715, 181, 890, 137, 185, 626, 417, 1395,
731, 1630, 731, 695, 1209, 66, 67, 125, 52, 699,
-475, 1388, 125, 203, 249, 250, -475, 691, 165, 1486,
1619, 125, 734, 1532, 457, 398, 125, 257, 61, 1533,
1396, 406, 165, 1205, 255, 125, 409, 1397, 673, 125,
444, 408, 445, 1534, 662, 411, 446, 447, 1709, 448,
1310, 451, -475, 449, 887, 1360, 1709, 173, 752, 57,
646, 71, 664, 1676, 665, 1242, 647, 1678, 1515, 65,
441, 1312, 764, 716, 717, 664, 664, 665, 665, 1529,
125, 121, 1377, 697, 698, 702, 165, 1203, 473, 458,
700, 467, 126, 125, 1058, 131, 1137, 125, 130, 472,
125, 689, 648, 165, 166, 1393, 176, 1230, 1398, 1216,
640, 905, 263, 501, 434, 133, 1243, 1244, 941, 169,
477, 47, 1705, 450, 1445, 1446, 182, 263, 48, 631,
632, 633, 634, 635, 633, 634, 635, 468, 469, 138,
796, 149, 225, 49, 1214, 732, 183, 732, 1362, 1215,
188, 139, 189, 451, 196, 1245, 140, 1246, 226, 704,
705, 245, 246, 713, 714, 470, 629, 630, 631, 632,
633, 634, 635, 1570, 1447, 1256, 154, 1223, 1571, 1224,
194, 155, 197, 141, 958, 142, 706, 876, 877, 1448,
156, 854, 921, 922, 630, 631, 632, 633, 634, 635,
1595, 157, 50, 631, 632, 633, 634, 635, 653, 654,
1300, 1301, 655, 1184, 1185, 200, 733, 986, 733, 1349,
1350, 1400, 1401, 1412, 1413, 607, 608, 609, 201, 227,
1609, 863, 864, 228, 610, 611, 202, 158, 1433, 1401,
1526, 1527, 254, 159, 253, 160, 229, 424, 1530, 1401,
252, 1154, 161, 890, 255, 1537, 1401, 645, 258, 125,
415, 1546, 1547, 1623, 1624, 203, 658, 1629, 1624, 420,
281, 425, 657, 677, 1703, 1704, 427, 658, 1713, 1714,
406, 1131, 1132, 657, 428, 429, 1489, 430, 230, 231,
232, 233, 234, 235, 710, 236, 431, 432, 712, 435,
901, 436, 437, 710, 438, 474, 484, 262, 261, 488,
489, 490, 491, 282, 283, 284, 285, 286, 125, 727,
492, 1689, 1690, 493, 494, 495, 285, 745, 746, 747,
748, 749, 750, 751, 1207, 1422, 1519, 1423, 1424, 754,
755, 756, 757, 758, 759, 920, 761, 496, 763, 497,
765, 766, 767, 498, 770, 900, 772, 773, 774, 775,
776, 777, 778, 779, 780, 781, 782, 783, 784, 785,
786, 787, 788, 789, 790, 791, 792, 793, 794, 795,
637, 797, 798, 799, 800, 801, 803, 804, 805, 806,
807, 808, 809, 810, 811, 812, 813, 815, 816, 817,
818, 819, 499, 1202, 823, 824, 826, 827, 828, 829,
830, 831, 832, 833, 834, 835, 836, 837, 838, 839,
840, 841, 842, 843, 844, 845, 846, 847, 851, 852,
853, 642, 856, 500, 683, 859, 860, 1150, 502, 506,
695, 507, 508, 866, 509, 1436, 870, 871, 872, 873,
874, 875, 643, 878, 879, 880, 510, 1306, 883, 511,
888, 890, 891, 892, 893, 894, 895, 896, 897, 512,
513, 636, 514, 515, 693, 902, 899, 516, 517, 518,
694, 718, 903, 519, 708, 520, 723, 521, 522, 523,
908, 736, 524, 525, 613, 614, 615, 616, 617, 618,
619, 620, 621, 526, 527, 528, 529, 530, 531, 532,
626, 613, 614, 615, 616, 617, 618, 619, 620, 621,
533, 534, 535, 536, 537, 538, 539, 540, 541, 542,
543, 544, 622, 545, 1355, 546, 930, 931, 890, 547,
934, 935, 125, 548, 938, 549, 550, 551, 936, 622,
552, 553, 554, 467, 768, 555, 556, 125, 557, 558,
559, 983, 560, 945, 561, 1267, 125, 1269, 125, 125,
623, 999, 125, 562, 563, 564, 565, 566, 624, 567,
568, 569, 689, 570, 571, 625, 1014, 623, 572, 573,
574, 575, 576, 577, 626, 624, 578, 579, 580, 627,
581, 582, 625, 1277, 583, 584, 585, 586, 1280, 868,
587, 626, 588, 589, 739, 590, 627, 591, 1286, 592,
593, 594, 1556, 595, -475, 416, 1386, 206, 596, 1290,
207, 597, 208, 209, 210, 598, 211, 599, 600, 212,
601, 602, 603, 604, 605, -475, 606, 651, 711, 907,
771, 820, 722, 857, 858, -423, 913, 881, 867, 916,
417, 914, -475, 915, 917, 911, 912, 924, 927, 928,
932, 933, 943, 946, 1487, 944, 890, 984, 214, 985,
988, 628, 991, 992, 215, 995, 998, 1000, 1001, 1002,
1003, 1004, 1005, 1013, 1023, -475, 1025, 1027, 628, 1142,
-475, 1149, 1143, -475, 1144, 216, 1146, 1148, 1151, 1340,
1153, 1180, 1181, 1182, 1183, 1186, 1191, 1195, 1196, 1155,
1200, 1201, 1236, -475, 1517, 1213, 890, -475, 1227, 1232,
1233, -475, 1234, 1237, 1238, 1240, 1255, -475, 1250, 217,
1252, -475, 1632, 1258, 1259, 218, 219, 220, 221, 1260,
1262, 250, 677, 1274, 677, 1270, 677, -475, 1275, 1276,
1278, 406, 1281, 1283, 1331, 1332, 1333, 1336, 467, 1338,
1354, 710, 1373, 1339, 1375, 613, 614, 615, 616, 617,
618, 619, 620, 621, 1379, 1222, 1377, 1390, 1391, 1405,
1406, 1229, 1407, 1408, 1409, 1410, 1419, 1411, 629, 630,
631, 632, 633, 634, 635, -475, 1417, 1418, 1420, 1426,
1427, 1429, 1145, 622, 1431, 629, 630, 631, 632, 633,
634, 635, 1434, 1435, 1222, 1443, 1451, 125, 1456, 1702,
1458, 1484, 1513, 1465, 1466, 1467, 1469, 1470, 1475, 1264,
1265, 1266, 1472, 1268, 1480, 1522, 1523, 1539, 1555, 1557,
1509, 623, 1439, 1511, 1271, 920, 1516, 1562, 1542, 624,
1543, 1272, 1544, 1545, 1552, 1273, 625, 1549, -475, 1550,
1553, 1563, 1554, 1559, 1565, 626, 1566, 1567, 1568, 1592,
627, 1606, 1617, 1279, 1607, -475, 1614, 1613, 1622, 1634,
1282, 1228, 1626, 1284, 1285, 1627, 1628, 1631, 1642, 1287,
1646, 1288, 1648, 1649, 1289, 1654, 1655, 1291, 1656, 1665,
1514, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1441,
1302, 1303, 1304, 1305, 1674, 1307, 1675, 1311, 1687, 1313,
1314, 1315, 1316, 1317, 1318, 1319, 1320, 1666, -475, -475,
1321, 1322, 1670, 1323, 1671, 1324, 1325, 1672, 1673, 1700,
1677, 1707, 1717, 441, 1326, 1327, 1328, 1329, 1679, 1698,
1330, 1718, 628, 1212, 1392, 1225, 1334, 1706, 1335, 1699,
1548, 1251, 1428, 1337, 1616, 1620, 1536, 1399, 1525, 1538,
1551, 187, 123, 701, 1198, 193, 937, 1382, 1641, 1257,
1343, 1344, 1345, 1346, 1347, 1348, 1591, 1351, 1352, 1353,
703, 485, 1356, 1715, 1361, 735, 1363, 1364, 1365, 1366,
1367, 1368, 1369, 136, 1372, 503, 504, 505, 486, 1371,
259, 1371, 439, 726, 908, 1701, 478, 1385, 260, 1381,
1612, 1569, 1383, 1668, 1650, 1197, 613, 614, 615, 616,
617, 618, 619, 620, 621, 467, 1380, 1635, 1694, 404,
1192, 679, 1222, 1193, 682, 1222, 69, 172, 650, 240,
1524, 684, 613, 614, 615, 616, 617, 618, 619, 620,
621, 660, 1608, 1374, 622, 0, 1685, 1194, 0, 629,
630, 631, 632, 633, 634, 635, 0, 0, 1020, 1021,
0, 0, 0, 0, 0, 0, 0, 125, 0, 0,
622, 0, 0, 1459, 1695, 0, 0, 1463, 1464, 0,
0, 0, 623, 0, 0, 0, 0, 0, 0, 0,
624, 0, 0, 0, 0, 0, 0, 625, 0, 0,
0, 0, 0, 0, 0, 0, 626, 0, 623, 0,
0, 627, 1488, 0, 0, 0, 624, 0, 0, 0,
0, 0, 1439, 625, 0, 1638, 0, 0, 0, 0,
0, 0, 626, 0, 1504, 1505, 1506, 627, 0, 0,
0, 0, 0, 0, 0, 1512, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1518, 0, 0, 0, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 0, 0, 0,
0, 0, 125, 0, 0, 0, 677, 0, 1521, 1441,
0, 1686, 1640, 628, 0, 0, 1528, 0, 0, 0,
0, 0, 0, 0, 622, 0, 0, 0, 0, 0,
1222, 0, 0, 0, 0, 0, 0, 0, 0, 628,
0, 0, 0, 0, 0, 1644, 1645, 0, 1647, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1638, 0, 623, 0, 125, 1561, 0, 0, 0, 0,
624, 0, 0, 0, 0, 0, 1574, 625, 0, 0,
1575, 0, 0, 0, 1576, 0, 626, 0, 0, 0,
0, 627, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1593, 1594, 0, 1669, 0, 0, 0, 0, 0,
0, 0, 0, 1597, 0, 0, 1598, 0, 0, 1599,
0, 1600, 0, 0, 1601, 1602, 1681, 1640, 1682, 1683,
629, 630, 631, 632, 633, 634, 635, 0, 0, 1049,
1050, 0, 0, 1611, 0, 0, 0, 0, 0, 0,
1615, 0, 0, 0, 0, 0, 629, 630, 631, 632,
633, 634, 635, 0, 0, 1056, 1057, 0, 0, 0,
0, 0, 0, 628, 0, 0, 0, 0, 0, 0,
1633, 0, 0, 0, 125, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1659,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 1667, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
622, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 1680, 622, 0, 1684, 0, 0, 0, 0, 0,
0, 0, 0, 622, 0, 0, 0, 0, 1122, 0,
629, 630, 631, 632, 633, 634, 635, 1691, 623, 1111,
1112, 0, 0, 0, 1693, 0, 624, 0, 0, 0,
623, 0, 0, 625, 0, 0, 0, 0, 624, 0,
0, 623, 626, 0, 0, 625, 0, 627, 0, 624,
0, 0, 1712, 1708, 626, 0, 625, 0, 0, 627,
0, 0, 0, 0, 0, 626, 0, 0, 0, 0,
627, 0, 0, 0, 0, 0, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 0, 0, 622, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 622, 0, 628,
0, 0, 0, 0, 0, 0, 0, 0, 622, 0,
0, 628, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 628, 0, 623, 622, 0, 0, 0, 0,
0, 0, 624, 0, 0, 623, 0, 0, 0, 625,
0, 0, 0, 624, 0, 0, 623, 0, 626, 0,
625, 0, 0, 627, 624, 0, 0, 0, 0, 626,
0, 625, 0, 623, 627, 0, 0, 0, 0, 0,
626, 624, 0, 0, 0, 627, 0, 0, 625, 0,
0, 947, 0, 948, 0, 0, 0, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 629, 630, 631, 632,
633, 634, 635, 949, 0, 0, 1123, 0, 629, 630,
631, 632, 633, 634, 635, 628, 0, 1139, 1140, 629,
630, 631, 632, 633, 634, 635, 628, 0, 1477, 1478,
0, 0, 0, 0, 950, 0, 0, 628, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 628, 0, 0, 0, 0, 0,
0, 0, 0, 951, 0, 0, 0, 0, 0, 0,
0, 952, 0, 953, 954, 955, 956, 957, 958, 959,
960, 961, 962, 963, 964, 965, 966, 967, 968, 969,
970, 971, 972, 973, 974, 975, 976, 977, 0, 0,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 978, 0, 0, 0,
0, 0, 629, 630, 631, 632, 633, 634, 635, 0,
622, 1500, 1501, 629, 630, 631, 632, 633, 634, 635,
0, 622, 0, 1006, 629, 630, 631, 632, 633, 634,
635, 0, 0, 0, 1007, 0, 0, 0, 0, 0,
0, 629, 630, 631, 632, 633, 634, 635, 623, 0,
0, 1008, 0, 0, 0, 0, 624, 0, 0, 623,
0, 0, 0, 625, 0, 0, 0, 624, 0, 0,
0, 0, 626, 0, 625, 0, 0, 627, 0, 0,
0, 0, 0, 626, 0, 0, 0, 0, 627, 0,
0, 0, 0, 0, 0, 0, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 0, 0, 0, 622, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 622, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 622, 0, 0, 628,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628, 0, 623, 622, 0, 0, 0, 0, 0, 0,
624, 0, 0, 623, 622, 0, 0, 625, 0, 0,
0, 624, 0, 0, 623, 0, 626, 0, 625, 0,
0, 627, 624, 0, 0, 0, 0, 626, 0, 625,
0, 623, 627, 0, 0, 0, 0, 0, 626, 624,
0, 0, 623, 627, 0, 0, 625, 0, 0, 0,
624, 0, 0, 0, 0, 626, 0, 625, 0, 0,
627, 0, 0, 0, 0, 0, 626, 0, 0, 0,
0, 627, 0, 0, 0, 0, 0, 0, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 0, 0, 629, 630, 631, 632,
633, 634, 635, 628, 0, 0, 1009, 629, 630, 631,
632, 633, 634, 635, 628, 0, 0, 1010, 622, 0,
0, 0, 0, 0, 0, 628, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 628, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 628, 0, 0, 623, 0, 0, 0,
0, 0, 0, 0, 624, 0, 0, 0, 0, 0,
0, 625, 0, 0, 0, 0, 0, 0, 0, 0,
626, 0, 0, 0, 0, 627, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
629, 630, 631, 632, 633, 634, 635, 0, 0, 0,
1011, 629, 630, 631, 632, 633, 634, 635, 0, 0,
0, 1028, 629, 630, 631, 632, 633, 634, 635, 622,
0, 0, 1032, 0, 0, 0, 0, 0, 0, 629,
630, 631, 632, 633, 634, 635, 0, 628, 0, 1033,
629, 630, 631, 632, 633, 634, 635, 0, 0, 0,
1034, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 0, 0, 0, 0, 624, 0, 0, 0, 0,
0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
0, 626, 0, 0, 0, 0, 627, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 622, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 622, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 629, 630, 631, 632, 633, 634,
635, 0, 0, 623, 1046, 622, 0, 0, 628, 0,
0, 624, 0, 0, 0, 0, 0, 0, 625, 0,
0, 623, 622, 0, 0, 0, 0, 626, 0, 624,
0, 0, 627, 0, 0, 0, 625, 0, 0, 0,
0, 0, 0, 623, 0, 626, 0, 0, 0, 0,
627, 624, 0, 0, 0, 0, 0, 0, 625, 0,
623, 0, 0, 0, 0, 0, 0, 626, 624, 0,
0, 0, 627, 0, 0, 625, 0, 0, 0, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 0, 0, 0,
0, 0, 0, 0, 628, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 629, 630, 631, 632, 633,
634, 635, 628, 0, 622, 1047, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 0, 0, 622, 628, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 623, 0, 0, 0, 622, 0, 0, 0,
624, 0, 0, 0, 0, 0, 0, 625, 0, 0,
0, 623, 0, 0, 0, 0, 626, 0, 0, 624,
0, 627, 0, 0, 0, 0, 625, 0, 0, 0,
0, 0, 0, 0, 623, 626, 0, 0, 0, 0,
627, 0, 624, 0, 0, 0, 0, 0, 0, 625,
0, 629, 630, 631, 632, 633, 634, 635, 626, 0,
0, 1048, 0, 627, 0, 0, 0, 0, 0, 629,
630, 631, 632, 633, 634, 635, 0, 0, 0, 1052,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 629, 630, 631, 632, 633, 634, 635, 0, 0,
0, 1054, 0, 628, 0, 0, 0, 0, 629, 630,
631, 632, 633, 634, 635, 0, 0, 0, 1060, 0,
622, 0, 628, 0, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 0, 0, 628, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 623, 0,
0, 0, 0, 0, 0, 622, 624, 0, 0, 0,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 0, 0, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 623, 0, 0, 0, 0, 0, 0,
0, 624, 0, 0, 0, 0, 0, 0, 625, 0,
629, 630, 631, 632, 633, 634, 635, 626, 0, 0,
1061, 0, 627, 0, 0, 0, 0, 0, 0, 629,
630, 631, 632, 633, 634, 635, 0, 0, 0, 1062,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 629, 630, 631, 632, 633, 634, 635, 628,
0, 0, 1066, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 0, 622,
0, 0, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 0, 0,
0, 622, 0, 0, 628, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 622, 0, 0, 0, 624, 0, 0, 0, 0,
0, 0, 625, 0, 0, 0, 0, 0, 0, 623,
0, 626, 0, 0, 0, 0, 627, 624, 0, 0,
0, 0, 0, 0, 625, 0, 0, 0, 0, 623,
0, 0, 0, 626, 0, 0, 0, 624, 627, 0,
0, 0, 0, 0, 625, 0, 629, 630, 631, 632,
633, 634, 635, 626, 0, 0, 1068, 0, 627, 0,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 0, 0, 0, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 629, 630, 631, 632, 633, 634, 635, 628, 622,
0, 1071, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 622, 0, 0, 0,
628, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 623, 0, 0,
628, 622, 0, 0, 0, 624, 0, 0, 0, 0,
0, 0, 625, 0, 623, 0, 0, 0, 0, 0,
622, 626, 624, 0, 0, 0, 627, 0, 0, 625,
0, 0, 0, 0, 0, 0, 0, 0, 626, 623,
0, 0, 0, 627, 0, 0, 0, 624, 0, 0,
0, 0, 0, 0, 625, 0, 0, 0, 623, 0,
0, 0, 0, 626, 0, 0, 624, 0, 627, 0,
0, 0, 0, 625, 0, 629, 630, 631, 632, 633,
634, 635, 626, 0, 0, 1073, 0, 627, 613, 614,
615, 616, 617, 618, 619, 620, 621, 629, 630, 631,
632, 633, 634, 635, 0, 0, 0, 1074, 628, 0,
0, 0, 0, 0, 0, 0, 0, 629, 630, 631,
632, 633, 634, 635, 0, 628, 622, 1078, 0, 0,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 628,
622, 0, 624, 0, 0, 0, 0, 0, 0, 625,
0, 0, 0, 0, 0, 0, 0, 0, 626, 0,
0, 0, 0, 627, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 623, 0,
0, 0, 0, 0, 0, 0, 624, 0, 0, 0,
0, 0, 0, 625, 0, 629, 630, 631, 632, 633,
634, 635, 626, 0, 0, 1079, 0, 627, 0, 0,
0, 0, 629, 630, 631, 632, 633, 634, 635, 0,
0, 0, 1103, 0, 0, 0, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 629, 630, 631,
632, 633, 634, 635, 0, 628, 0, 1107, 0, 0,
0, 0, 0, 0, 0, 0, 629, 630, 631, 632,
633, 634, 635, 0, 622, 0, 1108, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 628,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 623, 0, 0, 0, 0, 622, 0, 0,
624, 0, 0, 0, 0, 0, 0, 625, 0, 0,
0, 0, 0, 0, 0, 0, 626, 0, 0, 0,
0, 627, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 623, 0, 0, 0, 0,
0, 0, 0, 624, 0, 0, 0, 0, 0, 0,
625, 0, 629, 630, 631, 632, 633, 634, 635, 626,
0, 0, 1110, 0, 627, 0, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 0, 0, 0,
0, 0, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 629, 630, 631, 632,
633, 634, 635, 628, 622, 0, 1113, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 622, 0, 0, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 623, 0, 0, 0, 628, 622, 0, 0,
624, 0, 0, 0, 0, 0, 0, 625, 0, 623,
0, 0, 0, 0, 0, 622, 626, 624, 0, 0,
0, 627, 0, 0, 625, 0, 0, 0, 0, 0,
0, 0, 0, 626, 0, 623, 0, 0, 627, 0,
0, 0, 0, 624, 0, 0, 0, 0, 0, 0,
625, 0, 0, 623, 0, 0, 0, 0, 0, 626,
0, 624, 0, 0, 627, 0, 0, 0, 625, 0,
629, 630, 631, 632, 633, 634, 635, 626, 0, 0,
1121, 0, 627, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 628, 0, 0, 0, 0, 0, 0,
0, 0, 0, 629, 630, 631, 632, 633, 634, 635,
628, 622, 0, 1124, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 628, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 628, 622, 0, 624, 0, 0,
0, 0, 0, 0, 625, 0, 0, 0, 0, 0,
0, 0, 0, 626, 0, 0, 0, 0, 627, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 623, 0, 0, 0, 0, 0, 0,
0, 624, 0, 0, 0, 0, 0, 0, 625, 0,
629, 630, 631, 632, 633, 634, 635, 626, 0, 0,
1127, 0, 627, 0, 0, 0, 0, 629, 630, 631,
632, 633, 634, 635, 0, 0, 0, 1135, 0, 0,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 629, 630, 631, 632, 633, 634, 635,
628, 0, 0, 1453, 0, 0, 0, 0, 0, 0,
0, 629, 630, 631, 632, 633, 634, 635, 0, 622,
0, 1457, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 628, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 0, 622, 0, 0, 624, 0, 0, 0, 0,
0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
0, 626, 0, 0, 0, 0, 627, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623, 0, 0, 0, 0, 0, 0, 0, 624, 0,
0, 0, 0, 0, 0, 625, 0, 629, 630, 631,
632, 633, 634, 635, 626, 0, 0, 1461, 0, 627,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 0, 0, 0, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 629, 630, 631, 632, 633, 634, 635, 628, 622,
0, 1479, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 622, 0, 0, 0,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 628, 622, 0, 0, 624, 0, 0, 0, 0,
0, 0, 625, 0, 623, 0, 0, 0, 0, 0,
622, 626, 624, 0, 0, 0, 627, 0, 0, 625,
1133, 0, 0, 0, 0, 0, 0, 0, 626, 0,
623, 0, 0, 627, 0, 0, 0, 0, 624, 0,
0, 0, 0, 0, 0, 625, 0, 0, 623, 0,
0, 0, 0, 0, 626, 0, 624, 0, 0, 627,
0, 0, 0, 625, 0, 629, 630, 631, 632, 633,
634, 635, 626, 0, 0, 1493, 0, 627, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 628, 0,
0, 0, 0, 0, 0, 0, 0, 0, 629, 630,
631, 632, 633, 634, 635, 628, 622, 0, 1496, 0,
0, 0, 0, 0, 0, 0, 622, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 628,
0, 0, 624, 0, 623, 0, 0, 0, 0, 625,
0, 0, 624, 0, 0, 0, 0, 0, 626, 625,
0, 0, 0, 627, 0, 0, 0, 0, 626, 0,
0, 0, 0, 627, 0, 0, 0, 0, 0, 0,
0, 1498, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 629, 630, 631, 632, 633,
634, 635, 0, 0, 0, 1502, 0, 0, 0, 0,
0, 0, 629, 630, 631, 632, 633, 634, 635, 0,
0, 0, 1651, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 629, 630,
631, 632, 633, 634, 635, 628, 0, 1134, 0, 0,
0, 0, 0, 0, 0, 628, 629, 630, 631, 632,
633, 634, 635, 622, 0, 1499, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 623, 0, 0, 0, 0, 0, 0, 0, 624,
0, 0, 0, 0, 0, 0, 625, 0, 0, 0,
0, 0, 0, 0, 0, 626, 0, 0, 0, 0,
627, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 629, 630, 631, 632, 633, 634, 635, 622,
0, 865, 629, 630, 631, 632, 633, 634, 635, 622,
0, 1012, 0, 0, 0, 0, 0, 0, 0, 0,
0, 622, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 0, 628, 0, 0, 624, 0, 623, 0, 0,
0, 0, 625, 0, 0, 624, 0, 0, 0, 623,
622, 626, 625, 0, 0, 0, 627, 624, 0, 0,
0, 626, 0, 0, 625, 0, 627, 0, 0, 0,
0, 0, 0, 626, 0, 0, 0, 0, 627, 0,
0, 0, 0, 0, 0, 0, 0, 0, 623, 0,
0, 0, 0, 0, 0, 0, 624, 0, 0, 0,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 0, 0, 627, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 628, 0,
0, 0, 0, 0, 0, 0, 0, 0, 628, 629,
630, 631, 632, 633, 634, 635, 622, 0, 1016, 0,
628, 0, 0, 0, 0, 0, 622, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 628,
0, 0, 624, 0, 623, 0, 0, 0, 0, 625,
0, 0, 624, 0, 0, 0, 0, 0, 626, 625,
0, 0, 0, 627, 0, 0, 0, 0, 626, 0,
0, 0, 0, 627, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 629, 630, 631, 632, 633,
634, 635, 0, 0, 1017, 629, 630, 631, 632, 633,
634, 635, 0, 0, 1018, 0, 0, 629, 630, 631,
632, 633, 634, 635, 0, 0, 1019, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 0, 0, 0, 0, 628, 613, 614, 615, 616,
617, 618, 619, 620, 621, 628, 629, 630, 631, 632,
633, 634, 635, 0, 0, 1022, 622, 206, 0, 0,
207, 0, 208, 209, 210, 0, 211, 0, 0, 212,
0, 0, 0, 0, 622, 213, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 0,
0, 0, 624, 0, 0, 0, 0, 0, 214, 625,
0, 0, 623, 0, 215, 0, 0, 0, 626, 0,
624, 0, 0, 627, 0, 0, 0, 625, 0, 0,
0, 0, 0, 0, 0, 216, 626, 0, 0, 0,
0, 627, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 629, 630, 631, 632, 633, 634, 635, 0,
0, 1024, 629, 630, 631, 632, 633, 634, 635, 217,
0, 1026, 0, 0, 0, 218, 219, 220, 221, 0,
622, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 0, 0, 628, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 623, 622,
0, 0, 0, 628, 0, 0, 624, 0, 0, 622,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 0, 622, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 0, 0, 0, 0, 624, 0, 623, 0, 0,
0, 0, 625, 0, 0, 624, 0, 0, 0, 0,
0, 626, 625, 0, 623, 0, 627, 0, 0, 0,
0, 626, 624, 0, 0, 0, 627, 0, 0, 625,
0, 0, 0, 0, 0, 0, 0, 0, 626, 0,
0, 0, 0, 627, 0, 0, 0, 0, 0, 0,
0, 0, 629, 630, 631, 632, 633, 634, 635, 628,
0, 1029, 0, 0, 0, 0, 0, 0, 0, 0,
629, 630, 631, 632, 633, 634, 635, 0, 0, 1030,
0, 0, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 628, 0,
0, 0, 0, 0, 0, 0, 0, 0, 628, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 622, 0, 0, 0, 628, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 0, 0, 0, 624, 0, 0,
0, 0, 0, 0, 625, 0, 629, 630, 631, 632,
633, 634, 635, 626, 0, 1031, 0, 0, 627, 0,
0, 0, 0, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 629, 630, 631, 632, 633,
634, 635, 0, 0, 1035, 629, 630, 631, 632, 633,
634, 635, 0, 622, 1036, 0, 0, 0, 0, 0,
0, 0, 629, 630, 631, 632, 633, 634, 635, 0,
0, 1037, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628, 623, 0, 0, 0, 0, 0, 0, 0, 624,
0, 0, 0, 0, 0, 0, 625, 0, 0, 0,
622, 0, 0, 0, 0, 626, 0, 0, 0, 0,
627, 0, 0, 0, 0, 0, 0, 0, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 0, 0, 0, 0, 623, 0,
0, 0, 0, 0, 0, 0, 624, 0, 0, 0,
0, 0, 0, 625, 0, 0, 0, 0, 622, 0,
0, 0, 626, 0, 0, 0, 0, 627, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 628, 0, 0, 0, 623, 629, 630, 631,
632, 633, 634, 635, 624, 0, 1038, 622, 0, 0,
0, 625, 0, 0, 0, 0, 0, 0, 0, 0,
626, 0, 0, 0, 0, 627, 0, 0, 0, 0,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 623, 0, 0, 0, 628,
0, 0, 0, 624, 0, 0, 0, 0, 0, 0,
625, 0, 0, 0, 0, 0, 0, 0, 0, 626,
622, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 628, 623, 629,
630, 631, 632, 633, 634, 635, 624, 0, 1039, 0,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 622, 0, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 628, 0, 0, 0,
0, 0, 0, 0, 0, 0, 629, 630, 631, 632,
633, 634, 635, 623, 0, 1040, 0, 0, 0, 0,
0, 624, 0, 0, 0, 622, 0, 0, 625, 0,
0, 0, 0, 0, 0, 0, 0, 626, 0, 0,
0, 0, 627, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 628,
0, 0, 0, 623, 629, 630, 631, 632, 633, 634,
635, 624, 0, 1041, 0, 0, 0, 0, 625, 0,
0, 0, 622, 0, 0, 0, 0, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 0, 0, 629, 630, 631, 632, 633, 634, 635,
623, 0, 1042, 0, 628, 0, 0, 0, 624, 0,
0, 0, 0, 0, 0, 625, 0, 622, 0, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 628, 623, 629, 630, 631, 632,
633, 634, 635, 624, 0, 1043, 0, 0, 0, 0,
625, 0, 0, 0, 0, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
0, 628, 613, 614, 615, 616, 617, 618, 619, 620,
621, 629, 630, 631, 632, 633, 634, 635, 0, 0,
1044, 0, 622, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
622, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 0, 0, 0, 628, 0, 0, 0,
623, 629, 630, 631, 632, 633, 634, 635, 624, 0,
1045, 0, 0, 0, 0, 625, 0, 0, 623, 622,
0, 0, 0, 0, 626, 0, 624, 0, 0, 627,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 0, 0, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 623, 629, 630,
631, 632, 633, 634, 635, 624, 0, 1051, 0, 0,
0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
0, 626, 0, 0, 0, 0, 627, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 628, 0, 629, 630, 631, 632, 633, 634, 635,
0, 0, 1053, 0, 0, 622, 0, 0, 0, 628,
0, 0, 0, 0, 0, 622, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 623, 0, 0, 0, 0, 628, 0,
0, 624, 0, 623, 622, 0, 0, 0, 625, 0,
0, 624, 0, 0, 0, 0, 0, 626, 625, 0,
0, 0, 627, 0, 0, 0, 0, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 0,
0, 0, 623, 0, 0, 0, 0, 0, 0, 0,
624, 0, 0, 0, 0, 0, 0, 625, 629, 630,
631, 632, 633, 634, 635, 0, 626, 1055, 0, 0,
0, 627, 0, 0, 0, 0, 629, 630, 631, 632,
633, 634, 635, 0, 0, 1059, 0, 0, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 628, 0, 0, 0, 0, 0,
0, 0, 0, 0, 628, 629, 630, 631, 632, 633,
634, 635, 0, 0, 1063, 0, 0, 0, 622, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 628, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 623, 0, 0, 0,
0, 0, 0, 0, 624, 0, 0, 0, 0, 0,
0, 625, 0, 0, 0, 0, 0, 0, 0, 0,
626, 0, 0, 0, 0, 627, 0, 0, 0, 0,
0, 0, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
0, 629, 630, 631, 632, 633, 634, 635, 0, 0,
1064, 629, 630, 631, 632, 633, 634, 635, 0, 0,
1065, 0, 622, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 0, 0,
629, 630, 631, 632, 633, 634, 635, 628, 0, 1067,
623, 622, 0, 0, 0, 0, 0, 0, 624, 0,
0, 622, 0, 0, 0, 625, 0, 0, 0, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 0, 0, 0, 624, 0, 623,
0, 0, 0, 0, 625, 0, 0, 624, 0, 0,
0, 0, 0, 626, 625, 0, 0, 0, 627, 0,
0, 0, 0, 626, 0, 0, 0, 0, 627, 0,
0, 0, 0, 0, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 628, 0, 0, 629, 630, 631, 632, 633, 634,
635, 0, 0, 1069, 0, 622, 0, 0, 0, 0,
0, 0, 0, 0, 0, 622, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 0, 0, 0,
628, 0, 0, 0, 0, 0, 0, 0, 0, 0,
628, 0, 0, 623, 0, 0, 0, 0, 0, 0,
0, 624, 0, 623, 622, 0, 0, 0, 625, 0,
0, 624, 0, 0, 0, 0, 0, 626, 625, 0,
0, 0, 627, 0, 0, 0, 0, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 0,
0, 0, 623, 0, 0, 0, 0, 0, 0, 0,
624, 0, 0, 0, 0, 0, 0, 625, 629, 630,
631, 632, 633, 634, 635, 0, 626, 1070, 0, 0,
0, 627, 0, 0, 0, 0, 0, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 0, 0, 0, 0, 0, 0, 629, 630, 631,
632, 633, 634, 635, 628, 0, 1072, 629, 630, 631,
632, 633, 634, 635, 628, 0, 1075, 622, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 628, 0, 623, 0, 0, 0, 0,
0, 0, 0, 624, 0, 0, 0, 0, 0, 0,
625, 0, 0, 0, 0, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
0, 629, 630, 631, 632, 633, 634, 635, 0, 0,
1076, 629, 630, 631, 632, 633, 634, 635, 0, 0,
1077, 0, 622, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 628, 0, 0, 0,
629, 630, 631, 632, 633, 634, 635, 0, 0, 1104,
623, 622, 0, 0, 0, 0, 0, 0, 624, 0,
0, 622, 0, 0, 0, 625, 0, 0, 0, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 0, 0, 0, 624, 0, 623,
0, 0, 0, 0, 625, 0, 0, 624, 0, 0,
0, 0, 0, 626, 625, 0, 0, 0, 627, 0,
0, 0, 0, 626, 0, 0, 0, 0, 627, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 629, 630, 631, 632, 633, 634, 635,
0, 628, 1105, 0, 0, 0, 0, 622, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 0, 0, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
628, 0, 0, 0, 0, 623, 622, 0, 0, 0,
628, 0, 0, 624, 0, 0, 0, 0, 0, 0,
625, 0, 0, 622, 0, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 0,
0, 0, 624, 0, 0, 0, 0, 0, 0, 625,
0, 623, 0, 0, 0, 0, 0, 0, 626, 624,
0, 0, 0, 627, 0, 0, 625, 0, 629, 630,
631, 632, 633, 634, 635, 626, 0, 1106, 0, 0,
627, 0, 0, 0, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 628, 629, 630, 631,
632, 633, 634, 635, 0, 0, 1109, 629, 630, 631,
632, 633, 634, 635, 0, 622, 1114, 0, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 0, 628, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 628, 623, 0, 0, 0, 0, 622, 0,
0, 624, 0, 0, 0, 0, 0, 0, 625, 0,
0, 0, 0, 0, 0, 0, 0, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 623, 0, 0, 0,
0, 0, 0, 0, 624, 0, 0, 0, 0, 0,
0, 625, 0, 629, 630, 631, 632, 633, 634, 635,
626, 0, 1115, 0, 0, 627, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 629, 630, 631, 632, 633, 634, 635, 0,
0, 1116, 0, 0, 628, 622, 0, 0, 0, 629,
630, 631, 632, 633, 634, 635, 0, 0, 1117, 0,
0, 0, 0, 0, 0, 0, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 0, 0, 623, 0, 0, 0, 628, 0, 0,
0, 624, 0, 0, 0, 0, 0, 0, 625, 0,
0, 0, 0, 0, 0, 0, 622, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 0,
0, 0, 624, 0, 0, 0, 0, 0, 0, 625,
0, 629, 630, 631, 632, 633, 634, 635, 626, 0,
1118, 0, 0, 627, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 628, 0, 0, 0, 0, 0,
0, 0, 0, 0, 629, 630, 631, 632, 633, 634,
635, 0, 622, 1119, 0, 0, 0, 0, 0, 0,
0, 0, 622, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
623, 0, 0, 0, 0, 628, 0, 0, 624, 0,
623, 0, 0, 0, 0, 625, 0, 0, 624, 0,
1, 0, 622, 0, 626, 625, 0, 0, 0, 627,
0, 0, 0, 0, 626, 0, 0, 2, 0, 627,
3, 0, 4, 5, 6, 7, 8, 9, 10, 11,
12, 13, 14, 15, 0, 0, 0, 0, 0, 0,
623, 629, 630, 631, 632, 633, 634, 635, 624, 0,
1120, 16, 17, 0, 0, 625, 0, 0, 0, 0,
0, 0, 0, 0, 626, 0, 0, 0, 18, 627,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 629, 630, 631, 632, 633, 634, 635, 622,
0, 1125, 0, 0, 19, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
20, 0, 0, 0, 21, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 628, 0, 0, 0, 624, 0, 0, 0, 0,
0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
0, 626, 0, 0, 0, 0, 627, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 629, 630,
631, 632, 633, 634, 635, 0, 0, 1126, 629, 630,
631, 632, 633, 634, 635, 0, 0, 1128, 0, 0,
0, 0, 0, 0, 0, 0, 0, 622, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 628, 0,
0, 0, 0, 0, 0, 0, 22, 0, 629, 630,
631, 632, 633, 634, 635, 623, 622, 1136, 0, 0,
0, 0, 0, 624, 0, 0, 622, 0, 0, 0,
625, 0, 0, 0, 0, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 0,
0, 0, 624, 0, 623, 0, 0, 0, 0, 625,
0, 0, 624, 0, 0, 0, 0, 0, 626, 625,
0, 0, 0, 627, 0, 0, 0, 0, 626, 0,
0, 0, 0, 627, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 629, 630, 631, 632, 633,
634, 635, 0, 0, 1138, 0, 628, 0, 0, 0,
0, 0, 622, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 0, 628, 0, 0, 0, 0,
623, 622, 0, 0, 0, 628, 0, 0, 624, 0,
0, 0, 0, 0, 0, 625, 0, 0, 622, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 0, 0, 0, 624, 0, 0,
0, 0, 0, 0, 625, 0, 623, 0, 0, 0,
0, 0, 0, 626, 624, 0, 0, 0, 627, 0,
0, 625, 0, 629, 630, 631, 632, 633, 634, 635,
626, 0, 1141, 0, 0, 627, 0, 0, 0, 0,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 629, 630, 631, 632, 633, 634, 635, 0,
0, 1211, 629, 630, 631, 632, 633, 634, 635, 0,
622, 1454, 0, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
628, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 628, 623, 0,
0, 0, 0, 622, 0, 0, 624, 0, 0, 0,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 0, 0, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 623, 0, 0, 0, 0, 0, 0, 0, 624,
0, 0, 0, 0, 0, 0, 625, 0, 629, 630,
631, 632, 633, 634, 635, 626, 0, 1455, 0, 0,
627, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 629, 630, 631,
632, 633, 634, 635, 0, 0, 1460, 0, 0, 628,
622, 0, 0, 0, 629, 630, 631, 632, 633, 634,
635, 0, 0, 1462, 0, 0, 0, 0, 0, 0,
0, 0, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 623, 0,
0, 0, 628, 0, 0, 0, 624, 0, 0, 0,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 622, 626, 0, 0, 0, 0, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 0, 0, 0, 624, 0, 0,
0, 0, 0, 0, 625, 0, 629, 630, 631, 632,
633, 634, 635, 626, 0, 1468, 0, 0, 627, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 628,
0, 0, 0, 0, 0, 0, 0, 0, 0, 629,
630, 631, 632, 633, 634, 635, 0, 622, 1471, 0,
0, 0, 0, 0, 0, 0, 0, 622, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 0, 0, 0, 0, 623, 0, 0, 0, 0,
628, 0, 0, 624, 0, 623, 0, 0, 0, 0,
625, 0, 0, 624, 0, 0, 0, 622, 0, 626,
625, 0, 0, 0, 627, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 623, 629, 630, 631, 632,
633, 634, 635, 624, 0, 1473, 0, 0, 0, 0,
625, 0, 0, 0, 0, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 628, 0, 0, 0,
0, 0, 0, 0, 0, 0, 628, 629, 630, 631,
632, 633, 634, 635, 622, 0, 1474, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 623, 0, 0, 0, 628, 0, 0, 0,
624, 0, 0, 0, 0, 0, 0, 625, 0, 0,
0, 0, 0, 0, 0, 0, 626, 0, 0, 0,
0, 627, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 629, 630, 631, 632, 633, 634, 635,
0, 0, 1476, 629, 630, 631, 632, 633, 634, 635,
0, 0, 1481, 0, 0, 0, 0, 0, 0, 0,
0, 0, 622, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 628, 0, 0, 0, 0, 0, 0,
0, 0, 0, 629, 630, 631, 632, 633, 634, 635,
623, 622, 1482, 0, 0, 0, 0, 0, 624, 0,
0, 622, 0, 0, 0, 625, 0, 0, 0, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 0, 0, 0, 624, 0, 623,
0, 0, 0, 0, 625, 0, 0, 624, 0, 0,
0, 0, 0, 626, 625, 0, 0, 0, 627, 0,
0, 0, 0, 626, 0, 0, 0, 0, 627, 613,
614, 615, 616, 617, 618, 619, 620, 621, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
629, 630, 631, 632, 633, 634, 635, 0, 0, 1483,
0, 628, 0, 0, 0, 0, 0, 622, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 0, 0, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
628, 0, 0, 0, 0, 623, 622, 0, 0, 0,
628, 0, 0, 624, 0, 0, 0, 0, 0, 0,
625, 0, 0, 622, 0, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 0,
0, 0, 624, 0, 0, 0, 0, 0, 0, 625,
0, 623, 0, 0, 0, 0, 0, 0, 626, 624,
0, 0, 0, 627, 0, 0, 625, 0, 629, 630,
631, 632, 633, 634, 635, 626, 0, 1485, 0, 0,
627, 0, 0, 0, 0, 0, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 628, 629, 630, 631,
632, 633, 634, 635, 0, 0, 1491, 629, 630, 631,
632, 633, 634, 635, 0, 622, 1492, 0, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 0, 628, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 628, 623, 0, 0, 0, 0, 622, 0,
0, 624, 0, 0, 0, 0, 0, 0, 625, 0,
0, 0, 0, 0, 0, 0, 0, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 623, 0, 0, 0,
0, 0, 0, 0, 624, 0, 0, 0, 0, 0,
0, 625, 0, 629, 630, 631, 632, 633, 634, 635,
626, 0, 1494, 0, 0, 627, 0, 613, 614, 615,
616, 617, 618, 619, 620, 621, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 629, 630, 631, 632, 633, 634, 635, 0,
0, 1495, 0, 0, 628, 622, 0, 0, 0, 629,
630, 631, 632, 633, 634, 635, 0, 0, 1497, 0,
0, 0, 0, 0, 0, 0, 0, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 0, 0,
0, 0, 0, 623, 0, 0, 0, 628, 0, 0,
0, 624, 0, 0, 0, 0, 0, 0, 625, 0,
0, 0, 0, 0, 0, 0, 622, 626, 0, 0,
0, 0, 627, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 0,
0, 0, 624, 0, 0, 0, 0, 0, 0, 625,
0, 629, 630, 631, 632, 633, 634, 635, 626, 0,
1503, 0, 0, 627, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 628, 0, 0, 0, 0, 0,
0, 0, 0, 0, 629, 630, 631, 632, 633, 634,
635, 0, 622, 1507, 0, 0, 0, 0, 0, 0,
0, 0, 622, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
623, 0, 0, 0, 0, 628, 0, 0, 624, 0,
623, 0, 0, 0, 0, 625, 0, 0, 624, 0,
0, 0, 622, 0, 626, 625, 0, 0, 0, 627,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623, 629, 630, 631, 632, 633, 634, 635, 624, 0,
1508, 0, 0, 0, 0, 625, 0, 0, 0, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 613, 614, 615, 616, 617, 618, 619, 620, 621,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 629, 630, 631, 632, 633, 634, 635, 622,
0, 1510, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 623, 0, 0,
0, 628, 0, 0, 0, 624, 0, 0, 0, 0,
0, 0, 625, 0, 0, 0, 0, 0, 0, 0,
0, 626, 0, 0, 0, 0, 627, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 613,
614, 615, 616, 617, 618, 619, 620, 621, 629, 630,
631, 632, 633, 634, 635, 0, 0, 1603, 629, 630,
631, 632, 633, 634, 635, 0, 0, 1604, 0, 0,
0, 0, 0, 0, 0, 0, 0, 622, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 613, 614,
615, 616, 617, 618, 619, 620, 621, 0, 628, 0,
0, 0, 0, 0, 0, 0, 0, 0, 629, 630,
631, 632, 633, 634, 635, 623, 622, 1605, 0, 0,
0, 0, 0, 624, 0, 0, 622, 0, 0, 0,
625, 0, 0, 0, 0, 0, 0, 0, 0, 626,
0, 0, 0, 0, 627, 0, 0, 0, 0, 0,
0, 0, 0, 0, 623, 0, 0, 0, 0, 0,
0, 0, 624, 0, 623, 0, 0, 0, 0, 625,
0, 0, 624, 0, 0, 0, 0, 0, 626, 625,
0, 0, 0, 627, 0, 0, 0, 0, 626, 0,
0, 0, 0, 627, 613, 614, 615, 616, 617, 618,
619, 620, 621, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 629, 630, 631, 632, 633,
634, 635, 0, 0, 1652, 0, 628, 0, 0, 0,
0, 0, 622, 613, 614, 615, 616, 617, 618, 619,
620, 621, 0, 0, 0, 0, 0, 0, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
0, 0, 0, 0, 0, 628, 0, 0, 0, 0,
623, 622, 0, 0, 0, 628, 0, 0, 624, 0,
0, 0, 0, 0, 0, 625, 0, 0, 622, 0,
0, 0, 0, 0, 626, 0, 0, 0, 0, 627,
0, 0, 0, 0, 0, 0, 0, 0, 0, 623,
0, 0, 0, 0, 0, 0, 0, 624, 0, 0,
0, 0, 0, 0, 625, 0, 623, 0, 0, 0,
0, 0, 0, 626, 624, 0, 0, 0, 627, 0,
0, 625, 0, 629, 630, 631, 632, 633, 634, 635,
626, 0, 1653, 0, 0, 627, 0, 0, 0, 0,
0, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 628, 629, 630, 631, 632, 633, 634, 635, 0,
0, 1657, 629, 630, 631, 632, 633, 634, 635, 0,
622, 1658, 0, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
628, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 628, 623, 0,
0, 0, 0, 622, 0, 0, 624, 0, 0, 0,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 0, 0, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 623, 0, 0, 0, 0, 0, 0, 0, 624,
0, 0, 0, 0, 0, 0, 625, 0, 629, 630,
631, 632, 633, 634, 635, 626, 0, 1660, 0, 0,
627, 0, 613, 614, 615, 616, 617, 618, 619, 620,
621, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 629, 630, 631,
632, 633, 634, 635, 0, 0, 1661, 0, 0, 628,
622, 0, 0, 0, 629, 630, 631, 632, 633, 634,
635, 0, 0, 1662, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 623, 0,
0, 0, 628, 0, 0, 0, 624, 0, 0, 0,
0, 0, 0, 625, 0, 0, 0, 0, 0, 0,
0, 0, 626, 0, 0, 0, 0, 627, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 623, 0, 0, 0, 0, 0, 0, 0, 624,
0, 0, 0, 0, 0, 0, 625, 0, 0, 0,
0, 0, 0, 0, 0, 626, 629, 630, 631, 632,
633, 634, 635, 0, 0, 1663, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 628,
0, 0, 0, 0, 0, 0, 0, 0, 0, 629,
630, 631, 632, 633, 634, 635, 0, 0, 1664, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 628, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 267, 268, 269, 270,
271, 272, 0, 0, 75, 0, 0, 0, 0, 0,
273, 76, 0, 0, 0, 0, 0, 0, 0, 0,
77, 0, 0, 0, 0, 0, 0, 78, 848, 79,
0, 0, 0, 80, 0, 0, 629, 630, 631, 632,
633, 634, 635, 81, 0, 1697, 82, 83, 274, 0,
275, 84, 0, 0, 0, 85, 276, 0, 86, 0,
0, 0, 0, 0, 277, 0, 849, 278, 87, 0,
88, 0, 0, 89, 0, 0, 0, 279, 0, 0,
0, 0, 0, 0, 0, 0, 90, 280, 281, 629,
630, 631, 632, 633, 634, 635, 91, 92, 93, 0,
0, 0, 94, 0, 0, 0, 0, 850, 0, 95,
0, 96, 97, 0, 0, 0, 0, 0, 0, 0,
0, 98, 99, 100, 101, 0, 0, 0, 0, 0,
102, 282, 283, 284, 285, 286, 0, 287, 0, 0,
0, 0, 0, 0, 0, 0, 103, 0, 0, 0,
0, 0, 0, 288, 0, 289, 290, 0, 0, 0,
0, 0, 0, 107, 0, 0, 0, 0, 108, 291,
292, 293, 294, 295, 0, 296, 297, 298, 299, 300,
301, 302, 303, 304, 305, 306, 307, 308, 309, 310,
311, 312, 313, 314, 315, 111, 316, 317, 318, 0,
0, 0, 0, 319, 320, 321, 322, 0, 0, 0,
323, 324, 325, 326, 327, 328, 0, 329, 330, 331,
332, 333, 115, 334, 0, 335, 336, 337, 338, 339,
340, 341, 342, 343, 344, 345, 346, 347, 348, 349,
350, 351, 352, 353, 354, 355, 356, 0, 357, 358,
359, 360, 361, 362, 363, 364, 365, 366, 367, 368,
369, 370, 371, 372, 373, 374, 375, 376, 377, 378,
379, 380, 381, 382, 383, 384, 385, 386, 387, 388,
389, 390, 391, 267, 268, 269, 270, 271, 272, 0,
0, 75, 0, 392, 0, 0, 0, 273, 76, 393,
0, 0, 394, 0, 395, 0, 396, 77, 0, 0,
0, 0, 0, 0, 78, 0, 79, 0, 0, 0,
80, 0, 0, 0, 0, 0, 0, 0, 0, 0,
81, 0, 0, 82, 83, 274, 0, 275, 84, 0,
0, 0, 85, 276, 0, 86, 0, 0, 0, 0,
0, 277, 0, 0, 278, 87, 0, 88, 0, 0,
89, 0, 0, 0, 279, 0, 0, 0, 0, 0,
0, 0, 0, 90, 280, 281, 0, 0, 0, 0,
0, 0, 0, 91, 92, 93, 0, 0, 0, 94,
0, 0, 0, 0, 0, 0, 95, 0, 96, 97,
0, 0, 0, 0, 0, 0, 0, 0, 98, 99,
100, 101, 0, 0, 0, 0, 0, 102, 282, 283,
284, 285, 286, 0, 287, 0, 0, 0, 0, 0,
0, 0, 0, 103, 0, 0, 0, 0, 0, 0,
288, 0, 289, 290, 0, 0, 0, 0, 0, 0,
107, 0, 0, 0, 0, 108, 291, 292, 293, 294,
295, 0, 296, 297, 298, 299, 300, 301, 302, 303,
304, 305, 306, 307, 308, 309, 310, 311, 312, 313,
314, 315, 111, 316, 317, 318, 0, 0, 0, 0,
319, 320, 321, 322, 0, 0, 0, 323, 324, 325,
326, 327, 328, 0, 329, 330, 331, 332, 333, 115,
334, 0, 335, 336, 337, 338, 339, 340, 341, 342,
343, 344, 345, 346, 347, 348, 349, 350, 351, 352,
353, 354, 355, 356, 0, 357, 358, 359, 360, 361,
362, 363, 364, 365, 366, 367, 368, 369, 370, 371,
372, 373, 374, 375, 376, 377, 378, 379, 380, 381,
382, 383, 384, 385, 386, 387, 388, 389, 390, 391,
267, 268, 269, 270, 271, 272, 0, 0, 75, 0,
392, 0, 0, 0, 273, 76, 393, 769, 0, 394,
0, 395, 0, 396, 77, 0, 0, 0, 0, 0,
0, 78, 0, 79, 0, 0, 0, 80, 0, 0,
0, 0, 0, 0, 0, 0, 0, 81, 0, 0,
82, 83, 274, 0, 275, 84, 0, 0, 0, 85,
276, 0, 86, 0, 0, 0, 0, 0, 277, 0,
0, 278, 87, 0, 88, 0, 0, 89, 0, 0,
0, 279, 0, 0, 0, 0, 0, 0, 0, 0,
90, 280, 281, 0, 0, 0, 0, 0, 0, 0,
91, 92, 93, 0, 0, 0, 94, 0, 0, 0,
0, 0, 0, 95, 0, 96, 97, 0, 0, 0,
0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
0, 0, 0, 0, 102, 282, 283, 284, 285, 286,
0, 287, 0, 0, 0, 0, 0, 0, 0, 0,
103, 0, 0, 0, 0, 0, 0, 288, 0, 289,
290, 0, 0, 0, 0, 0, 0, 107, 0, 0,
0, 0, 108, 291, 292, 293, 294, 295, 0, 296,
297, 298, 299, 300, 301, 302, 303, 304, 305, 306,
307, 308, 309, 310, 311, 312, 313, 314, 315, 111,
316, 317, 318, 0, 0, 0, 0, 319, 320, 321,
322, 0, 0, 0, 323, 324, 325, 326, 327, 328,
0, 329, 330, 331, 332, 333, 115, 334, 0, 335,
336, 337, 338, 339, 340, 341, 342, 343, 344, 345,
346, 347, 348, 349, 350, 351, 352, 353, 354, 355,
356, 0, 357, 358, 359, 360, 361, 362, 363, 364,
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
385, 386, 387, 388, 389, 390, 391, 267, 268, 269,
270, 271, 272, 0, 0, 75, 0, 392, 0, 0,
0, 273, 76, 393, 802, 0, 394, 0, 395, 0,
396, 77, 0, 0, 0, 0, 0, 0, 78, 0,
79, 0, 0, 0, 80, 0, 0, 0, 0, 0,
0, 0, 0, 0, 81, 0, 0, 82, 83, 274,
0, 275, 84, 0, 0, 0, 85, 276, 0, 86,
0, 0, 0, 0, 0, 277, 0, 0, 278, 87,
0, 88, 0, 0, 89, 0, 0, 0, 279, 0,
0, 0, 0, 0, 0, 0, 0, 90, 280, 281,
0, 0, 0, 0, 0, 0, 0, 91, 92, 93,
0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
95, 0, 96, 97, 0, 0, 0, 0, 0, 0,
0, 0, 98, 99, 100, 101, 0, 0, 0, 0,
0, 102, 282, 283, 284, 285, 286, 0, 287, 0,
0, 0, 0, 0, 0, 0, 0, 103, 0, 0,
0, 0, 0, 0, 288, 0, 289, 290, 0, 0,
0, 0, 0, 0, 107, 0, 0, 0, 0, 108,
291, 292, 293, 294, 295, 0, 296, 297, 298, 299,
300, 301, 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 111, 316, 317, 318,
0, 0, 0, 0, 319, 320, 321, 322, 0, 0,
0, 323, 324, 325, 326, 327, 328, 0, 329, 330,
331, 332, 333, 115, 334, 0, 335, 336, 337, 338,
339, 340, 341, 342, 343, 344, 345, 346, 347, 348,
349, 350, 351, 352, 353, 354, 355, 356, 0, 357,
358, 359, 360, 361, 362, 363, 364, 365, 366, 367,
368, 369, 370, 371, 372, 373, 374, 375, 376, 377,
378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
388, 389, 390, 391, 267, 268, 269, 270, 271, 272,
0, 0, 75, 0, 392, 0, 0, 0, 273, 76,
393, 814, 0, 394, 0, 395, 0, 396, 77, 0,
0, 0, 0, 0, 0, 78, 0, 79, 0, 0,
0, 80, 0, 0, 0, 0, 0, 0, 0, 0,
0, 81, 0, 0, 82, 83, 274, 0, 275, 84,
0, 0, 0, 85, 276, 0, 86, 0, 0, 0,
0, 0, 277, 0, 0, 278, 87, 0, 88, 0,
0, 89, 0, 0, 0, 279, 0, 0, 0, 0,
0, 0, 0, 0, 90, 280, 281, 0, 0, 0,
0, 0, 0, 0, 91, 92, 93, 0, 0, 0,
94, 0, 0, 0, 0, 0, 0, 95, 0, 96,
97, 0, 0, 0, 0, 0, 0, 0, 0, 98,
99, 100, 101, 0, 0, 0, 0, 0, 102, 282,
283, 284, 285, 286, 0, 287, 0, 0, 0, 0,
0, 0, 0, 0, 103, 0, 0, 0, 0, 0,
0, 288, 0, 289, 290, 0, 0, 0, 0, 0,
0, 107, 0, 0, 0, 0, 108, 291, 292, 293,
294, 295, 0, 296, 297, 298, 299, 300, 301, 302,
303, 304, 305, 306, 307, 308, 309, 310, 311, 312,
313, 314, 315, 111, 316, 317, 318, 0, 0, 0,
0, 319, 320, 321, 322, 0, 0, 0, 323, 324,
325, 326, 327, 328, 0, 329, 330, 331, 332, 333,
115, 334, 0, 335, 336, 337, 338, 339, 340, 341,
342, 343, 344, 345, 346, 347, 348, 349, 350, 351,
352, 353, 354, 355, 356, 0, 357, 358, 359, 360,
361, 362, 363, 364, 365, 366, 367, 368, 369, 370,
371, 372, 373, 374, 375, 376, 377, 378, 379, 380,
381, 382, 383, 384, 385, 386, 387, 388, 389, 390,
391, 267, 268, 269, 270, 271, 272, 0, 0, 75,
0, 392, 0, 0, 0, 273, 76, 393, 825, 0,
394, 0, 395, 0, 396, 77, 0, 0, 0, 0,
0, 0, 78, 0, 79, 0, 0, 0, 80, 0,
0, 0, 0, 0, 0, 0, 0, 0, 81, 0,
0, 82, 83, 274, 0, 275, 84, 0, 0, 0,
85, 276, 0, 86, 0, 0, 0, 0, 0, 277,
0, 0, 278, 87, 0, 88, 0, 0, 89, 0,
0, 0, 279, 0, 0, 0, 0, 0, 0, 0,
0, 90, 280, 281, 0, 0, 0, 0, 0, 0,
0, 91, 92, 93, 0, 0, 0, 94, 0, 0,
0, 0, 0, 0, 95, 0, 96, 97, 0, 0,
0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
0, 0, 0, 0, 0, 102, 282, 283, 284, 285,
286, 0, 287, 0, 0, 0, 0, 0, 0, 0,
0, 103, 0, 0, 0, 0, 0, 0, 288, 0,
289, 290, 0, 0, 0, 0, 0, 0, 107, 0,
0, 0, 0, 108, 291, 292, 293, 294, 295, 0,
296, 297, 298, 299, 300, 301, 302, 303, 304, 305,
306, 307, 308, 309, 310, 311, 312, 313, 314, 315,
111, 316, 317, 318, 0, 0, 0, 0, 319, 320,
321, 322, 0, 0, 0, 323, 324, 325, 326, 327,
328, 0, 329, 330, 331, 332, 333, 115, 334, 0,
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
355, 356, 0, 357, 358, 359, 360, 361, 362, 363,
364, 365, 366, 367, 368, 369, 370, 371, 372, 373,
374, 375, 376, 377, 378, 379, 380, 381, 382, 383,
384, 385, 386, 387, 388, 389, 390, 391, 267, 268,
269, 270, 271, 272, 0, 0, 75, 0, 392, 0,
0, 0, 273, 76, 393, 855, 0, 394, 0, 395,
0, 396, 77, 0, 0, 0, 0, 0, 0, 78,
0, 79, 0, 0, 0, 80, 0, 0, 0, 0,
0, 0, 0, 0, 0, 81, 0, 0, 82, 83,
274, 0, 275, 84, 0, 0, 0, 85, 276, 0,
86, 0, 0, 0, 0, 0, 277, 0, 0, 278,
87, 0, 88, 0, 0, 89, 0, 0, 0, 279,
0, 0, 0, 0, 0, 0, 0, 0, 90, 280,
281, 0, 0, 0, 0, 0, 0, 0, 91, 92,
93, 0, 0, 0, 94, 0, 0, 0, 0, 0,
0, 95, 0, 96, 97, 0, 0, 0, 0, 0,
0, 0, 0, 98, 99, 100, 101, 0, 0, 0,
0, 0, 102, 282, 283, 284, 285, 286, 0, 287,
0, 0, 0, 0, 0, 0, 0, 0, 103, 0,
0, 0, 0, 0, 0, 288, 0, 289, 290, 0,
0, 0, 0, 0, 0, 107, 0, 0, 0, 0,
108, 291, 292, 293, 294, 295, 0, 296, 297, 298,
299, 300, 301, 302, 303, 304, 305, 306, 307, 308,
309, 310, 311, 312, 313, 314, 315, 111, 316, 317,
318, 0, 0, 0, 0, 319, 320, 321, 322, 0,
0, 0, 323, 324, 325, 326, 327, 328, 0, 329,
330, 331, 332, 333, 115, 334, 0, 335, 336, 337,
338, 339, 340, 341, 342, 343, 344, 345, 346, 347,
348, 349, 350, 351, 352, 353, 354, 355, 356, 0,
357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, 368, 369, 370, 371, 372, 373, 374, 375, 376,
377, 378, 379, 380, 381, 382, 383, 384, 385, 386,
387, 388, 389, 390, 391, 73, 0, 74, 0, 0,
0, 0, 0, 75, 0, 392, 0, 0, 0, 0,
76, 393, 0, 0, 394, 0, 395, 0, 396, 77,
0, 0, 0, 0, 0, 0, 78, 0, 79, 0,
0, 455, 456, 0, 0, 0, 0, 0, 0, 0,
0, 0, 81, 0, 0, 82, 83, 0, 0, 0,
84, 0, 0, 0, 85, 0, 0, 86, 0, 457,
0, 0, 0, 0, 0, 0, 0, 87, 0, 88,
0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 90, 0, 0, 0, 0,
0, 0, 0, 0, 0, 91, 92, 93, 0, 0,
0, 94, 0, 0, 0, 0, 0, 0, 95, 0,
96, 97, 0, 0, 0, 0, 0, 0, 0, 0,
98, 99, 100, 101, 458, 0, 73, 0, 74, 102,
0, 0, 0, 0, 75, 0, 0, 0, 0, 0,
0, 76, 0, 0, 0, 103, 0, 0, 0, 0,
77, 0, 104, 0, 105, 106, 0, 78, 0, 79,
0, 0, 107, 80, 0, 0, 0, 108, 0, 0,
0, 0, 0, 81, 0, 0, 82, 83, 0, 0,
0, 84, 0, 0, 0, 85, 0, 0, 86, 0,
0, 109, 110, 0, 111, 112, 113, 114, 87, 0,
88, 0, 0, 89, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 90, 0, 0, 0,
0, 115, 0, 0, 0, 0, 91, 92, 93, 0,
0, 0, 94, 0, 0, 0, 0, 0, 0, 95,
116, 96, 97, 0, 0, 0, 0, 0, 0, 0,
0, 98, 99, 100, 101, 0, 0, 0, 0, 0,
102, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 103, 0, 0, 0,
0, 0, 73, 104, 74, 105, 106, 0, 0, 0,
75, 0, 0, 107, 0, 0, 0, 76, 108, 0,
0, 0, 0, 0, 0, 459, 77, 0, 0, 0,
0, 0, 0, 78, 0, 79, 0, 0, 0, 80,
0, 0, 109, 110, 0, 111, 112, 113, 114, 81,
0, 0, 82, 83, 0, 0, 0, 84, 0, 0,
0, 85, 0, 0, 86, 0, 0, 0, 0, 0,
0, 0, 115, 0, 87, 0, 88, 0, 0, 89,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 116, 90, 0, 0, 0, 0, 0, 0, 0,
0, 0, 91, 92, 93, 0, 0, 0, 94, 0,
0, 0, 0, 0, 0, 95, 0, 96, 97, 0,
0, 0, 0, 0, 0, 0, 0, 98, 99, 100,
101, 0, 0, 73, 0, 74, 102, 1437, 0, 0,
285, 75, 0, 0, 0, 0, 0, 0, 76, 479,
0, 0, 103, 0, 480, 0, 122, 77, 0, 104,
0, 105, 106, 0, 78, 0, 79, 0, 0, 107,
80, 0, 0, 0, 108, 0, 0, 0, 0, 0,
81, 0, 0, 82, 83, 0, 0, 0, 84, 0,
0, 0, 85, 0, 0, 86, 0, 0, 109, 110,
0, 111, 112, 113, 114, 87, 0, 88, 0, 0,
89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 90, 0, 0, 0, 0, 115, 0,
0, 0, 0, 91, 92, 93, 0, 0, 0, 94,
0, 0, 0, 0, 0, 0, 95, 116, 96, 97,
0, 0, 0, 0, 0, 0, 0, 0, 98, 99,
100, 101, 0, 0, 73, 0, 74, 102, 1636, 0,
0, 285, 75, 0, 0, 0, 0, 0, 0, 76,
8, 0, 0, 103, 0, 0, 0, 0, 77, 0,
104, 0, 105, 106, 0, 78, 0, 79, 0, 0,
107, 80, 0, 0, 0, 108, 0, 0, 0, 0,
0, 81, 396, 0, 82, 83, 0, 0, 0, 84,
0, 0, 0, 85, 0, 0, 86, 0, 0, 109,
110, 0, 111, 112, 113, 114, 87, 0, 88, 0,
0, 89, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 90, 0, 0, 0, 0, 115,
0, 0, 0, 0, 91, 92, 93, 0, 0, 0,
94, 0, 0, 0, 0, 0, 0, 95, 116, 96,
97, 0, 0, 0, 0, 0, 0, 0, 0, 98,
99, 100, 101, 0, 0, 0, 0, 0, 102, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 103, 0, 0, 0, 0, 0,
73, 104, 74, 105, 106, 0, 0, 0, 75, 0,
0, 107, 0, 0, 0, 76, 108, 0, 0, 0,
0, 0, 0, 396, 77, 0, 0, 0, 0, 0,
0, 78, 0, 79, 0, 0, 0, 80, 0, 0,
109, 110, 0, 111, 112, 113, 114, 81, 0, 0,
82, 83, 0, 0, 0, 84, 0, 0, 0, 85,
0, 0, 86, 0, 0, 0, 241, 0, 0, 0,
115, 0, 87, 0, 88, 0, 0, 89, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 116,
90, 0, 0, 0, 0, 0, 0, 0, 0, 0,
91, 92, 93, 0, 0, 0, 94, 0, 0, 0,
0, 0, 0, 95, 0, 96, 97, 0, 0, 0,
0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
0, 73, 0, 74, 102, 0, 0, 0, 0, 75,
0, 0, 0, 0, 0, 0, 76, 0, 0, 0,
103, 0, 0, 0, 122, 77, 0, 104, 0, 105,
106, 0, 78, 0, 79, 0, 0, 107, 80, 0,
0, 0, 108, 0, 0, 0, 0, 0, 81, 0,
0, 82, 83, 0, 0, 0, 84, 0, 0, 0,
85, 0, 0, 86, 0, 0, 109, 110, 0, 111,
112, 113, 114, 87, 0, 88, 0, 0, 89, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 90, 0, 0, 0, 0, 115, 0, 0, 0,
0, 91, 92, 93, 0, 0, 0, 94, 0, 0,
0, 0, 0, 0, 95, 116, 96, 97, 0, 0,
0, 0, 0, 0, 0, 0, 98, 99, 100, 101,
0, 0, 73, 0, 74, 102, 0, 0, 0, 0,
75, 0, 0, 0, 0, 0, 0, 76, 0, 0,
0, 103, 0, 0, 0, 0, 77, 0, 104, 0,
105, 106, 0, 78, 0, 79, 0, 0, 107, 80,
0, 0, 0, 108, 0, 0, 0, 0, 0, 81,
122, 0, 82, 83, 0, 0, 0, 84, 0, 0,
0, 85, 0, 0, 86, 0, 0, 109, 110, 0,
111, 112, 113, 114, 87, 0, 88, 0, 0, 89,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 90, 0, 0, 0, 0, 115, 0, 0,
0, 0, 91, 92, 93, 0, 0, 0, 94, 0,
0, 0, 0, 0, 0, 95, 116, 96, 97, 0,
0, 0, 0, 0, 0, 0, 0, 98, 99, 100,
101, 0, 0, 0, 0, 0, 102, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 103, 0, 0, 0, 0, 0, 73, 104,
74, 105, 106, 0, 0, 0, 75, 0, 0, 107,
656, 0, 0, 76, 108, 0, 0, 0, 0, 0,
0, 122, 77, 0, 0, 0, 0, 0, 0, 78,
0, 79, 0, 0, 0, 80, 0, 0, 109, 110,
0, 111, 112, 113, 114, 81, 0, 0, 82, 83,
0, 0, 0, 84, 0, 0, 0, 85, 0, 0,
86, 0, 0, 0, 0, 0, 0, 0, 115, 0,
87, 0, 88, 0, 0, 89, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 116, 90, 0,
0, 0, 0, 0, 0, 0, 0, 0, 91, 92,
93, 0, 0, 0, 94, 0, 0, 0, 0, 0,
0, 95, 0, 96, 97, 0, 0, 0, 0, 0,
0, 0, 0, 98, 99, 100, 101, 0, 0, 73,
0, 74, 102, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 0, 76, 0, 0, 0, 103, 0,
480, 0, 122, 77, 0, 104, 0, 105, 106, 0,
78, 0, 79, 0, 0, 107, 80, 0, 0, 0,
108, 0, 0, 0, 0, 0, 81, 0, 0, 82,
83, 0, 0, 0, 84, 0, 0, 0, 85, 0,
0, 86, 0, 0, 109, 110, 0, 111, 112, 113,
114, 87, 0, 88, 0, 0, 89, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
0, 0, 0, 0, 115, 0, 0, 0, 0, 91,
92, 93, 0, 0, 0, 94, 0, 0, 0, 0,
0, 0, 95, 116, 96, 97, 0, 0, 0, 0,
0, 0, 0, 0, 98, 99, 100, 101, 0, 0,
73, 0, 74, 102, 0, 0, 0, 0, 75, 0,
0, 0, 0, 0, 0, 76, 0, 0, 0, 103,
0, 0, 0, 0, 77, 0, 104, 0, 105, 106,
0, 78, 0, 79, 0, 0, 107, 80, 0, 0,
0, 108, 0, 0, 0, 0, 0, 81, 122, 0,
82, 83, 0, 0, 0, 84, 0, 0, 0, 85,
0, 0, 86, 0, 0, 109, 110, 0, 111, 112,
113, 114, 87, 0, 88, 0, 0, 89, 0, 0,
613, 614, 615, 616, 617, 618, 619, 620, 621, 0,
90, 0, 0, 0, 0, 115, 0, 0, 0, 0,
91, 92, 93, 0, 0, 0, 94, 0, 0, 0,
0, 0, 0, 95, 116, 96, 97, 0, 622, 0,
0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
0, 0, 0, 0, 102, 0, 613, 614, 615, 616,
617, 618, 619, 620, 621, 0, 0, 0, 0, 0,
103, 0, 0, 0, 0, 0, 623, 104, 0, 105,
106, 0, 0, 0, 624, 0, 0, 107, 0, 0,
0, 625, 108, 0, 622, 0, 0, 0, 0, 396,
626, 0, 0, 0, 0, 627, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 109, 110, 0, 111,
112, 113, 114, 0, 0, 0, 0, 0, 0, 0,
0, 0, 623, 0, 0, 0, 0, 0, 0, 0,
624, 0, 0, 0, 0, 0, 115, 625, 0, 0,
0, 0, 0, 0, 0, 0, 626, 0, 0, 0,
0, 627, 0, 0, 0, 116, 1080, 1081, 1082, 1083,
1084, 1085, 1086, 1087, 1088, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 628, 1157, 1158,
1159, 1160, 1161, 1162, 1163, 1164, 1165, 0, 0, 0,
0, 0, 0, 0, 1089, 1577, 1578, 0, 1579, 1580,
1581, 1582, 1583, 1584, 1585, 1586, 0, 0, 0, 0,
1587, 1588, 1589, 0, 0, 0, 1166, 0, 0, 0,
459, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1090, 628, 0, 0, 0, 0, 0, 0,
1091, 0, 0, 0, 0, 0, 0, 1092, 0, 0,
0, 0, 0, 0, 1167, 0, 1093, 0, 0, 0,
0, 1094, 1168, 0, 0, 0, 0, 0, 0, 1169,
0, 0, 0, 0, 0, 0, 0, 0, 1170, 0,
0, 0, 0, 1171, 1157, 1158, 1159, 1160, 1161, 1162,
1163, 1164, 1165, 0, 629, 630, 631, 632, 633, 634,
635, 0, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164,
1165, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 1342, 0, 1157, 1158, 1159, 1160, 1161, 1162,
1163, 1164, 1165, 0, 0, 0, 0, 0, 0, 0,
1490, 0, 0, 1095, 0, 0, 0, 0, 0, 0,
629, 630, 631, 632, 633, 634, 635, 0, 0, 0,
1167, 0, 1520, 0, 0, 1172, 0, 0, 1168, 0,
0, 0, 0, 0, 0, 1169, 0, 0, 1167, 0,
0, 0, 0, 0, 1170, 0, 1168, 0, 0, 1171,
0, 0, 0, 1169, 0, 0, 0, 0, 0, 0,
1167, 0, 1170, 0, 0, 0, 0, 1171, 1168, 0,
0, 0, 0, 0, 0, 1169, 0, 0, 0, 0,
0, 0, 0, 0, 1170, 0, 0, 0, 0, 1171,
1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 0,
1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1096, 1097, 1098, 1099, 1100, 1101, 1102, 0, 1596, 0,
0, 1172, 0, 0, 0, 0, 0, 0, 1610, 0,
0, 0, 1173, 1174, 1175, 1176, 1177, 1178, 1179, 1172,
0, 0, 0, 0, 0, 613, 614, 615, 616, 617,
618, 619, 620, 621, 0, 0, 1167, 0, 0, 0,
0, 1172, 0, 0, 1168, 0, 1167, 0, 0, 0,
0, 1169, 0, 0, 1168, 0, 0, 0, 0, 0,
1170, 1169, 0, 622, 0, 1171, 0, 0, 0, 0,
1170, 0, 0, 0, 0, 1171, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 623, 0, 0, 0, 0, 0, 0, 0, 624,
0, 0, 0, 0, 0, 0, 625, 0, 1173, 1174,
1175, 1176, 1177, 1178, 1179, 626, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 1173, 1174, 1175, 1176,
1177, 1178, 1179, 0, 0, 0, 0, 1172, 0, 0,
0, 0, 0, 0, 0, 0, 0, 1172, 1173, 1174,
1175, 1176, 1177, 1178, 1179, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 628, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 1173, 1174, 1175, 1176, 1177, 1178,
1179, 0, 0, 0, 1173, 1174, 1175, 1176, 1177, 1178,
1179, 0, 0, 0, 0, 0, 0, 0, 0, 73,
0, 74, 0, 0, 0, 0, 0, 75, 0, 0,
0, 0, 0, 0, 76, 0, 0, 0, 0, 0,
0, 0, 0, 77, 0, 0, 0, 0, 0, 0,
78, 0, 79, 0, 0, 0, 80, 0, 0, 629,
630, 631, 632, 633, 634, 635, 81, 0, 0, 82,
83, 0, 0, 0, 84, 0, 0, 0, 85, 0,
0, 86, 0, 0, 0, 0, 0, 0, 0, 0,
0, 87, 0, 88, 0, 0, 89, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 90,
0, 0, 0, 0, 0, 0, 0, 0, 0, 91,
92, 93, 0, 0, 0, 94, 0, 0, 0, 0,
0, 0, 95, 0, 96, 97, 0, 0, 0, 0,
0, 0, 0, 0, 98, 99, 100, 101, 0, 0,
73, 0, 74, 102, 0, 0, 0, 0, 75, 0,
0, 0, 0, 0, 0, 76, 0, 0, 0, 103,
0, 0, 0, 0, 77, 0, 104, 0, 105, 106,
0, 78, 0, 79, 0, 0, 107, 80, 0, 0,
0, 108, 0, 0, 0, 0, 0, 81, 0, 0,
82, 83, 0, 0, 0, 84, 0, 0, 0, 85,
0, 0, 86, 0, 0, 109, 110, 0, 111, 112,
113, 114, 87, 0, 88, 0, 0, 89, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
90, 0, 0, 0, 0, 115, 0, 0, 0, 0,
91, 92, 93, 0, 0, 0, 94, 0, 0, 0,
0, 0, 0, 95, 116, 96, 97, 0, 0, 0,
0, 0, 0, 0, 0, 98, 99, 100, 101, 0,
0, 0, 0, 0, 102, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
103, 0, 0, 0, 0, 0, 73, 104, 74, 105,
106, 0, 0, 0, 75, 0, 0, 107, 898, 0,
0, 76, 108, 0, 0, 0, 0, 0, 0, 0,
77, 0, 0, 0, 0, 0, 0, 78, 0, 79,
0, 0, 0, 80, 0, 0, 109, 110, 0, 111,
112, 113, 114, 81, 0, 0, 82, 83, 0, 0,
0, 84, 0, 0, 0, 85, 0, 0, 86, 0,
0, 0, 0, 0, 0, 0, 115, 0, 87, 0,
88, 0, 0, 89, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 116, 90, 0, 0, 0,
0, 0, 0, 0, 0, 0, 91, 92, 93, 0,
0, 0, 94, 0, 0, 0, 0, 0, 0, 95,
0, 96, 97, 0, 0, 0, 0, 0, 0, 0,
0, 98, 99, 100, 101, 0, 0, 73, 0, 74,
102, 0, 0, 0, 0, 75, 0, 0, 0, 1187,
0, 0, 76, 0, 0, 0, 103, 0, 0, 0,
0, 77, 0, 104, 0, 105, 106, 0, 78, 0,
79, 0, 0, 107, 80, 0, 0, 0, 108, 0,
0, 0, 0, 0, 81, 0, 0, 82, 83, 0,
0, 0, 84, 0, 0, 0, 85, 0, 0, 86,
0, 0, 109, 110, 0, 111, 112, 113, 114, 87,
0, 88, 0, 0, 89, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 90, 0, 0,
0, 0, 115, 0, 0, 0, 0, 91, 92, 93,
0, 0, 0, 94, 0, 0, 0, 0, 0, 0,
95, 116, 96, 97, 0, 0, 0, 0, 0, 0,
0, 0, 98, 99, 100, 101, 0, 0, 0, 0,
0, 102, 0, 0, 0, 245, 246, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 103, 0, 0,
0, 0, 0, 73, 104, 74, 105, 106, 0, 0,
0, 75, 0, 0, 107, 1370, 0, 0, 76, 108,
0, 0, 0, 0, 0, 0, 0, 77, 0, 0,
0, 0, 0, 0, 78, 0, 79, 0, 0, 0,
80, 0, 0, 109, 110, 0, 111, 112, 113, 114,
81, 0, 0, 82, 83, 0, 0, 0, 84, 0,
0, 0, 85, 0, 0, 86, 0, 0, 0, 0,
0, 0, 0, 115, 0, 87, 0, 88, 0, 0,
89, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 116, 90, 0, 0, 0, 0, 0, 0,
0, 0, 0, 91, 92, 93, 0, 0, 0, 94,
0, 0, 0, 0, 0, 0, 95, 0, 96, 97,
0, 0, 0, 0, 0, 0, 0, 0, 98, 99,
100, 101, 0, 0, 73, 0, 74, 102, 0, 0,
0, 675, 75, 676, 0, 0, 0, 0, 0, 76,
0, 0, 0, 103, 0, 0, 0, 0, 77, 0,
104, 0, 105, 106, 0, 78, 0, 79, 0, 0,
107, 80, 0, 0, 0, 108, 0, 0, 0, 0,
0, 81, 0, 0, 82, 83, 0, 0, 0, 84,
0, 0, 0, 85, 0, 0, 86, 0, 0, 109,
110, 0, 111, 112, 113, 114, 87, 0, 88, 0,
0, 89, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 90, 0, 0, 0, 0, 115,
0, 0, 0, 0, 91, 92, 93, 0, 0, 0,
94, 0, 0, 0, 0, 0, 0, 95, 116, 96,
97, 0, 0, 0, 0, 0, 0, 0, 0, 98,
99, 100, 101, 0, 0, 73, 0, 74, 102, 0,
0, 0, 1147, 75, 0, 0, 0, 0, 0, 0,
76, 0, 0, 0, 103, 0, 0, 0, 0, 77,
0, 104, 0, 105, 106, 0, 78, 0, 79, 0,
0, 107, 80, 0, 0, 0, 108, 0, 0, 0,
0, 0, 81, 0, 0, 82, 83, 0, 0, 0,
84, 0, 0, 0, 85, 0, 0, 86, 0, 0,
109, 110, 0, 111, 112, 113, 114, 87, 0, 88,
0, 0, 89, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 90, 0, 0, 0, 0,
115, 0, 0, 0, 0, 91, 92, 93, 0, 0,
0, 94, 0, 0, 0, 0, 0, 0, 95, 116,
96, 97, 0, 0, 0, 0, 0, 0, 0, 0,
98, 99, 100, 101, 0, 0, 0, 0, 0, 102,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 103, 0, 0, 0, 0,
0, 0, 104, 0, 105, 106, 0, 0, 0, 0,
0, 0, 107, 0, 0, 0, 0, 108, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 109, 110, 0, 111, 112, 113, 114, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 115, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
116
};
static const short yycheck[] = { 20,
435, 201, 266, 887, 70, 175, 464, 1154, 1440, 11,
12, 117, 714, 38, 35, 40, 41, 985, 161, 70,
35, 288, 289, 290, 194, 4, 47, 48, 79, 50,
713, 1241, 47, 54, 101, 56, 11, 12, 134, 106,
61, 1251, 63, 1253, 11, 12, 61, 432, 63, 489,
490, 491, 492, 493, 727, 198, 729, 730, 76, 29,
733, 4, 24, 104, 24, 63, 104, 151, 136, 151,
1242, 151, 512, 77, 514, 100, 570, 146, 13, 41,
15, 41, 26, 80, 80, 76, 155, 88, 11, 474,
53, 88, 88, 412, 95, 48, 39, 408, 95, 95,
411, 122, 104, 4, 21, 126, 1538, 53, 53, 130,
131, 126, 43, 134, 48, 136, 131, 69, 122, 134,
82, 53, 82, 54, 148, 129, 148, 149, 150, 104,
624, 1543, 62, 131, 628, 58, 134, 104, 39, 91,
102, 1553, 102, 56, 97, 121, 122, 168, 99, 62,
93, 68, 173, 168, 175, 176, 99, 127, 173, 1306,
105, 182, 481, 97, 77, 192, 187, 182, 122, 103,
25, 192, 187, 117, 136, 196, 197, 32, 258, 200,
13, 196, 15, 117, 147, 200, 19, 20, 1706, 22,
191, 126, 135, 26, 191, 191, 1714, 120, 502, 203,
93, 107, 148, 1635, 150, 53, 99, 1639, 1355, 51,
316, 1095, 516, 143, 144, 148, 148, 150, 150, 1391,
241, 3, 318, 447, 448, 449, 241, 929, 255, 142,
143, 252, 122, 254, 318, 70, 318, 258, 77, 254,
261, 441, 135, 258, 85, 1213, 323, 316, 1216, 316,
318, 269, 318, 280, 233, 81, 104, 105, 941, 72,
258, 122, 1694, 96, 58, 59, 106, 318, 129, 310,
311, 312, 313, 314, 312, 313, 314, 157, 158, 75,
547, 306, 154, 144, 101, 247, 61, 247, 1172, 106,
318, 87, 312, 126, 70, 143, 92, 145, 170, 63,
64, 151, 152, 317, 318, 185, 308, 309, 310, 311,
312, 313, 314, 118, 108, 988, 52, 154, 123, 156,
88, 57, 70, 119, 161, 121, 90, 104, 105, 123,
66, 598, 317, 318, 309, 310, 311, 312, 313, 314,
1487, 77, 203, 310, 311, 312, 313, 314, 422, 423,
104, 105, 426, 317, 318, 70, 318, 317, 318, 104,
105, 317, 318, 181, 182, 392, 393, 394, 117, 241,
1517, 605, 606, 245, 395, 396, 78, 113, 317, 318,
317, 318, 106, 119, 130, 121, 258, 92, 317, 318,
316, 885, 128, 887, 136, 317, 318, 418, 318, 420,
151, 317, 318, 317, 318, 420, 427, 317, 318, 318,
105, 107, 427, 434, 317, 318, 106, 438, 317, 318,
441, 849, 850, 438, 318, 117, 1310, 4, 300, 301,
302, 303, 304, 305, 455, 307, 4, 4, 459, 4,
640, 318, 4, 464, 106, 184, 112, 79, 70, 316,
316, 316, 316, 148, 149, 150, 151, 152, 479, 480,
316, 1671, 1672, 316, 316, 316, 151, 494, 495, 496,
497, 498, 499, 500, 932, 170, 1360, 172, 173, 506,
507, 508, 509, 510, 511, 685, 513, 316, 515, 316,
517, 518, 519, 316, 521, 638, 523, 524, 525, 526,
527, 528, 529, 530, 531, 532, 533, 534, 535, 536,
537, 538, 539, 540, 541, 542, 543, 544, 545, 546,
323, 548, 549, 550, 551, 552, 553, 554, 555, 556,
557, 558, 559, 560, 561, 562, 563, 564, 565, 566,
567, 568, 316, 928, 571, 572, 573, 574, 575, 576,
577, 578, 579, 580, 581, 582, 583, 584, 585, 586,
587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
597, 4, 599, 316, 148, 602, 603, 881, 316, 316,
56, 316, 316, 610, 316, 1258, 613, 614, 615, 616,
617, 618, 323, 620, 621, 622, 316, 1091, 625, 316,
627, 1095, 629, 630, 631, 632, 633, 634, 635, 316,
316, 151, 316, 316, 114, 642, 637, 316, 316, 316,
115, 98, 643, 316, 318, 316, 131, 316, 316, 316,
651, 151, 316, 316, 4, 5, 6, 7, 8, 9,
10, 11, 12, 316, 316, 316, 316, 316, 316, 316,
104, 4, 5, 6, 7, 8, 9, 10, 11, 12,
316, 316, 316, 316, 316, 316, 316, 316, 316, 316,
316, 316, 42, 316, 1168, 316, 697, 698, 1172, 316,
701, 702, 703, 316, 711, 316, 316, 316, 703, 42,
316, 316, 316, 714, 317, 316, 316, 718, 316, 316,
316, 722, 316, 718, 316, 1009, 727, 1011, 729, 730,
80, 738, 733, 316, 316, 316, 316, 316, 88, 316,
316, 316, 922, 316, 316, 95, 753, 80, 316, 316,
316, 316, 316, 316, 104, 88, 316, 316, 316, 109,
316, 316, 95, 1047, 316, 316, 316, 316, 1052, 39,
316, 104, 316, 316, 312, 316, 109, 316, 1062, 316,
316, 316, 1435, 316, 3, 4, 1201, 20, 316, 1073,
23, 316, 25, 26, 27, 316, 29, 316, 316, 32,
316, 316, 316, 316, 316, 24, 316, 316, 316, 135,
317, 317, 323, 317, 317, 317, 125, 316, 323, 4,
39, 316, 41, 324, 70, 323, 323, 316, 248, 4,
142, 142, 142, 316, 1308, 142, 1310, 151, 71, 316,
82, 191, 247, 111, 77, 74, 317, 317, 317, 317,
317, 317, 317, 317, 317, 74, 317, 317, 191, 317,
79, 105, 317, 82, 317, 98, 867, 868, 60, 1153,
316, 323, 4, 323, 79, 312, 151, 318, 4, 886,
318, 4, 183, 102, 1358, 316, 1360, 106, 316, 316,
316, 110, 316, 316, 316, 316, 247, 116, 316, 132,
316, 120, 1555, 82, 47, 138, 139, 140, 141, 116,
57, 912, 913, 243, 915, 318, 917, 136, 243, 151,
151, 922, 148, 148, 70, 70, 70, 148, 929, 317,
316, 932, 122, 151, 239, 4, 5, 6, 7, 8,
9, 10, 11, 12, 317, 946, 318, 53, 53, 316,
316, 155, 148, 148, 148, 148, 316, 148, 308, 309,
310, 311, 312, 313, 314, 184, 148, 148, 148, 105,
142, 148, 322, 42, 148, 308, 309, 310, 311, 312,
313, 314, 111, 82, 985, 110, 89, 988, 317, 322,
317, 105, 105, 317, 317, 317, 317, 317, 317, 1006,
1007, 1008, 318, 1010, 317, 47, 71, 148, 82, 106,
318, 80, 1259, 317, 1021, 1195, 316, 47, 317, 88,
317, 1028, 317, 317, 317, 1032, 95, 318, 247, 318,
317, 184, 318, 318, 47, 104, 47, 58, 47, 148,
109, 148, 37, 1050, 317, 264, 107, 151, 317, 120,
1057, 146, 148, 1060, 1061, 148, 148, 148, 264, 1066,
47, 1068, 47, 47, 1071, 317, 317, 1074, 318, 318,
1354, 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1259,
1087, 1088, 1089, 1090, 106, 1092, 316, 1094, 76, 1096,
1097, 1098, 1099, 1100, 1101, 1102, 1103, 317, 317, 318,
1107, 1108, 317, 1110, 317, 1112, 1113, 317, 317, 148,
318, 89, 0, 316, 1121, 1122, 1123, 1124, 318, 317,
1127, 0, 191, 941, 1206, 949, 1133, 316, 1135, 317,
1415, 981, 1248, 1140, 1530, 1537, 1397, 1218, 1382, 1401,
1419, 137, 35, 449, 923, 151, 708, 1198, 1563, 991,
1157, 1158, 1159, 1160, 1161, 1162, 1464, 1164, 1165, 1166,
450, 263, 1169, 1714, 1171, 483, 1173, 1174, 1175, 1176,
1177, 1178, 1179, 57, 1181, 1422, 1423, 1424, 265, 1180,
187, 1182, 241, 479, 1185, 1688, 259, 1200, 188, 1196,
1521, 1449, 1199, 1612, 1572, 922, 4, 5, 6, 7,
8, 9, 10, 11, 12, 1206, 1195, 1559, 1677, 192,
915, 434, 1213, 916, 436, 1216, 15, 119, 420, 172,
1377, 438, 4, 5, 6, 7, 8, 9, 10, 11,
12, 428, 1516, 1185, 42, -1, 1656, 917, -1, 308,
309, 310, 311, 312, 313, 314, -1, -1, 317, 318,
-1, -1, -1, -1, -1, -1, -1, 1258, -1, -1,
42, -1, -1, 1270, 1679, -1, -1, 1274, 1275, -1,
-1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, -1, -1,
-1, -1, -1, -1, -1, -1, 104, -1, 80, -1,
-1, 109, 1309, -1, -1, -1, 88, -1, -1, -1,
-1, -1, 1559, 95, -1, 1562, -1, -1, -1, -1,
-1, -1, 104, -1, 1331, 1332, 1333, 109, -1, -1,
-1, -1, -1, -1, -1, 1342, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 1359, -1, -1, -1, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, 1373, -1, -1, -1, 1377, -1, 1373, 1559,
-1, 1665, 1562, 191, -1, -1, 1387, -1, -1, -1,
-1, -1, -1, -1, 42, -1, -1, -1, -1, -1,
1401, -1, -1, -1, -1, -1, -1, -1, -1, 191,
-1, -1, -1, -1, -1, 1565, 1566, -1, 1568, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
1677, -1, 80, -1, 1435, 1442, -1, -1, -1, -1,
88, -1, -1, -1, -1, -1, 1453, 95, -1, -1,
1457, -1, -1, -1, 1461, -1, 104, -1, -1, -1,
-1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1478, 1479, -1, 1624, -1, -1, -1, -1, -1,
-1, -1, -1, 1490, -1, -1, 1493, -1, -1, 1496,
-1, 1498, -1, -1, 1501, 1502, 1646, 1677, 1648, 1649,
308, 309, 310, 311, 312, 313, 314, -1, -1, 317,
318, -1, -1, 1520, -1, -1, -1, -1, -1, -1,
1527, -1, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, -1, -1, 317, 318, -1, -1, -1,
-1, -1, -1, 191, -1, -1, -1, -1, -1, -1,
1557, -1, -1, -1, 1555, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1596,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, 1610, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
42, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 1642, 42, -1, 1651, -1, -1, -1, -1, -1,
-1, -1, -1, 42, -1, -1, -1, -1, 70, -1,
308, 309, 310, 311, 312, 313, 314, 1674, 80, 317,
318, -1, -1, -1, 1675, -1, 88, -1, -1, -1,
80, -1, -1, 95, -1, -1, -1, -1, 88, -1,
-1, 80, 104, -1, -1, 95, -1, 109, -1, 88,
-1, -1, 1709, 1704, 104, -1, 95, -1, -1, 109,
-1, -1, -1, -1, -1, 104, -1, -1, -1, -1,
109, -1, -1, -1, -1, -1, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, 42, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, 42, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, 42, -1,
-1, 191, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 191, -1, 80, 42, -1, -1, -1, -1,
-1, -1, 88, -1, -1, 80, -1, -1, -1, 95,
-1, -1, -1, 88, -1, -1, 80, -1, 104, -1,
95, -1, -1, 109, 88, -1, -1, -1, -1, 104,
-1, 95, -1, 80, 109, -1, -1, -1, -1, -1,
104, 88, -1, -1, -1, 109, -1, -1, 95, -1,
-1, 44, -1, 46, -1, -1, -1, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, 86, -1, -1, 318, -1, 308, 309,
310, 311, 312, 313, 314, 191, -1, 317, 318, 308,
309, 310, 311, 312, 313, 314, 191, -1, 317, 318,
-1, -1, -1, -1, 117, -1, -1, 191, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 191, -1, -1, -1, -1, -1,
-1, -1, -1, 146, -1, -1, -1, -1, -1, -1,
-1, 154, -1, 156, 157, 158, 159, 160, 161, 162,
163, 164, 165, 166, 167, 168, 169, 170, 171, 172,
173, 174, 175, 176, 177, 178, 179, 180, -1, -1,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, 209, -1, -1, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, -1,
42, 317, 318, 308, 309, 310, 311, 312, 313, 314,
-1, 42, -1, 318, 308, 309, 310, 311, 312, 313,
314, -1, -1, -1, 318, -1, -1, -1, -1, -1,
-1, 308, 309, 310, 311, 312, 313, 314, 80, -1,
-1, 318, -1, -1, -1, -1, 88, -1, -1, 80,
-1, -1, -1, 95, -1, -1, -1, 88, -1, -1,
-1, -1, 104, -1, 95, -1, -1, 109, -1, -1,
-1, -1, -1, 104, -1, -1, -1, -1, 109, -1,
-1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, 42, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, 42, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, 42, -1, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
191, -1, 80, 42, -1, -1, -1, -1, -1, -1,
88, -1, -1, 80, 42, -1, -1, 95, -1, -1,
-1, 88, -1, -1, 80, -1, 104, -1, 95, -1,
-1, 109, 88, -1, -1, -1, -1, 104, -1, 95,
-1, 80, 109, -1, -1, -1, -1, -1, 104, 88,
-1, -1, 80, 109, -1, -1, 95, -1, -1, -1,
88, -1, -1, -1, -1, 104, -1, 95, -1, -1,
109, -1, -1, -1, -1, -1, 104, -1, -1, -1,
-1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, 191, -1, -1, 318, 308, 309, 310,
311, 312, 313, 314, 191, -1, -1, 318, 42, -1,
-1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 191, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 191, -1, -1, 80, -1, -1, -1,
-1, -1, -1, -1, 88, -1, -1, -1, -1, -1,
-1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
104, -1, -1, -1, -1, 109, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
308, 309, 310, 311, 312, 313, 314, -1, -1, -1,
318, 308, 309, 310, 311, 312, 313, 314, -1, -1,
-1, 318, 308, 309, 310, 311, 312, 313, 314, 42,
-1, -1, 318, -1, -1, -1, -1, -1, -1, 308,
309, 310, 311, 312, 313, 314, -1, 191, -1, 318,
308, 309, 310, 311, 312, 313, 314, -1, -1, -1,
318, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, -1, -1, -1, -1, 88, -1, -1, -1, -1,
-1, -1, 95, -1, -1, -1, -1, -1, -1, -1,
-1, 104, -1, -1, -1, -1, 109, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 42, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, 42, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, 308, 309, 310, 311, 312, 313,
314, -1, -1, 80, 318, 42, -1, -1, 191, -1,
-1, 88, -1, -1, -1, -1, -1, -1, 95, -1,
-1, 80, 42, -1, -1, -1, -1, 104, -1, 88,
-1, -1, 109, -1, -1, -1, 95, -1, -1, -1,
-1, -1, -1, 80, -1, 104, -1, -1, -1, -1,
109, 88, -1, -1, -1, -1, -1, -1, 95, -1,
80, -1, -1, -1, -1, -1, -1, 104, 88, -1,
-1, -1, 109, -1, -1, 95, -1, -1, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 191, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, 308, 309, 310, 311, 312,
313, 314, 191, -1, 42, 318, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, 42, 191, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, 80, -1, -1, -1, 42, -1, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, -1, -1,
-1, 80, -1, -1, -1, -1, 104, -1, -1, 88,
-1, 109, -1, -1, -1, -1, 95, -1, -1, -1,
-1, -1, -1, -1, 80, 104, -1, -1, -1, -1,
109, -1, 88, -1, -1, -1, -1, -1, -1, 95,
-1, 308, 309, 310, 311, 312, 313, 314, 104, -1,
-1, 318, -1, 109, -1, -1, -1, -1, -1, 308,
309, 310, 311, 312, 313, 314, -1, -1, -1, 318,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, 308, 309, 310, 311, 312, 313, 314, -1, -1,
-1, 318, -1, 191, -1, -1, -1, -1, 308, 309,
310, 311, 312, 313, 314, -1, -1, -1, 318, -1,
42, -1, 191, -1, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
-1, -1, -1, -1, -1, 42, 88, -1, -1, -1,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, -1, -1, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
-1, 88, -1, -1, -1, -1, -1, -1, 95, -1,
308, 309, 310, 311, 312, 313, 314, 104, -1, -1,
318, -1, 109, -1, -1, -1, -1, -1, -1, 308,
309, 310, 311, 312, 313, 314, -1, -1, -1, 318,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, 308, 309, 310, 311, 312, 313, 314, 191,
-1, -1, 318, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, 42,
-1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 42, -1, -1, 191, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, 42, -1, -1, -1, 88, -1, -1, -1, -1,
-1, -1, 95, -1, -1, -1, -1, -1, -1, 80,
-1, 104, -1, -1, -1, -1, 109, 88, -1, -1,
-1, -1, -1, -1, 95, -1, -1, -1, -1, 80,
-1, -1, -1, 104, -1, -1, -1, 88, 109, -1,
-1, -1, -1, -1, 95, -1, 308, 309, 310, 311,
312, 313, 314, 104, -1, -1, 318, -1, 109, -1,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, 308, 309, 310, 311, 312, 313, 314, 191, 42,
-1, 318, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, 42, -1, -1, -1,
191, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, 80, -1, -1,
191, 42, -1, -1, -1, 88, -1, -1, -1, -1,
-1, -1, 95, -1, 80, -1, -1, -1, -1, -1,
42, 104, 88, -1, -1, -1, 109, -1, -1, 95,
-1, -1, -1, -1, -1, -1, -1, -1, 104, 80,
-1, -1, -1, 109, -1, -1, -1, 88, -1, -1,
-1, -1, -1, -1, 95, -1, -1, -1, 80, -1,
-1, -1, -1, 104, -1, -1, 88, -1, 109, -1,
-1, -1, -1, 95, -1, 308, 309, 310, 311, 312,
313, 314, 104, -1, -1, 318, -1, 109, 4, 5,
6, 7, 8, 9, 10, 11, 12, 308, 309, 310,
311, 312, 313, 314, -1, -1, -1, 318, 191, -1,
-1, -1, -1, -1, -1, -1, -1, 308, 309, 310,
311, 312, 313, 314, -1, 191, 42, 318, -1, -1,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, 191,
42, -1, 88, -1, -1, -1, -1, -1, -1, 95,
-1, -1, -1, -1, -1, -1, -1, -1, 104, -1,
-1, -1, -1, 109, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
-1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
-1, -1, -1, 95, -1, 308, 309, 310, 311, 312,
313, 314, 104, -1, -1, 318, -1, 109, -1, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, -1,
-1, -1, 318, -1, -1, -1, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, 308, 309, 310,
311, 312, 313, 314, -1, 191, -1, 318, -1, -1,
-1, -1, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, -1, 42, -1, 318, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 80, -1, -1, -1, -1, 42, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, -1, -1,
-1, -1, -1, -1, -1, -1, 104, -1, -1, -1,
-1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
-1, -1, -1, 88, -1, -1, -1, -1, -1, -1,
95, -1, 308, 309, 310, 311, 312, 313, 314, 104,
-1, -1, 318, -1, 109, -1, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, 191, 42, -1, 318, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, 42, -1, -1, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, 80, -1, -1, -1, 191, 42, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, -1, 80,
-1, -1, -1, -1, -1, 42, 104, 88, -1, -1,
-1, 109, -1, -1, 95, -1, -1, -1, -1, -1,
-1, -1, -1, 104, -1, 80, -1, -1, 109, -1,
-1, -1, -1, 88, -1, -1, -1, -1, -1, -1,
95, -1, -1, 80, -1, -1, -1, -1, -1, 104,
-1, 88, -1, -1, 109, -1, -1, -1, 95, -1,
308, 309, 310, 311, 312, 313, 314, 104, -1, -1,
318, -1, 109, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 191, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 308, 309, 310, 311, 312, 313, 314,
191, 42, -1, 318, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 191, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, 191, 42, -1, 88, -1, -1,
-1, -1, -1, -1, 95, -1, -1, -1, -1, -1,
-1, -1, -1, 104, -1, -1, -1, -1, 109, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, -1, -1, -1,
-1, 88, -1, -1, -1, -1, -1, -1, 95, -1,
308, 309, 310, 311, 312, 313, 314, 104, -1, -1,
318, -1, 109, -1, -1, -1, -1, 308, 309, 310,
311, 312, 313, 314, -1, -1, -1, 318, -1, -1,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, 308, 309, 310, 311, 312, 313, 314,
191, -1, -1, 318, -1, -1, -1, -1, -1, -1,
-1, 308, 309, 310, 311, 312, 313, 314, -1, 42,
-1, 318, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 191, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, -1, 42, -1, -1, 88, -1, -1, -1, -1,
-1, -1, 95, -1, -1, -1, -1, -1, -1, -1,
-1, 104, -1, -1, -1, -1, 109, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, -1, -1, -1, 88, -1,
-1, -1, -1, -1, -1, 95, -1, 308, 309, 310,
311, 312, 313, 314, 104, -1, -1, 318, -1, 109,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, 308, 309, 310, 311, 312, 313, 314, 191, 42,
-1, 318, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, 42, -1, -1, -1,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, 191, 42, -1, -1, 88, -1, -1, -1, -1,
-1, -1, 95, -1, 80, -1, -1, -1, -1, -1,
42, 104, 88, -1, -1, -1, 109, -1, -1, 95,
70, -1, -1, -1, -1, -1, -1, -1, 104, -1,
80, -1, -1, 109, -1, -1, -1, -1, 88, -1,
-1, -1, -1, -1, -1, 95, -1, -1, 80, -1,
-1, -1, -1, -1, 104, -1, 88, -1, -1, 109,
-1, -1, -1, 95, -1, 308, 309, 310, 311, 312,
313, 314, 104, -1, -1, 318, -1, 109, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 191, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 308, 309,
310, 311, 312, 313, 314, 191, 42, -1, 318, -1,
-1, -1, -1, -1, -1, -1, 42, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, 191,
-1, -1, 88, -1, 80, -1, -1, -1, -1, 95,
-1, -1, 88, -1, -1, -1, -1, -1, 104, 95,
-1, -1, -1, 109, -1, -1, -1, -1, 104, -1,
-1, -1, -1, 109, -1, -1, -1, -1, -1, -1,
-1, 233, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 308, 309, 310, 311, 312,
313, 314, -1, -1, -1, 318, -1, -1, -1, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, -1,
-1, -1, 318, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, 308, 309,
310, 311, 312, 313, 314, 191, -1, 317, -1, -1,
-1, -1, -1, -1, -1, 191, 308, 309, 310, 311,
312, 313, 314, 42, -1, 317, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
-1, -1, -1, -1, -1, -1, 95, -1, -1, -1,
-1, -1, -1, -1, -1, 104, -1, -1, -1, -1,
109, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, 308, 309, 310, 311, 312, 313, 314, 42,
-1, 317, 308, 309, 310, 311, 312, 313, 314, 42,
-1, 317, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 42, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, -1, 191, -1, -1, 88, -1, 80, -1, -1,
-1, -1, 95, -1, -1, 88, -1, -1, -1, 80,
42, 104, 95, -1, -1, -1, 109, 88, -1, -1,
-1, 104, -1, -1, 95, -1, 109, -1, -1, -1,
-1, -1, -1, 104, -1, -1, -1, -1, 109, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
-1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, -1, -1, 109, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 191, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 191, 308,
309, 310, 311, 312, 313, 314, 42, -1, 317, -1,
191, -1, -1, -1, -1, -1, 42, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, 191,
-1, -1, 88, -1, 80, -1, -1, -1, -1, 95,
-1, -1, 88, -1, -1, -1, -1, -1, 104, 95,
-1, -1, -1, 109, -1, -1, -1, -1, 104, -1,
-1, -1, -1, 109, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 308, 309, 310, 311, 312,
313, 314, -1, -1, 317, 308, 309, 310, 311, 312,
313, 314, -1, -1, 317, -1, -1, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, -1, 191, 4, 5, 6, 7,
8, 9, 10, 11, 12, 191, 308, 309, 310, 311,
312, 313, 314, -1, -1, 317, 42, 20, -1, -1,
23, -1, 25, 26, 27, -1, 29, -1, -1, 32,
-1, -1, -1, -1, 42, 38, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, 88, -1, -1, -1, -1, -1, 71, 95,
-1, -1, 80, -1, 77, -1, -1, -1, 104, -1,
88, -1, -1, 109, -1, -1, -1, 95, -1, -1,
-1, -1, -1, -1, -1, 98, 104, -1, -1, -1,
-1, 109, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, 308, 309, 310, 311, 312, 313, 314, -1,
-1, 317, 308, 309, 310, 311, 312, 313, 314, 132,
-1, 317, -1, -1, -1, 138, 139, 140, 141, -1,
42, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, 191, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 80, 42,
-1, -1, -1, 191, -1, -1, 88, -1, -1, 42,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, -1, 42, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, -1, -1, -1, -1, 88, -1, 80, -1, -1,
-1, -1, 95, -1, -1, 88, -1, -1, -1, -1,
-1, 104, 95, -1, 80, -1, 109, -1, -1, -1,
-1, 104, 88, -1, -1, -1, 109, -1, -1, 95,
-1, -1, -1, -1, -1, -1, -1, -1, 104, -1,
-1, -1, -1, 109, -1, -1, -1, -1, -1, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, 191,
-1, 317, -1, -1, -1, -1, -1, -1, -1, -1,
308, 309, 310, 311, 312, 313, 314, -1, -1, 317,
-1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, 191, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 191, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 42, -1, -1, -1, 191, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
-1, -1, -1, -1, 95, -1, 308, 309, 310, 311,
312, 313, 314, 104, -1, 317, -1, -1, 109, -1,
-1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 308, 309, 310, 311, 312,
313, 314, -1, -1, 317, 308, 309, 310, 311, 312,
313, 314, -1, 42, 317, -1, -1, -1, -1, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, -1,
-1, 317, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
191, 80, -1, -1, -1, -1, -1, -1, -1, 88,
-1, -1, -1, -1, -1, -1, 95, -1, -1, -1,
42, -1, -1, -1, -1, 104, -1, -1, -1, -1,
109, -1, -1, -1, -1, -1, -1, -1, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
-1, -1, -1, -1, -1, -1, 88, -1, -1, -1,
-1, -1, -1, 95, -1, -1, -1, -1, 42, -1,
-1, -1, 104, -1, -1, -1, -1, 109, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 191, -1, -1, -1, 80, 308, 309, 310,
311, 312, 313, 314, 88, -1, 317, 42, -1, -1,
-1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
104, -1, -1, -1, -1, 109, -1, -1, -1, -1,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, 80, -1, -1, -1, 191,
-1, -1, -1, 88, -1, -1, -1, -1, -1, -1,
95, -1, -1, -1, -1, -1, -1, -1, -1, 104,
42, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, 191, 80, 308,
309, 310, 311, 312, 313, 314, 88, -1, 317, -1,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, 42, -1, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, 191, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, 80, -1, 317, -1, -1, -1, -1,
-1, 88, -1, -1, -1, 42, -1, -1, 95, -1,
-1, -1, -1, -1, -1, -1, -1, 104, -1, -1,
-1, -1, 109, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, 191,
-1, -1, -1, 80, 308, 309, 310, 311, 312, 313,
314, 88, -1, 317, -1, -1, -1, -1, 95, -1,
-1, -1, 42, -1, -1, -1, -1, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, 308, 309, 310, 311, 312, 313, 314,
80, -1, 317, -1, 191, -1, -1, -1, 88, -1,
-1, -1, -1, -1, -1, 95, -1, 42, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 191, 80, 308, 309, 310, 311,
312, 313, 314, 88, -1, 317, -1, -1, -1, -1,
95, -1, -1, -1, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 191, 4, 5, 6, 7, 8, 9, 10, 11,
12, 308, 309, 310, 311, 312, 313, 314, -1, -1,
317, -1, 42, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
42, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, 191, -1, -1, -1,
80, 308, 309, 310, 311, 312, 313, 314, 88, -1,
317, -1, -1, -1, -1, 95, -1, -1, 80, 42,
-1, -1, -1, -1, 104, -1, 88, -1, -1, 109,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, -1, -1, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 80, 308, 309,
310, 311, 312, 313, 314, 88, -1, 317, -1, -1,
-1, -1, 95, -1, -1, -1, -1, -1, -1, -1,
-1, 104, -1, -1, -1, -1, 109, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, 191, -1, 308, 309, 310, 311, 312, 313, 314,
-1, -1, 317, -1, -1, 42, -1, -1, -1, 191,
-1, -1, -1, -1, -1, 42, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, -1, 191, -1,
-1, 88, -1, 80, 42, -1, -1, -1, 95, -1,
-1, 88, -1, -1, -1, -1, -1, 104, 95, -1,
-1, -1, 109, -1, -1, -1, -1, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, 308, 309,
310, 311, 312, 313, 314, -1, 104, 317, -1, -1,
-1, 109, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, -1, -1, 317, -1, -1, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, 191, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 191, 308, 309, 310, 311, 312,
313, 314, -1, -1, 317, -1, -1, -1, 42, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 191, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
-1, -1, -1, -1, 88, -1, -1, -1, -1, -1,
-1, 95, -1, -1, -1, -1, -1, -1, -1, -1,
104, -1, -1, -1, -1, 109, -1, -1, -1, -1,
-1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 308, 309, 310, 311, 312, 313, 314, -1, -1,
317, 308, 309, 310, 311, 312, 313, 314, -1, -1,
317, -1, 42, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
308, 309, 310, 311, 312, 313, 314, 191, -1, 317,
80, 42, -1, -1, -1, -1, -1, -1, 88, -1,
-1, 42, -1, -1, -1, 95, -1, -1, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 88, -1, 80,
-1, -1, -1, -1, 95, -1, -1, 88, -1, -1,
-1, -1, -1, 104, 95, -1, -1, -1, 109, -1,
-1, -1, -1, 104, -1, -1, -1, -1, 109, -1,
-1, -1, -1, -1, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, 191, -1, -1, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, 42, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 42, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
191, -1, -1, 80, -1, -1, -1, -1, -1, -1,
-1, 88, -1, 80, 42, -1, -1, -1, 95, -1,
-1, 88, -1, -1, -1, -1, -1, 104, 95, -1,
-1, -1, 109, -1, -1, -1, -1, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, 308, 309,
310, 311, 312, 313, 314, -1, 104, 317, -1, -1,
-1, 109, -1, -1, -1, -1, -1, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 308, 309, 310,
311, 312, 313, 314, 191, -1, 317, 308, 309, 310,
311, 312, 313, 314, 191, -1, 317, 42, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 191, -1, 80, -1, -1, -1, -1,
-1, -1, -1, 88, -1, -1, -1, -1, -1, -1,
95, -1, -1, -1, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, 308, 309, 310, 311, 312, 313, 314, -1, -1,
317, 308, 309, 310, 311, 312, 313, 314, -1, -1,
317, -1, 42, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, 191, -1, -1, -1,
308, 309, 310, 311, 312, 313, 314, -1, -1, 317,
80, 42, -1, -1, -1, -1, -1, -1, 88, -1,
-1, 42, -1, -1, -1, 95, -1, -1, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 88, -1, 80,
-1, -1, -1, -1, 95, -1, -1, 88, -1, -1,
-1, -1, -1, 104, 95, -1, -1, -1, 109, -1,
-1, -1, -1, 104, -1, -1, -1, -1, 109, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 308, 309, 310, 311, 312, 313, 314,
-1, 191, 317, -1, -1, -1, -1, 42, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
191, -1, -1, -1, -1, 80, 42, -1, -1, -1,
191, -1, -1, 88, -1, -1, -1, -1, -1, -1,
95, -1, -1, 42, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, 88, -1, -1, -1, -1, -1, -1, 95,
-1, 80, -1, -1, -1, -1, -1, -1, 104, 88,
-1, -1, -1, 109, -1, -1, 95, -1, 308, 309,
310, 311, 312, 313, 314, 104, -1, 317, -1, -1,
109, -1, -1, -1, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 191, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, 308, 309, 310,
311, 312, 313, 314, -1, 42, 317, -1, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 191, 80, -1, -1, -1, -1, 42, -1,
-1, 88, -1, -1, -1, -1, -1, -1, 95, -1,
-1, -1, -1, -1, -1, -1, -1, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
-1, -1, -1, -1, 88, -1, -1, -1, -1, -1,
-1, 95, -1, 308, 309, 310, 311, 312, 313, 314,
104, -1, 317, -1, -1, 109, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, -1,
-1, 317, -1, -1, 191, 42, -1, -1, -1, 308,
309, 310, 311, 312, 313, 314, -1, -1, 317, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, 191, -1, -1,
-1, 88, -1, -1, -1, -1, -1, -1, 95, -1,
-1, -1, -1, -1, -1, -1, 42, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, 88, -1, -1, -1, -1, -1, -1, 95,
-1, 308, 309, 310, 311, 312, 313, 314, 104, -1,
317, -1, -1, 109, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, 191, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 308, 309, 310, 311, 312, 313,
314, -1, 42, 317, -1, -1, -1, -1, -1, -1,
-1, -1, 42, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, 191, -1, -1, 88, -1,
80, -1, -1, -1, -1, 95, -1, -1, 88, -1,
3, -1, 42, -1, 104, 95, -1, -1, -1, 109,
-1, -1, -1, -1, 104, -1, -1, 20, -1, 109,
23, -1, 25, 26, 27, 28, 29, 30, 31, 32,
33, 34, 35, 36, -1, -1, -1, -1, -1, -1,
80, 308, 309, 310, 311, 312, 313, 314, 88, -1,
317, 54, 55, -1, -1, 95, -1, -1, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, 71, 109,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, 308, 309, 310, 311, 312, 313, 314, 42,
-1, 317, -1, -1, 117, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
133, -1, -1, -1, 137, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, 191, -1, -1, -1, 88, -1, -1, -1, -1,
-1, -1, 95, -1, -1, -1, -1, -1, -1, -1,
-1, 104, -1, -1, -1, -1, 109, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, 308, 309,
310, 311, 312, 313, 314, -1, -1, 317, 308, 309,
310, 311, 312, 313, 314, -1, -1, 317, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 42, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 191, -1,
-1, -1, -1, -1, -1, -1, 269, -1, 308, 309,
310, 311, 312, 313, 314, 80, 42, 317, -1, -1,
-1, -1, -1, 88, -1, -1, 42, -1, -1, -1,
95, -1, -1, -1, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, 88, -1, 80, -1, -1, -1, -1, 95,
-1, -1, 88, -1, -1, -1, -1, -1, 104, 95,
-1, -1, -1, 109, -1, -1, -1, -1, 104, -1,
-1, -1, -1, 109, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 308, 309, 310, 311, 312,
313, 314, -1, -1, 317, -1, 191, -1, -1, -1,
-1, -1, 42, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
80, 42, -1, -1, -1, 191, -1, -1, 88, -1,
-1, -1, -1, -1, -1, 95, -1, -1, 42, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
-1, -1, -1, -1, 95, -1, 80, -1, -1, -1,
-1, -1, -1, 104, 88, -1, -1, -1, 109, -1,
-1, 95, -1, 308, 309, 310, 311, 312, 313, 314,
104, -1, 317, -1, -1, 109, -1, -1, -1, -1,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, 308, 309, 310, 311, 312, 313, 314, -1,
-1, 317, 308, 309, 310, 311, 312, 313, 314, -1,
42, 317, -1, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 191, 80, -1,
-1, -1, -1, 42, -1, -1, 88, -1, -1, -1,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, -1, -1, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
-1, -1, -1, -1, -1, -1, 95, -1, 308, 309,
310, 311, 312, 313, 314, 104, -1, 317, -1, -1,
109, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 191,
42, -1, -1, -1, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, 80, -1,
-1, -1, 191, -1, -1, -1, 88, -1, -1, -1,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, 42, 104, -1, -1, -1, -1, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
-1, -1, -1, -1, 95, -1, 308, 309, 310, 311,
312, 313, 314, 104, -1, 317, -1, -1, 109, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 308,
309, 310, 311, 312, 313, 314, -1, 42, 317, -1,
-1, -1, -1, -1, -1, -1, -1, 42, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, 80, -1, -1, -1, -1,
191, -1, -1, 88, -1, 80, -1, -1, -1, -1,
95, -1, -1, 88, -1, -1, -1, 42, -1, 104,
95, -1, -1, -1, 109, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 80, 308, 309, 310, 311,
312, 313, 314, 88, -1, 317, -1, -1, -1, -1,
95, -1, -1, -1, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 191, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 191, 308, 309, 310,
311, 312, 313, 314, 42, -1, 317, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 80, -1, -1, -1, 191, -1, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, -1, -1,
-1, -1, -1, -1, -1, -1, 104, -1, -1, -1,
-1, 109, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, 308, 309, 310, 311, 312, 313, 314,
-1, -1, 317, 308, 309, 310, 311, 312, 313, 314,
-1, -1, 317, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 42, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, 191, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 308, 309, 310, 311, 312, 313, 314,
80, 42, 317, -1, -1, -1, -1, -1, 88, -1,
-1, 42, -1, -1, -1, 95, -1, -1, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 88, -1, 80,
-1, -1, -1, -1, 95, -1, -1, 88, -1, -1,
-1, -1, -1, 104, 95, -1, -1, -1, 109, -1,
-1, -1, -1, 104, -1, -1, -1, -1, 109, 4,
5, 6, 7, 8, 9, 10, 11, 12, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
308, 309, 310, 311, 312, 313, 314, -1, -1, 317,
-1, 191, -1, -1, -1, -1, -1, 42, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
191, -1, -1, -1, -1, 80, 42, -1, -1, -1,
191, -1, -1, 88, -1, -1, -1, -1, -1, -1,
95, -1, -1, 42, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, 88, -1, -1, -1, -1, -1, -1, 95,
-1, 80, -1, -1, -1, -1, -1, -1, 104, 88,
-1, -1, -1, 109, -1, -1, 95, -1, 308, 309,
310, 311, 312, 313, 314, 104, -1, 317, -1, -1,
109, -1, -1, -1, -1, -1, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 191, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, 308, 309, 310,
311, 312, 313, 314, -1, 42, 317, -1, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 191, 80, -1, -1, -1, -1, 42, -1,
-1, 88, -1, -1, -1, -1, -1, -1, 95, -1,
-1, -1, -1, -1, -1, -1, -1, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 80, -1, -1, -1,
-1, -1, -1, -1, 88, -1, -1, -1, -1, -1,
-1, 95, -1, 308, 309, 310, 311, 312, 313, 314,
104, -1, 317, -1, -1, 109, -1, 4, 5, 6,
7, 8, 9, 10, 11, 12, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, -1,
-1, 317, -1, -1, 191, 42, -1, -1, -1, 308,
309, 310, 311, 312, 313, 314, -1, -1, 317, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, 80, -1, -1, -1, 191, -1, -1,
-1, 88, -1, -1, -1, -1, -1, -1, 95, -1,
-1, -1, -1, -1, -1, -1, 42, 104, -1, -1,
-1, -1, 109, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, 88, -1, -1, -1, -1, -1, -1, 95,
-1, 308, 309, 310, 311, 312, 313, 314, 104, -1,
317, -1, -1, 109, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, 191, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 308, 309, 310, 311, 312, 313,
314, -1, 42, 317, -1, -1, -1, -1, -1, -1,
-1, -1, 42, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
80, -1, -1, -1, -1, 191, -1, -1, 88, -1,
80, -1, -1, -1, -1, 95, -1, -1, 88, -1,
-1, -1, 42, -1, 104, 95, -1, -1, -1, 109,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
80, 308, 309, 310, 311, 312, 313, 314, 88, -1,
317, -1, -1, -1, -1, 95, -1, -1, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, 308, 309, 310, 311, 312, 313, 314, 42,
-1, 317, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 80, -1, -1,
-1, 191, -1, -1, -1, 88, -1, -1, -1, -1,
-1, -1, 95, -1, -1, -1, -1, -1, -1, -1,
-1, 104, -1, -1, -1, -1, 109, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
5, 6, 7, 8, 9, 10, 11, 12, 308, 309,
310, 311, 312, 313, 314, -1, -1, 317, 308, 309,
310, 311, 312, 313, 314, -1, -1, 317, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 42, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, 191, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 308, 309,
310, 311, 312, 313, 314, 80, 42, 317, -1, -1,
-1, -1, -1, 88, -1, -1, 42, -1, -1, -1,
95, -1, -1, -1, -1, -1, -1, -1, -1, 104,
-1, -1, -1, -1, 109, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 80, -1, -1, -1, -1, -1,
-1, -1, 88, -1, 80, -1, -1, -1, -1, 95,
-1, -1, 88, -1, -1, -1, -1, -1, 104, 95,
-1, -1, -1, 109, -1, -1, -1, -1, 104, -1,
-1, -1, -1, 109, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 308, 309, 310, 311, 312,
313, 314, -1, -1, 317, -1, 191, -1, -1, -1,
-1, -1, 42, 4, 5, 6, 7, 8, 9, 10,
11, 12, -1, -1, -1, -1, -1, -1, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, 191, -1, -1, -1, -1,
80, 42, -1, -1, -1, 191, -1, -1, 88, -1,
-1, -1, -1, -1, -1, 95, -1, -1, 42, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 80,
-1, -1, -1, -1, -1, -1, -1, 88, -1, -1,
-1, -1, -1, -1, 95, -1, 80, -1, -1, -1,
-1, -1, -1, 104, 88, -1, -1, -1, 109, -1,
-1, 95, -1, 308, 309, 310, 311, 312, 313, 314,
104, -1, 317, -1, -1, 109, -1, -1, -1, -1,
-1, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 191, 308, 309, 310, 311, 312, 313, 314, -1,
-1, 317, 308, 309, 310, 311, 312, 313, 314, -1,
42, 317, -1, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
191, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 191, 80, -1,
-1, -1, -1, 42, -1, -1, 88, -1, -1, -1,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, -1, -1, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
-1, -1, -1, -1, -1, -1, 95, -1, 308, 309,
310, 311, 312, 313, 314, 104, -1, 317, -1, -1,
109, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 308, 309, 310,
311, 312, 313, 314, -1, -1, 317, -1, -1, 191,
42, -1, -1, -1, 308, 309, 310, 311, 312, 313,
314, -1, -1, 317, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 80, -1,
-1, -1, 191, -1, -1, -1, 88, -1, -1, -1,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
-1, -1, 104, -1, -1, -1, -1, 109, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
-1, -1, -1, -1, -1, -1, 95, -1, -1, -1,
-1, -1, -1, -1, -1, 104, 308, 309, 310, 311,
312, 313, 314, -1, -1, 317, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 191,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 308,
309, 310, 311, 312, 313, 314, -1, -1, 317, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 191, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 13, 14, 15, 16,
17, 18, -1, -1, 21, -1, -1, -1, -1, -1,
27, 28, -1, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, -1, -1, -1, -1, 44, 45, 46,
-1, -1, -1, 50, -1, -1, 308, 309, 310, 311,
312, 313, 314, 60, -1, 317, 63, 64, 65, -1,
67, 68, -1, -1, -1, 72, 73, -1, 75, -1,
-1, -1, -1, -1, 81, -1, 83, 84, 85, -1,
87, -1, -1, 90, -1, -1, -1, 94, -1, -1,
-1, -1, -1, -1, -1, -1, 103, 104, 105, 308,
309, 310, 311, 312, 313, 314, 113, 114, 115, -1,
-1, -1, 119, -1, -1, -1, -1, 124, -1, 126,
-1, 128, 129, -1, -1, -1, -1, -1, -1, -1,
-1, 138, 139, 140, 141, -1, -1, -1, -1, -1,
147, 148, 149, 150, 151, 152, -1, 154, -1, -1,
-1, -1, -1, -1, -1, -1, 163, -1, -1, -1,
-1, -1, -1, 170, -1, 172, 173, -1, -1, -1,
-1, -1, -1, 180, -1, -1, -1, -1, 185, 186,
187, 188, 189, 190, -1, 192, 193, 194, 195, 196,
197, 198, 199, 200, 201, 202, 203, 204, 205, 206,
207, 208, 209, 210, 211, 212, 213, 214, 215, -1,
-1, -1, -1, 220, 221, 222, 223, -1, -1, -1,
227, 228, 229, 230, 231, 232, -1, 234, 235, 236,
237, 238, 239, 240, -1, 242, 243, 244, 245, 246,
247, 248, 249, 250, 251, 252, 253, 254, 255, 256,
257, 258, 259, 260, 261, 262, 263, -1, 265, 266,
267, 268, 269, 270, 271, 272, 273, 274, 275, 276,
277, 278, 279, 280, 281, 282, 283, 284, 285, 286,
287, 288, 289, 290, 291, 292, 293, 294, 295, 296,
297, 298, 299, 13, 14, 15, 16, 17, 18, -1,
-1, 21, -1, 310, -1, -1, -1, 27, 28, 316,
-1, -1, 319, -1, 321, -1, 323, 37, -1, -1,
-1, -1, -1, -1, 44, -1, 46, -1, -1, -1,
50, -1, -1, -1, -1, -1, -1, -1, -1, -1,
60, -1, -1, 63, 64, 65, -1, 67, 68, -1,
-1, -1, 72, 73, -1, 75, -1, -1, -1, -1,
-1, 81, -1, -1, 84, 85, -1, 87, -1, -1,
90, -1, -1, -1, 94, -1, -1, -1, -1, -1,
-1, -1, -1, 103, 104, 105, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, -1, -1, -1, 119,
-1, -1, -1, -1, -1, -1, 126, -1, 128, 129,
-1, -1, -1, -1, -1, -1, -1, -1, 138, 139,
140, 141, -1, -1, -1, -1, -1, 147, 148, 149,
150, 151, 152, -1, 154, -1, -1, -1, -1, -1,
-1, -1, -1, 163, -1, -1, -1, -1, -1, -1,
170, -1, 172, 173, -1, -1, -1, -1, -1, -1,
180, -1, -1, -1, -1, 185, 186, 187, 188, 189,
190, -1, 192, 193, 194, 195, 196, 197, 198, 199,
200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
210, 211, 212, 213, 214, 215, -1, -1, -1, -1,
220, 221, 222, 223, -1, -1, -1, 227, 228, 229,
230, 231, 232, -1, 234, 235, 236, 237, 238, 239,
240, -1, 242, 243, 244, 245, 246, 247, 248, 249,
250, 251, 252, 253, 254, 255, 256, 257, 258, 259,
260, 261, 262, 263, -1, 265, 266, 267, 268, 269,
270, 271, 272, 273, 274, 275, 276, 277, 278, 279,
280, 281, 282, 283, 284, 285, 286, 287, 288, 289,
290, 291, 292, 293, 294, 295, 296, 297, 298, 299,
13, 14, 15, 16, 17, 18, -1, -1, 21, -1,
310, -1, -1, -1, 27, 28, 316, 317, -1, 319,
-1, 321, -1, 323, 37, -1, -1, -1, -1, -1,
-1, 44, -1, 46, -1, -1, -1, 50, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 60, -1, -1,
63, 64, 65, -1, 67, 68, -1, -1, -1, 72,
73, -1, 75, -1, -1, -1, -1, -1, 81, -1,
-1, 84, 85, -1, 87, -1, -1, 90, -1, -1,
-1, 94, -1, -1, -1, -1, -1, -1, -1, -1,
103, 104, 105, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, -1, -1, -1, 119, -1, -1, -1,
-1, -1, -1, 126, -1, 128, 129, -1, -1, -1,
-1, -1, -1, -1, -1, 138, 139, 140, 141, -1,
-1, -1, -1, -1, 147, 148, 149, 150, 151, 152,
-1, 154, -1, -1, -1, -1, -1, -1, -1, -1,
163, -1, -1, -1, -1, -1, -1, 170, -1, 172,
173, -1, -1, -1, -1, -1, -1, 180, -1, -1,
-1, -1, 185, 186, 187, 188, 189, 190, -1, 192,
193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, 210, 211, 212,
213, 214, 215, -1, -1, -1, -1, 220, 221, 222,
223, -1, -1, -1, 227, 228, 229, 230, 231, 232,
-1, 234, 235, 236, 237, 238, 239, 240, -1, 242,
243, 244, 245, 246, 247, 248, 249, 250, 251, 252,
253, 254, 255, 256, 257, 258, 259, 260, 261, 262,
263, -1, 265, 266, 267, 268, 269, 270, 271, 272,
273, 274, 275, 276, 277, 278, 279, 280, 281, 282,
283, 284, 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, 295, 296, 297, 298, 299, 13, 14, 15,
16, 17, 18, -1, -1, 21, -1, 310, -1, -1,
-1, 27, 28, 316, 317, -1, 319, -1, 321, -1,
323, 37, -1, -1, -1, -1, -1, -1, 44, -1,
46, -1, -1, -1, 50, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 60, -1, -1, 63, 64, 65,
-1, 67, 68, -1, -1, -1, 72, 73, -1, 75,
-1, -1, -1, -1, -1, 81, -1, -1, 84, 85,
-1, 87, -1, -1, 90, -1, -1, -1, 94, -1,
-1, -1, -1, -1, -1, -1, -1, 103, 104, 105,
-1, -1, -1, -1, -1, -1, -1, 113, 114, 115,
-1, -1, -1, 119, -1, -1, -1, -1, -1, -1,
126, -1, 128, 129, -1, -1, -1, -1, -1, -1,
-1, -1, 138, 139, 140, 141, -1, -1, -1, -1,
-1, 147, 148, 149, 150, 151, 152, -1, 154, -1,
-1, -1, -1, -1, -1, -1, -1, 163, -1, -1,
-1, -1, -1, -1, 170, -1, 172, 173, -1, -1,
-1, -1, -1, -1, 180, -1, -1, -1, -1, 185,
186, 187, 188, 189, 190, -1, 192, 193, 194, 195,
196, 197, 198, 199, 200, 201, 202, 203, 204, 205,
206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
-1, -1, -1, -1, 220, 221, 222, 223, -1, -1,
-1, 227, 228, 229, 230, 231, 232, -1, 234, 235,
236, 237, 238, 239, 240, -1, 242, 243, 244, 245,
246, 247, 248, 249, 250, 251, 252, 253, 254, 255,
256, 257, 258, 259, 260, 261, 262, 263, -1, 265,
266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
276, 277, 278, 279, 280, 281, 282, 283, 284, 285,
286, 287, 288, 289, 290, 291, 292, 293, 294, 295,
296, 297, 298, 299, 13, 14, 15, 16, 17, 18,
-1, -1, 21, -1, 310, -1, -1, -1, 27, 28,
316, 317, -1, 319, -1, 321, -1, 323, 37, -1,
-1, -1, -1, -1, -1, 44, -1, 46, -1, -1,
-1, 50, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 60, -1, -1, 63, 64, 65, -1, 67, 68,
-1, -1, -1, 72, 73, -1, 75, -1, -1, -1,
-1, -1, 81, -1, -1, 84, 85, -1, 87, -1,
-1, 90, -1, -1, -1, 94, -1, -1, -1, -1,
-1, -1, -1, -1, 103, 104, 105, -1, -1, -1,
-1, -1, -1, -1, 113, 114, 115, -1, -1, -1,
119, -1, -1, -1, -1, -1, -1, 126, -1, 128,
129, -1, -1, -1, -1, -1, -1, -1, -1, 138,
139, 140, 141, -1, -1, -1, -1, -1, 147, 148,
149, 150, 151, 152, -1, 154, -1, -1, -1, -1,
-1, -1, -1, -1, 163, -1, -1, -1, -1, -1,
-1, 170, -1, 172, 173, -1, -1, -1, -1, -1,
-1, 180, -1, -1, -1, -1, 185, 186, 187, 188,
189, 190, -1, 192, 193, 194, 195, 196, 197, 198,
199, 200, 201, 202, 203, 204, 205, 206, 207, 208,
209, 210, 211, 212, 213, 214, 215, -1, -1, -1,
-1, 220, 221, 222, 223, -1, -1, -1, 227, 228,
229, 230, 231, 232, -1, 234, 235, 236, 237, 238,
239, 240, -1, 242, 243, 244, 245, 246, 247, 248,
249, 250, 251, 252, 253, 254, 255, 256, 257, 258,
259, 260, 261, 262, 263, -1, 265, 266, 267, 268,
269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
279, 280, 281, 282, 283, 284, 285, 286, 287, 288,
289, 290, 291, 292, 293, 294, 295, 296, 297, 298,
299, 13, 14, 15, 16, 17, 18, -1, -1, 21,
-1, 310, -1, -1, -1, 27, 28, 316, 317, -1,
319, -1, 321, -1, 323, 37, -1, -1, -1, -1,
-1, -1, 44, -1, 46, -1, -1, -1, 50, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 60, -1,
-1, 63, 64, 65, -1, 67, 68, -1, -1, -1,
72, 73, -1, 75, -1, -1, -1, -1, -1, 81,
-1, -1, 84, 85, -1, 87, -1, -1, 90, -1,
-1, -1, 94, -1, -1, -1, -1, -1, -1, -1,
-1, 103, 104, 105, -1, -1, -1, -1, -1, -1,
-1, 113, 114, 115, -1, -1, -1, 119, -1, -1,
-1, -1, -1, -1, 126, -1, 128, 129, -1, -1,
-1, -1, -1, -1, -1, -1, 138, 139, 140, 141,
-1, -1, -1, -1, -1, 147, 148, 149, 150, 151,
152, -1, 154, -1, -1, -1, -1, -1, -1, -1,
-1, 163, -1, -1, -1, -1, -1, -1, 170, -1,
172, 173, -1, -1, -1, -1, -1, -1, 180, -1,
-1, -1, -1, 185, 186, 187, 188, 189, 190, -1,
192, 193, 194, 195, 196, 197, 198, 199, 200, 201,
202, 203, 204, 205, 206, 207, 208, 209, 210, 211,
212, 213, 214, 215, -1, -1, -1, -1, 220, 221,
222, 223, -1, -1, -1, 227, 228, 229, 230, 231,
232, -1, 234, 235, 236, 237, 238, 239, 240, -1,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251,
252, 253, 254, 255, 256, 257, 258, 259, 260, 261,
262, 263, -1, 265, 266, 267, 268, 269, 270, 271,
272, 273, 274, 275, 276, 277, 278, 279, 280, 281,
282, 283, 284, 285, 286, 287, 288, 289, 290, 291,
292, 293, 294, 295, 296, 297, 298, 299, 13, 14,
15, 16, 17, 18, -1, -1, 21, -1, 310, -1,
-1, -1, 27, 28, 316, 317, -1, 319, -1, 321,
-1, 323, 37, -1, -1, -1, -1, -1, -1, 44,
-1, 46, -1, -1, -1, 50, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 60, -1, -1, 63, 64,
65, -1, 67, 68, -1, -1, -1, 72, 73, -1,
75, -1, -1, -1, -1, -1, 81, -1, -1, 84,
85, -1, 87, -1, -1, 90, -1, -1, -1, 94,
-1, -1, -1, -1, -1, -1, -1, -1, 103, 104,
105, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, -1, -1, -1, 119, -1, -1, -1, -1, -1,
-1, 126, -1, 128, 129, -1, -1, -1, -1, -1,
-1, -1, -1, 138, 139, 140, 141, -1, -1, -1,
-1, -1, 147, 148, 149, 150, 151, 152, -1, 154,
-1, -1, -1, -1, -1, -1, -1, -1, 163, -1,
-1, -1, -1, -1, -1, 170, -1, 172, 173, -1,
-1, -1, -1, -1, -1, 180, -1, -1, -1, -1,
185, 186, 187, 188, 189, 190, -1, 192, 193, 194,
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
215, -1, -1, -1, -1, 220, 221, 222, 223, -1,
-1, -1, 227, 228, 229, 230, 231, 232, -1, 234,
235, 236, 237, 238, 239, 240, -1, 242, 243, 244,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, -1,
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
295, 296, 297, 298, 299, 13, -1, 15, -1, -1,
-1, -1, -1, 21, -1, 310, -1, -1, -1, -1,
28, 316, -1, -1, 319, -1, 321, -1, 323, 37,
-1, -1, -1, -1, -1, -1, 44, -1, 46, -1,
-1, 49, 50, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 60, -1, -1, 63, 64, -1, -1, -1,
68, -1, -1, -1, 72, -1, -1, 75, -1, 77,
-1, -1, -1, -1, -1, -1, -1, 85, -1, 87,
-1, -1, 90, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 103, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 113, 114, 115, -1, -1,
-1, 119, -1, -1, -1, -1, -1, -1, 126, -1,
128, 129, -1, -1, -1, -1, -1, -1, -1, -1,
138, 139, 140, 141, 142, -1, 13, -1, 15, 147,
-1, -1, -1, -1, 21, -1, -1, -1, -1, -1,
-1, 28, -1, -1, -1, 163, -1, -1, -1, -1,
37, -1, 170, -1, 172, 173, -1, 44, -1, 46,
-1, -1, 180, 50, -1, -1, -1, 185, -1, -1,
-1, -1, -1, 60, -1, -1, 63, 64, -1, -1,
-1, 68, -1, -1, -1, 72, -1, -1, 75, -1,
-1, 209, 210, -1, 212, 213, 214, 215, 85, -1,
87, -1, -1, 90, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 103, -1, -1, -1,
-1, 239, -1, -1, -1, -1, 113, 114, 115, -1,
-1, -1, 119, -1, -1, -1, -1, -1, -1, 126,
258, 128, 129, -1, -1, -1, -1, -1, -1, -1,
-1, 138, 139, 140, 141, -1, -1, -1, -1, -1,
147, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 163, -1, -1, -1,
-1, -1, 13, 170, 15, 172, 173, -1, -1, -1,
21, -1, -1, 180, -1, -1, -1, 28, 185, -1,
-1, -1, -1, -1, -1, 323, 37, -1, -1, -1,
-1, -1, -1, 44, -1, 46, -1, -1, -1, 50,
-1, -1, 209, 210, -1, 212, 213, 214, 215, 60,
-1, -1, 63, 64, -1, -1, -1, 68, -1, -1,
-1, 72, -1, -1, 75, -1, -1, -1, -1, -1,
-1, -1, 239, -1, 85, -1, 87, -1, -1, 90,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 258, 103, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 113, 114, 115, -1, -1, -1, 119, -1,
-1, -1, -1, -1, -1, 126, -1, 128, 129, -1,
-1, -1, -1, -1, -1, -1, -1, 138, 139, 140,
141, -1, -1, 13, -1, 15, 147, 148, -1, -1,
151, 21, -1, -1, -1, -1, -1, -1, 28, 316,
-1, -1, 163, -1, 321, -1, 323, 37, -1, 170,
-1, 172, 173, -1, 44, -1, 46, -1, -1, 180,
50, -1, -1, -1, 185, -1, -1, -1, -1, -1,
60, -1, -1, 63, 64, -1, -1, -1, 68, -1,
-1, -1, 72, -1, -1, 75, -1, -1, 209, 210,
-1, 212, 213, 214, 215, 85, -1, 87, -1, -1,
90, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 103, -1, -1, -1, -1, 239, -1,
-1, -1, -1, 113, 114, 115, -1, -1, -1, 119,
-1, -1, -1, -1, -1, -1, 126, 258, 128, 129,
-1, -1, -1, -1, -1, -1, -1, -1, 138, 139,
140, 141, -1, -1, 13, -1, 15, 147, 148, -1,
-1, 151, 21, -1, -1, -1, -1, -1, -1, 28,
29, -1, -1, 163, -1, -1, -1, -1, 37, -1,
170, -1, 172, 173, -1, 44, -1, 46, -1, -1,
180, 50, -1, -1, -1, 185, -1, -1, -1, -1,
-1, 60, 323, -1, 63, 64, -1, -1, -1, 68,
-1, -1, -1, 72, -1, -1, 75, -1, -1, 209,
210, -1, 212, 213, 214, 215, 85, -1, 87, -1,
-1, 90, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 103, -1, -1, -1, -1, 239,
-1, -1, -1, -1, 113, 114, 115, -1, -1, -1,
119, -1, -1, -1, -1, -1, -1, 126, 258, 128,
129, -1, -1, -1, -1, -1, -1, -1, -1, 138,
139, 140, 141, -1, -1, -1, -1, -1, 147, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 163, -1, -1, -1, -1, -1,
13, 170, 15, 172, 173, -1, -1, -1, 21, -1,
-1, 180, -1, -1, -1, 28, 185, -1, -1, -1,
-1, -1, -1, 323, 37, -1, -1, -1, -1, -1,
-1, 44, -1, 46, -1, -1, -1, 50, -1, -1,
209, 210, -1, 212, 213, 214, 215, 60, -1, -1,
63, 64, -1, -1, -1, 68, -1, -1, -1, 72,
-1, -1, 75, -1, -1, -1, 79, -1, -1, -1,
239, -1, 85, -1, 87, -1, -1, 90, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 258,
103, -1, -1, -1, -1, -1, -1, -1, -1, -1,
113, 114, 115, -1, -1, -1, 119, -1, -1, -1,
-1, -1, -1, 126, -1, 128, 129, -1, -1, -1,
-1, -1, -1, -1, -1, 138, 139, 140, 141, -1,
-1, 13, -1, 15, 147, -1, -1, -1, -1, 21,
-1, -1, -1, -1, -1, -1, 28, -1, -1, -1,
163, -1, -1, -1, 323, 37, -1, 170, -1, 172,
173, -1, 44, -1, 46, -1, -1, 180, 50, -1,
-1, -1, 185, -1, -1, -1, -1, -1, 60, -1,
-1, 63, 64, -1, -1, -1, 68, -1, -1, -1,
72, -1, -1, 75, -1, -1, 209, 210, -1, 212,
213, 214, 215, 85, -1, 87, -1, -1, 90, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 103, -1, -1, -1, -1, 239, -1, -1, -1,
-1, 113, 114, 115, -1, -1, -1, 119, -1, -1,
-1, -1, -1, -1, 126, 258, 128, 129, -1, -1,
-1, -1, -1, -1, -1, -1, 138, 139, 140, 141,
-1, -1, 13, -1, 15, 147, -1, -1, -1, -1,
21, -1, -1, -1, -1, -1, -1, 28, -1, -1,
-1, 163, -1, -1, -1, -1, 37, -1, 170, -1,
172, 173, -1, 44, -1, 46, -1, -1, 180, 50,
-1, -1, -1, 185, -1, -1, -1, -1, -1, 60,
323, -1, 63, 64, -1, -1, -1, 68, -1, -1,
-1, 72, -1, -1, 75, -1, -1, 209, 210, -1,
212, 213, 214, 215, 85, -1, 87, -1, -1, 90,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 103, -1, -1, -1, -1, 239, -1, -1,
-1, -1, 113, 114, 115, -1, -1, -1, 119, -1,
-1, -1, -1, -1, -1, 126, 258, 128, 129, -1,
-1, -1, -1, -1, -1, -1, -1, 138, 139, 140,
141, -1, -1, -1, -1, -1, 147, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 163, -1, -1, -1, -1, -1, 13, 170,
15, 172, 173, -1, -1, -1, 21, -1, -1, 180,
312, -1, -1, 28, 185, -1, -1, -1, -1, -1,
-1, 323, 37, -1, -1, -1, -1, -1, -1, 44,
-1, 46, -1, -1, -1, 50, -1, -1, 209, 210,
-1, 212, 213, 214, 215, 60, -1, -1, 63, 64,
-1, -1, -1, 68, -1, -1, -1, 72, -1, -1,
75, -1, -1, -1, -1, -1, -1, -1, 239, -1,
85, -1, 87, -1, -1, 90, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 258, 103, -1,
-1, -1, -1, -1, -1, -1, -1, -1, 113, 114,
115, -1, -1, -1, 119, -1, -1, -1, -1, -1,
-1, 126, -1, 128, 129, -1, -1, -1, -1, -1,
-1, -1, -1, 138, 139, 140, 141, -1, -1, 13,
-1, 15, 147, -1, -1, -1, -1, 21, -1, -1,
-1, -1, -1, -1, 28, -1, -1, -1, 163, -1,
321, -1, 323, 37, -1, 170, -1, 172, 173, -1,
44, -1, 46, -1, -1, 180, 50, -1, -1, -1,
185, -1, -1, -1, -1, -1, 60, -1, -1, 63,
64, -1, -1, -1, 68, -1, -1, -1, 72, -1,
-1, 75, -1, -1, 209, 210, -1, 212, 213, 214,
215, 85, -1, 87, -1, -1, 90, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
-1, -1, -1, -1, 239, -1, -1, -1, -1, 113,
114, 115, -1, -1, -1, 119, -1, -1, -1, -1,
-1, -1, 126, 258, 128, 129, -1, -1, -1, -1,
-1, -1, -1, -1, 138, 139, 140, 141, -1, -1,
13, -1, 15, 147, -1, -1, -1, -1, 21, -1,
-1, -1, -1, -1, -1, 28, -1, -1, -1, 163,
-1, -1, -1, -1, 37, -1, 170, -1, 172, 173,
-1, 44, -1, 46, -1, -1, 180, 50, -1, -1,
-1, 185, -1, -1, -1, -1, -1, 60, 323, -1,
63, 64, -1, -1, -1, 68, -1, -1, -1, 72,
-1, -1, 75, -1, -1, 209, 210, -1, 212, 213,
214, 215, 85, -1, 87, -1, -1, 90, -1, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
103, -1, -1, -1, -1, 239, -1, -1, -1, -1,
113, 114, 115, -1, -1, -1, 119, -1, -1, -1,
-1, -1, -1, 126, 258, 128, 129, -1, 42, -1,
-1, -1, -1, -1, -1, 138, 139, 140, 141, -1,
-1, -1, -1, -1, 147, -1, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
163, -1, -1, -1, -1, -1, 80, 170, -1, 172,
173, -1, -1, -1, 88, -1, -1, 180, -1, -1,
-1, 95, 185, -1, 42, -1, -1, -1, -1, 323,
104, -1, -1, -1, -1, 109, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 209, 210, -1, 212,
213, 214, 215, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 80, -1, -1, -1, -1, -1, -1, -1,
88, -1, -1, -1, -1, -1, 239, 95, -1, -1,
-1, -1, -1, -1, -1, -1, 104, -1, -1, -1,
-1, 109, -1, -1, -1, 258, 4, 5, 6, 7,
8, 9, 10, 11, 12, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 191, 4, 5,
6, 7, 8, 9, 10, 11, 12, -1, -1, -1,
-1, -1, -1, -1, 42, 209, 210, -1, 212, 213,
214, 215, 216, 217, 218, 219, -1, -1, -1, -1,
224, 225, 226, -1, -1, -1, 42, -1, -1, -1,
323, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 80, 191, -1, -1, -1, -1, -1, -1,
88, -1, -1, -1, -1, -1, -1, 95, -1, -1,
-1, -1, -1, -1, 80, -1, 104, -1, -1, -1,
-1, 109, 88, -1, -1, -1, -1, -1, -1, 95,
-1, -1, -1, -1, -1, -1, -1, -1, 104, -1,
-1, -1, -1, 109, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, 308, 309, 310, 311, 312, 313,
314, -1, 4, 5, 6, 7, 8, 9, 10, 11,
12, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 42, -1, 4, 5, 6, 7, 8, 9,
10, 11, 12, -1, -1, -1, -1, -1, -1, -1,
42, -1, -1, 191, -1, -1, -1, -1, -1, -1,
308, 309, 310, 311, 312, 313, 314, -1, -1, -1,
80, -1, 42, -1, -1, 191, -1, -1, 88, -1,
-1, -1, -1, -1, -1, 95, -1, -1, 80, -1,
-1, -1, -1, -1, 104, -1, 88, -1, -1, 109,
-1, -1, -1, 95, -1, -1, -1, -1, -1, -1,
80, -1, 104, -1, -1, -1, -1, 109, 88, -1,
-1, -1, -1, -1, -1, 95, -1, -1, -1, -1,
-1, -1, -1, -1, 104, -1, -1, -1, -1, 109,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
4, 5, 6, 7, 8, 9, 10, 11, 12, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
308, 309, 310, 311, 312, 313, 314, -1, 42, -1,
-1, 191, -1, -1, -1, -1, -1, -1, 42, -1,
-1, -1, 308, 309, 310, 311, 312, 313, 314, 191,
-1, -1, -1, -1, -1, 4, 5, 6, 7, 8,
9, 10, 11, 12, -1, -1, 80, -1, -1, -1,
-1, 191, -1, -1, 88, -1, 80, -1, -1, -1,
-1, 95, -1, -1, 88, -1, -1, -1, -1, -1,
104, 95, -1, 42, -1, 109, -1, -1, -1, -1,
104, -1, -1, -1, -1, 109, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 80, -1, -1, -1, -1, -1, -1, -1, 88,
-1, -1, -1, -1, -1, -1, 95, -1, 308, 309,
310, 311, 312, 313, 314, 104, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 308, 309, 310, 311,
312, 313, 314, -1, -1, -1, -1, 191, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 191, 308, 309,
310, 311, 312, 313, 314, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 191, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 308, 309, 310, 311, 312, 313,
314, -1, -1, -1, 308, 309, 310, 311, 312, 313,
314, -1, -1, -1, -1, -1, -1, -1, -1, 13,
-1, 15, -1, -1, -1, -1, -1, 21, -1, -1,
-1, -1, -1, -1, 28, -1, -1, -1, -1, -1,
-1, -1, -1, 37, -1, -1, -1, -1, -1, -1,
44, -1, 46, -1, -1, -1, 50, -1, -1, 308,
309, 310, 311, 312, 313, 314, 60, -1, -1, 63,
64, -1, -1, -1, 68, -1, -1, -1, 72, -1,
-1, 75, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 85, -1, 87, -1, -1, 90, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 103,
-1, -1, -1, -1, -1, -1, -1, -1, -1, 113,
114, 115, -1, -1, -1, 119, -1, -1, -1, -1,
-1, -1, 126, -1, 128, 129, -1, -1, -1, -1,
-1, -1, -1, -1, 138, 139, 140, 141, -1, -1,
13, -1, 15, 147, -1, -1, -1, -1, 21, -1,
-1, -1, -1, -1, -1, 28, -1, -1, -1, 163,
-1, -1, -1, -1, 37, -1, 170, -1, 172, 173,
-1, 44, -1, 46, -1, -1, 180, 50, -1, -1,
-1, 185, -1, -1, -1, -1, -1, 60, -1, -1,
63, 64, -1, -1, -1, 68, -1, -1, -1, 72,
-1, -1, 75, -1, -1, 209, 210, -1, 212, 213,
214, 215, 85, -1, 87, -1, -1, 90, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
103, -1, -1, -1, -1, 239, -1, -1, -1, -1,
113, 114, 115, -1, -1, -1, 119, -1, -1, -1,
-1, -1, -1, 126, 258, 128, 129, -1, -1, -1,
-1, -1, -1, -1, -1, 138, 139, 140, 141, -1,
-1, -1, -1, -1, 147, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
163, -1, -1, -1, -1, -1, 13, 170, 15, 172,
173, -1, -1, -1, 21, -1, -1, 180, 312, -1,
-1, 28, 185, -1, -1, -1, -1, -1, -1, -1,
37, -1, -1, -1, -1, -1, -1, 44, -1, 46,
-1, -1, -1, 50, -1, -1, 209, 210, -1, 212,
213, 214, 215, 60, -1, -1, 63, 64, -1, -1,
-1, 68, -1, -1, -1, 72, -1, -1, 75, -1,
-1, -1, -1, -1, -1, -1, 239, -1, 85, -1,
87, -1, -1, 90, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 258, 103, -1, -1, -1,
-1, -1, -1, -1, -1, -1, 113, 114, 115, -1,
-1, -1, 119, -1, -1, -1, -1, -1, -1, 126,
-1, 128, 129, -1, -1, -1, -1, -1, -1, -1,
-1, 138, 139, 140, 141, -1, -1, 13, -1, 15,
147, -1, -1, -1, -1, 21, -1, -1, -1, 312,
-1, -1, 28, -1, -1, -1, 163, -1, -1, -1,
-1, 37, -1, 170, -1, 172, 173, -1, 44, -1,
46, -1, -1, 180, 50, -1, -1, -1, 185, -1,
-1, -1, -1, -1, 60, -1, -1, 63, 64, -1,
-1, -1, 68, -1, -1, -1, 72, -1, -1, 75,
-1, -1, 209, 210, -1, 212, 213, 214, 215, 85,
-1, 87, -1, -1, 90, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 103, -1, -1,
-1, -1, 239, -1, -1, -1, -1, 113, 114, 115,
-1, -1, -1, 119, -1, -1, -1, -1, -1, -1,
126, 258, 128, 129, -1, -1, -1, -1, -1, -1,
-1, -1, 138, 139, 140, 141, -1, -1, -1, -1,
-1, 147, -1, -1, -1, 151, 152, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, 163, -1, -1,
-1, -1, -1, 13, 170, 15, 172, 173, -1, -1,
-1, 21, -1, -1, 180, 312, -1, -1, 28, 185,
-1, -1, -1, -1, -1, -1, -1, 37, -1, -1,
-1, -1, -1, -1, 44, -1, 46, -1, -1, -1,
50, -1, -1, 209, 210, -1, 212, 213, 214, 215,
60, -1, -1, 63, 64, -1, -1, -1, 68, -1,
-1, -1, 72, -1, -1, 75, -1, -1, -1, -1,
-1, -1, -1, 239, -1, 85, -1, 87, -1, -1,
90, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, 258, 103, -1, -1, -1, -1, -1, -1,
-1, -1, -1, 113, 114, 115, -1, -1, -1, 119,
-1, -1, -1, -1, -1, -1, 126, -1, 128, 129,
-1, -1, -1, -1, -1, -1, -1, -1, 138, 139,
140, 141, -1, -1, 13, -1, 15, 147, -1, -1,
-1, 151, 21, 153, -1, -1, -1, -1, -1, 28,
-1, -1, -1, 163, -1, -1, -1, -1, 37, -1,
170, -1, 172, 173, -1, 44, -1, 46, -1, -1,
180, 50, -1, -1, -1, 185, -1, -1, -1, -1,
-1, 60, -1, -1, 63, 64, -1, -1, -1, 68,
-1, -1, -1, 72, -1, -1, 75, -1, -1, 209,
210, -1, 212, 213, 214, 215, 85, -1, 87, -1,
-1, 90, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, 103, -1, -1, -1, -1, 239,
-1, -1, -1, -1, 113, 114, 115, -1, -1, -1,
119, -1, -1, -1, -1, -1, -1, 126, 258, 128,
129, -1, -1, -1, -1, -1, -1, -1, -1, 138,
139, 140, 141, -1, -1, 13, -1, 15, 147, -1,
-1, -1, 151, 21, -1, -1, -1, -1, -1, -1,
28, -1, -1, -1, 163, -1, -1, -1, -1, 37,
-1, 170, -1, 172, 173, -1, 44, -1, 46, -1,
-1, 180, 50, -1, -1, -1, 185, -1, -1, -1,
-1, -1, 60, -1, -1, 63, 64, -1, -1, -1,
68, -1, -1, -1, 72, -1, -1, 75, -1, -1,
209, 210, -1, 212, 213, 214, 215, 85, -1, 87,
-1, -1, 90, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 103, -1, -1, -1, -1,
239, -1, -1, -1, -1, 113, 114, 115, -1, -1,
-1, 119, -1, -1, -1, -1, -1, -1, 126, 258,
128, 129, -1, -1, -1, -1, -1, -1, -1, -1,
138, 139, 140, 141, -1, -1, -1, -1, -1, 147,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, 163, -1, -1, -1, -1,
-1, -1, 170, -1, 172, 173, -1, -1, -1, -1,
-1, -1, 180, -1, -1, -1, -1, 185, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 209, 210, -1, 212, 213, 214, 215, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, 239, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
258
};
#define YYPURE 1
/* -*-C-*- Note some compilers choke on comments on `#line' lines. */
#line 3 "/my/gnu/lib/bison/bison.simple"
/* Skeleton output parser for bison,
Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
#ifndef alloca
#ifdef __GNUC__
#define alloca __builtin_alloca
#else /* not GNU C. */
#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi)
#include <alloca.h>
#else /* not sparc */
#if defined (MSDOS) && !defined (__TURBOC__)
#include <malloc.h>
#else /* not MSDOS, or __TURBOC__ */
#if defined(_AIX)
#include <malloc.h>
#pragma alloca
#else /* not MSDOS, __TURBOC__, or _AIX */
#ifdef __hpux
#ifdef __cplusplus
extern "C" {
void *alloca (unsigned int);
};
#else /* not __cplusplus */
void *alloca ();
#endif /* not __cplusplus */
#endif /* __hpux */
#endif /* not _AIX */
#endif /* not MSDOS, or __TURBOC__ */
#endif /* not sparc. */
#endif /* not GNU C. */
#endif /* alloca not defined. */
/* This is the parser code that is written into each bison parser
when the %semantic_parser declaration is not specified in the grammar.
It was written by Richard Stallman by simplifying the hairy parser
used when %semantic_parser is specified. */
/* Note: there must be only one dollar sign in this file.
It is replaced by the list of actions, each action
as one case of the switch. */
#define yyerrok (yyerrstatus = 0)
#define yyclearin (yychar = YYEMPTY)
#define YYEMPTY -2
#define YYEOF 0
#define YYACCEPT return(0)
#define YYABORT return(1)
#define YYERROR goto yyerrlab1
/* Like YYERROR except do call yyerror.
This remains here temporarily to ease the
transition to the new meaning of YYERROR, for GCC.
Once GCC version 2 has supplanted version 1, this can go. */
#define YYFAIL goto yyerrlab
#define YYRECOVERING() (!!yyerrstatus)
#define YYBACKUP(token, value) \
do \
if (yychar == YYEMPTY && yylen == 1) \
{ yychar = (token), yylval = (value); \
yychar1 = YYTRANSLATE (yychar); \
YYPOPSTACK; \
goto yybackup; \
} \
else \
{ yyerror ("syntax error: cannot back up"); YYERROR; } \
while (0)
#define YYTERROR 1
#define YYERRCODE 256
#ifndef YYPURE
#define YYLEX yylex()
#endif
#ifdef YYPURE
#ifdef YYLSP_NEEDED
#ifdef YYLEX_PARAM
#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)
#else
#define YYLEX yylex(&yylval, &yylloc)
#endif
#else /* not YYLSP_NEEDED */
#ifdef YYLEX_PARAM
#define YYLEX yylex(&yylval, YYLEX_PARAM)
#else
#define YYLEX yylex(&yylval)
#endif
#endif /* not YYLSP_NEEDED */
#endif
/* If nonreentrant, generate the variables here */
#ifndef YYPURE
int yychar; /* the lookahead symbol */
YYSTYPE yylval; /* the semantic value of the */
/* lookahead symbol */
#ifdef YYLSP_NEEDED
YYLTYPE yylloc; /* location data for the lookahead */
/* symbol */
#endif
int yynerrs; /* number of parse errors so far */
#endif /* not YYPURE */
#if YYDEBUG != 0
int yydebug; /* nonzero means print parse trace */
/* Since this is uninitialized, it does not stop multiple parsers
from coexisting. */
#endif
/* YYINITDEPTH indicates the initial size of the parser's stacks */
#ifndef YYINITDEPTH
#define YYINITDEPTH 200
#endif
/* YYMAXDEPTH is the maximum size the stacks can grow to
(effective only if the built-in stack extension method is used). */
#if YYMAXDEPTH == 0
#undef YYMAXDEPTH
#endif
#ifndef YYMAXDEPTH
#define YYMAXDEPTH 10000
#endif
/* Prevent warning if -Wstrict-prototypes. */
#ifdef __GNUC__
int yyparse (void);
#endif
#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */
#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)
#else /* not GNU C or C++ */
#ifndef __cplusplus
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
__yy_memcpy (to, from, count)
char *to;
char *from;
int count;
{
register char *f = from;
register char *t = to;
register int i = count;
while (i-- > 0)
*t++ = *f++;
}
#else /* __cplusplus */
/* This is the most reliable way to avoid incompatibilities
in available built-in functions on various systems. */
static void
__yy_memcpy (char *to, char *from, int count)
{
register char *f = from;
register char *t = to;
register int i = count;
while (i-- > 0)
*t++ = *f++;
}
#endif
#endif
#line 196 "/my/gnu/lib/bison/bison.simple"
/* The user can define YYPARSE_PARAM as the name of an argument to be passed
into yyparse. The argument should have type void *.
It should actually point to an object.
Grammar actions can access the variable by casting it
to the proper pointer type. */
#ifdef YYPARSE_PARAM
#ifdef __cplusplus
#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM
#define YYPARSE_PARAM_DECL
#else /* not __cplusplus */
#define YYPARSE_PARAM_ARG YYPARSE_PARAM
#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;
#endif /* not __cplusplus */
#else /* not YYPARSE_PARAM */
#define YYPARSE_PARAM_ARG
#define YYPARSE_PARAM_DECL
#endif /* not YYPARSE_PARAM */
int
yyparse(YYPARSE_PARAM_ARG)
YYPARSE_PARAM_DECL
{
register int yystate;
register int yyn;
register short *yyssp;
register YYSTYPE *yyvsp;
int yyerrstatus; /* number of tokens to shift before error messages enabled */
int yychar1 = 0; /* lookahead token as an internal (translated) token number */
short yyssa[YYINITDEPTH]; /* the state stack */
YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */
short *yyss = yyssa; /* refer to the stacks thru separate pointers */
YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */
#ifdef YYLSP_NEEDED
YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */
YYLTYPE *yyls = yylsa;
YYLTYPE *yylsp;
#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)
#else
#define YYPOPSTACK (yyvsp--, yyssp--)
#endif
int yystacksize = YYINITDEPTH;
#ifdef YYPURE
int yychar;
YYSTYPE yylval;
int yynerrs;
#ifdef YYLSP_NEEDED
YYLTYPE yylloc;
#endif
#endif
YYSTYPE yyval; /* the variable used to return */
/* semantic values from the action */
/* routines */
int yylen;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Starting parse\n");
#endif
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
yyssp = yyss - 1;
yyvsp = yyvs;
#ifdef YYLSP_NEEDED
yylsp = yyls;
#endif
/* Push a new state, which is found in yystate . */
/* In all cases, when you get here, the value and location stacks
have just been pushed. so pushing a state here evens the stacks. */
yynewstate:
*++yyssp = yystate;
if (yyssp >= yyss + yystacksize - 1)
{
/* Give user a chance to reallocate the stack */
/* Use copies of these so that the &'s don't force the real ones into memory. */
YYSTYPE *yyvs1 = yyvs;
short *yyss1 = yyss;
#ifdef YYLSP_NEEDED
YYLTYPE *yyls1 = yyls;
#endif
/* Get the current used size of the three stacks, in elements. */
int size = yyssp - yyss + 1;
#ifdef yyoverflow
/* Each stack pointer address is followed by the size of
the data in use in that stack, in bytes. */
#ifdef YYLSP_NEEDED
/* This used to be a conditional around just the two extra args,
but that might be undefined if yyoverflow is a macro. */
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yyls1, size * sizeof (*yylsp),
&yystacksize);
#else
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yystacksize);
#endif
yyss = yyss1; yyvs = yyvs1;
#ifdef YYLSP_NEEDED
yyls = yyls1;
#endif
#else /* no yyoverflow */
/* Extend the stack our own way. */
if (yystacksize >= YYMAXDEPTH)
{
yyerror("parser stack overflow");
return 2;
}
yystacksize *= 2;
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
yyss = (short *) alloca (yystacksize * sizeof (*yyssp));
__yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp));
yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp));
__yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp));
#endif
#endif /* no yyoverflow */
yyssp = yyss + size - 1;
yyvsp = yyvs + size - 1;
#ifdef YYLSP_NEEDED
yylsp = yyls + size - 1;
#endif
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Stack size increased to %d\n", yystacksize);
#endif
if (yyssp >= yyss + yystacksize - 1)
YYABORT;
}
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Entering state %d\n", yystate);
#endif
goto yybackup;
yybackup:
/* Do appropriate processing given the current state. */
/* Read a lookahead token if we need one and don't already have one. */
/* yyresume: */
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
/* yychar is either YYEMPTY or YYEOF
or a valid token in external form. */
if (yychar == YYEMPTY)
{
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Reading a token: ");
#endif
yychar = YYLEX;
}
/* Convert token to internal form (in yychar1) for indexing tables with */
if (yychar <= 0) /* This means end of input. */
{
yychar1 = 0;
yychar = YYEOF; /* Don't call YYLEX any more */
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Now at end of input.\n");
#endif
}
else
{
yychar1 = YYTRANSLATE(yychar);
#if YYDEBUG != 0
if (yydebug)
{
fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
/* Give the individual parser a way to print the precise meaning
of a token, for further debugging info. */
#ifdef YYPRINT
YYPRINT (stderr, yychar, yylval);
#endif
fprintf (stderr, ")\n");
}
#endif
}
yyn += yychar1;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
goto yydefault;
yyn = yytable[yyn];
/* yyn is what to do for this token type in this state.
Negative => reduce, -yyn is rule number.
Positive => shift, yyn is new state.
New state is final state => don't bother to shift,
just return success.
0, or most negative number => error. */
if (yyn < 0)
{
if (yyn == YYFLAG)
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrlab;
if (yyn == YYFINAL)
YYACCEPT;
/* Shift the lookahead token. */
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
#endif
/* Discard the token being shifted unless it is eof. */
if (yychar != YYEOF)
yychar = YYEMPTY;
*++yyvsp = yylval;
#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
/* count tokens shifted since error; after three, turn off error status. */
if (yyerrstatus) yyerrstatus--;
yystate = yyn;
goto yynewstate;
/* Do the default action for the current state. */
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
/* Do a reduction. yyn is the number of a rule to reduce with. */
yyreduce:
yylen = yyr2[yyn];
if (yylen > 0)
yyval = yyvsp[1-yylen]; /* implement default value of the action */
#if YYDEBUG != 0
if (yydebug)
{
int i;
fprintf (stderr, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
/* Print the symbols being reduced, and their result. */
for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
fprintf (stderr, "%s ", yytname[yyrhs[i]]);
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
switch (yyn) {
case 1:
#line 469 "sql_yacc.yy"
{
if (!current_thd->bootstrap)
send_error(&current_thd->net,ER_EMPTY_QUERY);
YYABORT;
;
break;}
case 2:
#line 474 "sql_yacc.yy"
{;
break;}
case 23:
#line 502 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_CREATE_TABLE;
if (!add_table_to_list(yyvsp[0].table,NULL))
YYABORT;
Lex->create_list.empty();
Lex->key_list.empty();
Lex->col_list.empty();
Lex->change=NullS;
;
break;}
case 25:
#line 513 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_CREATE_INDEX;
if (!add_table_to_list(yyvsp[0].table,NULL))
YYABORT;
Lex->create_list.empty();
Lex->key_list.empty();
Lex->col_list.empty();
Lex->change=NullS;
;
break;}
case 26:
#line 523 "sql_yacc.yy"
{
Lex->key_list.push_back(new Key(yyvsp[-8].key_type,yyvsp[-6].lex_str.str,Lex->col_list));
Lex->col_list.empty();
;
break;}
case 27:
#line 528 "sql_yacc.yy"
{
Lex->sql_command=SQLCOM_CREATE_DB;
Lex->name=yyvsp[0].lex_str.str;
;
break;}
case 28:
#line 533 "sql_yacc.yy"
{
Lex->sql_command = SQLCOM_CREATE_FUNCTION;
Lex->udf.name=yyvsp[0].lex_str.str;
Lex->udf.name_length=yyvsp[0].lex_str.length;
;
break;}
case 29:
#line 539 "sql_yacc.yy"
{
Lex->udf.returns=(Item_result) yyvsp[-2].num;
Lex->udf.dl=yyvsp[0].lex_str.str;
;
break;}
case 34:
#line 553 "sql_yacc.yy"
{ Lex->db_type= yyvsp[0].db_type; ;
break;}
case 35:
#line 554 "sql_yacc.yy"
{ Lex->max_rows= yyvsp[0].ulonglong_num; ;
break;}
case 36:
#line 555 "sql_yacc.yy"
{ Lex->avg_length=yyvsp[0].ulong_num; ;
break;}
case 37:
#line 558 "sql_yacc.yy"
{ yyval.db_type= DB_TYPE_ISAM; ;
break;}
case 38:
#line 559 "sql_yacc.yy"
{ yyval.db_type= DB_TYPE_HEAP; ;
break;}
case 39:
#line 560 "sql_yacc.yy"
{ yyval.db_type= DB_TYPE_HEAP; ;
break;}
case 40:
#line 563 "sql_yacc.yy"
{yyval.num = (int) STRING_RESULT; ;
break;}
case 41:
#line 564 "sql_yacc.yy"
{yyval.num = (int) REAL_RESULT; ;
break;}
case 42:
#line 565 "sql_yacc.yy"
{yyval.num = (int) INT_RESULT; ;
break;}
case 46:
#line 575 "sql_yacc.yy"
{
Lex->col_list.empty(); /* Alloced by sql_alloc */
;
break;}
case 47:
#line 579 "sql_yacc.yy"
{
Lex->key_list.push_back(new Key(yyvsp[-4].key_type,yyvsp[-3].simple_string,Lex->col_list));
Lex->col_list.empty(); /* Alloced by sql_alloc */
;
break;}
case 48:
#line 584 "sql_yacc.yy"
{
Lex->col_list.empty(); /* Alloced by sql_alloc */
;
break;}
case 49:
#line 588 "sql_yacc.yy"
{
Lex->col_list.empty(); /* Alloced by sql_alloc */
;
break;}
case 52:
#line 598 "sql_yacc.yy"
{
Lex->length=Lex->dec=0; Lex->type=0; Lex->interval=0;
Lex->default_value=0;
;
break;}
case 53:
#line 603 "sql_yacc.yy"
{
if (add_field_to_list(yyvsp[-3].lex_str.str,
(enum enum_field_types) yyvsp[-1].num,
Lex->length,Lex->dec,Lex->type,
Lex->default_value,Lex->change,
Lex->interval))
YYABORT;
;
break;}
case 54:
#line 613 "sql_yacc.yy"
{ Lex->length=yyvsp[-1].simple_string; yyval.num=yyvsp[-2].num; ;
break;}
case 55:
#line 614 "sql_yacc.yy"
{ yyval.num=yyvsp[-2].num; ;
break;}
case 56:
#line 615 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_FLOAT; ;
break;}
case 57:
#line 616 "sql_yacc.yy"
{ Lex->length="1";
yyval.num=FIELD_TYPE_TINY; ;
break;}
case 58:
#line 618 "sql_yacc.yy"
{ Lex->length="1";
yyval.num=FIELD_TYPE_TINY; ;
break;}
case 59:
#line 620 "sql_yacc.yy"
{ Lex->length=yyvsp[-2].lex_str.str;
yyval.num=FIELD_TYPE_STRING; ;
break;}
case 60:
#line 622 "sql_yacc.yy"
{ Lex->length="1";
yyval.num=FIELD_TYPE_STRING; ;
break;}
case 61:
#line 624 "sql_yacc.yy"
{ Lex->length=yyvsp[-1].lex_str.str;
Lex->type|=BINARY_FLAG;
yyval.num=FIELD_TYPE_STRING; ;
break;}
case 62:
#line 627 "sql_yacc.yy"
{ Lex->length=yyvsp[-2].lex_str.str;
yyval.num=FIELD_TYPE_VAR_STRING; ;
break;}
case 63:
#line 629 "sql_yacc.yy"
{ Lex->length=yyvsp[-1].lex_str.str;
Lex->type|=BINARY_FLAG;
yyval.num=FIELD_TYPE_VAR_STRING; ;
break;}
case 64:
#line 632 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_YEAR; Lex->length=yyvsp[-1].simple_string; ;
break;}
case 65:
#line 633 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_DATE; ;
break;}
case 66:
#line 634 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_TIME; ;
break;}
case 67:
#line 635 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_TIMESTAMP; ;
break;}
case 68:
#line 636 "sql_yacc.yy"
{ Lex->length=yyvsp[-1].lex_str.str;
yyval.num=FIELD_TYPE_TIMESTAMP; ;
break;}
case 69:
#line 638 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_DATETIME; ;
break;}
case 70:
#line 639 "sql_yacc.yy"
{ Lex->type|=BINARY_FLAG;
yyval.num=FIELD_TYPE_TINY_BLOB; ;
break;}
case 71:
#line 641 "sql_yacc.yy"
{ Lex->type|=BINARY_FLAG;
yyval.num=FIELD_TYPE_BLOB; ;
break;}
case 72:
#line 643 "sql_yacc.yy"
{ Lex->type|=BINARY_FLAG;
yyval.num=FIELD_TYPE_MEDIUM_BLOB; ;
break;}
case 73:
#line 645 "sql_yacc.yy"
{ Lex->type|=BINARY_FLAG;
yyval.num=FIELD_TYPE_LONG_BLOB; ;
break;}
case 74:
#line 647 "sql_yacc.yy"
{ Lex->type|=BINARY_FLAG;
yyval.num=FIELD_TYPE_MEDIUM_BLOB; ;
break;}
case 75:
#line 649 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_MEDIUM_BLOB; ;
break;}
case 76:
#line 650 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_TINY_BLOB; ;
break;}
case 77:
#line 651 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_BLOB; ;
break;}
case 78:
#line 652 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_MEDIUM_BLOB; ;
break;}
case 79:
#line 653 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_LONG_BLOB; ;
break;}
case 80:
#line 655 "sql_yacc.yy"
{ Lex->length=yyvsp[-4].lex_str.str; Lex->dec=yyvsp[-2].lex_str.str;
yyval.num=FIELD_TYPE_DECIMAL;;
break;}
case 81:
#line 658 "sql_yacc.yy"
{ Lex->length=yyvsp[-4].lex_str.str; Lex->dec=yyvsp[-2].lex_str.str;
yyval.num=FIELD_TYPE_DECIMAL;;
break;}
case 82:
#line 660 "sql_yacc.yy"
{Lex->interval_list.empty();;
break;}
case 83:
#line 661 "sql_yacc.yy"
{
Lex->interval=typelib(Lex->interval_list);
yyval.num=FIELD_TYPE_ENUM;
Lex->interval_list.empty(); /* Alloced by sql_alloc */
;
break;}
case 84:
#line 666 "sql_yacc.yy"
{ Lex->interval_list.empty();;
break;}
case 85:
#line 667 "sql_yacc.yy"
{
Lex->interval=typelib(Lex->interval_list);
yyval.num=FIELD_TYPE_SET;
Lex->interval_list.empty(); /* Alloced by sql_alloc */
;
break;}
case 86:
#line 674 "sql_yacc.yy"
{;
break;}
case 87:
#line 675 "sql_yacc.yy"
{;
break;}
case 88:
#line 678 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_LONG; ;
break;}
case 89:
#line 679 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_TINY; ;
break;}
case 90:
#line 680 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_SHORT; ;
break;}
case 91:
#line 681 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_INT24; ;
break;}
case 92:
#line 682 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_LONGLONG; ;
break;}
case 93:
#line 685 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_DOUBLE; ;
break;}
case 94:
#line 686 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_DOUBLE; ;
break;}
case 95:
#line 687 "sql_yacc.yy"
{ yyval.num=FIELD_TYPE_DOUBLE; ;
break;}
case 96:
#line 691 "sql_yacc.yy"
{;
break;}
case 97:
#line 692 "sql_yacc.yy"
{ Lex->length=yyvsp[-1].lex_str.str; ;
break;}
case 98:
#line 693 "sql_yacc.yy"
{ Lex->length=yyvsp[-3].lex_str.str; Lex->dec=yyvsp[-1].lex_str.str; ;
break;}
case 99:
#line 696 "sql_yacc.yy"
{;
break;}
case 100:
#line 697 "sql_yacc.yy"
{;
break;}
case 101:
#line 700 "sql_yacc.yy"
{;
break;}
case 102:
#line 701 "sql_yacc.yy"
{;
break;}
case 103:
#line 704 "sql_yacc.yy"
{ Lex->type|= UNSIGNED_FLAG;;
break;}
case 104:
#line 705 "sql_yacc.yy"
{ Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; ;
break;}
case 105:
#line 708 "sql_yacc.yy"
{ yyval.simple_string=(char*) 0; ;
break;}
case 106:
#line 709 "sql_yacc.yy"
{ yyval.simple_string=yyvsp[-1].lex_str.str; ;
break;}
case 107:
#line 712 "sql_yacc.yy"
{;
break;}
case 108:
#line 713 "sql_yacc.yy"
{ Lex->length=yyvsp[-3].lex_str.str; Lex->dec=yyvsp[-1].lex_str.str; ;
break;}
case 109:
#line 716 "sql_yacc.yy"
{;
break;}
case 110:
#line 717 "sql_yacc.yy"
{;
break;}
case 111:
#line 720 "sql_yacc.yy"
{;
break;}
case 113:
#line 724 "sql_yacc.yy"
{ Lex->type&= ~ NOT_NULL_FLAG; ;
break;}
case 114:
#line 725 "sql_yacc.yy"
{ Lex->type|= NOT_NULL_FLAG; ;
break;}
case 115:
#line 726 "sql_yacc.yy"
{ Lex->default_value=yyvsp[0].item; ;
break;}
case 116:
#line 727 "sql_yacc.yy"
{ Lex->type|= AUTO_INCREMENT_FLAG; ;
break;}
case 117:
#line 728 "sql_yacc.yy"
{ Lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; ;
break;}
case 118:
#line 731 "sql_yacc.yy"
{;
break;}
case 119:
#line 732 "sql_yacc.yy"
{ Lex->type|=BINARY_FLAG; ;
break;}
case 120:
#line 735 "sql_yacc.yy"
{;
break;}
case 121:
#line 737 "sql_yacc.yy"
{
Lex->col_list.empty(); /* Alloced by sql_alloc */
;
break;}
case 122:
#line 742 "sql_yacc.yy"
{;
break;}
case 123:
#line 743 "sql_yacc.yy"
{;
break;}
case 124:
#line 746 "sql_yacc.yy"
{;
break;}
case 125:
#line 747 "sql_yacc.yy"
{;
break;}
case 126:
#line 751 "sql_yacc.yy"
{;
break;}
case 127:
#line 752 "sql_yacc.yy"
{;
break;}
case 128:
#line 753 "sql_yacc.yy"
{;
break;}
case 129:
#line 754 "sql_yacc.yy"
{;
break;}
case 130:
#line 757 "sql_yacc.yy"
{;
break;}
case 131:
#line 758 "sql_yacc.yy"
{;
break;}
case 132:
#line 759 "sql_yacc.yy"
{;
break;}
case 133:
#line 760 "sql_yacc.yy"
{;
break;}
case 134:
#line 761 "sql_yacc.yy"
{;
break;}
case 135:
#line 764 "sql_yacc.yy"
{ yyval.key_type= Key::PRIMARY; ;
break;}
case 136:
#line 765 "sql_yacc.yy"
{ yyval.key_type= Key::MULTIPLE; ;
break;}
case 137:
#line 766 "sql_yacc.yy"
{ yyval.key_type= Key::UNIQUE; ;
break;}
case 138:
#line 769 "sql_yacc.yy"
{;
break;}
case 139:
#line 770 "sql_yacc.yy"
{;
break;}
case 140:
#line 773 "sql_yacc.yy"
{;
break;}
case 141:
#line 774 "sql_yacc.yy"
{;
break;}
case 142:
#line 777 "sql_yacc.yy"
{ yyval.key_type= Key::MULTIPLE; ;
break;}
case 143:
#line 778 "sql_yacc.yy"
{ yyval.key_type= Key::UNIQUE; ;
break;}
case 144:
#line 781 "sql_yacc.yy"
{ Lex->col_list.push_back(yyvsp[-1].key_part); ;
break;}
case 145:
#line 782 "sql_yacc.yy"
{ Lex->col_list.push_back(yyvsp[-1].key_part); ;
break;}
case 146:
#line 785 "sql_yacc.yy"
{ yyval.key_part=new key_part_spec(yyvsp[0].lex_str.str); ;
break;}
case 147:
#line 786 "sql_yacc.yy"
{ yyval.key_part=new key_part_spec(yyvsp[-3].lex_str.str,(uint) atoi(yyvsp[-1].lex_str.str)); ;
break;}
case 148:
#line 789 "sql_yacc.yy"
{ yyval.simple_string=(char*) 0; ;
break;}
case 149:
#line 790 "sql_yacc.yy"
{ yyval.simple_string=yyvsp[0].lex_str.str; ;
break;}
case 150:
#line 793 "sql_yacc.yy"
{ Lex->interval_list.push_back(yyvsp[0].string); ;
break;}
case 151:
#line 794 "sql_yacc.yy"
{ Lex->interval_list.push_back(yyvsp[0].string); ;
break;}
case 152:
#line 802 "sql_yacc.yy"
{
Lex->sql_command = SQLCOM_ALTER_TABLE;
Lex->name=0;
if (!add_table_to_list(yyvsp[0].table, NULL))
YYABORT;
Lex->drop_primary=0;
Lex->create_list.empty();
Lex->key_list.empty();
Lex->col_list.empty();
Lex->drop_list.empty();
Lex->alter_list.empty();
Lex->db=Lex->name=0;
;
break;}
case 156:
#line 823 "sql_yacc.yy"
{ Lex->change=0;;
break;}
case 158:
#line 824 "sql_yacc.yy"
{ Lex->change= yyvsp[0].lex_str.str; ;
break;}
case 160:
#line 826 "sql_yacc.yy"
{ Lex->drop_list.push_back(new Alter_drop(Alter_drop::COLUMN,
yyvsp[-1].lex_str.str)); ;
break;}
case 161:
#line 828 "sql_yacc.yy"
{ Lex->drop_primary=1; ;
break;}
case 162:
#line 829 "sql_yacc.yy"
{;
break;}
case 163:
#line 831 "sql_yacc.yy"
{ Lex->drop_list.push_back(new Alter_drop(Alter_drop::KEY,
yyvsp[0].lex_str.str)); ;
break;}
case 164:
#line 834 "sql_yacc.yy"
{ Lex->alter_list.push_back(new Alter_column(yyvsp[-3].lex_str.str,yyvsp[0].item)); ;
break;}
case 165:
#line 836 "sql_yacc.yy"
{ Lex->alter_list.push_back(new Alter_column(yyvsp[-2].lex_str.str,(Item*) 0)); ;
break;}
case 166:
#line 838 "sql_yacc.yy"
{ Lex->db=yyvsp[0].table->db.str ; Lex->name= yyvsp[0].table->table.str; ;
break;}
case 168:
#line 842 "sql_yacc.yy"
{;
break;}
case 169:
#line 843 "sql_yacc.yy"
{;
break;}
case 170:
#line 846 "sql_yacc.yy"
{ Lex->duplicates=DUP_ERROR; ;
break;}
case 171:
#line 847 "sql_yacc.yy"
{ Lex->duplicates=DUP_IGNORE; ;
break;}
case 172:
#line 850 "sql_yacc.yy"
{;
break;}
case 173:
#line 851 "sql_yacc.yy"
{;
break;}
case 174:
#line 852 "sql_yacc.yy"
{;
break;}
case 175:
#line 855 "sql_yacc.yy"
{;
break;}
case 176:
#line 856 "sql_yacc.yy"
{ store_position_for_column(yyvsp[0].lex_str.str); ;
break;}
case 177:
#line 857 "sql_yacc.yy"
{ store_position_for_column(first_keyword); ;
break;}
case 178:
#line 861 "sql_yacc.yy"
{
Lex->sql_command = SQLCOM_OPTIMIZE;
if (!add_table_to_list(yyvsp[0].table, NULL))
YYABORT;
;
break;}
case 179:
#line 874 "sql_yacc.yy"
{
LEX *lex=Lex;
lex->where=lex->having=0;
lex->select_limit=current_thd->default_select_limit;
lex->offset_limit=0L;
lex->options=0;
lex->sql_command= SQLCOM_SELECT;
Lex->exchange = 0;
;
break;}
case 190:
#line 904 "sql_yacc.yy"
{ Lex->options|= SELECT_STRAIGHT_JOIN; ;
break;}
case 191:
#line 905 "sql_yacc.yy"
{ Lex->options|= SELECT_HIGH_PRIORITY; ;
break;}
case 192:
#line 906 "sql_yacc.yy"
{ Lex->options|= SELECT_DISTINCT; ;
break;}
case 193:
#line 907 "sql_yacc.yy"
{ Lex->options|= SELECT_SMALL_RESULT; ;
break;}
case 194:
#line 908 "sql_yacc.yy"
{;
break;}
case 197:
#line 914 "sql_yacc.yy"
{
if (add_item_to_list(new Item_field(NULL,NULL,"*")))
YYABORT;
;
break;}
case 198:
#line 922 "sql_yacc.yy"
{
if (add_item_to_list(yyvsp[-2].item))
YYABORT;
if (yyvsp[0].lex_str.str)
yyvsp[-2].item->set_name(yyvsp[0].lex_str.str);
else if (!yyvsp[-2].item->name)
yyvsp[-2].item->set_name(yyvsp[-3].simple_string,(uint) (yyvsp[-1].simple_string - yyvsp[-3].simple_string));
;
break;}
case 199:
#line 932 "sql_yacc.yy"
{ yyval.simple_string=(char*) Lex->tok_start; ;
break;}
case 200:
#line 935 "sql_yacc.yy"
{ yyval.simple_string=(char*) Lex->tok_end; ;
break;}
case 201:
#line 938 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 202:
#line 939 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 203:
#line 942 "sql_yacc.yy"
{ yyval.lex_str.str=0;;
break;}
case 204:
#line 943 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str; ;
break;}
case 205:
#line 944 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str; ;
break;}
case 206:
#line 947 "sql_yacc.yy"
{yyval.item = yyvsp[0].item; ;
break;}
case 207:
#line 948 "sql_yacc.yy"
{yyval.item = yyvsp[0].item; ;
break;}
case 208:
#line 953 "sql_yacc.yy"
{ yyval.item= new Item_func_in(yyvsp[-4].item,*yyvsp[-1].item_list); ;
break;}
case 209:
#line 955 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_in(yyvsp[-5].item,*yyvsp[-1].item_list)); ;
break;}
case 210:
#line 957 "sql_yacc.yy"
{ yyval.item= new Item_func_between(yyvsp[-4].item,yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 211:
#line 959 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_between(yyvsp[-5].item,yyvsp[-2].item,yyvsp[0].item)); ;
break;}
case 212:
#line 960 "sql_yacc.yy"
{ yyval.item= new Item_cond_or(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 213:
#line 961 "sql_yacc.yy"
{ yyval.item= new Item_cond_and(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 214:
#line 962 "sql_yacc.yy"
{ yyval.item= new Item_func_like(yyvsp[-3].item,yyvsp[-1].item,yyvsp[0].simple_string); ;
break;}
case 215:
#line 963 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_like(yyvsp[-4].item,yyvsp[-1].item,yyvsp[0].simple_string));;
break;}
case 216:
#line 964 "sql_yacc.yy"
{ yyval.item= new Item_func_regex(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 217:
#line 965 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_regex(yyvsp[-3].item,yyvsp[0].item)); ;
break;}
case 218:
#line 966 "sql_yacc.yy"
{ yyval.item= new Item_func_isnull(yyvsp[-2].item); ;
break;}
case 219:
#line 967 "sql_yacc.yy"
{ yyval.item= new Item_func_isnotnull(yyvsp[-3].item); ;
break;}
case 220:
#line 968 "sql_yacc.yy"
{ yyval.item= new Item_func_eq(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 221:
#line 969 "sql_yacc.yy"
{ yyval.item= new Item_func_ge(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 222:
#line 970 "sql_yacc.yy"
{ yyval.item= new Item_func_gt(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 223:
#line 971 "sql_yacc.yy"
{ yyval.item= new Item_func_le(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 224:
#line 972 "sql_yacc.yy"
{ yyval.item= new Item_func_lt(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 225:
#line 973 "sql_yacc.yy"
{ yyval.item= new Item_func_ne(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 226:
#line 974 "sql_yacc.yy"
{ yyval.item= new Item_func_shift_left(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 227:
#line 975 "sql_yacc.yy"
{ yyval.item= new Item_func_shift_right(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 228:
#line 976 "sql_yacc.yy"
{ yyval.item= new Item_func_plus(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 229:
#line 977 "sql_yacc.yy"
{ yyval.item= new Item_func_minus(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 230:
#line 978 "sql_yacc.yy"
{ yyval.item= new Item_func_mul(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 231:
#line 979 "sql_yacc.yy"
{ yyval.item= new Item_func_div(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 232:
#line 980 "sql_yacc.yy"
{ yyval.item= new Item_func_bit_or(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 233:
#line 981 "sql_yacc.yy"
{ yyval.item= new Item_func_bit_and(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 234:
#line 982 "sql_yacc.yy"
{ yyval.item= new Item_func_mod(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 235:
#line 987 "sql_yacc.yy"
{ yyval.item= new Item_func_between(yyvsp[-4].item,yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 236:
#line 989 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_between(yyvsp[-5].item,yyvsp[-2].item,yyvsp[0].item)); ;
break;}
case 237:
#line 990 "sql_yacc.yy"
{ yyval.item= new Item_cond_or(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 238:
#line 991 "sql_yacc.yy"
{ yyval.item= new Item_cond_and(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 239:
#line 992 "sql_yacc.yy"
{ yyval.item= new Item_func_like(yyvsp[-3].item,yyvsp[-1].item,yyvsp[0].simple_string); ;
break;}
case 240:
#line 993 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_like(yyvsp[-4].item,yyvsp[-1].item,yyvsp[0].simple_string)); ;
break;}
case 241:
#line 994 "sql_yacc.yy"
{ yyval.item= new Item_func_regex(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 242:
#line 995 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_regex(yyvsp[-3].item,yyvsp[0].item)); ;
break;}
case 243:
#line 996 "sql_yacc.yy"
{ yyval.item= new Item_func_isnull(yyvsp[-2].item); ;
break;}
case 244:
#line 997 "sql_yacc.yy"
{ yyval.item= new Item_func_isnotnull(yyvsp[-3].item); ;
break;}
case 245:
#line 998 "sql_yacc.yy"
{ yyval.item= new Item_func_eq(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 246:
#line 999 "sql_yacc.yy"
{ yyval.item= new Item_func_ge(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 247:
#line 1000 "sql_yacc.yy"
{ yyval.item= new Item_func_gt(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 248:
#line 1001 "sql_yacc.yy"
{ yyval.item= new Item_func_le(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 249:
#line 1002 "sql_yacc.yy"
{ yyval.item= new Item_func_lt(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 250:
#line 1003 "sql_yacc.yy"
{ yyval.item= new Item_func_ne(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 251:
#line 1004 "sql_yacc.yy"
{ yyval.item= new Item_func_shift_left(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 252:
#line 1005 "sql_yacc.yy"
{ yyval.item= new Item_func_shift_right(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 253:
#line 1006 "sql_yacc.yy"
{ yyval.item= new Item_func_plus(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 254:
#line 1007 "sql_yacc.yy"
{ yyval.item= new Item_func_minus(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 255:
#line 1008 "sql_yacc.yy"
{ yyval.item= new Item_func_mul(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 256:
#line 1009 "sql_yacc.yy"
{ yyval.item= new Item_func_div(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 257:
#line 1010 "sql_yacc.yy"
{ yyval.item= new Item_func_bit_or(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 258:
#line 1011 "sql_yacc.yy"
{ yyval.item= new Item_func_bit_and(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 259:
#line 1012 "sql_yacc.yy"
{ yyval.item= new Item_func_mod(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 261:
#line 1018 "sql_yacc.yy"
{ yyval.item= new Item_func_in(yyvsp[-4].item,*yyvsp[-1].item_list); ;
break;}
case 262:
#line 1020 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_in(yyvsp[-5].item,*yyvsp[-1].item_list)); ;
break;}
case 263:
#line 1022 "sql_yacc.yy"
{ yyval.item= new Item_func_between(yyvsp[-4].item,yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 264:
#line 1024 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_between(yyvsp[-5].item,yyvsp[-2].item,yyvsp[0].item)); ;
break;}
case 265:
#line 1025 "sql_yacc.yy"
{ yyval.item= new Item_cond_or(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 266:
#line 1026 "sql_yacc.yy"
{ yyval.item= new Item_func_like(yyvsp[-3].item,yyvsp[-1].item,yyvsp[0].simple_string); ;
break;}
case 267:
#line 1027 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_like(yyvsp[-4].item,yyvsp[-1].item,yyvsp[0].simple_string)); ;
break;}
case 268:
#line 1028 "sql_yacc.yy"
{ yyval.item= new Item_func_regex(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 269:
#line 1029 "sql_yacc.yy"
{ yyval.item= new Item_func_not(new Item_func_regex(yyvsp[-3].item,yyvsp[0].item)); ;
break;}
case 270:
#line 1030 "sql_yacc.yy"
{ yyval.item= new Item_func_isnull(yyvsp[-2].item); ;
break;}
case 271:
#line 1031 "sql_yacc.yy"
{ yyval.item= new Item_func_isnotnull(yyvsp[-3].item); ;
break;}
case 272:
#line 1032 "sql_yacc.yy"
{ yyval.item= new Item_func_eq(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 273:
#line 1033 "sql_yacc.yy"
{ yyval.item= new Item_func_ge(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 274:
#line 1034 "sql_yacc.yy"
{ yyval.item= new Item_func_gt(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 275:
#line 1035 "sql_yacc.yy"
{ yyval.item= new Item_func_le(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 276:
#line 1036 "sql_yacc.yy"
{ yyval.item= new Item_func_lt(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 277:
#line 1037 "sql_yacc.yy"
{ yyval.item= new Item_func_ne(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 278:
#line 1038 "sql_yacc.yy"
{ yyval.item= new Item_func_shift_left(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 279:
#line 1039 "sql_yacc.yy"
{ yyval.item= new Item_func_shift_right(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 280:
#line 1040 "sql_yacc.yy"
{ yyval.item= new Item_func_plus(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 281:
#line 1041 "sql_yacc.yy"
{ yyval.item= new Item_func_minus(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 282:
#line 1042 "sql_yacc.yy"
{ yyval.item= new Item_func_mul(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 283:
#line 1043 "sql_yacc.yy"
{ yyval.item= new Item_func_div(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 284:
#line 1044 "sql_yacc.yy"
{ yyval.item= new Item_func_bit_or(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 285:
#line 1045 "sql_yacc.yy"
{ yyval.item= new Item_func_bit_and(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 286:
#line 1046 "sql_yacc.yy"
{ yyval.item= new Item_func_mod(yyvsp[-2].item,yyvsp[0].item); ;
break;}
case 291:
#line 1053 "sql_yacc.yy"
{ yyval.item= new Item_func_neg(yyvsp[0].item); ;
break;}
case 292:
#line 1054 "sql_yacc.yy"
{ yyval.item= new Item_func_not(yyvsp[0].item); ;
break;}
case 293:
#line 1055 "sql_yacc.yy"
{ yyval.item= new Item_func_not(yyvsp[0].item); ;
break;}
case 294:
#line 1056 "sql_yacc.yy"
{ yyval.item= yyvsp[-1].item; ;
break;}
case 295:
#line 1057 "sql_yacc.yy"
{ yyval.item= yyvsp[-1].item; ;
break;}
case 296:
#line 1058 "sql_yacc.yy"
{ yyval.item= new Item_func_abs(yyvsp[-1].item); ;
break;}
case 297:
#line 1060 "sql_yacc.yy"
{ yyval.item= new Item_func_acos(yyvsp[-1].item); ;
break;}
case 298:
#line 1062 "sql_yacc.yy"
{ yyval.item= new Item_func_ascii(yyvsp[-1].item); ;
break;}
case 299:
#line 1064 "sql_yacc.yy"
{ yyval.item= new Item_func_asin(yyvsp[-1].item); ;
break;}
case 300:
#line 1066 "sql_yacc.yy"
{ yyval.item= new Item_func_atan(yyvsp[-1].item); ;
break;}
case 301:
#line 1068 "sql_yacc.yy"
{ yyval.item= new Item_func_atan(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 302:
#line 1070 "sql_yacc.yy"
{ yyval.item= new Item_func_conv(yyvsp[-1].item,new Item_int((int32) 10,2),
new Item_int((int32) 2,1)); ;
break;}
case 303:
#line 1072 "sql_yacc.yy"
{ yyval.item=new Item_func_bit_count(yyvsp[-1].item); ;
break;}
case 304:
#line 1073 "sql_yacc.yy"
{ yyval.item= new Item_func_ceiling(yyvsp[-1].item); ;
break;}
case 305:
#line 1075 "sql_yacc.yy"
{ yyval.item= new Item_func_char(*yyvsp[-1].item_list); ;
break;}
case 306:
#line 1077 "sql_yacc.yy"
{ yyval.item= new Item_func_concat(* yyvsp[-1].item_list); ;
break;}
case 307:
#line 1079 "sql_yacc.yy"
{ yyval.item= new Item_func_conv(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 308:
#line 1081 "sql_yacc.yy"
{ yyval.item= new Item_func_cos(yyvsp[-1].item); ;
break;}
case 309:
#line 1083 "sql_yacc.yy"
{ yyval.item= new Item_func_div(new Item_int("1",1,1),
new Item_func_tan(yyvsp[-1].item)); ;
break;}
case 310:
#line 1086 "sql_yacc.yy"
{ yyval.item= new Item_func_curdate(); ;
break;}
case 311:
#line 1088 "sql_yacc.yy"
{ yyval.item= new Item_func_curdate(); ;
break;}
case 312:
#line 1090 "sql_yacc.yy"
{ yyval.item= new Item_func_curtime(); ;
break;}
case 313:
#line 1092 "sql_yacc.yy"
{ yyval.item= new Item_func_curtime(); ;
break;}
case 314:
#line 1094 "sql_yacc.yy"
{ yyval.item= new Item_func_curtime(yyvsp[-1].item); ;
break;}
case 315:
#line 1096 "sql_yacc.yy"
{ yyval.item= new Item_func_database(); ;
break;}
case 316:
#line 1098 "sql_yacc.yy"
{ yyval.item= new Item_date_add_interval(yyvsp[-5].item,yyvsp[-2].item,yyvsp[-1].interval,0); ;
break;}
case 317:
#line 1100 "sql_yacc.yy"
{ yyval.item=new Item_func_date_format(yyvsp[-3].item,yyvsp[-1].item,0); ;
break;}
case 318:
#line 1102 "sql_yacc.yy"
{ yyval.item= new Item_date_add_interval(yyvsp[-5].item,yyvsp[-2].item,yyvsp[-1].interval,1); ;
break;}
case 319:
#line 1104 "sql_yacc.yy"
{ yyval.item= new Item_func_dayofmonth(yyvsp[-1].item); ;
break;}
case 320:
#line 1106 "sql_yacc.yy"
{ yyval.item= new Item_func_weekday(new Item_func_to_days(yyvsp[-1].item),1); ;
break;}
case 321:
#line 1108 "sql_yacc.yy"
{ yyval.item= new Item_func_dayofyear(yyvsp[-1].item); ;
break;}
case 322:
#line 1110 "sql_yacc.yy"
{ yyval.item= new Item_func_dayname(new Item_func_to_days(yyvsp[-1].item)); ;
break;}
case 323:
#line 1112 "sql_yacc.yy"
{ yyval.item= new Item_func_units("degrees",yyvsp[-1].item,180/M_PI,0.0); ;
break;}
case 324:
#line 1114 "sql_yacc.yy"
{ yyval.item= new Item_func_elt(yyvsp[-3].item, *yyvsp[-1].item_list); ;
break;}
case 325:
#line 1116 "sql_yacc.yy"
{ yyval.item= new Item_func_make_set(yyvsp[-3].item, *yyvsp[-1].item_list); ;
break;}
case 326:
#line 1117 "sql_yacc.yy"
{ yyval.item= new Item_func_encrypt(yyvsp[-1].item); ;
break;}
case 327:
#line 1118 "sql_yacc.yy"
{ yyval.item= new Item_func_encrypt(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 328:
#line 1120 "sql_yacc.yy"
{ yyval.item= new Item_func_decode(yyvsp[-3].item,yyvsp[-1].lex_str.str); ;
break;}
case 329:
#line 1122 "sql_yacc.yy"
{ yyval.item= new Item_func_encode(yyvsp[-3].item,yyvsp[-1].lex_str.str); ;
break;}
case 330:
#line 1123 "sql_yacc.yy"
{ yyval.item= new Item_func_exp(yyvsp[-1].item); ;
break;}
case 331:
#line 1125 "sql_yacc.yy"
{ yyval.item= new Item_func_field(yyvsp[-3].item, *yyvsp[-1].item_list); ;
break;}
case 332:
#line 1127 "sql_yacc.yy"
{ yyval.item= new Item_func_find_in_set(yyvsp[-3].item, yyvsp[-1].item); ;
break;}
case 333:
#line 1128 "sql_yacc.yy"
{ yyval.item= new Item_func_floor(yyvsp[-1].item); ;
break;}
case 334:
#line 1130 "sql_yacc.yy"
{ yyval.item= new Item_func_format(yyvsp[-3].item,atoi(yyvsp[-1].lex_str.str)); ;
break;}
case 335:
#line 1132 "sql_yacc.yy"
{ yyval.item= new Item_func_from_days(yyvsp[-1].item); ;
break;}
case 336:
#line 1134 "sql_yacc.yy"
{ yyval.item= new Item_func_from_unixtime(yyvsp[-1].item); ;
break;}
case 337:
#line 1136 "sql_yacc.yy"
{
yyval.item= new Item_func_date_format(new Item_func_from_unixtime(yyvsp[-3].item),yyvsp[-1].item,0);
;
break;}
case 338:
#line 1140 "sql_yacc.yy"
{ yyval.item= new Item_func_get_lock(yyvsp[-3].item, yyvsp[-1].item);;
break;}
case 339:
#line 1142 "sql_yacc.yy"
{ yyval.item= new Item_func_conv(yyvsp[-1].item,new Item_int((int32) 10,2),
new Item_int((int32) 16,2)); ;
break;}
case 340:
#line 1145 "sql_yacc.yy"
{ yyval.item= new Item_func_hour(yyvsp[-1].item); ;
break;}
case 341:
#line 1147 "sql_yacc.yy"
{ yyval.item= new Item_func_if(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 342:
#line 1149 "sql_yacc.yy"
{ yyval.item= new Item_func_ifnull(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 343:
#line 1151 "sql_yacc.yy"
{ yyval.item= new Item_func_insert(yyvsp[-7].item,yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 344:
#line 1153 "sql_yacc.yy"
{ yyval.item= new Item_func_locate(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 345:
#line 1155 "sql_yacc.yy"
{ yyval.item= new Item_func_interval(yyvsp[-3].item,* yyvsp[-1].item_list); ;
break;}
case 346:
#line 1157 "sql_yacc.yy"
{ yyval.item= new Item_func_isnull(yyvsp[-1].item); ;
break;}
case 347:
#line 1159 "sql_yacc.yy"
{
yyval.item= new Item_int("last_insert_id()",
current_thd->insert_id(),21);
;
break;}
case 348:
#line 1164 "sql_yacc.yy"
{
yyval.item= new Item_func_set_last_insert_id(yyvsp[-1].item);
;
break;}
case 349:
#line 1167 "sql_yacc.yy"
{ yyval.item= new Item_func_lcase(yyvsp[-1].item); ;
break;}
case 350:
#line 1169 "sql_yacc.yy"
{ yyval.item= new Item_func_left(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 351:
#line 1170 "sql_yacc.yy"
{ yyval.item= new Item_func_length(yyvsp[-1].item); ;
break;}
case 352:
#line 1172 "sql_yacc.yy"
{ yyval.item= new Item_func_locate(yyvsp[-1].item,yyvsp[-3].item); ;
break;}
case 353:
#line 1174 "sql_yacc.yy"
{ yyval.item= new Item_func_locate(yyvsp[-3].item,yyvsp[-5].item,yyvsp[-1].item); ;
break;}
case 354:
#line 1175 "sql_yacc.yy"
{ yyval.item= new Item_func_log(yyvsp[-1].item); ;
break;}
case 355:
#line 1176 "sql_yacc.yy"
{ yyval.item= new Item_func_log10(yyvsp[-1].item); ;
break;}
case 356:
#line 1178 "sql_yacc.yy"
{ yyval.item= new Item_func_lpad(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 357:
#line 1180 "sql_yacc.yy"
{ yyval.item= new Item_func_ltrim(yyvsp[-1].item,new Item_string(" ",1)); ;
break;}
case 358:
#line 1182 "sql_yacc.yy"
{ yyvsp[-1].item_list->push_front(yyvsp[-3].item); yyval.item= new Item_func_max(*yyvsp[-1].item_list); ;
break;}
case 359:
#line 1184 "sql_yacc.yy"
{ yyvsp[-1].item_list->push_front(yyvsp[-3].item); yyval.item= new Item_func_min(*yyvsp[-1].item_list); ;
break;}
case 360:
#line 1186 "sql_yacc.yy"
{ yyval.item= new Item_func_minute(yyvsp[-1].item); ;
break;}
case 361:
#line 1188 "sql_yacc.yy"
{ yyval.item= new Item_func_mod(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 362:
#line 1190 "sql_yacc.yy"
{ yyval.item= new Item_func_monthname(yyvsp[-1].item); ;
break;}
case 363:
#line 1192 "sql_yacc.yy"
{ yyval.item= new Item_func_month(yyvsp[-1].item); ;
break;}
case 364:
#line 1194 "sql_yacc.yy"
{ yyval.item= new Item_func_now(); ;
break;}
case 365:
#line 1196 "sql_yacc.yy"
{ yyval.item= new Item_func_now(); ;
break;}
case 366:
#line 1198 "sql_yacc.yy"
{ yyval.item= new Item_func_now(yyvsp[-1].item); ;
break;}
case 367:
#line 1200 "sql_yacc.yy"
{ yyval.item= new Item_func_conv(yyvsp[-1].item,new Item_int((int32) 10,2),
new Item_int((int32) 8,1)); ;
break;}
case 368:
#line 1202 "sql_yacc.yy"
{ yyval.item= new Item_func_password(yyvsp[-1].item); ;
break;}
case 369:
#line 1204 "sql_yacc.yy"
{ yyval.item= new Item_func_period_add(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 370:
#line 1206 "sql_yacc.yy"
{ yyval.item= new Item_func_period_diff(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 371:
#line 1208 "sql_yacc.yy"
{ yyval.item= new Item_real("PI()",M_PI,6,8); ;
break;}
case 372:
#line 1210 "sql_yacc.yy"
{ yyval.item = new Item_func_locate(yyvsp[-1].item,yyvsp[-3].item); ;
break;}
case 373:
#line 1212 "sql_yacc.yy"
{ yyval.item= new Item_func_pow(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 374:
#line 1214 "sql_yacc.yy"
{ yyval.item= new Item_func_quarter(yyvsp[-1].item); ;
break;}
case 375:
#line 1216 "sql_yacc.yy"
{ yyval.item= new Item_func_units("radians",yyvsp[-1].item,M_PI/180,0.0); ;
break;}
case 376:
#line 1217 "sql_yacc.yy"
{ yyval.item= new Item_func_rand(yyvsp[-1].item); ;
break;}
case 377:
#line 1218 "sql_yacc.yy"
{ yyval.item= new Item_func_rand(); ;
break;}
case 378:
#line 1220 "sql_yacc.yy"
{
yyval.item= new Item_func_release_lock(yyvsp[-1].item);
;
break;}
case 379:
#line 1224 "sql_yacc.yy"
{ yyval.item= new Item_func_repeat(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 380:
#line 1226 "sql_yacc.yy"
{ yyval.item= new Item_func_replace(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 381:
#line 1227 "sql_yacc.yy"
{ yyval.item= new Item_func_reverse(yyvsp[-1].item); ;
break;}
case 382:
#line 1229 "sql_yacc.yy"
{ yyval.item= new Item_func_right(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 383:
#line 1231 "sql_yacc.yy"
{ yyval.item= new Item_func_round(yyvsp[-1].item, new Item_int("0",0,1),0); ;
break;}
case 384:
#line 1232 "sql_yacc.yy"
{ yyval.item= new Item_func_round(yyvsp[-3].item,yyvsp[-1].item,0); ;
break;}
case 385:
#line 1234 "sql_yacc.yy"
{ yyval.item= new Item_func_rpad(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 386:
#line 1236 "sql_yacc.yy"
{ yyval.item= new Item_func_rtrim(yyvsp[-1].item,new Item_string(" ",1)); ;
break;}
case 387:
#line 1238 "sql_yacc.yy"
{ yyval.item= new Item_func_sec_to_time(yyvsp[-1].item); ;
break;}
case 388:
#line 1240 "sql_yacc.yy"
{ yyval.item= new Item_func_second(yyvsp[-1].item); ;
break;}
case 389:
#line 1241 "sql_yacc.yy"
{ yyval.item= new Item_func_sign(yyvsp[-1].item); ;
break;}
case 390:
#line 1243 "sql_yacc.yy"
{ yyval.item= new Item_func_sin(yyvsp[-1].item); ;
break;}
case 391:
#line 1245 "sql_yacc.yy"
{ yyval.item= new Item_func_repeat(new Item_string(" ",1),yyvsp[-1].item); ;
break;}
case 392:
#line 1247 "sql_yacc.yy"
{ yyval.item= new Item_func_soundex(yyvsp[-1].item); ;
break;}
case 393:
#line 1248 "sql_yacc.yy"
{ yyval.item= new Item_func_sqrt(yyvsp[-1].item); ;
break;}
case 394:
#line 1250 "sql_yacc.yy"
{ yyval.item= new Item_func_strcmp(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 395:
#line 1252 "sql_yacc.yy"
{ yyval.item= new Item_func_substr(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 396:
#line 1254 "sql_yacc.yy"
{ yyval.item= new Item_func_substr(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 397:
#line 1256 "sql_yacc.yy"
{ yyval.item= new Item_func_substr(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 398:
#line 1258 "sql_yacc.yy"
{ yyval.item= new Item_func_right(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 399:
#line 1260 "sql_yacc.yy"
{ yyval.item= new Item_func_substr_index(yyvsp[-5].item,yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 400:
#line 1262 "sql_yacc.yy"
{ yyval.item= new Item_func_tan(yyvsp[-1].item); ;
break;}
case 401:
#line 1264 "sql_yacc.yy"
{ yyval.item=new Item_func_date_format(yyvsp[-3].item,yyvsp[-1].item,1); ;
break;}
case 402:
#line 1266 "sql_yacc.yy"
{ yyval.item= new Item_func_time_to_sec(yyvsp[-1].item); ;
break;}
case 403:
#line 1268 "sql_yacc.yy"
{ yyval.item= new Item_func_to_days(yyvsp[-1].item); ;
break;}
case 404:
#line 1270 "sql_yacc.yy"
{ yyval.item= new Item_func_trim(yyvsp[-1].item,new Item_string(" ",1)); ;
break;}
case 405:
#line 1272 "sql_yacc.yy"
{ yyval.item= new Item_func_ltrim(yyvsp[-1].item,yyvsp[-3].item); ;
break;}
case 406:
#line 1274 "sql_yacc.yy"
{ yyval.item= new Item_func_rtrim(yyvsp[-1].item,yyvsp[-3].item); ;
break;}
case 407:
#line 1276 "sql_yacc.yy"
{ yyval.item= new Item_func_trim(yyvsp[-1].item,yyvsp[-3].item); ;
break;}
case 408:
#line 1278 "sql_yacc.yy"
{ yyval.item= new Item_func_trim(yyvsp[-1].item,yyvsp[-3].item); ;
break;}
case 409:
#line 1279 "sql_yacc.yy"
{ yyval.item= new Item_func_round(yyvsp[-3].item,yyvsp[-1].item,1); ;
break;}
case 410:
#line 1280 "sql_yacc.yy"
{ yyval.item= new Item_func_ucase(yyvsp[-1].item); ;
break;}
case 411:
#line 1282 "sql_yacc.yy"
{
if (yyvsp[-1].item_list != NULL)
yyval.item = new Item_func_udf_str(yyvsp[-3].udf, *yyvsp[-1].item_list);
else
yyval.item = new Item_func_udf_str(yyvsp[-3].udf);
;
break;}
case 412:
#line 1289 "sql_yacc.yy"
{
if (yyvsp[-1].item_list != NULL)
yyval.item = new Item_func_udf_float(yyvsp[-3].udf, *yyvsp[-1].item_list);
else
yyval.item = new Item_func_udf_float(yyvsp[-3].udf);
;
break;}
case 413:
#line 1296 "sql_yacc.yy"
{
if (yyvsp[-1].item_list != NULL)
yyval.item = new Item_func_udf_int(yyvsp[-3].udf, *yyvsp[-1].item_list);
else
yyval.item = new Item_func_udf_int(yyvsp[-3].udf);
;
break;}
case 414:
#line 1303 "sql_yacc.yy"
{ yyval.item= new Item_func_unique_users(yyvsp[-7].item,atoi(yyvsp[-5].lex_str.str),atoi(yyvsp[-3].lex_str.str), * yyvsp[-1].item_list); ;
break;}
case 415:
#line 1305 "sql_yacc.yy"
{ yyval.item= new Item_func_unix_timestamp(); ;
break;}
case 416:
#line 1307 "sql_yacc.yy"
{ yyval.item= new Item_func_unix_timestamp(yyvsp[-1].item); ;
break;}
case 417:
#line 1309 "sql_yacc.yy"
{ yyval.item= new Item_func_user(); ;
break;}
case 418:
#line 1311 "sql_yacc.yy"
{ yyval.item= new Item_string("version()",server_version,
strlen(server_version)); ;
break;}
case 419:
#line 1314 "sql_yacc.yy"
{ yyval.item= new Item_func_week(yyvsp[-1].item,new Item_int("0",0,1)); ;
break;}
case 420:
#line 1316 "sql_yacc.yy"
{ yyval.item= new Item_func_week(yyvsp[-3].item,yyvsp[-1].item); ;
break;}
case 421:
#line 1318 "sql_yacc.yy"
{ yyval.item= new Item_func_weekday(new Item_func_to_days(yyvsp[-1].item),0); ;
break;}
case 422:
#line 1320 "sql_yacc.yy"
{ yyval.item= new Item_func_year(yyvsp[-1].item); ;
break;}
case 423:
#line 1323 "sql_yacc.yy"
{ yyval.item_list= NULL; ;
break;}
case 424:
#line 1324 "sql_yacc.yy"
{ yyval.item_list= yyvsp[0].item_list;;
break;}
case 425:
#line 1328 "sql_yacc.yy"
{ yyval.item=new Item_sum_avg(yyvsp[-1].item); ;
break;}
case 426:
#line 1330 "sql_yacc.yy"
{ yyval.item=new Item_sum_and(yyvsp[-1].item); ;
break;}
case 427:
#line 1332 "sql_yacc.yy"
{ yyval.item=new Item_sum_or(yyvsp[-1].item); ;
break;}
case 428:
#line 1334 "sql_yacc.yy"
{ yyval.item=new Item_sum_count(new Item_int((int32) 0L,1)); ;
break;}
case 429:
#line 1336 "sql_yacc.yy"
{ yyval.item=new Item_sum_count(yyvsp[-1].item); ;
break;}
case 430:
#line 1338 "sql_yacc.yy"
{ yyval.item= new Item_sum_unique_users(yyvsp[-7].item,atoi(yyvsp[-5].lex_str.str),atoi(yyvsp[-3].lex_str.str),yyvsp[-1].item); ;
break;}
case 431:
#line 1340 "sql_yacc.yy"
{ yyval.item=new Item_sum_min(yyvsp[-1].item); ;
break;}
case 432:
#line 1342 "sql_yacc.yy"
{ yyval.item=new Item_sum_max(yyvsp[-1].item); ;
break;}
case 433:
#line 1344 "sql_yacc.yy"
{ yyval.item=new Item_sum_std(yyvsp[-1].item); ;
break;}
case 434:
#line 1346 "sql_yacc.yy"
{ yyval.item=new Item_sum_sum(yyvsp[-1].item); ;
break;}
case 435:
#line 1349 "sql_yacc.yy"
{ Lex->in_sum_expr++ ;
break;}
case 436:
#line 1351 "sql_yacc.yy"
{
Lex->in_sum_expr--;
yyval.item=yyvsp[0].item;
;
break;}
case 437:
#line 1357 "sql_yacc.yy"
{ Lex->expr_list.push_front(new List<Item>); ;
break;}
case 438:
#line 1359 "sql_yacc.yy"
{ yyval.item_list= Lex->expr_list.pop(); ;
break;}
case 439:
#line 1362 "sql_yacc.yy"
{ Lex->expr_list.head()->push_back(yyvsp[0].item); ;
break;}
case 440:
#line 1363 "sql_yacc.yy"
{ Lex->expr_list.head()->push_back(yyvsp[0].item); ;
break;}
case 441:
#line 1366 "sql_yacc.yy"
{ yyval.item=new Item_string(" ",1); ;
break;}
case 442:
#line 1367 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 443:
#line 1370 "sql_yacc.yy"
{ yyval.table_list=yyvsp[-1].table_list; ;
break;}
case 444:
#line 1371 "sql_yacc.yy"
{ yyval.table_list=yyvsp[0].table_list; ;
break;}
case 445:
#line 1372 "sql_yacc.yy"
{ yyval.table_list=yyvsp[0].table_list ;
break;}
case 446:
#line 1373 "sql_yacc.yy"
{ yyval.table_list=yyvsp[0].table_list ;
break;}
case 447:
#line 1374 "sql_yacc.yy"
{ yyval.table_list=yyvsp[0].table_list ; yyval.table_list->straight=1; ;
break;}
case 448:
#line 1375 "sql_yacc.yy"
{ yyval.table_list=yyvsp[0].table_list ;
break;}
case 449:
#line 1377 "sql_yacc.yy"
{ add_left_join_on(yyvsp[-6].table_list,yyvsp[-2].table_list,yyvsp[0].item); yyval.table_list=yyvsp[-2].table_list; ;
break;}
case 450:
#line 1379 "sql_yacc.yy"
{ Lex->db1=yyvsp[-4].table_list->db; Lex->table1=yyvsp[-4].table_list->name;
Lex->db2=yyvsp[0].table_list->db; Lex->table2=yyvsp[0].table_list->name; ;
break;}
case 451:
#line 1382 "sql_yacc.yy"
{ add_left_join_on(yyvsp[-9].table_list,yyvsp[-5].table_list,yyvsp[-1].item); yyval.table_list=yyvsp[-5].table_list; ;
break;}
case 452:
#line 1384 "sql_yacc.yy"
{ add_left_join_natural(yyvsp[-5].table_list,yyvsp[0].table_list); yyval.table_list=yyvsp[0].table_list; ;
break;}
case 453:
#line 1388 "sql_yacc.yy"
{ if (!(yyval.table_list=add_table_to_list(yyvsp[-1].table,yyvsp[0].lex_str_ptr))) YYABORT; ;
break;}
case 454:
#line 1390 "sql_yacc.yy"
{ add_left_join_on(yyvsp[-7].table_list,yyvsp[-3].table_list,yyvsp[-1].item); yyval.table_list=yyvsp[-3].table_list; ;
break;}
case 455:
#line 1393 "sql_yacc.yy"
{;
break;}
case 456:
#line 1394 "sql_yacc.yy"
{;
break;}
case 457:
#line 1398 "sql_yacc.yy"
{ if (!(yyval.item= new Item_func_eq(new Item_field(Lex->db1,Lex->table1, yyvsp[0].lex_str.str), new Item_field(Lex->db2,Lex->table2,yyvsp[0].lex_str.str))))
YYABORT;
;
break;}
case 458:
#line 1402 "sql_yacc.yy"
{
if (!(yyval.item= new Item_cond_and(new Item_func_eq(new Item_field(Lex->db1,Lex->table1,yyvsp[0].lex_str.str), new Item_field(Lex->db1,Lex->table2,yyvsp[0].lex_str.str)), yyvsp[-2].item)))
YYABORT;
;
break;}
case 459:
#line 1408 "sql_yacc.yy"
{ yyval.interval=INTERVAL_DAY_HOUR; ;
break;}
case 460:
#line 1409 "sql_yacc.yy"
{ yyval.interval=INTERVAL_DAY_MINUTE; ;
break;}
case 461:
#line 1410 "sql_yacc.yy"
{ yyval.interval=INTERVAL_DAY_SECOND; ;
break;}
case 462:
#line 1411 "sql_yacc.yy"
{ yyval.interval=INTERVAL_DAY; ;
break;}
case 463:
#line 1412 "sql_yacc.yy"
{ yyval.interval=INTERVAL_HOUR_MINUTE; ;
break;}
case 464:
#line 1413 "sql_yacc.yy"
{ yyval.interval=INTERVAL_HOUR_SECOND; ;
break;}
case 465:
#line 1414 "sql_yacc.yy"
{ yyval.interval=INTERVAL_HOUR; ;
break;}
case 466:
#line 1415 "sql_yacc.yy"
{ yyval.interval=INTERVAL_MINUTE_SECOND; ;
break;}
case 467:
#line 1416 "sql_yacc.yy"
{ yyval.interval=INTERVAL_MINUTE; ;
break;}
case 468:
#line 1417 "sql_yacc.yy"
{ yyval.interval=INTERVAL_MONTH; ;
break;}
case 469:
#line 1418 "sql_yacc.yy"
{ yyval.interval=INTERVAL_SECOND; ;
break;}
case 470:
#line 1419 "sql_yacc.yy"
{ yyval.interval=INTERVAL_YEAR_MONTH; ;
break;}
case 471:
#line 1420 "sql_yacc.yy"
{ yyval.interval=INTERVAL_YEAR; ;
break;}
case 475:
#line 1428 "sql_yacc.yy"
{ yyval.lex_str_ptr=0; ;
break;}
case 476:
#line 1430 "sql_yacc.yy"
{ yyval.lex_str_ptr= (LEX_STRING*) sql_memdup(&yyvsp[0].lex_str,sizeof(LEX_STRING)); ;
break;}
case 477:
#line 1434 "sql_yacc.yy"
{ Lex->where= 0; ;
break;}
case 478:
#line 1435 "sql_yacc.yy"
{ Lex->where= yyvsp[0].item; ;
break;}
case 480:
#line 1439 "sql_yacc.yy"
{ Lex->create_refs=1; ;
break;}
case 481:
#line 1440 "sql_yacc.yy"
{ Lex->having= yyvsp[0].item; Lex->create_refs=0; ;
break;}
case 482:
#line 1443 "sql_yacc.yy"
{ yyval.simple_string= yyvsp[0].lex_str.str; ;
break;}
case 483:
#line 1444 "sql_yacc.yy"
{ yyval.simple_string= "\\"; ;
break;}
case 486:
#line 1457 "sql_yacc.yy"
{ if (add_group_to_list(yyvsp[-1].item,(bool) yyvsp[0].num)) YYABORT; ;
break;}
case 487:
#line 1459 "sql_yacc.yy"
{ if (add_group_to_list(yyvsp[-1].item,(bool) yyvsp[0].num)) YYABORT; ;
break;}
case 490:
#line 1471 "sql_yacc.yy"
{ if (add_order_to_list(yyvsp[-1].item,(bool) yyvsp[0].num)) YYABORT; ;
break;}
case 491:
#line 1473 "sql_yacc.yy"
{ if (add_order_to_list(yyvsp[-1].item,(bool) yyvsp[0].num)) YYABORT; ;
break;}
case 492:
#line 1476 "sql_yacc.yy"
{ yyval.num = 1; ;
break;}
case 493:
#line 1477 "sql_yacc.yy"
{ yyval.num = 1; ;
break;}
case 494:
#line 1478 "sql_yacc.yy"
{ yyval.num = 0; ;
break;}
case 495:
#line 1483 "sql_yacc.yy"
{
Lex->select_limit= current_thd->default_select_limit;
Lex->offset_limit= 0L;
;
break;}
case 496:
#line 1488 "sql_yacc.yy"
{ Lex->select_limit= yyvsp[0].ulong_num; Lex->offset_limit=0L; ;
break;}
case 497:
#line 1490 "sql_yacc.yy"
{ Lex->select_limit= yyvsp[0].ulong_num; Lex->offset_limit=yyvsp[-2].ulong_num; ;
break;}
case 498:
#line 1494 "sql_yacc.yy"
{
Lex->select_limit= HA_POS_ERROR;
;
break;}
case 499:
#line 1498 "sql_yacc.yy"
{ Lex->select_limit= (ha_rows) yyvsp[0].ulonglong_num; ;
break;}
case 500:
#line 1501 "sql_yacc.yy"
{ yyval.ulong_num= strtoul(yyvsp[0].lex_str.str,NULL,10); ;
break;}
case 501:
#line 1502 "sql_yacc.yy"
{ yyval.ulong_num= strtoul(yyvsp[0].lex_str.str,NULL,10); ;
break;}
case 502:
#line 1505 "sql_yacc.yy"
{ yyval.ulonglong_num= (ulonglong) strtoul(yyvsp[0].lex_str.str,NULL,10); ;
break;}
case 503:
#line 1506 "sql_yacc.yy"
{ yyval.ulonglong_num= strtoull(yyvsp[0].lex_str.str,NULL,10); ;
break;}
case 504:
#line 1507 "sql_yacc.yy"
{ yyval.ulonglong_num= strtoull(yyvsp[0].lex_str.str,NULL,10); ;
break;}
case 506:
#line 1512 "sql_yacc.yy"
{
THD *thd=current_thd;
thd->proc_list.elements=0;
thd->proc_list.first=0;
thd->proc_list.next= (byte**) &thd->proc_list.first;
if (add_proc_to_list(new Item_field(NULL,NULL,yyvsp[0].lex_str.str)))
YYABORT;
;
break;}
case 510:
#line 1529 "sql_yacc.yy"
{
if (add_proc_to_list(yyvsp[0].item))
YYABORT;
if (!yyvsp[0].item->name)
yyvsp[0].item->set_name(yyvsp[-1].simple_string,(uint) ((char*) Lex->tok_end - yyvsp[-1].simple_string));
;
break;}
case 511:
#line 1538 "sql_yacc.yy"
{
if (!(Lex->exchange= new sql_exchange(yyvsp[0].lex_str.str)))
YYABORT;
;
break;}
case 513:
#line 1550 "sql_yacc.yy"
{
Lex->sql_command = SQLCOM_DROP_TABLE;
Lex->drop_if_exists = yyvsp[-1].num;
;
break;}
case 514:
#line 1554 "sql_yacc.yy"
{;
break;}
case 515:
#line 1555 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_DROP_INDEX;
Lex->drop_list.empty();
Lex->drop_list.push_back(new Alter_drop(Alter_drop::KEY,
yyvsp[-3].lex_str.str));
if (!add_table_to_list(yyvsp[-1].table,NULL))
YYABORT;
;
break;}
case 516:
#line 1564 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_DROP_DB;
Lex->drop_if_exists=yyvsp[-1].num;
Lex->name=yyvsp[0].lex_str.str;
;
break;}
case 517:
#line 1570 "sql_yacc.yy"
{
Lex->sql_command = SQLCOM_DROP_FUNCTION;
Lex->udf.name=yyvsp[0].lex_str.str;
;
break;}
case 520:
#line 1582 "sql_yacc.yy"
{ if (!add_table_to_list(yyvsp[0].table,NULL)) YYABORT; ;
break;}
case 521:
#line 1585 "sql_yacc.yy"
{ yyval.num=0; ;
break;}
case 522:
#line 1586 "sql_yacc.yy"
{ yyval.num= 1; ;
break;}
case 523:
#line 1593 "sql_yacc.yy"
{ Lex->sql_command = SQLCOM_INSERT; ;
break;}
case 525:
#line 1596 "sql_yacc.yy"
{ Lex->sql_command = SQLCOM_REPLACE; ;
break;}
case 527:
#line 1600 "sql_yacc.yy"
{ Lex->low_priority=0; ;
break;}
case 528:
#line 1601 "sql_yacc.yy"
{ Lex->low_priority=1; ;
break;}
case 529:
#line 1604 "sql_yacc.yy"
{;
break;}
case 530:
#line 1605 "sql_yacc.yy"
{;
break;}
case 531:
#line 1609 "sql_yacc.yy"
{
current_thd->field_list.empty();
Lex->many_values.empty();
Lex->insert_list=0;
;
break;}
case 532:
#line 1616 "sql_yacc.yy"
{;
break;}
case 533:
#line 1618 "sql_yacc.yy"
{
if (!(Lex->insert_list = new List_item) ||
Lex->many_values.push_back(Lex->insert_list))
YYABORT;
;
break;}
case 535:
#line 1626 "sql_yacc.yy"
{ ;
break;}
case 536:
#line 1627 "sql_yacc.yy"
{ ;
break;}
case 537:
#line 1630 "sql_yacc.yy"
{ current_thd->field_list.push_back(yyvsp[0].item); ;
break;}
case 538:
#line 1631 "sql_yacc.yy"
{ current_thd->field_list.push_back(yyvsp[0].item); ;
break;}
case 539:
#line 1634 "sql_yacc.yy"
{;
break;}
case 540:
#line 1636 "sql_yacc.yy"
{
LEX *lex=Lex;
lex->where=lex->having=0;
lex->select_limit=current_thd->default_select_limit;
lex->offset_limit=0L;
lex->options=0;
lex->sql_command = (lex->sql_command == SQLCOM_INSERT ?
SQLCOM_INSERT_SELECT : SQLCOM_REPLACE_SELECT);
;
break;}
case 541:
#line 1645 "sql_yacc.yy"
{;
break;}
case 546:
#line 1658 "sql_yacc.yy"
{
if (current_thd->field_list.push_back(yyvsp[-2].item) ||
Lex->insert_list->push_back(yyvsp[0].item))
YYABORT;
;
break;}
case 547:
#line 1666 "sql_yacc.yy"
{
if (!(Lex->insert_list = new List_item))
YYABORT;
;
break;}
case 548:
#line 1671 "sql_yacc.yy"
{
if (Lex->many_values.push_back(Lex->insert_list))
YYABORT;
;
break;}
case 549:
#line 1678 "sql_yacc.yy"
{
if (Lex->insert_list->push_back(yyvsp[0].item))
YYABORT;
;
break;}
case 550:
#line 1683 "sql_yacc.yy"
{
if (Lex->insert_list->push_back(yyvsp[0].item))
YYABORT;
;
break;}
case 551:
#line 1692 "sql_yacc.yy"
{ Lex->sql_command = SQLCOM_UPDATE; ;
break;}
case 552:
#line 1696 "sql_yacc.yy"
{
if (add_item_to_list(yyvsp[-2].item) || add_value_to_list(yyvsp[0].item))
YYABORT;
;
break;}
case 553:
#line 1701 "sql_yacc.yy"
{
if (add_item_to_list(yyvsp[-2].item) || add_value_to_list(yyvsp[0].item))
YYABORT;
;
break;}
case 554:
#line 1711 "sql_yacc.yy"
{ Lex->sql_command= SQLCOM_DELETE; ;
break;}
case 555:
#line 1716 "sql_yacc.yy"
{ Lex->wild=0;;
break;}
case 557:
#line 1720 "sql_yacc.yy"
{ Lex->sql_command= SQLCOM_SHOW_DATABASES; ;
break;}
case 558:
#line 1722 "sql_yacc.yy"
{ Lex->sql_command= SQLCOM_SHOW_TABLES; Lex->db= yyvsp[-1].simple_string; ;
break;}
case 559:
#line 1724 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_SHOW_FIELDS;
if (yyvsp[-1].simple_string)
yyvsp[-2].table->change_db(yyvsp[-1].simple_string);
if (!add_table_to_list(yyvsp[-2].table,NULL))
YYABORT;
;
break;}
case 560:
#line 1732 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_SHOW_KEYS;
if (yyvsp[0].simple_string)
yyvsp[-1].table->change_db(yyvsp[0].simple_string);
if (!add_table_to_list(yyvsp[-1].table,NULL))
YYABORT;
;
break;}
case 561:
#line 1740 "sql_yacc.yy"
{ Lex->sql_command= SQLCOM_SHOW_STATUS; ;
break;}
case 562:
#line 1742 "sql_yacc.yy"
{ Lex->sql_command= SQLCOM_SHOW_PROCESSLIST; ;
break;}
case 563:
#line 1744 "sql_yacc.yy"
{ Lex->sql_command= SQLCOM_SHOW_VARIABLES; ;
break;}
case 564:
#line 1747 "sql_yacc.yy"
{ yyval.simple_string= 0; ;
break;}
case 565:
#line 1748 "sql_yacc.yy"
{ yyval.simple_string= yyvsp[0].lex_str.str; ;
break;}
case 567:
#line 1752 "sql_yacc.yy"
{ Lex->wild= yyvsp[0].string; ;
break;}
case 568:
#line 1757 "sql_yacc.yy"
{
Lex->wild=0;
Lex->sql_command=SQLCOM_SHOW_FIELDS;
if (!add_table_to_list(yyvsp[0].table, NULL))
YYABORT;
;
break;}
case 570:
#line 1764 "sql_yacc.yy"
{ Lex->options|= SELECT_DESCRIBE ;
break;}
case 573:
#line 1772 "sql_yacc.yy"
{;
break;}
case 574:
#line 1773 "sql_yacc.yy"
{ Lex->wild= yyvsp[0].string; ;
break;}
case 575:
#line 1774 "sql_yacc.yy"
{ Lex->wild= new String((const char*) yyvsp[0].lex_str.str,yyvsp[0].lex_str.length); ;
break;}
case 576:
#line 1780 "sql_yacc.yy"
{Lex->sql_command= SQLCOM_FLUSH; Lex->type=0; ;
break;}
case 580:
#line 1787 "sql_yacc.yy"
{ Lex->type|= REFRESH_TABLES; ;
break;}
case 581:
#line 1788 "sql_yacc.yy"
{ Lex->type|= REFRESH_HOSTS; ;
break;}
case 582:
#line 1789 "sql_yacc.yy"
{ Lex->type|= REFRESH_GRANT; ;
break;}
case 583:
#line 1790 "sql_yacc.yy"
{ Lex->type|= REFRESH_LOG; ;
break;}
case 584:
#line 1791 "sql_yacc.yy"
{ Lex->type|= REFRESH_STATUS; ;
break;}
case 585:
#line 1798 "sql_yacc.yy"
{
Lex->sql_command=SQLCOM_KILL;
Lex->thread_id= (ulong) strtoul(yyvsp[0].lex_str.str,NULL,10);
;
break;}
case 586:
#line 1806 "sql_yacc.yy"
{ Lex->sql_command=SQLCOM_CHANGE_DB; Lex->db= yyvsp[0].lex_str.str; ;
break;}
case 587:
#line 1811 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_LOAD;
Lex->local_file= yyvsp[-2].num;
if (!(Lex->exchange= new sql_exchange(yyvsp[0].lex_str.str)))
YYABORT;
current_thd->field_list.empty();
;
break;}
case 588:
#line 1820 "sql_yacc.yy"
{
if (!add_table_to_list(yyvsp[-4].table,NULL))
YYABORT;
;
break;}
case 589:
#line 1826 "sql_yacc.yy"
{ yyval.num=0;;
break;}
case 590:
#line 1827 "sql_yacc.yy"
{ yyval.num=1;;
break;}
case 591:
#line 1830 "sql_yacc.yy"
{ Lex->duplicates=DUP_ERROR; ;
break;}
case 592:
#line 1831 "sql_yacc.yy"
{ Lex->duplicates=DUP_REPLACE; ;
break;}
case 593:
#line 1832 "sql_yacc.yy"
{ Lex->duplicates=DUP_IGNORE; ;
break;}
case 598:
#line 1843 "sql_yacc.yy"
{ Lex->exchange->field_term= yyvsp[0].string;;
break;}
case 599:
#line 1845 "sql_yacc.yy"
{ Lex->exchange->enclosed= yyvsp[0].string; Lex->exchange->opt_enclosed=1;;
break;}
case 600:
#line 1846 "sql_yacc.yy"
{ Lex->exchange->enclosed= yyvsp[0].string;;
break;}
case 601:
#line 1847 "sql_yacc.yy"
{ Lex->exchange->escaped= yyvsp[0].string;;
break;}
case 606:
#line 1858 "sql_yacc.yy"
{ Lex->exchange->line_term= yyvsp[0].string;;
break;}
case 607:
#line 1859 "sql_yacc.yy"
{ Lex->exchange->line_start= yyvsp[0].string;;
break;}
case 609:
#line 1864 "sql_yacc.yy"
{ Lex->exchange->skip_lines=atol(yyvsp[-1].lex_str.str); ;
break;}
case 610:
#line 1869 "sql_yacc.yy"
{ yyval.item = new Item_string(yyvsp[0].lex_str.str,yyvsp[0].lex_str.length); ;
break;}
case 611:
#line 1871 "sql_yacc.yy"
{ ((Item_string*) yyvsp[-1].item)->append(yyvsp[0].lex_str.str,yyvsp[0].lex_str.length); ;
break;}
case 612:
#line 1874 "sql_yacc.yy"
{ yyval.string= new String(yyvsp[0].lex_str.str,yyvsp[0].lex_str.length); ;
break;}
case 613:
#line 1876 "sql_yacc.yy"
{
Item *tmp = new Item_varbinary(yyvsp[0].lex_str.str,yyvsp[0].lex_str.length);
yyval.string= tmp ? tmp->str((String*) 0) : (String*) 0;
;
break;}
case 614:
#line 1882 "sql_yacc.yy"
{ yyval.item = yyvsp[0].item; ;
break;}
case 615:
#line 1883 "sql_yacc.yy"
{ yyval.item = new Item_int((int32) atol(yyvsp[0].lex_str.str),yyvsp[0].lex_str.length); ;
break;}
case 616:
#line 1884 "sql_yacc.yy"
{ yyval.item = new Item_int(yyvsp[0].lex_str.str); ;
break;}
case 617:
#line 1885 "sql_yacc.yy"
{ yyval.item = new Item_real(yyvsp[0].lex_str.str); ;
break;}
case 618:
#line 1886 "sql_yacc.yy"
{ yyval.item = new Item_null();
Lex->next_state=STATE_OPERATOR_OR_IDENT;;
break;}
case 619:
#line 1888 "sql_yacc.yy"
{ yyval.item = new Item_varbinary(yyvsp[0].lex_str.str,yyvsp[0].lex_str.length);
break;}
case 620:
#line 1889 "sql_yacc.yy"
{ yyval.item = yyvsp[0].item; ;
break;}
case 621:
#line 1890 "sql_yacc.yy"
{ yyval.item = yyvsp[0].item; ;
break;}
case 622:
#line 1891 "sql_yacc.yy"
{ yyval.item = yyvsp[0].item; ;
break;}
case 623:
#line 1898 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 624:
#line 1899 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 625:
#line 1902 "sql_yacc.yy"
{ yyval.item = new Item_field(NullS,yyvsp[-2].lex_str.str,"*"); ;
break;}
case 626:
#line 1904 "sql_yacc.yy"
{ yyval.item = new Item_field((current_thd->client_capabilities & CLIENT_NO_SCHEMA ? NullS : yyvsp[-4].lex_str.str),yyvsp[-2].lex_str.str,"*"); ;
break;}
case 627:
#line 1907 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 628:
#line 1908 "sql_yacc.yy"
{ yyval.item = new Item_int(yyvsp[0].lex_str.str); ;
break;}
case 629:
#line 1909 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 630:
#line 1912 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 631:
#line 1913 "sql_yacc.yy"
{ yyval.item = new Item_int(yyvsp[0].lex_str.str); ;
break;}
case 632:
#line 1914 "sql_yacc.yy"
{ yyval.item=yyvsp[0].item; ;
break;}
case 633:
#line 1918 "sql_yacc.yy"
{ yyval.item = !Lex->create_refs || Lex->in_sum_expr > 0 ? (Item*) new Item_field(NullS,NullS,yyvsp[0].lex_str.str) : (Item*) new Item_ref(NullS,NullS,yyvsp[0].lex_str.str); ;
break;}
case 634:
#line 1920 "sql_yacc.yy"
{ yyval.item = !Lex->create_refs || Lex->in_sum_expr > 0 ? (Item*) new Item_field(NullS,yyvsp[-2].lex_str.str,yyvsp[0].lex_str.str) : (Item*) new Item_ref(NullS,yyvsp[-2].lex_str.str,yyvsp[0].lex_str.str); ;
break;}
case 635:
#line 1922 "sql_yacc.yy"
{ yyval.item = !Lex->create_refs || Lex->in_sum_expr > 0 ? (Item*) new Item_field(NullS,yyvsp[-2].lex_str.str,yyvsp[0].lex_str.str) : (Item*) new Item_ref(NullS,yyvsp[-2].lex_str.str,yyvsp[0].lex_str.str); ;
break;}
case 636:
#line 1924 "sql_yacc.yy"
{ yyval.item = !Lex->create_refs || Lex->in_sum_expr > 0 ? (Item*) new Item_field((current_thd->client_capabilities & CLIENT_NO_SCHEMA ? NullS :yyvsp[-4].lex_str.str),yyvsp[-2].lex_str.str,yyvsp[0].lex_str.str) : (Item*) new Item_ref((current_thd->client_capabilities & CLIENT_NO_SCHEMA ? NullS :yyvsp[-4].lex_str.str),yyvsp[-2].lex_str.str,yyvsp[0].lex_str.str); ;
break;}
case 637:
#line 1928 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str;;
break;}
case 638:
#line 1929 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str;;
break;}
case 639:
#line 1930 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str;;
break;}
case 640:
#line 1933 "sql_yacc.yy"
{ yyval.table=new Table_ident(yyvsp[0].lex_str); ;
break;}
case 641:
#line 1934 "sql_yacc.yy"
{ yyval.table=new Table_ident(yyvsp[-2].lex_str,yyvsp[0].lex_str,0);;
break;}
case 642:
#line 1935 "sql_yacc.yy"
{ yyval.table=new Table_ident(yyvsp[0].lex_str);;
break;}
case 643:
#line 1938 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str; ;
break;}
case 644:
#line 1940 "sql_yacc.yy"
{
yyval.lex_str.str=sql_strmake(yyvsp[0].lex_str.str,yyvsp[0].lex_str.length);
yyval.lex_str.length=yyvsp[0].lex_str.length;
if (Lex->next_state != STATE_END)
Lex->next_state=STATE_OPERATOR_OR_IDENT;
;
break;}
case 645:
#line 1948 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str;;
break;}
case 646:
#line 1949 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str;;
break;}
case 647:
#line 1950 "sql_yacc.yy"
{ yyval.lex_str=yyvsp[0].lex_str;;
break;}
case 648:
#line 1954 "sql_yacc.yy"
{
if (!(yyval.lex_user=(LEX_USER*) sql_alloc(sizeof(st_lex_user))))
YYABORT;
yyval.lex_user->user = yyvsp[0].lex_str; yyval.lex_user->host.str=NullS;
;
break;}
case 649:
#line 1960 "sql_yacc.yy"
{
if (!(yyval.lex_user=(LEX_USER*) sql_alloc(sizeof(st_lex_user))))
YYABORT;
yyval.lex_user->user = yyvsp[-2].lex_str; yyval.lex_user->host=yyvsp[0].lex_str;
;
break;}
case 650:
#line 1969 "sql_yacc.yy"
{;
break;}
case 651:
#line 1970 "sql_yacc.yy"
{;
break;}
case 652:
#line 1971 "sql_yacc.yy"
{;
break;}
case 653:
#line 1972 "sql_yacc.yy"
{;
break;}
case 654:
#line 1973 "sql_yacc.yy"
{;
break;}
case 655:
#line 1974 "sql_yacc.yy"
{;
break;}
case 656:
#line 1975 "sql_yacc.yy"
{;
break;}
case 657:
#line 1976 "sql_yacc.yy"
{;
break;}
case 658:
#line 1977 "sql_yacc.yy"
{;
break;}
case 659:
#line 1978 "sql_yacc.yy"
{;
break;}
case 660:
#line 1979 "sql_yacc.yy"
{;
break;}
case 661:
#line 1980 "sql_yacc.yy"
{;
break;}
case 662:
#line 1981 "sql_yacc.yy"
{;
break;}
case 663:
#line 1982 "sql_yacc.yy"
{;
break;}
case 664:
#line 1983 "sql_yacc.yy"
{;
break;}
case 665:
#line 1984 "sql_yacc.yy"
{;
break;}
case 666:
#line 1985 "sql_yacc.yy"
{;
break;}
case 667:
#line 1986 "sql_yacc.yy"
{;
break;}
case 668:
#line 1987 "sql_yacc.yy"
{;
break;}
case 669:
#line 1988 "sql_yacc.yy"
{;
break;}
case 670:
#line 1989 "sql_yacc.yy"
{;
break;}
case 671:
#line 1990 "sql_yacc.yy"
{;
break;}
case 672:
#line 1991 "sql_yacc.yy"
{;
break;}
case 673:
#line 1992 "sql_yacc.yy"
{;
break;}
case 674:
#line 1993 "sql_yacc.yy"
{;
break;}
case 675:
#line 1994 "sql_yacc.yy"
{;
break;}
case 676:
#line 1995 "sql_yacc.yy"
{;
break;}
case 677:
#line 1996 "sql_yacc.yy"
{;
break;}
case 678:
#line 1997 "sql_yacc.yy"
{;
break;}
case 679:
#line 1998 "sql_yacc.yy"
{;
break;}
case 680:
#line 1999 "sql_yacc.yy"
{;
break;}
case 681:
#line 2000 "sql_yacc.yy"
{;
break;}
case 682:
#line 2001 "sql_yacc.yy"
{;
break;}
case 683:
#line 2002 "sql_yacc.yy"
{;
break;}
case 684:
#line 2003 "sql_yacc.yy"
{;
break;}
case 685:
#line 2004 "sql_yacc.yy"
{;
break;}
case 686:
#line 2005 "sql_yacc.yy"
{;
break;}
case 687:
#line 2006 "sql_yacc.yy"
{;
break;}
case 688:
#line 2007 "sql_yacc.yy"
{;
break;}
case 689:
#line 2008 "sql_yacc.yy"
{;
break;}
case 690:
#line 2009 "sql_yacc.yy"
{;
break;}
case 691:
#line 2010 "sql_yacc.yy"
{;
break;}
case 692:
#line 2011 "sql_yacc.yy"
{;
break;}
case 693:
#line 2017 "sql_yacc.yy"
{
Lex->sql_command= SQLCOM_SET_OPTION;
Lex->options=current_thd->options;
Lex->select_limit=current_thd->default_select_limit;
;
break;}
case 695:
#line 2025 "sql_yacc.yy"
{;
break;}
case 696:
#line 2026 "sql_yacc.yy"
{;
break;}
case 699:
#line 2034 "sql_yacc.yy"
{
if (atoi(yyvsp[0].lex_str.str) == 0)
Lex->options&= ~yyvsp[-2].num;
else
Lex->options|= yyvsp[-2].num;
;
break;}
case 700:
#line 2041 "sql_yacc.yy"
{
Lex->select_limit= yyvsp[0].ulong_num;
;
break;}
case 701:
#line 2045 "sql_yacc.yy"
{
Lex->select_limit= HA_POS_ERROR;
;
break;}
case 702:
#line 2049 "sql_yacc.yy"
{
current_thd->set_time((time_t) yyvsp[0].ulong_num);
;
break;}
case 703:
#line 2053 "sql_yacc.yy"
{
current_thd->user_time=0;
;
break;}
case 704:
#line 2057 "sql_yacc.yy"
{
current_thd->insert_id(yyvsp[0].ulonglong_num);
;
break;}
case 705:
#line 2061 "sql_yacc.yy"
{
current_thd->next_insert_id=yyvsp[0].ulonglong_num;
;
break;}
case 706:
#line 2065 "sql_yacc.yy"
{
CONVERT *tmp;
if (!(tmp=get_convert_set(yyvsp[0].lex_str.str)))
{
net_printf(&current_thd->net,ER_UNKNOWN_CHARACTER_SET,yyvsp[0].lex_str);
YYABORT;
}
current_thd->convert_set=tmp;
;
break;}
case 707:
#line 2075 "sql_yacc.yy"
{
current_thd->convert_set=0;
;
break;}
case 708:
#line 2079 "sql_yacc.yy"
{
if (change_password(current_thd,current_thd->host,
current_thd->priv_user,yyvsp[0].simple_string))
YYABORT;
;
break;}
case 709:
#line 2085 "sql_yacc.yy"
{
if (change_password(current_thd,
yyvsp[-2].lex_user->host.str ? yyvsp[-2].lex_user->host.str : current_thd->host,
yyvsp[-2].lex_user->user.str,yyvsp[0].simple_string))
YYABORT;
;
break;}
case 710:
#line 2093 "sql_yacc.yy"
{ yyval.simple_string=yyvsp[0].lex_str.str;;
break;}
case 711:
#line 2095 "sql_yacc.yy"
{
if (!yyvsp[-1].lex_str.length)
yyval.simple_string=yyvsp[-1].lex_str.str;
else
{
char *buff=sql_alloc(17);
make_scrambled_password(buff,yyvsp[-1].lex_str.str);
yyval.simple_string=buff;
}
;
break;}
case 712:
#line 2107 "sql_yacc.yy"
{ yyval.num= OPTION_BIG_TABLES; ;
break;}
case 713:
#line 2108 "sql_yacc.yy"
{ yyval.num= OPTION_BIG_SELECTS; ;
break;}
case 714:
#line 2109 "sql_yacc.yy"
{ yyval.num= OPTION_LOG_OFF; ;
break;}
case 715:
#line 2110 "sql_yacc.yy"
{ yyval.num= OPTION_UPDATE_LOG; ;
break;}
case 716:
#line 2111 "sql_yacc.yy"
{ yyval.num= OPTION_WARNINGS; ;
break;}
case 717:
#line 2112 "sql_yacc.yy"
{ yyval.num= OPTION_LOW_PRIORITY_UPDATES; ;
break;}
case 718:
#line 2118 "sql_yacc.yy"
{
Lex->sql_command=SQLCOM_LOCK_TABLES;
;
break;}
case 724:
#line 2133 "sql_yacc.yy"
{ if (!add_table_to_list(yyvsp[-2].table,yyvsp[-1].lex_str_ptr,(thr_lock_type) yyvsp[0].num)) YYABORT; ;
break;}
case 725:
#line 2136 "sql_yacc.yy"
{ yyval.num=TL_READ; ;
break;}
case 726:
#line 2137 "sql_yacc.yy"
{ yyval.num=TL_WRITE; ;
break;}
case 727:
#line 2138 "sql_yacc.yy"
{ yyval.num=TL_WRITE_DELAYED; ;
break;}
case 728:
#line 2141 "sql_yacc.yy"
{ Lex->sql_command=SQLCOM_UNLOCK_TABLES; ;
break;}
case 729:
#line 2148 "sql_yacc.yy"
{
Lex->sql_command = SQLCOM_REVOKE;
Lex->users_list.empty();
Lex->columns.empty();
Lex->global_grant = Lex->grant= Lex->grant_tot_col=0;
Lex->db=0;
;
break;}
case 731:
#line 2159 "sql_yacc.yy"
{
Lex->sql_command = SQLCOM_GRANT;
Lex->users_list.empty();
Lex->columns.empty();
Lex->global_grant = Lex->grant= Lex->grant_tot_col=0;
Lex->db=0;
;
break;}
case 733:
#line 2170 "sql_yacc.yy"
{Lex->global_grant = 0;;
break;}
case 734:
#line 2171 "sql_yacc.yy"
{Lex->global_grant = 1;;
break;}
case 735:
#line 2174 "sql_yacc.yy"
{;
break;}
case 736:
#line 2175 "sql_yacc.yy"
{ Lex->grant = UINT_MAX;;
break;}
case 737:
#line 2176 "sql_yacc.yy"
{ Lex->grant = UINT_MAX;;
break;}
case 740:
#line 2184 "sql_yacc.yy"
{ Lex->which_columns = SELECT_ACL;;
break;}
case 742:
#line 2187 "sql_yacc.yy"
{ Lex->which_columns = INSERT_ACL; ;
break;}
case 744:
#line 2190 "sql_yacc.yy"
{ Lex->which_columns = UPDATE_ACL; ;
break;}
case 746:
#line 2192 "sql_yacc.yy"
{ Lex->grant |= DELETE_ACL;;
break;}
case 747:
#line 2193 "sql_yacc.yy"
{ Lex->which_columns = REFERENCES_ACL;;
break;}
case 749:
#line 2194 "sql_yacc.yy"
{;
break;}
case 750:
#line 2195 "sql_yacc.yy"
{ Lex->grant |= INDEX_ACL;;
break;}
case 751:
#line 2196 "sql_yacc.yy"
{ Lex->grant |= ALTER_ACL;;
break;}
case 752:
#line 2197 "sql_yacc.yy"
{ Lex->grant |= CREATE_ACL;;
break;}
case 753:
#line 2198 "sql_yacc.yy"
{ Lex->grant |= DROP_ACL;;
break;}
case 754:
#line 2199 "sql_yacc.yy"
{ Lex->grant |= RELOAD_ACL;;
break;}
case 755:
#line 2200 "sql_yacc.yy"
{ Lex->grant |= SHUTDOWN_ACL;;
break;}
case 756:
#line 2201 "sql_yacc.yy"
{ Lex->grant |= PROCESS_ACL;;
break;}
case 757:
#line 2202 "sql_yacc.yy"
{ Lex->grant |= FILE_ACL;;
break;}
case 758:
#line 2203 "sql_yacc.yy"
{ Lex->grant |= GRANT_ACL;;
break;}
case 759:
#line 2207 "sql_yacc.yy"
{
Lex->db=current_thd->db;
if (Lex->grant == UINT_MAX)
Lex->grant = DB_ACLS & ~GRANT_ACL;
else if (Lex->columns.elements)
{
net_printf(&current_thd->net,ER_ILLEGAL_GRANT_FOR_TABLE);
YYABORT;
}
;
break;}
case 760:
#line 2218 "sql_yacc.yy"
{
Lex->db = yyvsp[-2].lex_str.str;
if (Lex->grant == UINT_MAX)
Lex->grant = DB_ACLS & ~GRANT_ACL;
else if (Lex->columns.elements)
{
net_printf(&current_thd->net,ER_ILLEGAL_GRANT_FOR_TABLE);
YYABORT;
}
;
break;}
case 761:
#line 2229 "sql_yacc.yy"
{
Lex->db = NULL;
if (Lex->grant == UINT_MAX)
Lex->grant = GLOBAL_ACLS & ~GRANT_ACL;
else if (Lex->columns.elements)
{
net_printf(&current_thd->net,ER_ILLEGAL_GRANT_FOR_TABLE);
YYABORT;
}
;
break;}
case 762:
#line 2240 "sql_yacc.yy"
{
if (!add_table_to_list(yyvsp[0].table,NULL))
YYABORT;
if (Lex->grant == UINT_MAX)
Lex->grant = TABLE_ACLS;
;
break;}
case 763:
#line 2249 "sql_yacc.yy"
{ if (Lex->users_list.push_back(yyvsp[0].lex_user)) YYABORT;;
break;}
case 764:
#line 2250 "sql_yacc.yy"
{ if (Lex->users_list.push_back(yyvsp[0].lex_user)) YYABORT;;
break;}
case 765:
#line 2254 "sql_yacc.yy"
{ yyval.lex_user=yyvsp[-3].lex_user; yyvsp[-3].lex_user->password=yyvsp[0].lex_str ; ;
break;}
case 766:
#line 2255 "sql_yacc.yy"
{ yyval.lex_user=yyvsp[0].lex_user; yyvsp[0].lex_user->password.str=NullS; ;
break;}
case 767:
#line 2259 "sql_yacc.yy"
{ Lex->grant |= Lex->which_columns; ;
break;}
case 771:
#line 2268 "sql_yacc.yy"
{
String *new_str = new String((const char*) yyvsp[0].lex_str.str,yyvsp[0].lex_str.length);
List_iterator <LEX_COLUMN> iter(Lex->columns);
class LEX_COLUMN *point;
while ((point=iter++))
{
if (!my_strcasecmp(point->column.ptr(),new_str->ptr()))
break;
}
Lex->grant_tot_col|= Lex->which_columns;
if (point)
point->rights |= Lex->which_columns;
else
Lex->columns.push_back(new LEX_COLUMN (*new_str,Lex->which_columns));
;
break;}
case 772:
#line 2285 "sql_yacc.yy"
{;
break;}
case 773:
#line 2286 "sql_yacc.yy"
{ Lex->grant |= GRANT_ACL;;
break;}
}
/* the action file gets copied in in place of this dollarsign */
#line 498 "/my/gnu/lib/bison/bison.simple"
yyvsp -= yylen;
yyssp -= yylen;
#ifdef YYLSP_NEEDED
yylsp -= yylen;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
*++yyvsp = yyval;
#ifdef YYLSP_NEEDED
yylsp++;
if (yylen == 0)
{
yylsp->first_line = yylloc.first_line;
yylsp->first_column = yylloc.first_column;
yylsp->last_line = (yylsp-1)->last_line;
yylsp->last_column = (yylsp-1)->last_column;
yylsp->text = 0;
}
else
{
yylsp->last_line = (yylsp+yylen-1)->last_line;
yylsp->last_column = (yylsp+yylen-1)->last_column;
}
#endif
/* Now "shift" the result of the reduction.
Determine what state that goes to,
based on the state we popped back to
and the rule number reduced by. */
yyn = yyr1[yyn];
yystate = yypgoto[yyn - YYNTBASE] + *yyssp;
if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
yystate = yydefgoto[yyn - YYNTBASE];
goto yynewstate;
yyerrlab: /* here on detecting error */
if (! yyerrstatus)
/* If not already recovering from an error, report this error. */
{
++yynerrs;
#ifdef YYERROR_VERBOSE
yyn = yypact[yystate];
if (yyn > YYFLAG && yyn < YYLAST)
{
int size = 0;
char *msg;
int x, count;
count = 0;
/* Start X at -yyn if nec to avoid negative indexes in yycheck. */
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
size += strlen(yytname[x]) + 15, count++;
msg = (char *) malloc(size + 15);
if (msg != 0)
{
strcpy(msg, "parse error");
if (count < 5)
{
count = 0;
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
{
strcat(msg, count == 0 ? ", expecting `" : " or `");
strcat(msg, yytname[x]);
strcat(msg, "'");
count++;
}
}
yyerror(msg);
free(msg);
}
else
yyerror ("parse error; also virtual memory exceeded");
}
else
#endif /* YYERROR_VERBOSE */
yyerror("parse error");
}
goto yyerrlab1;
yyerrlab1: /* here on error raised explicitly by an action */
if (yyerrstatus == 3)
{
/* if just tried and failed to reuse lookahead token after an error, discard it. */
/* return failure if at end of input */
if (yychar == YYEOF)
YYABORT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
#endif
yychar = YYEMPTY;
}
/* Else will try to reuse lookahead token
after shifting the error token. */
yyerrstatus = 3; /* Each real token shifted decrements this */
goto yyerrhandle;
yyerrdefault: /* current state does not do anything special for the error token. */
#if 0
/* This is wrong; only states that explicitly want error tokens
should shift them. */
yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
if (yyn) goto yydefault;
#endif
yyerrpop: /* pop the current state because it cannot handle the error token */
if (yyssp == yyss) YYABORT;
yyvsp--;
yystate = *--yyssp;
#ifdef YYLSP_NEEDED
yylsp--;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "Error: state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
yyerrhandle:
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yyerrdefault;
yyn += YYTERROR;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
goto yyerrdefault;
yyn = yytable[yyn];
if (yyn < 0)
{
if (yyn == YYFLAG)
goto yyerrpop;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrpop;
if (yyn == YYFINAL)
YYACCEPT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Shifting error token, ");
#endif
*++yyvsp = yylval;
#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
yystate = yyn;
goto yynewstate;
}
#line 2287 "sql_yacc.yy"