Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 46d8e5b0d59c1c01b00db71841b63a0551f0f9e4 (plain) (blame)
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
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
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
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
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
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
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
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
/*******************************************************************************
* Copyright (c) 2006, 2015 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
*     IBM Corporation - initial API and implementation
*********************************************************************************/

// This file was generated by LPG

package org.eclipse.cdt.internal.core.dom.lrparser.cpp;

public class CPPParserprs implements lpg.lpgjavaruntime.ParseTable, CPPParsersym {

	public interface IsKeyword {
		public final static byte isKeyword[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
	};

	public final static byte isKeyword[] = IsKeyword.isKeyword;

	public final boolean isKeyword(int index) {
		return isKeyword[index] != 0;
	}

	public interface BaseCheck {
		public final static short baseCheck[] = { 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 0, 1, 0, 4, 2, 3, 2, 3, 2, 2, 1, 0, 1, 1, 4, 4, 4, 8, 8, 3, 3,
				4, 4, 3, 3, 2, 2, 7, 7, 7, 7, 4, 4, 5, 6, 3, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4, 7, 9, 3, 0, 1,
				2, 2, 1, 2, 3, 4, 1, 0, 3, 1, 0, 3, 5, 1, 4, 1, 3, 3, 1, 3, 3, 3, 1, 3, 3, 1, 3, 3, 1, 3, 3, 3, 3, 1, 3,
				3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 3, 5, 3, 3, 1, 3, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 5, 1, 1,
				3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 2, 1, 3, 1, 0, 1, 0, 1,
				1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 4, 3, 2, 1, 4, 2, 1, 2, 5, 7, 5, 1, 4, 1, 0, 5, 7, 2, 8, 1, 1, 2, 2,
				3, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 4, 4, 2, 2, 2, 2, 2, 1, 0, 1, 1, 1, 1,
				1, 1, 2, 1, 2, 2, 2, 1, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 3, 4, 4, 5, 2, 5, 6, 5, 0, 1, 0, 7, 8, 0, 1, 3, 1, 0, 1, 3, 1, 7, 6, 0, 7, 6, 1, 0,
				6, 5, 6, 4, 1, 3, 1, 0, 1, 1, 2, 1, 1, 3, 1, 3, 1, 1, 1, 1, 3, 9, 2, 2, 3, 2, 5, 3, 7, 0, 1, 2, 2, 1, 0,
				1, 1, 1, 3, 1, 2, 1, 1, 2, 3, 1, 1, 1, 3, 2, 1, 2, 2, 9, 8, 2, 1, 3, 1, 3, 1, 0, 1, 0, 2, 1, 1, 3, 1, 3,
				2, 1, 5, 8, 1, 2, 3, 1, 1, 7, 6, 3, 0, 0, 1, 3, 1, 1, 5, 6, 6, 7, 7, 0, 0, 1, 0, 1, 1, 1, 2, 4, 2, 2, 1,
				5, 1, 1, 1, 1, 1, 1, 1, 2, 1, 0, 1, 3, 1, 1, 2, 3, 2, 1, 2, 2, 1, 0, 1, 3, 3, 5, 5, 4, 1, 1, 1, 1, 0, 1,
				5, 2, 2, 1, 2, 2, 1, 0, 1, 3, 4, 3, 1, 1, 5, 2, 1, 1, 3, 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, 2, 2, 7, 1, 0, 1, 3, 1, 1, 2, 4, 2, 4, 7,
				9, 5, 1, 3, 1, 0, 1, 1, 3, 2, 3, 2, 2, 1, 0, 1, 1, 4, 5, 2, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 1, 1, 2, 4,
				4, 2, 1, 2, 5, 5, 3, 3, 1, 4, 3, 1, 0, 1, 3, -271, 0, 0, 0, 0, -21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -72, -63, 0, -2, 0, 0, 0, 0, 0, 0, -119, 0, -4, 0, 0, -514, -25, 0, 0, 0, 0,
				-519, 0, 0, 0, -418, 0, -6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -40, -7, 0, 0, 0, 0, -145, 0, -53, 0, 0,
				0, -100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -217, 0, 0, 0, 0, -71, 0, -231, 0, 0, 0, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -227, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -88, 0, 0, -515, 0, -3, 0, 0, -48, 0, 0, 0, 0, -116,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -406, 0, 0,
				0, 0, 0, 0, 0, 0, -34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-42, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -251, -14, 0, 0, 0, 0, -110, 0, -12, -24, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -30, 0, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, -27, 0, 0, 0, 0, 0, -106, 0, 0, 0, 0, 0,
				0, -297, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, -92,
				0, 0, 0, 0, 0, 0, 0, -58, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32, 0, -50, 0, 0, -13, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -438, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, -210, 0, 0, 0, 0, -35, -79, 0, -258, 0, 0, 0, 0, -228, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -146, 0, 0, -532, 0, 0, 0, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -47, -38, 0, 0, 0, 0, 0, 0, 0, 0, -59, 0, 0, 0, 0, 0, 0, 0, 0, 0, -273, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -18, -39, 0, 0, 0, 0, 0, 0, -111, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, -470, 0, 0, 0, 0, 0,
				0, -60, 0, 0, 0, 0, -533, -253, 0, -358, 0, -89, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -43, 0, 0, 0, 0, 0, 0,
				-202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -55, -49, 0, -56, 0,
				0, 0, 0, 0, 0, -93, 0, -64, 0, 0, -503, 0, 0, 0, 0, -304, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, 0, -333, 0, 0, 0, 0, -41, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -576, -51, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -102, 0,
				0, 0, 0, 0, 0, -442, 0, 0, 0, 0, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-103, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0, -535, 0, 0, 0, 0, -443, 0, 0, 0, 0, -223, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -114, 0, -75, 0, -52, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-182, 0, 0, 0, 0, -46, -298, 0, -107, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -62, -531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -186, -352, 0, 0, 0, 0, 0, 0, 0, 0, -76, 0, -77, 0, 0, 0,
				0, 0, -530, 0, -95, -218, 0, 0, 0, 0, 0, -230, 0, -284, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479, 0, -112, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -15, -33, 0, -10, 0,
				0, 0, 0, -105, 0, 0, 0, 0, 0, 0, -353, -133, 0, 0, 0, 0, 0, 0, -285, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -101, 0, 0, 0, 0, 0, -57, 0, 0, 0, -20, 0,
				0, 0, 0, 0, 0, 0, 0, -87, 0, 0, -185, 0, 0, -135, -94, 0, 0, 0, 0, 0, 0, -286, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, 0, 0, 0, 0, 0, -569, 0, 0, 0, 0, 0,
				0, -234, -69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -551, -115, 0, 0, 0, 0, 0, 0, -287, 0, 0, 0, 0,
				-580, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -29, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -22, -246, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -288, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -229, 0, 0, 0, 0,
				0, 0, -70, -61, 0, 0, -235, 0, 0, 0, 0, 0, -150, 0, -423, -155, 0, 0, -151, 0, 0, 0, -200, 0, 0, 0, 0,
				0, 0, -289, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -524,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, -247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -136, -152, -222, 0, 0, 0,
				0, 0, 0, 0, 0, -290, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -547,
				0, 0, 0, -390, 0, 0, -592, 0, 0, 0, 0, -422, 0, 0, 0, -113, -248, 0, 0, 0, 0, 0, 0, -582, -139, 0, 0,
				-454, -153, 0, -154, 0, 0, 0, 0, 0, 0, 0, -291, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -68, 0, 0, -601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0,
				0, 0, 0, -301, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -292, 0, 0, 0, 0, -73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, -376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -237, 0, 0, 0, -134, 0,
				0, 0, -583, -104, 0, 0, 0, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -378, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -238, -80,
				0, 0, 0, 0, 0, 0, 0, -167, 0, -465, 0, 0, 0, -330, -97, 0, 0, 0, 0, 0, 0, -294, 0, 0, 0, 0, -168, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -350, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -373, 0, 0, 0, 0, 0, 0, 0, -169, 0, -170, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, -319, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, 0, 0, -172, 0, 0, 0, 0, 0,
				0, -190, 0, 0, -570, 0, 0, 0, 0, -320, 0, 0, 0, 0, -173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -174, 0, -175, 0, -81, 0, 0, 0, 0, 0, 0, -176, 0, 0, -571, 0, 0, 0, 0, -321, 0, 0, 0,
				0, -219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -372, 0, -84, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, -322, 0, 0, 0, 0, -220, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -602, 0, 0, 0, 0, -85, 0, 0, 0, 0, 0, 0, 0, 0, 0, -518, 0, 0, 0, 0, -323, 0, 0, 0, 0,
				-317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -98, -380, 0, 0, 0, 0, 0, 0, 0, 0,
				-177, 0, 0, 0, 0, -520, 0, 0, 0, 0, -324, 0, 0, 0, 0, -565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -126, -579, 0, -596, 0, 0, 0, 0, 0, 0, -178, 0, 0, 0, 0, -554, 0, 0, 0, 0, -325, 0, 0,
				0, 0, -90, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -141, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -142, 0, 0, 0, 0, 0, -344, 0, -128, 0, -326, 0, 0, 0, 0, -129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, 0, 0, 0, -356, 0, -132, 0, -327, 0,
				0, 0, 0, -181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -203, -183, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -207, 0, 0, -204, -187, 0, -140, 0, -328, 0, 0, 0, 0, -457, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -225, -594, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -226, 0, 0, -189, -192, 0,
				-193, 0, -329, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455,
				-331, 0, -355, 0, -299, 0, 0, 0, 0, 0, 0, 0, 0, 0, -54, 0, 0, 0, 0, -437, 0, 0, 0, 0, -194, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0,
				-458, 0, 0, 0, -478, 0, 0, 0, 0, -211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-268, -243, 0, -346, 0, 0, 0, -370, 0, 0, 0, 0, 0, 0, 0, 0, -474, -195, 0, 0, -332, 0, 0, 0, -341, 0, 0,
				0, -345, 0, 0, 0, -347, 0, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -196, 0, 0, -197, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, -244, -269, 0, -585, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -363, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -411, 0, -501, 0, 0, -476, 0, -361, -420, 0, -348, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -421, 0, 0, 0, 0, 0, 0, -364, 0, 0, -357, 0, 0, 0, 0, -449,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -205, 0, -439, 0, 0, 0, 0, 0, 0,
				-502, 0, 0, -469, 0, 0, -490, -149, 0, -491, -206, -208, 0, -209, -184, 0, 0, 0, -409, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -212, 0, 0, -493, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -118, -566,
				-214, 0, 0, 0, 0, 0, 0, -497, 0, -505, 0, 0, 0, -440, 0, -527, 0, 0, 0, 0, 0, -215, -78, 0, 0, 0, 0,
				-452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, -232, 0, 0,
				-561, 0, 0, 0, 0, 0, 0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -365, 0, -371, 0, -539, 0, 0, 0, 0, 0, 0, -241, 0, 0, -546, 0, -557, -233, -256, 0, -572,
				0, -441, 0, 0, 0, -272, -588, -593, -599, 0, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -316, -550, 0, -334, 0, 0, 0, -335, 0, 0, -342, -343, 0, -349,
				0, 0, 0, -351, -296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-338, 0, -259, -366, -337, 0, -367, 0, 0, -368, -369, -381, -382, -123, 0, -383, -384, 0, 0, 0, 0, -270,
				0, 0, -385, 0, 0, 0, -387, -388, 0, -389, 0, 0, 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, -393, 0, -394, -395, 0, -396, 0, 0, 0, 0, 0, 0, -283, 0, 0, 0, 0, -397, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -398, -446, -399, 0, -400, -499, 0,
				-375, -401, 0, -496, 0, 0, -402, -403, 0, 0, 0, 0, 0, 0, -404, -405, 0, -408, -410, 0, -412, 0, -413, 0,
				0, -312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -414, 0,
				-415, 0, 0, 0, 0, -281, 0, 0, 0, 0, -417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -425, -426, -427, -428, -429, -430, -431, 0, -432, -433, -434, -435, -436, -453, -461, -462, -463, 0,
				-464, -480, 0, 0, 0, 0, -481, 0, -379, -313, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -483, 0, -488, 0, 0, 0, -282, 0, 0, 0, 0, -424, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -459, -492, -498, -511, -512, -516, 0, -528, -534, -548, -552,
				-553, -559, -567, -568, -581, 0, -586, -591, 0, 0, 0, -471, -477, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -278, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -109, 0, 0, 0, 0, -311, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, -506, -513, -523, -525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -279, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, -541, -339, -542, -543, 0, -555, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -280, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -305,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -224, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -556, -574, 0, 0, 0,
				0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, -575, 0, 0, -589, 0, 0, 0, -595, 0, 0, 0, 0, -598, 0, 0, 0, -122, 0,
				0, -600, -544, 0, 0, 0, -460, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -274, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -275, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -419, -260, 0,
				-295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -306, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -308, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -360, 0,
				0, 0, 0, 0, 0, 0, -392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-5, 0, 0, 0, 0, 0, -314, -507, 0, -538, -521, 0, 0, 0, 0, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -573, 0, 0, 0, 0, 0, 0, -277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -300, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, -242, 0, 0, -509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-131, 0, 0, 0, 0, 0, 0, 0, -549, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -584, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -264, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -563, 0, 0, 0, 0, 0, -416,
				0, 0, 0, 0, 0, 0, -485, -44, 0, 0, 0, 0, -545, 0, -354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -445, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -484, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -66, 0, 0, 0, -96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -522, 0, 0, 0, 0, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -558, 0, 0, 0, 0, 0, 0, 0, 0, -444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-560, 0, 0, 0, 0, 0, 0, -577, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -148, 0, 0, 0, 0,
				0, 0, 0, 0, -188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -564, 0, 0, 0, 0, 0, -473, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, 0, 0, 0, 0, 0, 0,
				-597, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -603, 0, 0, 0, 0, 0,
				0, 0, -391, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -359, 0, 0, 0, -472, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -159, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -162,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-165, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -252, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -467, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, -158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, -447, 0, 0, 0, 0,
				0, 0, 0, 0, -448, -468, -125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0,
				0, 0, 0, -475, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -604, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -23, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -8, -536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -537, 0, 0, 0, 0, 0, 0, 0, 0, -191, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -245, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -83, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -340, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -239, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-91, 0, 0, 0, 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, 0, -138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -255, 0, 0, 0, 0, 0, 0, 0, -486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -489, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
	};

	public final static short baseCheck[] = BaseCheck.baseCheck;

	@Override
	public final int baseCheck(int index) {
		return baseCheck[index];
	}

	public final static short rhs[] = baseCheck;

	@Override
	public final int rhs(int index) {
		return rhs[index];
	};

	public interface BaseAction {
		public final static char baseAction[] = { 191, 5, 154, 94, 94, 30, 30, 81, 81, 39, 39, 42, 42, 191, 1, 1, 16,
				16, 16, 16, 16, 16, 16, 17, 17, 17, 15, 11, 11, 6, 6, 6, 6, 6, 6, 2, 75, 75, 4, 4, 12, 12, 44, 44, 155,
				155, 156, 67, 67, 43, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
				157, 157, 157, 132, 132, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 192, 192, 193, 193,
				194, 160, 160, 161, 161, 158, 158, 162, 159, 159, 21, 21, 22, 22, 23, 23, 23, 24, 24, 24, 24, 25, 25,
				25, 26, 26, 26, 31, 31, 31, 31, 31, 33, 33, 33, 34, 34, 35, 35, 36, 36, 38, 38, 40, 40, 41, 41, 45, 45,
				45, 45, 45, 50, 50, 50, 53, 53, 60, 60, 61, 61, 62, 62, 63, 63, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65,
				65, 65, 65, 65, 65, 29, 29, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 37, 28, 163, 163, 105,
				105, 195, 195, 104, 218, 218, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 79, 79, 66, 66, 196, 196,
				84, 84, 84, 117, 117, 197, 197, 85, 85, 85, 85, 198, 198, 86, 86, 86, 86, 86, 87, 87, 95, 95, 95, 95,
				95, 95, 95, 95, 54, 54, 54, 54, 54, 118, 118, 116, 116, 55, 199, 27, 27, 27, 27, 27, 49, 49, 69, 69, 69,
				69, 69, 137, 137, 133, 133, 133, 133, 133, 134, 134, 134, 135, 135, 135, 136, 136, 136, 165, 165, 165,
				70, 70, 70, 70, 70, 71, 71, 71, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 106, 138, 138, 138, 138,
				138, 138, 111, 111, 111, 166, 167, 167, 112, 112, 200, 169, 169, 168, 168, 139, 139, 119, 91, 91, 140,
				57, 48, 170, 170, 58, 56, 97, 97, 171, 171, 164, 164, 141, 142, 142, 143, 93, 93, 172, 172, 77, 77, 77,
				73, 73, 72, 78, 78, 80, 80, 68, 68, 68, 59, 98, 98, 108, 107, 107, 51, 51, 74, 74, 76, 76, 52, 109, 109,
				109, 99, 99, 99, 100, 100, 101, 101, 101, 102, 102, 120, 120, 120, 122, 122, 121, 121, 219, 219, 103,
				103, 202, 202, 202, 202, 202, 145, 47, 47, 174, 201, 201, 146, 146, 147, 147, 147, 148, 176, 203, 203,
				32, 32, 110, 114, 114, 114, 114, 205, 124, 123, 123, 113, 113, 113, 177, 178, 178, 178, 178, 178, 178,
				178, 178, 178, 178, 178, 207, 207, 204, 204, 206, 206, 179, 180, 180, 180, 180, 181, 208, 126, 125, 125,
				209, 209, 182, 182, 182, 182, 115, 115, 115, 210, 210, 8, 8, 9, 211, 211, 212, 183, 173, 173, 184, 184,
				185, 186, 186, 7, 7, 10, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
				213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
				213, 213, 213, 213, 213, 89, 92, 92, 187, 187, 150, 150, 151, 151, 151, 151, 151, 151, 3, 152, 152, 149,
				149, 188, 220, 221, 221, 222, 222, 223, 224, 224, 189, 190, 190, 190, 190, 214, 214, 214, 128, 128, 128,
				128, 128, 129, 130, 130, 127, 127, 96, 90, 88, 88, 175, 175, 131, 131, 215, 215, 215, 153, 153, 144,
				144, 216, 216, 1119, 35, 3403, 3401, 5379, 1214, 27, 30, 31, 983, 961, 26, 28, 3400, 296, 25, 23, 50,
				2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1231, 587, 177, 1008, 2792, 308, 2738, 2927, 2878, 2939,
				1231, 2930, 55, 3066, 176, 3135, 1331, 35, 314, 191, 673, 3230, 35, 312, 266, 243, 3081, 1244, 35, 1044,
				32, 4550, 3752, 27, 30, 31, 983, 961, 375, 28, 2396, 1513, 269, 264, 265, 6168, 845, 3221, 243, 35, 893,
				425, 2409, 35, 1044, 32, 5230, 5171, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76,
				77, 108, 2209, 2258, 2256, 2322, 309, 49, 162, 2396, 276, 279, 282, 825, 1180, 501, 35, 433, 1247, 1643,
				1372, 535, 2544, 2547, 2302, 3163, 352, 1073, 357, 2347, 1564, 497, 2345, 1587, 911, 1142, 1653, 5992,
				285, 2495, 2356, 2542, 2638, 161, 579, 2149, 2244, 35, 3343, 32, 4550, 1473, 27, 30, 31, 983, 961, 375,
				28, 243, 35, 330, 1475, 3326, 2243, 1785, 3771, 501, 35, 1535, 1669, 1327, 2409, 35, 1044, 32, 5230,
				5171, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256,
				2322, 49, 1967, 162, 1292, 3674, 2608, 985, 550, 576, 3082, 580, 1247, 964, 324, 243, 1527, 1525, 34,
				2302, 355, 1848, 357, 1329, 2347, 350, 1189, 2345, 921, 2144, 1706, 348, 3327, 2651, 2495, 2356, 2542,
				2638, 161, 579, 3336, 2231, 69, 720, 3279, 2409, 35, 1044, 32, 5230, 5171, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 427, 464, 162, 1579, 35, 1044,
				32, 5286, 2597, 27, 30, 31, 983, 961, 57, 28, 2433, 1588, 2302, 2642, 1254, 1217, 155, 2347, 62, 1178,
				2345, 1217, 4752, 550, 576, 3082, 580, 2495, 2356, 2542, 2638, 161, 579, 2120, 35, 1044, 32, 1467, 193,
				41, 30, 31, 983, 961, 2100, 3086, 94, 332, 2651, 455, 456, 3339, 972, 1331, 35, 490, 480, 5180, 988,
				585, 2689, 35, 1044, 32, 5230, 5171, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76,
				77, 108, 2209, 2258, 2256, 2322, 1685, 266, 162, 243, 35, 2691, 1992, 550, 576, 3082, 580, 1582, 243,
				35, 893, 425, 1572, 2131, 2302, 278, 264, 265, 1793, 2347, 2379, 2197, 2345, 62, 3264, 3088, 1245, 4869,
				2651, 2495, 2356, 2542, 2638, 161, 579, 2757, 35, 1044, 32, 5230, 489, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 2485, 61, 177, 765, 2792, 155,
				2738, 2927, 2878, 2939, 1217, 2930, 1733, 3066, 176, 2673, 3771, 2660, 2573, 415, 1627, 35, 1044, 32,
				5286, 2149, 27, 30, 31, 983, 961, 56, 28, 3687, 551, 576, 3082, 580, 243, 35, 317, 2477, 35, 1044, 32,
				5230, 141, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258,
				2256, 2736, 155, 2789, 177, 1329, 2792, 6246, 2738, 2927, 2878, 2939, 1371, 2930, 369, 3066, 176, 2673,
				483, 2689, 2735, 415, 3325, 35, 1044, 32, 5230, 2234, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23,
				50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3434, 1951, 1344, 255, 1595, 422, 416, 2688, 3164, 2551,
				35, 1044, 32, 5230, 484, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108,
				2209, 2258, 2256, 2736, 428, 464, 177, 1515, 2792, 1941, 2738, 2927, 2878, 2939, 760, 2930, 1563, 3066,
				176, 2673, 266, 3138, 743, 415, 243, 3221, 2202, 35, 1044, 32, 2745, 60, 2604, 30, 31, 983, 961, 418,
				281, 264, 265, 423, 416, 2688, 3019, 35, 1044, 32, 5230, 1095, 27, 30, 31, 983, 961, 26, 28, 2143, 296,
				25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1516, 62, 177, 148, 2792, 4956, 2738, 2927,
				2878, 2939, 413, 2930, 1985, 3066, 176, 243, 35, 893, 425, 191, 3325, 35, 1044, 32, 5230, 360, 27, 30,
				31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 468, 243,
				35, 3669, 3573, 413, 416, 2688, 3019, 35, 1044, 32, 5230, 1515, 27, 30, 31, 983, 961, 26, 28, 2143, 296,
				25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 3135, 62, 177, 668, 2792, 5014, 2738, 2927,
				2878, 2939, 325, 2930, 359, 3066, 176, 243, 35, 1525, 311, 409, 2443, 594, 3019, 35, 1044, 32, 5230,
				2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256,
				2736, 2836, 93, 177, 2579, 2792, 3326, 2738, 2927, 2878, 2939, 1577, 2930, 2248, 3066, 176, 243, 35,
				893, 425, 409, 3019, 35, 1044, 32, 5230, 2074, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50,
				2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 471, 499, 177, 1964, 2792, 155, 2738, 2927, 2878, 2939,
				677, 2930, 426, 3066, 176, 243, 35, 1525, 313, 409, 1862, 2920, 408, 2897, 35, 1044, 32, 5230, 3089, 27,
				30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 2557,
				1475, 571, 2864, 2792, 3771, 2738, 2927, 2878, 2939, 365, 2930, 2721, 2999, 197, 3674, 2621, 35, 1044,
				32, 5230, 407, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258,
				2256, 2736, 2536, 2149, 177, 3089, 2792, 4517, 2738, 2927, 2878, 2939, 2841, 2930, 1449, 3066, 176, 42,
				2674, 1329, 2608, 175, 1571, 501, 35, 433, 363, 405, 368, 845, 3221, 3142, 35, 1044, 32, 5230, 2309, 27,
				30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 4469,
				2719, 162, 1361, 35, 1044, 32, 4550, 1473, 27, 30, 31, 983, 961, 375, 28, 1258, 2779, 2302, 71, 1210,
				330, 4351, 2347, 1515, 215, 2345, 44, 2674, 273, 296, 2149, 2142, 2495, 2356, 2542, 2638, 161, 173,
				3142, 35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77,
				108, 2209, 2258, 2256, 2322, 1515, 266, 162, 718, 430, 464, 2605, 35, 312, 355, 1848, 357, 155, 418,
				350, 1189, 2040, 2124, 2302, 274, 264, 265, 3337, 2347, 412, 62, 2345, 585, 1515, 5076, 349, 2936, 230,
				2495, 2356, 2542, 2638, 161, 172, 3142, 35, 1044, 32, 5230, 324, 27, 30, 31, 983, 961, 26, 28, 2143,
				296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 586, 266, 162, 2049, 1515, 2510, 838,
				2770, 3279, 501, 35, 433, 343, 346, 626, 1437, 1375, 155, 2302, 284, 264, 265, 770, 2347, 429, 464,
				2345, 1304, 412, 273, 296, 2821, 499, 2495, 2356, 2542, 2638, 161, 171, 3142, 35, 1044, 32, 5230, 2821,
				27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322,
				410, 266, 162, 1361, 35, 1044, 32, 4550, 1473, 27, 30, 31, 983, 961, 375, 28, 2129, 155, 2302, 274, 264,
				265, 4351, 2347, 2589, 2685, 2345, 1331, 35, 567, 479, 5400, 493, 2495, 2356, 2542, 2638, 161, 170,
				3142, 35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77,
				108, 2209, 2258, 2256, 2322, 3683, 266, 162, 3393, 2772, 243, 35, 1525, 316, 355, 1848, 357, 155, 1173,
				350, 1189, 2298, 841, 2302, 287, 264, 265, 238, 2347, 1515, 62, 2345, 3375, 3049, 5300, 2034, 70, 499,
				2495, 2356, 2542, 2638, 161, 169, 3142, 35, 1044, 32, 5230, 71, 27, 30, 31, 983, 961, 26, 28, 2143, 296,
				25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1515, 266, 162, 1361, 35, 1044, 32, 4550,
				1473, 27, 30, 31, 983, 961, 375, 28, 2828, 155, 2302, 278, 264, 265, 4351, 2347, 3125, 3085, 2345, 361,
				664, 3111, 243, 35, 330, 2495, 2356, 2542, 2638, 161, 168, 3142, 35, 1044, 32, 5230, 379, 27, 30, 31,
				983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 3136, 266, 162,
				3393, 1597, 35, 314, 3138, 5913, 355, 1848, 357, 243, 3666, 350, 1189, 2533, 155, 2302, 281, 264, 265,
				4351, 2347, 1515, 413, 2345, 3378, 1848, 3112, 3677, 3181, 5905, 2495, 2356, 2542, 2638, 161, 167, 3142,
				35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108,
				2209, 2258, 2256, 2322, 1515, 1862, 162, 3393, 2111, 35, 1044, 32, 5404, 3085, 27, 30, 31, 983, 961, 26,
				28, 2889, 2302, 548, 2605, 35, 315, 2347, 588, 2234, 2345, 3381, 1331, 35, 490, 358, 5180, 2495, 2356,
				2542, 2638, 161, 166, 3142, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23,
				50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 988, 1862, 162, 1855, 35, 1044, 32, 5404, 534, 27,
				30, 31, 983, 961, 59, 28, 3748, 2720, 2302, 392, 71, 35, 330, 2347, 1515, 1582, 2345, 88, 594, 1840,
				102, 414, 1515, 2495, 2356, 2542, 2638, 161, 165, 3142, 35, 1044, 32, 5230, 313, 27, 30, 31, 983, 961,
				26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1515, 266, 162, 1855, 35,
				1044, 32, 5404, 2532, 27, 30, 31, 983, 961, 58, 28, 3855, 155, 2302, 284, 264, 265, 4052, 2347, 587,
				3286, 2345, 243, 35, 1525, 3668, 499, 1515, 2495, 2356, 2542, 2638, 161, 164, 3142, 35, 1044, 32, 5230,
				1158, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256,
				2322, 2648, 266, 162, 2202, 35, 1044, 32, 838, 2626, 40, 30, 31, 983, 961, 487, 2689, 2735, 840, 2302,
				570, 264, 265, 4351, 2347, 3068, 1220, 2345, 1939, 1304, 243, 35, 1525, 566, 2495, 2356, 2542, 2638,
				161, 163, 3019, 35, 1044, 32, 5230, 379, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106,
				76, 77, 108, 2209, 2258, 2256, 2736, 1665, 1231, 177, 1182, 2792, 2418, 2738, 2927, 2878, 2939, 484,
				2930, 1231, 3066, 176, 243, 35, 893, 425, 188, 3019, 35, 1044, 32, 5230, 931, 27, 30, 31, 983, 961, 26,
				28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 470, 320, 177, 496, 2792,
				155, 2738, 2927, 2878, 2939, 3385, 2930, 1512, 3066, 176, 243, 35, 893, 425, 187, 3019, 35, 1044, 32,
				5230, 2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258,
				2256, 2736, 469, 496, 177, 1231, 2792, 155, 2738, 2927, 2878, 2939, 5873, 2930, 362, 3066, 176, 243,
				3675, 1525, 74, 186, 3019, 35, 1044, 32, 5230, 2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23,
				50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 3138, 458, 177, 3078, 2792, 155, 2738, 2927, 2878,
				2939, 5885, 2930, 340, 3066, 176, 1741, 35, 1525, 3676, 185, 3019, 35, 1044, 32, 5230, 2218, 27, 30, 31,
				983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 1231, 177,
				5784, 2792, 671, 2738, 2927, 2878, 2939, 410, 2930, 332, 3066, 176, 1741, 35, 1525, 311, 184, 3019, 35,
				1044, 32, 5230, 3244, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209,
				2258, 2256, 2736, 155, 1231, 177, 1231, 2792, 5961, 2738, 2927, 2878, 2939, 836, 2930, 419, 3066, 176,
				243, 35, 1525, 3680, 183, 3019, 35, 1044, 32, 5230, 1371, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25,
				23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 51, 177, 391, 2792, 743, 2738, 2927, 2878,
				2939, 155, 2930, 594, 3066, 176, 1052, 2218, 339, 1371, 182, 3019, 35, 1044, 32, 5230, 1371, 27, 30, 31,
				983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 97, 177,
				98, 2792, 1542, 2738, 2927, 2878, 2939, 338, 2930, 1776, 3066, 176, 586, 2218, 335, 2431, 181, 3019, 35,
				1044, 32, 5230, 2075, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209,
				2258, 2256, 2736, 155, 574, 177, 331, 2792, 2463, 2738, 2927, 2878, 2939, 441, 2930, 155, 3066, 176,
				1515, 2398, 2768, 2938, 180, 3019, 35, 1044, 32, 5230, 2218, 27, 30, 31, 983, 961, 26, 28, 2143, 296,
				25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 155, 3136, 177, 321, 2792, 1516, 2738, 2927,
				2878, 2939, 2824, 2930, 155, 3066, 176, 399, 933, 1602, 1012, 179, 3019, 35, 1044, 32, 5230, 1450, 27,
				30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 2464,
				1936, 177, 2544, 2792, 155, 2738, 2927, 2878, 2939, 802, 2930, 322, 3066, 176, 243, 35, 893, 425, 178,
				3019, 35, 1044, 32, 5230, 1292, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77,
				108, 2209, 2258, 2256, 2736, 308, 2732, 177, 2074, 2792, 3178, 2738, 2927, 2878, 2939, 155, 2930, 1474,
				3066, 176, 1000, 2926, 35, 565, 192, 3203, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143,
				296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1862, 2378, 162, 2202, 35, 1044, 32,
				2923, 2881, 3041, 30, 31, 983, 961, 364, 371, 1965, 582, 2302, 89, 155, 475, 102, 2347, 155, 3284, 2345,
				310, 1371, 3477, 5761, 2234, 2509, 2495, 2356, 2542, 2638, 161, 160, 3019, 35, 1044, 32, 5230, 2260, 27,
				30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 485,
				334, 177, 1241, 2792, 439, 2738, 2927, 2878, 2939, 2698, 2930, 1933, 3066, 176, 389, 2192, 2614, 1862,
				140, 3264, 35, 1044, 32, 5230, 2234, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76,
				77, 108, 2209, 2258, 2256, 2736, 155, 24, 177, 3075, 2792, 4060, 2738, 2927, 2878, 2939, 1371, 2930, 62,
				3066, 176, 3172, 6028, 1862, 1371, 222, 3325, 35, 1044, 32, 5230, 1648, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 386, 1292, 212, 390, 2792, 1371,
				2738, 2927, 2878, 2939, 232, 2930, 1862, 2999, 197, 3325, 35, 1044, 32, 5230, 1371, 27, 30, 31, 983,
				961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 69, 2234, 231, 2130,
				2792, 155, 2738, 2927, 2878, 2939, 3486, 2930, 62, 2999, 197, 155, 6064, 443, 1371, 2438, 640, 1371,
				757, 2251, 3273, 2437, 243, 35, 893, 425, 3325, 35, 1044, 32, 5230, 460, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 235, 49, 227, 233, 2792, 2862,
				2738, 2927, 2878, 2939, 1533, 2930, 46, 2999, 197, 3325, 35, 1044, 32, 5230, 329, 27, 30, 31, 983, 961,
				26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 388, 1475, 571, 2516,
				2792, 3771, 2738, 2927, 2878, 2939, 155, 2930, 155, 2999, 197, 1194, 1936, 4360, 155, 380, 2944, 2862,
				385, 5198, 1383, 243, 35, 893, 425, 578, 3325, 35, 1044, 32, 5230, 3630, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 308, 3234, 848, 1329, 2792, 1371,
				2738, 2927, 2878, 2939, 3178, 2930, 368, 2999, 197, 3487, 35, 1044, 32, 5230, 459, 27, 30, 31, 983, 961,
				26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1039, 1862, 4382, 1862,
				2792, 155, 2738, 2927, 2878, 2939, 4483, 2930, 1475, 2999, 197, 155, 3771, 2645, 2583, 1569, 1326, 155,
				4668, 1936, 370, 371, 1974, 2919, 1371, 155, 1371, 68, 376, 53, 2438, 462, 2951, 35, 1044, 32, 5230,
				598, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256,
				2322, 379, 189, 2616, 2030, 256, 934, 226, 3771, 1329, 2576, 2945, 3178, 2610, 2615, 2535, 2219, 417,
				368, 3288, 2676, 3433, 35, 1044, 32, 5230, 3393, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50,
				2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 4316, 829, 2861, 2433, 2647, 1475, 4351, 2650, 1217,
				3771, 2716, 2746, 2206, 2209, 3048, 1329, 1935, 2293, 2302, 4351, 3172, 371, 3041, 2347, 3327, 2299,
				2345, 3273, 3945, 1087, 3792, 193, 3730, 2495, 2356, 3498, 3325, 35, 1044, 32, 5230, 3945, 27, 30, 31,
				983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 1937, 1329,
				2300, 2532, 2792, 2307, 2738, 2927, 2878, 2939, 368, 3585, 3379, 35, 1044, 32, 5230, 2547, 27, 30, 31,
				983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 388, 4805, 397,
				1860, 3293, 2450, 3599, 2698, 1854, 4351, 1862, 660, 5825, 1936, 96, 542, 915, 2297, 2302, 380, 2944,
				2862, 385, 2347, 2751, 2649, 2345, 2753, 2754, 378, 87, 3945, 1098, 2495, 3490, 3325, 35, 1044, 32,
				5230, 87, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256,
				2736, 539, 541, 3178, 1103, 2792, 2292, 2738, 2927, 2878, 3582, 3379, 35, 1044, 32, 5230, 2468, 27, 30,
				31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 3186, 3110,
				3171, 2592, 2744, 2748, 2790, 1351, 542, 1949, 2979, 1853, 2796, 2722, 2780, 2839, 3013, 3042, 2302,
				3043, 3073, 366, 371, 2347, 1995, 173, 2345, 1862, 3325, 35, 1044, 32, 5230, 3484, 27, 30, 31, 983, 961,
				26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 539, 541, 52, 2976, 2792,
				3108, 2738, 2927, 3583, 3379, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23,
				50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 467, 3667, 1862, 2728, 2147, 3075, 3104, 3007, 488,
				3134, 3201, 3151, 3294, 3258, 2981, 2677, 3167, 3292, 2302, 2216, 2982, 6914, 6914, 2347, 1862, 2217,
				3489, 3325, 35, 1044, 32, 5230, 3174, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106,
				76, 77, 108, 2209, 2258, 2256, 2736, 90, 143, 6914, 6914, 2792, 6914, 2738, 3579, 3379, 35, 1044, 32,
				5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258,
				2256, 2322, 1259, 35, 1044, 32, 4952, 1473, 27, 30, 31, 983, 961, 375, 28, 6914, 6914, 6914, 6914, 6914,
				2302, 243, 35, 893, 425, 3476, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296,
				25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 49, 6914, 6914, 6914, 2792, 2433, 3581,
				6914, 1329, 6914, 1217, 1247, 1867, 1862, 1862, 1862, 1862, 368, 6914, 6914, 6914, 355, 1848, 357, 6914,
				6914, 350, 1189, 1460, 35, 1044, 32, 4952, 193, 27, 30, 31, 983, 961, 375, 28, 6914, 349, 3266, 3276,
				5047, 5109, 3831, 3379, 35, 1044, 32, 5230, 1862, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50,
				2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 6914, 6914, 6914, 1862, 1862, 3048, 1862, 1862, 5211,
				1862, 4351, 6914, 1329, 6914, 6914, 342, 346, 626, 3478, 6914, 6914, 369, 6914, 6914, 6914, 355, 1848,
				357, 6914, 6914, 353, 1189, 3945, 67, 66, 3641, 65, 64, 1105, 1991, 3379, 35, 1044, 32, 5230, 1256, 27,
				30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2322, 1525,
				35, 1044, 32, 4550, 3376, 27, 30, 31, 983, 961, 375, 28, 3325, 35, 1044, 32, 5230, 3480, 27, 30, 31,
				983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 2736, 6914, 542,
				6914, 6914, 3574, 1222, 35, 3343, 32, 4952, 1473, 27, 30, 31, 983, 961, 375, 28, 1339, 35, 1044, 32,
				4550, 3990, 27, 30, 31, 983, 961, 375, 28, 6914, 355, 1848, 357, 1862, 1862, 350, 1189, 6914, 388, 6914,
				157, 35, 893, 425, 6914, 6914, 540, 541, 6914, 1862, 6914, 3333, 1862, 6914, 6914, 440, 1862, 380, 2944,
				2862, 385, 1862, 1329, 2123, 55, 1465, 6914, 3329, 2395, 2433, 4351, 368, 49, 1465, 1217, 355, 1848,
				357, 4351, 54, 350, 1189, 3291, 1247, 1244, 6914, 101, 6914, 352, 1073, 357, 5371, 3945, 6914, 6914,
				6914, 2231, 193, 592, 6914, 3945, 3831, 3325, 35, 1044, 32, 5230, 2782, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3436, 3325, 35, 1044, 32, 5230, 6914,
				27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3437,
				6914, 6914, 6914, 6914, 402, 2643, 155, 6914, 155, 6914, 1217, 1217, 396, 1217, 6914, 6914, 6914, 6914,
				4021, 6914, 396, 6914, 6914, 6914, 6914, 6914, 454, 456, 3339, 2839, 3122, 3165, 921, 189, 189, 6914,
				189, 3816, 3122, 3165, 6914, 6914, 3084, 2486, 234, 3497, 6914, 6914, 3325, 35, 1044, 32, 5230, 2893,
				27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3575,
				3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77,
				108, 2209, 2258, 2256, 3576, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296,
				25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3577, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31,
				983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 2256, 3578, 1723, 35, 1044,
				32, 4550, 5056, 27, 30, 31, 983, 961, 375, 28, 6914, 6914, 6914, 6914, 1504, 6914, 6914, 6914, 3771,
				6914, 6914, 6914, 3325, 35, 1044, 32, 5230, 387, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50,
				2190, 106, 76, 77, 108, 2209, 2258, 2256, 3688, 3541, 35, 893, 425, 4027, 6914, 155, 155, 6914, 1936,
				832, 1217, 1217, 271, 296, 4351, 6914, 6914, 155, 6914, 355, 1848, 357, 1217, 1329, 350, 1189, 6914,
				388, 6914, 6914, 2711, 308, 369, 189, 189, 1217, 379, 6914, 6914, 6914, 2034, 6914, 3584, 3881, 388,
				189, 380, 2944, 2862, 385, 266, 6914, 6914, 6914, 3882, 6914, 2991, 6914, 189, 3178, 6914, 3278, 6914,
				382, 2944, 2862, 385, 195, 269, 264, 265, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258, 3439, 6914, 6914, 6914, 6914, 6914, 6914,
				6914, 6914, 309, 6914, 6914, 6914, 276, 279, 282, 825, 1180, 6914, 3282, 371, 1460, 35, 1044, 32, 4952,
				6914, 27, 30, 31, 983, 961, 375, 28, 6914, 1936, 1587, 911, 1142, 1653, 5992, 285, 3325, 35, 1044, 32,
				5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 2258,
				3451, 1785, 259, 6914, 6914, 6914, 1778, 598, 6914, 6914, 3771, 4351, 6914, 1329, 6914, 2820, 6914,
				6914, 155, 3178, 4521, 6914, 369, 1217, 6914, 6914, 355, 1848, 357, 262, 189, 351, 1189, 3945, 6914,
				157, 35, 893, 425, 2984, 6914, 213, 6914, 155, 1515, 387, 189, 6914, 1217, 237, 249, 652, 6914, 6914,
				6914, 3884, 236, 246, 247, 248, 250, 4020, 4048, 6914, 1, 1329, 6914, 49, 202, 598, 6914, 189, 6914,
				6914, 368, 3290, 371, 6914, 1247, 1045, 3885, 201, 6914, 6914, 216, 200, 203, 204, 205, 206, 207, 262,
				189, 6914, 6914, 388, 6914, 243, 35, 893, 425, 2984, 3187, 213, 4316, 155, 1515, 6914, 6914, 396, 1217,
				237, 249, 652, 380, 2944, 2862, 385, 236, 246, 247, 248, 250, 6914, 2991, 6914, 3665, 3122, 3165, 49,
				202, 6914, 6914, 189, 6914, 6914, 6914, 6914, 6914, 6914, 1247, 1400, 2533, 201, 6914, 214, 217, 200,
				203, 204, 205, 206, 207, 2332, 35, 1044, 32, 4550, 3376, 27, 30, 31, 983, 961, 375, 28, 3325, 35, 1044,
				32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 2209, 3383,
				6914, 6914, 3325, 35, 1044, 32, 5230, 4579, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190,
				106, 76, 77, 108, 2209, 3384, 6914, 6914, 6914, 6914, 6914, 155, 6914, 355, 1848, 357, 1217, 345, 350,
				1189, 6914, 388, 598, 6914, 155, 329, 35, 893, 425, 598, 2433, 6914, 1854, 6914, 589, 1217, 5825, 6914,
				6914, 189, 380, 2944, 2862, 385, 262, 189, 6914, 6914, 4039, 6914, 590, 379, 189, 6914, 2984, 6914, 213,
				49, 193, 1515, 6914, 221, 6914, 6914, 237, 249, 652, 6914, 1247, 47, 6914, 236, 246, 247, 248, 250,
				1904, 6914, 1889, 35, 1044, 32, 4952, 202, 27, 30, 31, 983, 961, 375, 28, 6914, 757, 6914, 6914, 6914,
				201, 6914, 6914, 3632, 200, 203, 204, 205, 206, 207, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983,
				961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 3387, 6914, 6914, 6914, 6914, 431, 4036,
				6914, 1329, 6914, 598, 6914, 3818, 415, 35, 893, 425, 369, 1995, 6914, 6914, 355, 1848, 357, 6914, 6914,
				351, 1189, 6914, 388, 6914, 155, 262, 189, 6914, 6914, 4351, 6914, 2643, 6914, 6914, 6914, 2984, 598,
				213, 49, 6914, 1515, 382, 2944, 2862, 385, 237, 249, 652, 6914, 1247, 47, 379, 236, 246, 247, 248, 250,
				6914, 3180, 189, 517, 6914, 6914, 6914, 202, 598, 6914, 6914, 2984, 6914, 213, 6914, 6914, 1199, 6914,
				6914, 3393, 201, 466, 6914, 211, 200, 203, 204, 205, 206, 207, 262, 189, 157, 35, 893, 425, 415, 35,
				893, 425, 2984, 6914, 213, 3382, 6914, 1515, 6914, 6914, 3586, 6914, 237, 249, 652, 229, 6914, 6914,
				6914, 236, 246, 247, 248, 250, 6914, 6914, 49, 603, 6914, 6914, 49, 202, 598, 6914, 6914, 2644, 6914,
				1247, 1983, 6914, 598, 1247, 47, 6914, 201, 6914, 6914, 209, 200, 203, 204, 205, 206, 207, 262, 189,
				157, 35, 893, 425, 6914, 3187, 379, 189, 2984, 2053, 213, 6914, 6914, 1515, 6914, 6914, 221, 6914, 237,
				249, 652, 6914, 6914, 6914, 6914, 236, 246, 247, 248, 250, 6914, 1904, 49, 689, 6914, 6914, 6914, 202,
				598, 6914, 6914, 6914, 1778, 1247, 47, 6914, 3771, 4351, 6914, 6914, 201, 6914, 6914, 210, 200, 203,
				204, 205, 206, 207, 262, 189, 759, 35, 893, 425, 6914, 1065, 6914, 3945, 2984, 6914, 213, 6914, 6914,
				1515, 6914, 6914, 4993, 230, 237, 249, 652, 6914, 6914, 6914, 6914, 236, 246, 247, 248, 250, 6914, 6914,
				49, 775, 223, 6914, 6914, 202, 598, 1329, 2433, 6914, 6914, 1247, 47, 1217, 6914, 6914, 368, 6914, 201,
				6914, 6914, 220, 200, 203, 204, 205, 206, 207, 262, 189, 6914, 6914, 6914, 6914, 6914, 1931, 193, 6914,
				2984, 6914, 213, 6914, 6914, 1515, 6914, 6914, 4805, 6914, 237, 249, 652, 396, 6914, 6914, 6914, 236,
				246, 247, 248, 250, 6914, 6914, 6914, 3639, 35, 554, 6914, 202, 3665, 3122, 3165, 6914, 157, 35, 893,
				425, 271, 296, 6914, 6914, 201, 6914, 3224, 3682, 200, 203, 204, 205, 206, 207, 1643, 35, 1044, 32,
				4550, 1473, 27, 30, 31, 983, 961, 375, 28, 861, 49, 6914, 6914, 6914, 598, 2054, 35, 893, 425, 4043,
				266, 1247, 47, 6914, 6914, 6914, 6914, 6914, 2057, 35, 893, 425, 6914, 6914, 6914, 6914, 262, 189, 269,
				264, 265, 6914, 6914, 6914, 6914, 973, 2984, 308, 213, 6914, 6914, 1515, 6914, 6914, 6914, 6914, 237,
				249, 652, 6914, 49, 6914, 6914, 236, 246, 247, 248, 250, 355, 1848, 357, 1247, 2817, 350, 1189, 202,
				6914, 6914, 6914, 276, 279, 282, 825, 1180, 415, 35, 893, 425, 201, 349, 6914, 225, 200, 203, 204, 205,
				206, 207, 243, 35, 893, 425, 1719, 1851, 1917, 2115, 6230, 947, 6914, 6914, 6914, 6914, 598, 6914, 6914,
				6914, 49, 6914, 6914, 6914, 6914, 3670, 6914, 6914, 6914, 6914, 6914, 1247, 2877, 6914, 49, 6914, 6914,
				6914, 262, 189, 6914, 342, 346, 626, 6914, 1247, 2868, 6914, 2984, 6914, 213, 72, 6914, 1515, 6914,
				5217, 6914, 6914, 237, 249, 652, 563, 564, 568, 3289, 236, 246, 247, 248, 250, 6914, 1256, 6914, 1033,
				6914, 6914, 6914, 202, 598, 6914, 6914, 2434, 35, 893, 425, 6914, 6914, 2181, 6914, 6914, 201, 6914,
				6914, 219, 200, 203, 204, 205, 206, 207, 262, 189, 243, 35, 893, 425, 243, 35, 893, 425, 2984, 6914,
				213, 49, 6914, 1515, 6914, 6914, 6914, 6914, 237, 249, 652, 6914, 1247, 2989, 6914, 236, 246, 247, 248,
				250, 6914, 6914, 49, 6914, 6914, 6914, 49, 202, 6914, 6914, 6914, 6914, 6914, 1247, 2830, 6914, 2782,
				1247, 2817, 6914, 201, 6914, 6914, 228, 200, 203, 204, 205, 206, 207, 3325, 35, 1044, 32, 5230, 6914,
				27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 3388, 3325, 35, 1044, 32,
				5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 108, 3396, 3325, 35,
				1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 85, 3325,
				1527, 1044, 3280, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77,
				84, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76,
				77, 83, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 106,
				76, 77, 82, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190,
				106, 76, 77, 81, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50,
				2190, 106, 76, 77, 80, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23,
				50, 2190, 106, 76, 77, 79, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25,
				23, 50, 2190, 106, 76, 77, 78, 3080, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143, 296,
				25, 23, 50, 2190, 106, 76, 77, 104, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28, 2143,
				296, 25, 23, 50, 2190, 106, 76, 77, 110, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26, 28,
				2143, 296, 25, 23, 50, 2190, 106, 76, 77, 109, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961, 26,
				28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 107, 3325, 35, 1044, 32, 5230, 6914, 27, 30, 31, 983, 961,
				26, 28, 2143, 296, 25, 23, 50, 2190, 106, 76, 77, 105, 1689, 6914, 6914, 6914, 6914, 4351, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 157, 35, 893, 425, 1754, 35, 1044, 32, 5230,
				262, 27, 30, 31, 983, 961, 26, 28, 2143, 296, 25, 23, 50, 2190, 86, 76, 77, 6914, 6914, 6914, 239, 249,
				652, 49, 6914, 6914, 6914, 238, 246, 247, 248, 250, 6914, 6914, 1247, 47, 6914, 6914, 6914, 1899, 155,
				6914, 6914, 6914, 4351, 4351, 6914, 6914, 6914, 155, 155, 1988, 6914, 6914, 4351, 4351, 4351, 6914,
				1259, 6914, 6914, 6914, 240, 242, 244, 666, 262, 379, 251, 241, 243, 157, 35, 893, 425, 6914, 379, 379,
				262, 243, 35, 893, 425, 6914, 6914, 6914, 239, 249, 652, 13, 6914, 6086, 3393, 238, 246, 247, 248, 250,
				239, 249, 652, 3393, 3393, 49, 6914, 238, 246, 247, 248, 250, 6914, 49, 6914, 6914, 1247, 47, 546, 6914,
				6914, 6914, 6914, 6914, 1247, 646, 6914, 544, 3817, 2077, 240, 242, 244, 666, 4351, 6914, 251, 241, 243,
				6914, 1390, 155, 240, 242, 244, 666, 4351, 6914, 251, 241, 243, 6914, 6914, 6914, 6914, 6914, 262, 2369,
				6914, 6086, 3590, 35, 893, 425, 4027, 6914, 628, 6914, 379, 2416, 6914, 6086, 6914, 272, 296, 6914, 239,
				249, 652, 6914, 6914, 6914, 6914, 238, 246, 247, 248, 250, 6914, 6914, 6914, 6914, 308, 3393, 6914,
				1810, 157, 35, 893, 425, 4351, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 266, 6914,
				6914, 6914, 6914, 6914, 597, 240, 242, 244, 666, 262, 6914, 251, 241, 243, 6914, 49, 270, 264, 265, 157,
				35, 893, 425, 6914, 6914, 6914, 1247, 47, 155, 239, 249, 652, 2595, 598, 6086, 6914, 238, 246, 247, 248,
				250, 1414, 6914, 6914, 6914, 6914, 4351, 6914, 6914, 6914, 2312, 49, 6914, 309, 6914, 379, 189, 277,
				280, 283, 825, 1180, 1247, 47, 2166, 2945, 6914, 6914, 262, 4351, 6914, 240, 242, 244, 666, 6914, 6914,
				581, 241, 243, 3393, 6914, 6914, 6914, 6914, 286, 2359, 155, 239, 249, 652, 262, 598, 6914, 6914, 238,
				246, 247, 248, 250, 6914, 6914, 6914, 6914, 2861, 6914, 6914, 6914, 6914, 6914, 6914, 239, 249, 652,
				379, 189, 6914, 6914, 238, 246, 247, 248, 250, 2255, 3262, 6914, 6914, 6914, 4351, 6914, 240, 242, 244,
				666, 6914, 2344, 252, 241, 243, 3393, 4351, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 262,
				6914, 6914, 240, 242, 244, 666, 6914, 6914, 582, 241, 243, 262, 3033, 6914, 6914, 6914, 6914, 6914,
				6914, 239, 249, 652, 6914, 6914, 6914, 6914, 238, 246, 247, 248, 250, 239, 249, 652, 3688, 35, 554,
				6914, 238, 246, 247, 248, 250, 6914, 6914, 6914, 6914, 272, 296, 6914, 1180, 6914, 6914, 6914, 4612,
				4351, 6914, 6914, 6914, 6914, 3005, 240, 242, 244, 666, 4351, 1297, 341, 241, 243, 4612, 4351, 6914,
				240, 242, 244, 666, 262, 6914, 536, 241, 243, 6914, 155, 6914, 266, 6914, 379, 598, 6914, 593, 155,
				6914, 262, 6914, 6914, 598, 2644, 444, 4003, 6914, 6914, 6914, 270, 264, 265, 6914, 6914, 6914, 6914,
				379, 189, 3393, 2644, 444, 4003, 6914, 6914, 379, 189, 2945, 6914, 6914, 6914, 155, 6914, 6914, 6914,
				221, 598, 6914, 6914, 6914, 6914, 6914, 3393, 596, 6914, 6914, 445, 446, 447, 666, 1904, 277, 280, 283,
				825, 1180, 6914, 6914, 379, 189, 6914, 6914, 445, 446, 447, 666, 3483, 6914, 221, 6914, 6914, 6914,
				1603, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 1904, 6914, 6914, 6914, 6914, 1603,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 3819, 6914, 6914, 6914, 6914, 6914, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 563, 564, 569, 6914, 6914, 448, 450, 6914, 6914, 6914, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 3856, 6914, 448, 451, 6914, 6914, 6914, 6914, 6914, 6914,
				6914, 6914, 6914, 1353, 6914, 6914, 6262, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 4055, 6914, 0, 538, 6027, 0, 1, 263, 0, 39, 6929, 0, 39,
				6928, 0, 1, 1772, 0, 907, 1, 0, 39, 1, 6929, 0, 39, 1, 6928, 0, 1, 1588, 0, 1, 811, 0, 263, 253, 0, 318,
				431, 0, 318, 323, 0, 7182, 275, 0, 7181, 275, 0, 7288, 275, 0, 7287, 275, 0, 7209, 275, 0, 7208, 275, 0,
				7207, 275, 0, 7206, 275, 0, 7205, 275, 0, 7204, 275, 0, 7203, 275, 0, 7202, 275, 0, 7221, 275, 0, 7220,
				275, 0, 7219, 275, 0, 7218, 275, 0, 7217, 275, 0, 7216, 275, 0, 7215, 275, 0, 7214, 275, 0, 7213, 275,
				0, 7212, 275, 0, 7211, 275, 0, 39, 275, 6929, 0, 39, 275, 6928, 0, 6952, 275, 0, 1427, 424, 0, 6929, 48,
				0, 6928, 48, 0, 1, 367, 0, 38, 811, 0, 38, 6929, 0, 38, 6928, 0, 491, 1720, 0, 477, 1847, 0, 1427, 29,
				0, 6926, 1, 0, 2182, 354, 0, 1, 481, 0, 495, 635, 0, 494, 2298, 0, 35, 33, 0, 47, 37, 0, 538, 1668, 0,
				6952, 1, 263, 0, 39, 1, 263, 0, 263, 453, 0, 1, 1860, 0, 1, 7221, 0, 1, 7220, 0, 1, 7219, 0, 1, 7218, 0,
				1, 7217, 0, 1, 7216, 0, 1, 7215, 0, 1, 7214, 0, 1, 7213, 0, 1, 7212, 0, 1, 7211, 0, 6929, 37, 0, 6928,
				37, 0, 43, 6950, 0, 43, 37, 0, 6926, 420, 0, 6925, 420, 0, 1, 713, 0, 1, 1536, 0, 263, 254, 0, 6924,
				442, 0, 6923, 442, 0, 263, 452, 0, 1, 5829, 0, 1, 5508, 0, 1, 5554, 0, 1, 5577, 0, 1, 5600, 0, 1, 5623,
				0, 1, 5646, 0, 1, 5669, 0, 1, 5531, 0, 1, 6936, 0, 1, 6935, 0, 1, 6934, 0, 1, 6933, 0, 1, 6932, 0, 1,
				6931, 0, 1, 6930, 0, 1, 1857, 0, 1, 1863, 0, 1, 1930, 0, 1, 1996, 0, 1, 1998, 0, 1, 3297, 0, 39, 1, 0,
				6922, 1, 0, 4245, 126, 0, 367, 482, 0, 275, 6929, 0, 275, 6928, 0, 6920, 1, 0, 6919, 1, 0, 1032, 91, 0,
				32, 34, 0, 39, 811, 0, 6950, 45, 0, 37, 45, 0, 1, 263, 3501, 0, 6923, 263, 0, 3503, 263, 0, 6952, 1, 0,
				271, 884, 0, 425, 32, 0, 424, 29, 0, 3597, 263, 0, 10, 12, 0, 4245, 128, 0, 4245, 127, 0, 1, 92, 0, 8,
				10, 12, 0, 3672, 227, 0, 6929, 36, 0, 6928, 36, 0, 6929, 2, 37, 0, 6928, 2, 37, 0, 3678, 420, 0, 367,
				95, 0, 35, 73, 0, 8, 12, 0, 313, 4056, 0, 218, 5309, 0 };
	};

	public final static char baseAction[] = BaseAction.baseAction;

	@Override
	public final int baseAction(int index) {
		return baseAction[index];
	}

	public final static char lhs[] = baseAction;

	@Override
	public final int lhs(int index) {
		return lhs[index];
	};

	public interface TermCheck {
		public final static byte termCheck[] = { 0, 0, 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, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 4, 66, 67, 0, 69, 0, 1, 2,
				73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 4, 66, 67,
				0, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 0, 55, 56, 0, 58, 59, 60, 4, 62, 63,
				64, 0, 66, 67, 3, 69, 0, 1, 2, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 0, 55, 56, 3, 58, 59,
				60, 0, 62, 63, 64, 97, 66, 67, 7, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 0, 55,
				56, 3, 58, 59, 60, 74, 62, 63, 64, 0, 66, 67, 0, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83,
				84, 85, 0, 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, 0, 55, 56, 70, 58, 59, 60, 7, 62, 63, 64, 0, 66, 67, 0, 69, 0, 1, 2, 94, 74, 75, 76, 77, 78, 79,
				80, 81, 82, 83, 84, 85, 0, 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, 0, 55, 56, 0, 58, 59, 60, 4, 62, 63, 64, 0, 66, 67, 0, 69, 0, 92, 93, 3, 74, 75,
				76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 70, 55, 56, 0, 58, 59, 60, 0, 62, 63, 64, 0, 66, 67, 0, 69, 5,
				10, 7, 94, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 94, 66,
				67, 0, 69, 0, 1, 2, 5, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 0, 55, 56, 0, 58, 59, 60, 0, 62, 63,
				64, 0, 66, 67, 3, 69, 0, 1, 2, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 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, 0, 55, 56, 70, 58, 59,
				60, 7, 62, 63, 64, 97, 66, 67, 97, 69, 0, 96, 0, 0, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0,
				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, 0,
				55, 56, 70, 58, 59, 60, 0, 62, 63, 64, 0, 66, 67, 0, 69, 86, 87, 86, 87, 74, 75, 76, 77, 78, 79, 80, 81,
				82, 83, 84, 85, 0, 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, 0, 55, 56, 3, 58, 59, 60, 0, 62, 63, 64, 0, 66, 67, 3, 69, 0, 92, 93, 3, 74, 75, 76, 77,
				78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 120, 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, 0, 40, 41, 42, 43, 44, 45,
				46, 47, 48, 49, 50, 51, 52, 53, 0, 55, 56, 3, 58, 0, 60, 0, 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, 0, 1, 2, 0, 4, 39, 0,
				41, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 54, 0, 61, 55, 56, 57, 58, 59, 9, 0, 62, 63, 0, 1, 2, 3, 4, 91, 6, 71,
				8, 73, 34, 35, 98, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 88, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,
				23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 71, 114, 115, 116, 0, 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, 0, 1, 2, 0, 4,
				39, 96, 41, 0, 1, 2, 3, 4, 0, 6, 54, 8, 9, 118, 0, 0, 55, 56, 57, 58, 59, 65, 7, 62, 63, 0, 1, 2, 3, 4,
				0, 6, 71, 8, 73, 0, 0, 1, 2, 0, 4, 5, 39, 7, 9, 89, 90, 0, 0, 88, 11, 12, 13, 14, 15, 16, 17, 18, 19,
				20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 65, 39, 114, 115, 116, 0, 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,
				65, 0, 0, 68, 3, 39, 5, 41, 7, 0, 9, 9, 0, 1, 2, 3, 4, 0, 6, 0, 8, 55, 56, 57, 58, 59, 9, 0, 62, 63, 64,
				4, 5, 0, 7, 34, 35, 36, 37, 73, 39, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 88, 54, 0, 1, 2,
				3, 4, 5, 61, 7, 0, 0, 65, 0, 0, 68, 68, 70, 71, 72, 73, 73, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 120, 86, 87,
				72, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
				111, 112, 97, 0, 0, 61, 117, 118, 119, 0, 57, 0, 3, 57, 5, 4, 7, 0, 9, 0, 1, 2, 0, 4, 69, 6, 61, 8, 0,
				0, 1, 2, 3, 4, 5, 70, 7, 0, 1, 2, 0, 4, 38, 34, 35, 36, 37, 95, 39, 0, 0, 22, 23, 24, 25, 26, 27, 28,
				29, 30, 31, 32, 33, 54, 61, 54, 38, 0, 1, 2, 61, 4, 0, 6, 65, 8, 57, 68, 61, 70, 71, 72, 73, 0, 1, 2, 3,
				4, 0, 6, 61, 8, 9, 71, 65, 86, 87, 68, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
				104, 105, 106, 107, 108, 109, 110, 111, 112, 39, 0, 57, 0, 117, 118, 119, 0, 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, 0, 1, 2,
				3, 4, 39, 6, 41, 8, 9, 0, 1, 2, 0, 4, 5, 54, 7, 0, 1, 2, 55, 56, 57, 58, 59, 101, 102, 62, 63, 64, 0, 1,
				2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 88, 0, 1, 2, 0, 4, 5, 61, 7,
				0, 9, 34, 35, 36, 37, 38, 0, 40, 72, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 120, 0, 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, 0, 0, 70, 54, 0, 39, 72, 41, 4, 0, 0, 0, 1, 2, 4, 4, 0, 6, 0, 8, 54, 55, 56, 57, 58, 59, 22,
				9, 62, 63, 64, 97, 22, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 0, 1, 2, 3, 4, 5, 6,
				7, 8, 88, 0, 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, 0, 72, 0, 0, 0, 39, 0, 41, 0, 1, 2, 5, 4, 5, 94, 7, 0, 61, 0, 92, 93,
				55, 56, 57, 58, 59, 23, 24, 62, 63, 64, 0, 0, 1, 2, 114, 115, 116, 6, 73, 22, 23, 24, 25, 26, 27, 28,
				29, 30, 31, 32, 33, 0, 0, 88, 0, 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, 57, 86, 87, 61, 91, 39, 95, 41, 0, 1, 2, 98, 4, 5,
				0, 7, 99, 100, 0, 92, 93, 55, 56, 57, 58, 59, 0, 0, 62, 63, 64, 68, 0, 1, 2, 0, 1, 2, 6, 73, 22, 23, 24,
				25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 88, 0, 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, 0, 1, 2, 65, 4, 39, 6, 41, 8, 0, 1,
				2, 66, 67, 0, 6, 0, 8, 0, 0, 57, 55, 56, 57, 58, 59, 0, 0, 62, 63, 64, 0, 68, 0, 1, 2, 0, 4, 0, 73, 22,
				23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 38, 0, 88, 0, 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, 70, 57, 0, 1, 2, 39, 0, 41,
				6, 0, 8, 5, 65, 71, 5, 68, 0, 0, 0, 0, 71, 55, 56, 57, 58, 59, 9, 9, 62, 63, 64, 101, 102, 103, 104,
				105, 106, 107, 108, 109, 110, 111, 112, 0, 0, 1, 2, 3, 4, 0, 6, 0, 8, 10, 88, 0, 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, 72,
				71, 73, 0, 0, 39, 3, 41, 0, 0, 0, 0, 0, 59, 86, 87, 99, 100, 0, 99, 100, 55, 56, 57, 58, 59, 71, 65, 62,
				63, 64, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 121, 6, 0, 8, 34, 35, 88, 0, 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, 0, 0, 1, 2, 0, 39, 91, 41, 86, 87, 9, 0, 91, 98, 95, 61, 0, 0, 0, 98, 0, 55, 56, 57, 58,
				59, 9, 9, 62, 63, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0,
				88, 0, 0, 1, 2, 0, 0, 61, 9, 3, 9, 34, 35, 36, 37, 38, 69, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50,
				51, 52, 53, 68, 0, 69, 68, 72, 0, 60, 39, 3, 54, 0, 65, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
				12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 61, 66, 67, 65, 65, 54, 72, 68, 89, 90, 0, 0, 34, 35, 36, 37,
				38, 0, 40, 9, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 1, 2, 0, 60, 5, 89, 90, 0, 1, 2,
				0, 9, 69, 0, 39, 0, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0,
				1, 2, 0, 68, 114, 115, 116, 34, 35, 0, 68, 34, 35, 36, 37, 38, 57, 40, 0, 42, 43, 44, 45, 46, 47, 48,
				49, 50, 51, 52, 53, 0, 1, 2, 0, 73, 0, 60, 68, 0, 0, 0, 0, 3, 86, 87, 69, 0, 1, 2, 3, 4, 5, 6, 7, 8, 57,
				10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 70, 0, 0, 0, 0, 68, 9, 9, 9, 34, 35, 36, 37,
				38, 0, 40, 57, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 61, 0, 0, 86, 87, 70, 60, 39, 39, 68, 70,
				9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 65, 0, 54,
				65, 0, 72, 70, 0, 9, 113, 0, 34, 35, 36, 37, 38, 0, 40, 54, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52,
				53, 0, 0, 96, 0, 71, 0, 60, 73, 0, 54, 0, 0, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
				15, 16, 17, 18, 19, 20, 21, 0, 0, 65, 3, 72, 5, 6, 7, 89, 90, 0, 0, 34, 35, 36, 37, 38, 0, 40, 70, 42,
				43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 65, 0, 34, 35, 36, 37, 60, 96, 40, 0, 0, 71, 3, 71, 71, 69,
				6, 0, 9, 86, 87, 113, 54, 86, 87, 0, 1, 2, 0, 61, 0, 3, 54, 65, 66, 67, 68, 68, 70, 22, 23, 24, 25, 26,
				27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 86, 87, 71, 89, 90, 91, 92, 93, 94, 95, 96, 86, 87, 99, 100, 101,
				61, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 72, 57, 0, 54, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
				10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 0, 34, 35, 36, 37, 38,
				0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13,
				14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 113, 0, 57, 4, 0, 57, 0, 0, 57, 65, 34, 35, 36, 37, 38, 54, 40,
				54, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 89, 90, 4, 4, 0, 0, 9, 118, 3, 66, 67, 0,
				1, 2, 3, 4, 5, 6, 7, 8, 54, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 3, 3, 3, 71, 0, 0,
				9, 70, 70, 34, 35, 36, 37, 38, 10, 40, 54, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 95, 0, 3,
				72, 3, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 41, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 61, 54, 0, 57,
				65, 3, 0, 68, 0, 0, 0, 72, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53,
				0, 0, 0, 3, 0, 3, 0, 61, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
				54, 54, 54, 0, 0, 0, 3, 0, 0, 1, 2, 65, 34, 35, 36, 37, 38, 0, 40, 75, 42, 43, 44, 45, 46, 47, 48, 49,
				50, 51, 52, 53, 61, 0, 60, 89, 90, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 61, 10, 11, 12, 13, 14, 15, 16, 17,
				18, 19, 20, 21, 54, 0, 0, 0, 57, 0, 1, 2, 0, 0, 54, 65, 34, 35, 36, 37, 38, 41, 40, 0, 42, 43, 44, 45,
				46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 89, 90, 4, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13,
				14, 15, 16, 17, 18, 19, 20, 21, 0, 57, 54, 3, 0, 0, 0, 0, 0, 3, 0, 0, 34, 35, 36, 37, 38, 10, 40, 0, 42,
				43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 0, 0, 36, 37, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 41, 10,
				11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 61, 54, 0, 57, 54, 0, 0, 0, 0, 0, 113, 0, 34, 35, 36, 37,
				38, 0, 40, 0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12,
				13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 117, 0, 119, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 0, 40,
				0, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15,
				16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44,
				45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18,
				19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 35, 36, 37, 38, 0, 40, 0, 42, 43, 44, 45, 46, 47,
				48, 49, 50, 51, 52, 53, 0, 1, 2, 0, 4, 0, 0, 0, 0, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
				22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
				0, 4, 0, 55, 56, 0, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
				30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 55, 56, 0, 58, 10, 11,
				12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0,
				0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 55, 56, 0, 58, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
				20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0, 0, 0, 0, 41, 0, 1, 2, 3, 4, 5, 6, 7,
				8, 9, 0, 0, 0, 55, 56, 0, 58, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 0, 0,
				0, 39, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 54, 0, 0, 0, 0, 0, 0, 61, 0, 1, 2, 3, 4, 5,
				6, 7, 8, 9, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0,
				0, 0, 0, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 0, 7, 0, 0, 61, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 72, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32,
				33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 0, 0, 0, 65, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
	};

	public final static byte termCheck[] = TermCheck.termCheck;

	@Override
	public final int termCheck(int index) {
		return termCheck[index];
	}

	public interface TermAction {
		public final static char termAction[] = { 0, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6860, 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, 6842, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 885, 1, 1979, 1, 39, 762, 7122, 637, 6952, 1, 1, 333, 6925, 333,
				6928, 6929, 6921, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 10, 6863, 6863,
				6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863,
				6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863,
				6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863,
				6914, 6863, 6863, 2182, 6863, 6863, 6863, 6914, 6863, 6863, 6863, 1375, 6863, 6863, 1, 6863, 6914, 6602,
				6599, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 6863, 8, 6875, 6875, 6875,
				6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875,
				6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875,
				6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 394,
				6875, 6875, 432, 6875, 6875, 6875, 425, 6875, 6875, 6875, 6914, 6875, 6875, 6132, 6875, 6914, 6928,
				6929, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6875, 6914, 6838, 6478,
				6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 884, 1, 1979, 1,
				151, 762, 7122, 637, 7307, 1, 1, 3725, 6925, 6914, 10517, 10485, 1, 1859, 3550, 3026, 3093, 2992, 3500,
				4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 3808, 1, 1979, 1, 1649, 762, 7122, 637, 153, 1, 1, 432, 6925, 48, 6602,
				6599, 35, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478,
				6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 131, 1, 1, 1662, 1, 1979, 1, 3776,
				762, 7122, 637, 149, 1, 1, 367, 6925, 434, 6928, 6929, 3636, 1859, 3550, 3026, 3093, 2992, 3500, 4744,
				3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 421, 1, 1, 6914, 1, 1979, 1, 1443, 762, 7122, 637, 133, 1, 1, 6914, 6925, 347, 3918,
				3851, 890, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478,
				6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1150, 1, 1, 154, 1, 1979, 1,
				337, 762, 7122, 637, 6914, 1, 1, 6914, 6925, 1735, 7250, 1423, 3690, 1859, 3550, 3026, 3093, 2992, 3500,
				4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 91, 1, 1, 6823, 1, 1979, 1, 6914, 762, 7122, 637, 3636, 1, 1, 6914, 6925, 6914,
				10517, 10485, 2196, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838,
				6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1979, 1,
				157, 762, 7122, 637, 1, 1, 1, 5884, 6925, 327, 6928, 6929, 328, 1859, 3550, 3026, 3093, 2992, 3500,
				4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 152, 1, 1, 3036, 1, 1979, 1, 3725, 762, 7122, 637, 7309, 1, 1, 3887, 6925, 141,
				3446, 121, 406, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478,
				6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6914, 1, 1, 1348, 1, 1979, 1,
				6914, 762, 7122, 637, 129, 1, 1, 6914, 6925, 4423, 4490, 4423, 4490, 1859, 3550, 3026, 3093, 2992, 3500,
				4744, 3540, 650, 3538, 4148, 3505, 6914, 6838, 6478, 6478, 6478, 6478, 6478, 6478, 6478, 6845, 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, 6842, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 271, 1, 1, 6851, 1, 1979, 1, 6914, 762, 7122, 637, 6914, 1, 1, 4751, 6925, 6914,
				3958, 1264, 6287, 1859, 3550, 3026, 3093, 2992, 3500, 4744, 3540, 650, 3538, 4148, 3505, 39, 6484, 6481,
				6073, 907, 5600, 5531, 5623, 1588, 6474, 1971, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218,
				7221, 7212, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 5577, 5554, 5669,
				5646, 6933, 111, 5508, 7349, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932,
				354, 603, 7350, 6629, 7351, 424, 1488, 6914, 6654, 6654, 263, 6650, 263, 263, 263, 263, 6658, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 323, 6513, 6513, 6914, 318, 263, 118, 1,
				6914, 6497, 6493, 1772, 6490, 6605, 811, 6605, 1588, 6914, 6596, 6914, 1445, 1, 1, 6647, 1, 2119, 6918,
				137, 1929, 7363, 1, 6497, 6493, 6487, 6490, 5715, 6504, 263, 6501, 453, 4708, 4681, 5738, 6914, 257,
				345, 6497, 6493, 1772, 6490, 6605, 811, 6605, 1588, 7451, 7213, 7211, 7220, 7219, 7215, 7216, 7214,
				7217, 7218, 7221, 7212, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 126,
				2994, 7386, 7387, 7388, 6914, 6654, 6654, 263, 6650, 263, 263, 263, 263, 6730, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6914, 6484, 6481, 6914, 6952, 263, 3508, 1, 1, 6497,
				6493, 6487, 6490, 6914, 6504, 4272, 6501, 6924, 6917, 6914, 132, 1, 1, 6647, 1, 2119, 6805, 3776, 1929,
				7363, 1, 6497, 6493, 1772, 6490, 6914, 811, 263, 1588, 452, 6914, 481, 1, 1, 571, 1, 6632, 6923, 6632,
				6924, 4218, 4191, 6914, 6914, 7451, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212,
				7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6109, 6923, 7386, 7387, 7388,
				6914, 6478, 6478, 263, 6478, 263, 263, 263, 263, 6507, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 9636, 1, 1, 1, 1, 1, 1, 6180, 33, 6914, 3883, 6641, 263, 6641, 1, 6641, 6914, 6641, 6922, 367, 6484,
				6481, 1772, 907, 1, 811, 258, 1588, 1, 1, 6475, 1, 1590, 399, 39, 762, 7159, 637, 6952, 367, 6914, 367,
				6641, 6641, 6641, 6641, 253, 6641, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204,
				7182, 6914, 7451, 6641, 381, 39, 39, 4530, 6952, 367, 6641, 367, 155, 6914, 6641, 6914, 47, 6641, 1068,
				6641, 6641, 6641, 6641, 6921, 6926, 403, 6497, 6493, 4299, 6490, 1, 811, 1, 1588, 253, 6641, 6641, 399,
				6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641, 6641,
				6641, 6641, 6641, 6641, 6641, 6641, 6641, 399, 356, 6914, 1445, 6641, 6641, 6641, 6914, 1096, 433, 6826,
				1341, 6826, 424, 6826, 495, 6826, 6914, 6484, 6481, 485, 907, 6925, 6829, 1445, 1588, 6914, 37, 6929,
				6929, 6929, 6929, 6929, 1299, 6929, 6914, 6484, 6481, 6914, 6952, 665, 6826, 6826, 6826, 6826, 3545,
				6826, 6914, 6914, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6929, 6826, 1445,
				1427, 1442, 6914, 6484, 6481, 6826, 907, 6914, 6829, 6826, 1588, 2102, 6826, 6635, 6826, 6826, 6826,
				6826, 1, 6497, 6493, 1772, 6490, 139, 811, 6929, 1588, 345, 927, 6929, 6826, 6826, 6929, 6826, 6826,
				6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826, 6826,
				6826, 6826, 6826, 6826, 6826, 345, 6914, 2168, 491, 6826, 6826, 6826, 6914, 6478, 6478, 263, 6478, 263,
				263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 1, 6497,
				6493, 4299, 6490, 263, 811, 1, 1588, 6817, 482, 39, 39, 6914, 6952, 6808, 6617, 6808, 36, 6885, 6882, 1,
				1, 6475, 1, 1590, 3407, 4357, 762, 7159, 637, 39, 6484, 6481, 6279, 907, 5600, 5531, 5623, 1588, 6914,
				1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 159, 7451, 1, 6799, 6799, 6914,
				6848, 367, 1445, 367, 6914, 399, 5577, 5554, 5669, 5646, 6933, 477, 5508, 6820, 1863, 1998, 6935, 1930,
				5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 254, 6914, 6478, 6478, 263, 6478, 263, 263, 263,
				263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 6914, 6914, 2204,
				6620, 39, 263, 399, 1, 6952, 134, 39, 6914, 6484, 6481, 6952, 907, 150, 811, 6914, 1588, 1143, 1, 1,
				6475, 1, 1590, 2986, 6920, 762, 7159, 637, 399, 2767, 3344, 4151, 2138, 2072, 2006, 1940, 1874, 1808,
				1742, 1676, 1610, 1544, 381, 6484, 6481, 4299, 907, 367, 811, 367, 1588, 7451, 6914, 6478, 6478, 263,
				6478, 263, 263, 263, 263, 6721, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1,
				1, 135, 6919, 114, 372, 145, 263, 115, 1, 92, 1, 1, 5484, 1, 6872, 3690, 6872, 130, 1445, 259, 3918,
				3851, 1, 1, 6475, 1, 1590, 7287, 7288, 762, 7159, 637, 494, 37, 6644, 6644, 7386, 7387, 7388, 6644, 254,
				7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 344, 6914, 7451, 6914, 6478,
				6478, 263, 6478, 263, 263, 263, 263, 6721, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1,
				1, 1, 1, 1, 1, 2453, 4423, 4490, 6638, 5715, 263, 3600, 1, 95, 39, 39, 5738, 6952, 6899, 6914, 6899,
				5460, 4833, 260, 3958, 1264, 1, 1, 6475, 1, 1590, 6914, 6914, 762, 7159, 637, 1574, 6914, 6928, 6929,
				6914, 6928, 6929, 2406, 254, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 37,
				552, 7451, 6914, 6478, 6478, 263, 6478, 263, 263, 263, 263, 6721, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 6914, 6484, 6481, 7463, 907, 263, 811, 1, 1588, 38, 6614, 6611,
				5692, 1195, 1, 6608, 6914, 1588, 261, 139, 6950, 1, 1, 6475, 1, 1590, 6914, 6914, 762, 7159, 637, 6914,
				934, 431, 6510, 6510, 6914, 318, 465, 254, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203,
				7204, 7182, 728, 6914, 7451, 6914, 6478, 6478, 263, 6478, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 2740, 318, 6914, 6928, 6929, 263, 117, 1, 811,
				116, 1588, 5484, 3673, 7352, 5484, 3883, 218, 6914, 6914, 6914, 4759, 1, 1, 6475, 1, 1590, 6920, 6922,
				762, 7159, 637, 3407, 4357, 2693, 2646, 2599, 2552, 2505, 2458, 2411, 2364, 2317, 2270, 337, 1, 6497,
				6493, 1772, 6490, 6914, 811, 6914, 1588, 7250, 7451, 6914, 6478, 6478, 263, 6478, 263, 263, 263, 263,
				263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 6919, 3135, 6921, 6914,
				113, 263, 4894, 1, 156, 572, 112, 144, 6914, 892, 4423, 4490, 5460, 4833, 120, 5460, 4833, 1, 1, 6475,
				1, 1590, 2994, 7406, 762, 7159, 637, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204,
				7182, 1, 6497, 6493, 4299, 6490, 6911, 811, 6914, 1588, 4708, 4681, 7451, 6914, 6478, 6478, 263, 6478,
				263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9636, 1, 1, 1, 1, 1, 1, 384,
				6914, 6928, 6929, 6914, 263, 5715, 1, 4423, 4490, 6926, 6914, 5715, 5738, 3545, 1445, 6914, 6914, 1,
				5738, 486, 1, 1, 6475, 1, 1590, 6920, 6626, 762, 7159, 637, 1, 6497, 6493, 3297, 907, 5600, 5531, 5623,
				1588, 146, 6661, 6688, 6694, 6667, 6670, 6682, 6679, 6685, 6676, 6673, 6664, 6691, 442, 7451, 1, 6914,
				6602, 6599, 6914, 1, 1445, 6724, 4530, 194, 5577, 5554, 5669, 5646, 6933, 6925, 5508, 148, 1863, 1998,
				6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 5973, 476, 6925, 2061, 6919, 6914, 1488,
				6727, 6320, 4116, 6914, 553, 39, 39, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6896, 1860,
				7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 1445, 5692, 1195, 7392, 577, 4116,
				194, 577, 4089, 1115, 6914, 6914, 5577, 5554, 5669, 5646, 6933, 398, 5508, 6924, 1863, 1998, 6935, 1930,
				5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 142, 37, 6644, 6644, 1, 1488, 367, 4089, 1115,
				326, 1197, 1197, 320, 6802, 6712, 119, 6923, 6914, 6921, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623,
				1588, 6709, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 37, 6644, 6644, 404,
				744, 7386, 7387, 7388, 4708, 4681, 326, 3372, 5577, 5554, 5669, 5646, 6933, 6950, 5508, 125, 1863, 1998,
				6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 6700, 6697, 6914, 6921, 545, 1488,
				7233, 6914, 383, 543, 190, 2974, 4423, 4490, 6712, 174, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588,
				6950, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 1, 1, 1, 1395, 6914, 457,
				158, 6914, 10052, 6924, 224, 591, 5577, 5554, 5669, 5646, 6933, 29, 5508, 6950, 1863, 1998, 6935, 1930,
				5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 1445, 29, 8, 4423, 4490, 5874, 1488, 6923, 224, 2787,
				5883, 6905, 39, 39, 1, 6497, 6493, 3297, 907, 5600, 5531, 5623, 1588, 147, 6661, 6688, 6694, 6667, 6670,
				6682, 6679, 6685, 6676, 6673, 6664, 6691, 1, 3587, 6914, 6623, 3588, 6914, 591, 3192, 411, 196, 3592,
				138, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 1427, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934,
				1857, 6930, 6931, 6932, 6914, 124, 3446, 6914, 461, 123, 1488, 6905, 6914, 4116, 6914, 6914, 39, 39, 39,
				6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6709, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214,
				7217, 7218, 7221, 7212, 1, 463, 3589, 2077, 196, 7414, 7420, 7418, 4089, 1115, 6914, 122, 5577, 5554,
				5669, 5646, 6933, 6914, 5508, 1662, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931,
				6932, 3591, 6914, 7412, 7413, 7443, 7444, 1488, 3508, 7421, 1, 6914, 2834, 4530, 4861, 4923, 6712, 2406,
				573, 6817, 4423, 4490, 3592, 7423, 4423, 4490, 43, 6706, 6706, 6914, 625, 6914, 4358, 2349, 7424, 1385,
				1425, 7445, 3481, 7422, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 584,
				6914, 6914, 7434, 7433, 2900, 7439, 7440, 7446, 7437, 7438, 7417, 7419, 7441, 4423, 4490, 7415, 7416,
				7442, 1445, 7427, 7428, 7429, 7425, 7426, 7435, 7436, 7431, 7430, 7432, 6820, 6703, 6914, 1427, 7447,
				39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6918, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214,
				7217, 7218, 7221, 7212, 6914, 45, 6835, 6835, 6914, 10808, 10808, 6914, 11354, 9100, 6914, 6914, 5577,
				5554, 5669, 5646, 6933, 6914, 5508, 432, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930,
				6931, 6932, 1, 6497, 6493, 6796, 6490, 6745, 6757, 6748, 6501, 6914, 6661, 6688, 6694, 6667, 6670, 6682,
				6679, 6685, 6676, 6673, 6664, 6691, 4116, 48, 1, 6914, 6832, 6929, 136, 6950, 6914, 547, 6950, 4324,
				6742, 6739, 6754, 6751, 6769, 1143, 6736, 1427, 6784, 6793, 6763, 6787, 6733, 6790, 6760, 6766, 6781,
				6778, 6775, 6772, 1, 48, 6914, 4089, 1115, 6928, 1734, 6914, 6914, 6920, 6917, 4369, 6799, 6799, 39,
				6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6929, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214,
				7217, 7218, 7221, 7212, 1, 6914, 6914, 4530, 4533, 4558, 4985, 1, 6914, 377, 2947, 2037, 5577, 5554,
				5669, 5646, 6933, 6715, 5508, 6928, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931,
				6932, 6914, 3600, 6914, 4361, 6919, 4056, 1488, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6718,
				1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 1445, 1786, 6914, 3220, 377,
				4757, 227, 377, 128, 6914, 6914, 377, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 6914, 1863, 1998, 6935,
				1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 100, 103, 4738, 595, 5116, 6914, 2394, 39,
				6484, 6481, 3297, 907, 5600, 5531, 5623, 1588, 99, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217,
				7218, 7221, 7212, 4272, 1918, 1984, 6914, 6914, 6914, 6256, 127, 37, 6644, 6644, 6866, 5577, 5554, 5669,
				5646, 6933, 6914, 5508, 6879, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932,
				4620, 6914, 3679, 4218, 4191, 6914, 1488, 39, 6484, 6481, 3297, 907, 5600, 5531, 5623, 1588, 3234, 1860,
				7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 4272, 6914, 6914, 6914, 2500, 6914,
				6892, 6888, 6914, 6914, 4887, 6869, 5577, 5554, 5669, 5646, 6933, 1712, 5508, 583, 1863, 1998, 6935,
				1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 6914, 6914, 4218, 4191, 1747, 1488, 39,
				6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214,
				7217, 7218, 7221, 7212, 75, 6950, 2885, 3374, 6914, 6914, 313, 1, 73, 6908, 6914, 2, 5577, 5554, 5669,
				5646, 6933, 6715, 5508, 6914, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932,
				6914, 6914, 6914, 6914, 6976, 6977, 1488, 39, 6484, 6481, 6073, 907, 5600, 5531, 5623, 1588, 6718, 1860,
				7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 4149, 6902, 6914, 3220, 37, 6914,
				6914, 6914, 6914, 6914, 3592, 6914, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 6914, 1863, 1998, 6935,
				1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 39, 6484, 6481, 3297, 907, 5600, 5531, 5623, 1588,
				6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 6914, 6914, 871, 6914,
				1047, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 5577, 5554, 5669, 5646, 6933, 6914, 5508, 6914, 1863,
				1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 39, 6484, 6481, 3297, 907, 5600, 5531,
				5623, 1588, 6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 5577, 5554, 5669, 5646, 6933, 6914, 5508,
				6914, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 39, 6484, 6481, 6073, 907,
				5600, 5531, 5623, 1588, 6914, 1860, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 5577, 5554, 5669, 5646, 6933,
				6914, 5508, 6914, 1863, 1998, 6935, 1930, 5829, 1996, 6936, 6934, 1857, 6930, 6931, 6932, 6914, 6484,
				6481, 6914, 6952, 6914, 6914, 6914, 6914, 6914, 641, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217,
				7218, 7221, 7212, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 7349, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 275, 6589, 6585, 6914,
				6593, 6914, 603, 7350, 6914, 7351, 641, 6576, 6582, 6555, 6558, 6570, 6567, 6573, 6564, 6561, 6552,
				6579, 6531, 6525, 6522, 6549, 6528, 6540, 6519, 6534, 6537, 6546, 6543, 6516, 6914, 6914, 6914, 6914,
				6914, 6914, 6914, 7349, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6928, 6929, 6914, 6914, 6914,
				603, 7350, 6914, 7351, 1796, 7213, 7211, 7220, 7219, 7215, 7216, 7214, 7217, 7218, 7221, 7212, 7208,
				7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914, 6914, 6914, 6914, 6914,
				6914, 7349, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 275, 6814, 6811, 6914, 6914, 6914, 603, 7350,
				6914, 7351, 1796, 6576, 6582, 6555, 6558, 6570, 6567, 6573, 6564, 6561, 6552, 6579, 6531, 6525, 6522,
				6549, 6528, 6540, 6519, 6534, 6537, 6546, 6543, 6516, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 7349,
				29, 424, 424, 6857, 424, 6857, 424, 6857, 424, 6857, 6914, 6914, 6914, 603, 7350, 6914, 7351, 6914, 574,
				6914, 6914, 6914, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 6914, 6914, 6914, 6914,
				6914, 6857, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914, 6623,
				6914, 6914, 6914, 6914, 6914, 6914, 6857, 32, 425, 425, 6854, 425, 6854, 425, 6854, 425, 6854, 6857,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 425, 425, 425, 425, 425, 425, 425,
				425, 425, 425, 425, 425, 6914, 6914, 6914, 6914, 6914, 6854, 6914, 6914, 6914, 6914, 6914, 6914, 6914,
				6914, 6914, 6914, 6914, 37, 6928, 6928, 6928, 6928, 6928, 6914, 6928, 6914, 6914, 6854, 6914, 575, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6854, 6928, 6928, 6928, 6928, 6928, 6928, 6928, 6928, 6928,
				6928, 6928, 6928, 7208, 7287, 7288, 7202, 7209, 7205, 7181, 7207, 7206, 7203, 7204, 7182, 6914, 6914,
				6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6914, 6928, 6914, 6914, 6914,
				6928, 6914, 6914, 6928 };
	};

	public final static char termAction[] = TermAction.termAction;

	@Override
	public final int termAction(int index) {
		return termAction[index];
	}

	public interface Asb {
		public final static char asb[] = { 0, 946, 7, 1159, 258, 563, 419, 53, 1074, 61, 66, 1120, 519, 330, 61, 997,
				1008, 68, 1008, 63, 1008, 1, 1008, 992, 1008, 519, 520, 115, 419, 514, 158, 678, 678, 523, 520, 678,
				520, 258, 751, 1072, 9, 68, 68, 273, 520, 331, 112, 165, 65, 987, 66, 519, 277, 520, 520, 51, 212, 432,
				432, 270, 260, 260, 517, 267, 269, 514, 520, 427, 112, 277, 277, 675, 376, 112, 678, 678, 751, 678, 520,
				49, 861, 181, 1122, 1122, 1121, 1121, 68, 519, 520, 331, 270, 165, 520, 432, 595, 430, 51, 68, 633, 520,
				277, 51, 520, 1113, 432, 68, 519, 336, 514, 520, 481, 121, 514, 1113, 673, 671, 277, 277, 517, 376, 376,
				331, 861, 181, 1121, 1121, 1121, 520, 270, 270, 724, 520, 165, 853, 66, 751, 329, 843, 165, 432, 431,
				432, 432, 51, 633, 633, 520, 1072, 564, 250, 258, 751, 751, 751, 751, 519, 258, 160, 482, 482, 482, 482,
				482, 482, 482, 482, 482, 680, 686, 691, 688, 465, 1049, 1047, 1054, 1052, 1056, 1055, 1057, 379, 1058,
				1071, 520, 212, 520, 68, 445, 639, 520, 258, 376, 465, 693, 698, 695, 701, 700, 703, 702, 718, 428, 112,
				481, 724, 68, 704, 428, 671, 1072, 1072, 675, 112, 656, 827, 838, 1071, 751, 55, 55, 724, 724, 1121,
				520, 49, 845, 432, 432, 432, 432, 520, 633, 723, 727, 723, 600, 611, 611, 611, 611, 557, 519, 517, 857,
				835, 834, 465, 563, 563, 563, 563, 520, 71, 904, 562, 49, 465, 680, 48, 48, 71, 481, 482, 482, 482, 482,
				482, 482, 482, 112, 112, 248, 465, 732, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 482, 481, 481,
				481, 481, 481, 481, 481, 481, 481, 481, 481, 481, 482, 465, 1113, 643, 446, 519, 520, 71, 482, 482, 482,
				482, 482, 482, 482, 482, 482, 482, 481, 482, 737, 724, 121, 481, 481, 481, 481, 481, 481, 481, 481, 481,
				481, 481, 671, 671, 645, 481, 836, 836, 855, 517, 753, 181, 1122, 181, 1070, 1070, 724, 270, 331, 269,
				482, 853, 268, 744, 432, 432, 896, 723, 724, 482, 520, 520, 248, 112, 859, 861, 112, 112, 1072, 1072,
				1072, 1072, 51, 112, 376, 562, 481, 112, 330, 332, 330, 112, 376, 688, 688, 686, 686, 686, 482, 786,
				1014, 1014, 519, 160, 482, 1047, 1047, 1047, 691, 691, 1052, 1049, 1049, 1055, 1054, 1056, 853, 1057,
				643, 445, 853, 482, 853, 270, 444, 258, 258, 258, 446, 258, 520, 386, 270, 270, 520, 68, 112, 695, 695,
				693, 693, 693, 693, 700, 698, 702, 701, 853, 703, 481, 121, 671, 670, 645, 481, 481, 859, 827, 181, 563,
				563, 270, 845, 482, 482, 639, 209, 897, 520, 724, 51, 112, 861, 258, 258, 258, 258, 520, 520, 482, 563,
				684, 214, 112, 520, 332, 49, 520, 49, 822, 481, 436, 258, 436, 446, 853, 446, 465, 465, 463, 444, 465,
				270, 270, 668, 443, 481, 723, 671, 647, 1071, 896, 520, 519, 519, 520, 520, 660, 112, 481, 481, 481,
				481, 258, 258, 112, 684, 517, 212, 520, 331, 51, 331, 753, 446, 112, 514, 112, 463, 419, 258, 112, 643,
				722, 120, 647, 593, 520, 520, 520, 660, 660, 112, 112, 112, 112, 71, 71, 684, 685, 684, 481, 214, 334,
				680, 212, 520, 112, 112, 810, 446, 668, 446, 270, 419, 481, 446, 443, 722, 722, 258, 55, 520, 520, 652,
				660, 112, 112, 684, 71, 482, 376, 334, 797, 68, 68, 936, 481, 444, 71, 270, 112, 862, 1070, 652, 652,
				685, 112, 376, 446, 112, 270, 839, 330, 652, 446, 563 };
	};

	public final static char asb[] = Asb.asb;

	@Override
	public final int asb(int index) {
		return asb[index];
	}

	public interface Asr {
		public final static byte asr[] = { 0, 4, 9, 69, 1, 2, 0, 120, 0, 64, 25, 11, 12, 41, 23, 13, 55, 26, 88, 27, 14,
				28, 29, 15, 16, 30, 59, 31, 17, 18, 32, 56, 33, 10, 58, 19, 62, 22, 20, 24, 21, 3, 7, 5, 39, 63, 69, 9,
				4, 8, 6, 1, 2, 57, 0, 65, 70, 68, 1, 2, 0, 38, 0, 57, 4, 71, 1, 2, 69, 9, 0, 11, 12, 42, 66, 13, 43, 44,
				14, 15, 16, 67, 8, 45, 17, 18, 46, 47, 48, 60, 49, 50, 10, 19, 20, 21, 51, 52, 53, 38, 1, 2, 3, 36, 37,
				7, 5, 34, 35, 6, 40, 4, 72, 9, 0, 9, 71, 69, 74, 0, 73, 60, 36, 37, 7, 5, 34, 35, 40, 46, 3, 4, 51, 52,
				53, 38, 49, 44, 48, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 43, 47, 45, 42, 50, 69, 9, 8, 6, 1,
				2, 67, 66, 0, 88, 59, 8, 114, 115, 116, 62, 9, 3, 7, 5, 6, 71, 73, 39, 63, 25, 11, 12, 41, 23, 13, 55,
				26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 57, 33, 10, 58, 19, 20, 24, 21, 1, 2, 22, 4, 0, 98,
				91, 34, 35, 99, 100, 86, 87, 54, 89, 90, 92, 93, 94, 95, 96, 101, 102, 71, 97, 70, 103, 104, 105, 106,
				107, 108, 109, 110, 111, 112, 118, 73, 39, 9, 72, 65, 68, 1, 2, 7, 5, 4, 61, 3, 0, 74, 65, 71, 97, 72,
				69, 61, 3, 70, 68, 39, 9, 0, 9, 69, 70, 0, 25, 11, 12, 41, 23, 42, 66, 13, 43, 55, 26, 27, 44, 14, 28,
				29, 15, 16, 30, 67, 31, 45, 17, 18, 46, 32, 47, 56, 48, 60, 49, 33, 50, 58, 19, 22, 20, 24, 21, 51, 52,
				53, 38, 3, 36, 37, 7, 5, 34, 35, 40, 65, 10, 4, 8, 1, 2, 6, 0, 66, 67, 3, 10, 43, 47, 45, 42, 50, 12,
				21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 51, 52, 53, 38, 49, 44, 48, 6, 8, 4, 36, 37, 7, 5, 34, 35, 40,
				46, 1, 2, 118, 9, 0, 65, 71, 97, 68, 118, 72, 73, 11, 12, 42, 66, 13, 43, 44, 14, 15, 16, 67, 45, 17,
				18, 46, 47, 48, 60, 49, 50, 10, 19, 20, 21, 51, 52, 53, 38, 36, 37, 34, 35, 40, 9, 39, 6, 8, 1, 2, 4, 3,
				7, 5, 0, 4, 54, 9, 71, 69, 0, 88, 114, 115, 116, 57, 71, 120, 113, 121, 73, 63, 74, 62, 59, 64, 76, 78,
				84, 82, 75, 80, 81, 83, 85, 69, 77, 79, 39, 9, 23, 41, 55, 26, 27, 28, 29, 30, 25, 31, 32, 56, 33, 58,
				22, 24, 60, 66, 67, 10, 43, 47, 45, 42, 50, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 51, 52, 53, 38,
				49, 44, 48, 36, 37, 34, 35, 40, 46, 6, 8, 3, 7, 5, 4, 1, 2, 0, 67, 66, 34, 35, 99, 100, 94, 95, 6, 40,
				70, 54, 106, 107, 103, 104, 105, 111, 110, 112, 87, 86, 108, 109, 92, 93, 89, 90, 96, 101, 36, 37, 91,
				117, 61, 7, 5, 65, 68, 3, 4, 10, 1, 2, 55, 56, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31,
				32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 41, 0, 4, 9, 71, 69, 0, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13,
				20, 1, 2, 61, 3, 7, 5, 65, 4, 68, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 0, 1, 2, 9, 68, 73, 0,
				9, 69, 68, 0, 113, 0, 23, 24, 74, 3, 71, 39, 69, 60, 65, 70, 68, 9, 72, 97, 0, 23, 60, 24, 9, 65, 97,
				68, 72, 70, 0, 60, 23, 24, 8, 6, 1, 2, 4, 74, 69, 119, 117, 36, 37, 61, 3, 98, 91, 5, 99, 100, 34, 35,
				87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 65, 97, 72, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111,
				112, 71, 118, 101, 102, 39, 68, 73, 9, 0, 9, 68, 73, 70, 0, 54, 65, 89, 90, 0, 9, 71, 118, 72, 39, 68,
				0, 71, 9, 61, 3, 70, 68, 39, 54, 0, 25, 11, 12, 41, 23, 13, 55, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17,
				18, 32, 56, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 97, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
				25, 23, 26, 27, 28, 29, 30, 31, 32, 33, 22, 24, 39, 9, 72, 8, 1, 2, 61, 3, 7, 5, 6, 4, 0, 72, 9, 87, 86,
				0, 7, 5, 8, 6, 4, 1, 2, 3, 61, 65, 70, 97, 72, 9, 68, 0, 39, 9, 3, 8, 6, 7, 5, 4, 1, 2, 71, 0, 6, 8, 3,
				61, 5, 7, 97, 25, 11, 12, 41, 23, 13, 55, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 10,
				58, 19, 22, 20, 24, 21, 1, 2, 4, 72, 9, 0, 22, 1, 2, 4, 114, 115, 116, 0, 66, 67, 36, 37, 34, 35, 40,
				46, 51, 52, 53, 38, 49, 44, 48, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 43, 47, 45, 42, 50, 7,
				5, 3, 61, 8, 6, 4, 1, 2, 0, 9, 3, 7, 5, 6, 8, 39, 25, 11, 12, 41, 23, 13, 55, 26, 14, 28, 29, 15, 16,
				30, 31, 17, 18, 32, 56, 33, 10, 58, 19, 22, 20, 24, 21, 120, 63, 59, 27, 88, 64, 62, 57, 1, 2, 4, 0, 10,
				55, 41, 56, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, 97, 118, 73, 69, 8, 31, 32, 33, 22,
				24, 1, 2, 30, 29, 28, 27, 26, 6, 4, 23, 25, 119, 98, 117, 91, 36, 37, 34, 35, 99, 100, 9, 61, 3, 5, 72,
				39, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111,
				112, 70, 68, 65, 0, 41, 23, 13, 55, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 10, 58, 19, 22,
				20, 24, 21, 12, 11, 25, 9, 3, 7, 39, 62, 59, 64, 88, 27, 63, 54, 4, 8, 5, 6, 1, 2, 57, 0, 120, 73, 41,
				23, 13, 55, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 56, 33, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9,
				3, 7, 5, 39, 63, 27, 88, 64, 62, 57, 8, 1, 2, 6, 4, 10, 59, 0 };
	};

	public final static byte asr[] = Asr.asr;

	@Override
	public final int asr(int index) {
		return asr[index];
	}

	public interface Nasb {
		public final static char nasb[] = { 0, 270, 12, 41, 12, 5, 166, 12, 284, 12, 117, 284, 80, 80, 12, 281, 282,
				221, 282, 49, 282, 13, 282, 275, 12, 10, 173, 188, 156, 183, 240, 12, 12, 113, 267, 12, 173, 12, 12, 12,
				220, 221, 118, 12, 227, 227, 97, 188, 43, 80, 70, 80, 188, 173, 11, 12, 12, 188, 68, 178, 85, 85, 161,
				16, 12, 236, 173, 12, 97, 188, 188, 34, 104, 97, 12, 12, 12, 12, 11, 22, 188, 188, 284, 284, 188, 188,
				221, 80, 135, 240, 178, 297, 44, 91, 91, 12, 227, 221, 188, 227, 24, 123, 44, 93, 68, 120, 64, 99, 236,
				173, 61, 74, 183, 131, 163, 163, 24, 24, 161, 104, 104, 240, 208, 208, 270, 270, 188, 227, 178, 178,
				109, 173, 178, 12, 134, 12, 41, 165, 297, 91, 91, 188, 188, 123, 188, 268, 11, 12, 253, 212, 12, 12, 12,
				12, 12, 80, 12, 173, 76, 76, 263, 76, 76, 76, 76, 76, 76, 12, 12, 12, 12, 143, 12, 12, 12, 12, 12, 12,
				12, 76, 12, 12, 44, 12, 11, 120, 108, 12, 227, 12, 104, 148, 12, 12, 12, 12, 12, 12, 12, 12, 163, 97,
				76, 188, 221, 12, 12, 188, 12, 12, 192, 97, 12, 181, 12, 12, 12, 32, 32, 109, 109, 270, 135, 22, 156,
				188, 188, 39, 39, 44, 268, 37, 12, 12, 281, 282, 282, 282, 282, 289, 10, 161, 211, 85, 85, 148, 305,
				305, 305, 305, 173, 58, 76, 89, 22, 148, 12, 52, 52, 58, 149, 76, 76, 76, 76, 76, 76, 76, 97, 97, 212,
				1, 12, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 149, 76,
				24, 93, 188, 199, 64, 11, 58, 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, 149, 76, 12, 109, 188, 76, 76, 76,
				76, 76, 76, 76, 76, 76, 76, 76, 163, 141, 188, 76, 12, 12, 180, 161, 208, 208, 284, 188, 12, 12, 109,
				178, 240, 178, 76, 12, 137, 12, 39, 39, 230, 37, 109, 76, 268, 173, 190, 97, 205, 188, 97, 97, 12, 12,
				12, 12, 21, 97, 104, 305, 61, 97, 239, 173, 239, 97, 104, 12, 12, 12, 12, 12, 76, 12, 12, 12, 10, 173,
				76, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 47, 216, 12, 76, 12, 178, 12, 12, 12, 12, 217,
				12, 268, 176, 178, 178, 268, 126, 97, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 76, 74, 188, 141,
				141, 76, 76, 205, 234, 208, 305, 305, 178, 183, 76, 76, 12, 80, 139, 227, 109, 123, 97, 208, 12, 12, 12,
				12, 44, 11, 76, 305, 188, 82, 97, 173, 260, 22, 173, 22, 97, 76, 111, 12, 12, 217, 12, 217, 223, 223,
				244, 12, 223, 178, 178, 12, 188, 76, 109, 141, 188, 12, 152, 227, 80, 80, 11, 44, 188, 97, 149, 149,
				149, 149, 12, 12, 97, 18, 192, 12, 267, 44, 20, 44, 305, 217, 97, 183, 97, 249, 188, 12, 97, 47, 106,
				73, 87, 12, 11, 227, 227, 141, 188, 97, 97, 97, 97, 58, 58, 188, 129, 12, 149, 192, 261, 12, 12, 44, 97,
				97, 188, 217, 12, 217, 178, 183, 149, 217, 111, 106, 12, 12, 32, 11, 11, 188, 141, 97, 97, 18, 58, 76,
				104, 261, 12, 126, 126, 181, 76, 12, 196, 178, 97, 304, 12, 87, 188, 129, 97, 104, 217, 97, 178, 97,
				239, 87, 217, 305 };
	};

	public final static char nasb[] = Nasb.nasb;

	@Override
	public final int nasb(int index) {
		return nasb[index];
	}

	public interface Nasr {
		public final static char nasr[] = { 0, 3, 13, 10, 9, 137, 136, 113, 135, 134, 4, 2, 0, 166, 200, 0, 201, 0, 161,
				0, 2, 154, 75, 0, 4, 10, 9, 2, 13, 129, 5, 0, 123, 0, 5, 212, 0, 167, 0, 125, 0, 170, 0, 44, 2, 3, 0,
				175, 0, 166, 205, 0, 4, 2, 9, 10, 157, 0, 5, 105, 0, 5, 28, 0, 186, 4, 185, 0, 173, 0, 42, 1, 0, 81,
				148, 42, 13, 2, 9, 10, 4, 0, 5, 194, 0, 80, 0, 144, 0, 192, 0, 124, 0, 75, 156, 155, 0, 30, 0, 13, 2, 9,
				10, 4, 94, 0, 176, 0, 5, 81, 0, 131, 0, 5, 52, 213, 0, 1, 140, 0, 42, 174, 0, 2, 75, 0, 42, 66, 0, 159,
				0, 75, 59, 0, 140, 119, 0, 208, 0, 210, 0, 51, 0, 13, 2, 9, 10, 4, 52, 5, 37, 0, 4, 115, 182, 0, 5, 10,
				9, 2, 78, 4, 98, 59, 0, 39, 4, 2, 9, 10, 5, 172, 0, 2, 44, 0, 5, 37, 39, 0, 30, 101, 100, 78, 4, 2, 9,
				10, 5, 0, 101, 100, 59, 4, 68, 0, 5, 195, 0, 5, 49, 42, 37, 196, 0, 59, 4, 98, 27, 5, 0, 30, 100, 101,
				5, 0, 81, 37, 49, 82, 5, 42, 0, 5, 52, 117, 0, 2, 67, 0, 4, 115, 209, 0, 101, 100, 59, 78, 68, 4, 10, 9,
				2, 0, 37, 5, 27, 198, 0, 52, 5, 197, 0, 137, 214, 136, 113, 135, 134, 0, 2, 132, 0, 4, 10, 9, 13, 3, 1,
				0, 118, 92, 49, 5, 0, 2, 4, 113, 110, 111, 112, 13, 69, 0, 5, 49, 92, 95, 0, 113, 69, 13, 110, 111, 112,
				190, 0, 5, 49, 92, 115, 47, 4, 0, 30, 5, 52, 0 };
	};

	public final static char nasr[] = Nasr.nasr;

	@Override
	public final int nasr(int index) {
		return nasr[index];
	}

	public interface TerminalIndex {
		public final static char terminalIndex[] = { 0, 113, 114, 2, 31, 10, 13, 9, 79, 115, 100, 48, 52, 60, 68, 74,
				75, 86, 87, 102, 105, 107, 104, 54, 106, 47, 64, 66, 70, 73, 76, 83, 89, 98, 11, 12, 7, 8, 112, 120, 14,
				53, 55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 19, 63, 91, 93, 101, 77, 95, 1, 103, 122, 46, 20,
				58, 78, 44, 121, 33, 30, 118, 119, 96, 108, 49, 50, 56, 57, 59, 69, 71, 72, 85, 92, 17, 18, 65, 21, 22,
				6, 23, 24, 25, 26, 27, 32, 4, 15, 16, 28, 29, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 51, 80, 81, 82, 5,
				117, 3, 123, 62, 116 };
	};

	public final static char terminalIndex[] = TerminalIndex.terminalIndex;

	@Override
	public final int terminalIndex(int index) {
		return terminalIndex[index];
	}

	public interface NonterminalIndex {
		public final static char nonterminalIndex[] = { 0, 129, 134, 135, 0, 0, 133, 0, 0, 236, 242, 132, 0, 142, 0,
				131, 0, 0, 141, 147, 0, 0, 148, 157, 158, 159, 160, 187, 150, 0, 125, 161, 140, 162, 163, 164, 165, 130,
				166, 127, 167, 0, 128, 137, 136, 169, 168, 184, 0, 0, 170, 194, 151, 171, 0, 0, 0, 0, 0, 0, 172, 173,
				174, 175, 0, 176, 179, 0, 154, 193, 0, 0, 0, 211, 0, 0, 144, 208, 212, 0, 213, 126, 178, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 182, 124, 185, 0, 0, 209, 215, 216, 217, 0, 219, 156, 0, 145, 0, 0, 214, 196, 197, 198,
				200, 226, 227, 0, 181, 186, 203, 0, 0, 218, 0, 0, 0, 0, 247, 0, 250, 0, 251, 146, 188, 189, 190, 191,
				195, 199, 202, 0, 205, 0, 206, 0, 221, 224, 0, 0, 0, 245, 0, 246, 0, 0, 138, 139, 143, 0, 0, 153, 155,
				0, 177, 0, 192, 0, 0, 0, 201, 0, 204, 210, 0, 222, 223, 0, 0, 228, 231, 0, 233, 235, 0, 239, 240, 241,
				244, 0, 0, 248, 0, 0, 149, 152, 0, 180, 0, 183, 0, 0, 207, 220, 225, 0, 0, 229, 230, 232, 234, 0, 237,
				238, 243, 249, 252, 253, 0, 0, 0, 0, 0, 0, 0, 0 };
	};

	public final static char nonterminalIndex[] = NonterminalIndex.nonterminalIndex;

	@Override
	public final int nonterminalIndex(int index) {
		return nonterminalIndex[index];
	}

	public interface ScopePrefix {
		public final static char scopePrefix[] = { 172, 324, 608, 627, 317, 332, 559, 575, 586, 597, 372, 280, 294, 311,
				344, 55, 305, 392, 430, 180, 616, 502, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157,
				286, 300, 530, 40, 157, 382, 20, 635, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 495, 524,
				551, 555, 645, 649, 653, 110, 7, 110, 410, 426, 439, 460, 479, 543, 129, 129, 245, 439, 566, 582, 593,
				604, 220, 513, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 492, 499, 169, 69, 668, 123, 355,
				414, 454, 486, 472, 69, 355, 401, 190, 117, 452, 657, 664, 657, 664, 78, 420, 150, 117, 117, 264 };
	};

	public final static char scopePrefix[] = ScopePrefix.scopePrefix;

	@Override
	public final int scopePrefix(int index) {
		return scopePrefix[index];
	}

	public interface ScopeSuffix {
		public final static char scopeSuffix[] = { 18, 148, 5, 5, 148, 148, 5, 5, 5, 5, 379, 148, 108, 148, 25, 61, 291,
				398, 436, 186, 80, 508, 25, 38, 38, 38, 72, 72, 108, 148, 213, 31, 31, 25, 5, 162, 291, 114, 535, 51,
				165, 387, 622, 640, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 5, 5, 257,
				666, 11, 114, 379, 379, 379, 464, 483, 535, 133, 138, 249, 443, 570, 570, 570, 570, 224, 517, 72, 72, 5,
				5, 241, 243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 528, 5, 126, 358, 417, 457, 489, 475, 547, 538, 404,
				193, 108, 108, 659, 659, 661, 661, 80, 422, 152, 215, 200, 266 };
	};

	public final static char scopeSuffix[] = ScopeSuffix.scopeSuffix;

	@Override
	public final int scopeSuffix(int index) {
		return scopeSuffix[index];
	}

	public interface ScopeLhs {
		public final static char scopeLhs[] = { 47, 112, 18, 18, 91, 112, 18, 18, 18, 18, 85, 97, 48, 91, 111, 89, 57,
				85, 84, 47, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 47, 111, 111, 138, 45, 147, 58, 48, 157, 151, 147,
				85, 18, 18, 151, 102, 72, 153, 88, 190, 185, 182, 178, 138, 199, 55, 66, 161, 19, 18, 18, 18, 18, 18,
				12, 131, 178, 85, 84, 84, 64, 41, 157, 114, 114, 68, 84, 18, 18, 18, 18, 102, 20, 186, 182, 201, 100,
				109, 74, 80, 73, 172, 93, 138, 86, 162, 161, 192, 157, 17, 178, 138, 117, 83, 22, 45, 157, 157, 85, 47,
				178, 79, 155, 44, 155, 44, 185, 117, 110, 47, 47, 72 };
	};

	public final static char scopeLhs[] = ScopeLhs.scopeLhs;

	@Override
	public final int scopeLhs(int index) {
		return scopeLhs[index];
	}

	public interface ScopeLa {
		public final static byte scopeLa[] = { 113, 73, 72, 72, 73, 73, 72, 72, 72, 72, 72, 73, 39, 73, 1, 65, 1, 72,
				121, 69, 3, 72, 1, 65, 65, 65, 1, 1, 39, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 65, 68, 39, 1, 1, 65, 72, 72,
				72, 113, 1, 72, 1, 39, 1, 39, 39, 73, 118, 72, 72, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1,
				1, 5, 72, 65, 65, 65, 65, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 39, 72, 118, 72, 6, 72, 1, 57,
				70, 71, 72, 65, 1, 57, 75, 74, 39, 39, 4, 4, 4, 4, 3, 1, 69, 1, 1, 3 };
	};

	public final static byte scopeLa[] = ScopeLa.scopeLa;

	@Override
	public final int scopeLa(int index) {
		return scopeLa[index];
	}

	public interface ScopeStateSet {
		public final static char scopeStateSet[] = { 342, 336, 245, 245, 365, 336, 245, 245, 245, 245, 353, 367, 342,
				365, 336, 365, 344, 353, 353, 342, 245, 245, 42, 175, 221, 221, 21, 21, 97, 336, 342, 336, 336, 338, 72,
				332, 344, 342, 37, 45, 332, 353, 245, 245, 45, 106, 156, 4, 353, 42, 49, 21, 97, 338, 35, 344, 52, 8,
				245, 245, 245, 245, 245, 245, 225, 16, 97, 353, 353, 353, 80, 305, 37, 336, 336, 115, 353, 245, 245,
				245, 245, 106, 245, 49, 21, 100, 106, 108, 156, 102, 156, 172, 161, 338, 353, 1, 8, 40, 37, 245, 97,
				338, 11, 353, 246, 72, 37, 37, 353, 342, 97, 24, 69, 131, 69, 131, 49, 11, 336, 342, 342, 156 };
	};

	public final static char scopeStateSet[] = ScopeStateSet.scopeStateSet;

	@Override
	public final int scopeStateSet(int index) {
		return scopeStateSet[index];
	}

	public interface ScopeRhs {
		public final static char scopeRhs[] = { 0, 338, 3, 60, 0, 125, 0, 337, 3, 113, 0, 125, 179, 0, 127, 188, 74, 0,
				223, 0, 197, 166, 126, 10, 0, 135, 0, 166, 126, 10, 0, 134, 0, 271, 127, 54, 124, 0, 20, 0, 309, 127,
				54, 57, 0, 20, 53, 0, 33, 131, 0, 20, 53, 0, 0, 309, 127, 54, 57, 214, 0, 20, 185, 0, 271, 127, 54, 132,
				0, 189, 126, 0, 140, 0, 227, 3, 308, 0, 308, 0, 2, 0, 125, 0, 271, 127, 54, 131, 0, 189, 126, 237, 0,
				189, 126, 22, 237, 0, 189, 126, 332, 22, 0, 128, 197, 166, 126, 0, 127, 0, 197, 166, 126, 0, 133, 127,
				0, 171, 0, 328, 127, 171, 0, 127, 171, 0, 229, 127, 0, 166, 327, 235, 0, 135, 0, 0, 0, 0, 134, 0, 0, 0,
				0, 326, 127, 164, 236, 0, 126, 0, 236, 0, 128, 0, 0, 126, 0, 325, 127, 164, 270, 0, 126, 0, 0, 44, 126,
				0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 294, 171, 0, 295, 127, 74, 294, 171, 0, 222, 0, 223, 0, 294,
				171, 0, 96, 0, 0, 222, 0, 223, 0, 210, 96, 0, 0, 222, 0, 223, 0, 295, 127, 294, 171, 0, 222, 0, 210, 0,
				0, 222, 0, 242, 127, 3, 0, 125, 0, 0, 0, 0, 0, 242, 127, 3, 222, 0, 231, 3, 0, 220, 127, 0, 215, 0, 145,
				0, 181, 166, 126, 0, 10, 0, 0, 0, 0, 226, 61, 0, 124, 0, 242, 127, 3, 195, 0, 195, 0, 2, 0, 0, 125, 0,
				0, 0, 0, 0, 215, 3, 0, 208, 0, 238, 127, 164, 38, 27, 0, 189, 126, 59, 62, 0, 203, 127, 0, 128, 189,
				126, 292, 62, 0, 189, 126, 292, 62, 0, 189, 126, 70, 123, 59, 0, 238, 127, 164, 262, 59, 0, 238, 127,
				164, 262, 241, 59, 0, 289, 290, 127, 164, 123, 322, 55, 0, 289, 290, 127, 164, 322, 55, 0, 189, 126,
				288, 55, 0, 197, 189, 126, 288, 235, 0, 189, 126, 288, 235, 0, 166, 126, 0, 93, 135, 0, 286, 127, 149,
				0, 286, 127, 171, 0, 159, 84, 0, 317, 161, 319, 320, 3, 81, 0, 125, 178, 0, 319, 320, 3, 81, 0, 127, 0,
				125, 178, 0, 159, 3, 75, 204, 80, 0, 125, 127, 0, 204, 80, 0, 108, 2, 130, 125, 127, 0, 239, 3, 75, 0,
				215, 174, 0, 33, 168, 0, 174, 0, 182, 33, 168, 0, 239, 3, 85, 0, 204, 152, 239, 3, 83, 0, 62, 178, 0,
				239, 3, 83, 0, 125, 178, 62, 178, 0, 318, 127, 164, 0, 159, 0, 226, 77, 0, 30, 178, 0, 159, 102, 185, 0,
				30, 176, 0, 148, 65, 167, 3, 0, 167, 3, 0, 20, 160, 125, 0, 159, 102, 162, 0, 30, 168, 0, 198, 3, 0,
				125, 148, 0, 227, 3, 0, 226, 61, 283, 0, 159, 61, 0, 198, 3, 314, 67, 126, 0, 125, 0, 0, 0, 0, 314, 67,
				126, 0, 2, 144, 125, 0, 0, 0, 0, 198, 3, 46, 0, 146, 0, 125, 57, 166, 126, 0, 31, 146, 0, 93, 135, 31,
				146, 0, 228, 189, 126, 0, 145, 31, 146, 0, 198, 3, 50, 0, 159, 3, 50, 0, 159, 3, 65, 198, 54, 42, 0,
				198, 54, 42, 0, 20, 2, 130, 125, 0, 159, 3, 65, 198, 54, 45, 0, 198, 54, 45, 0, 159, 3, 65, 198, 54, 47,
				0, 198, 54, 47, 0, 159, 3, 65, 198, 54, 43, 0, 198, 54, 43, 0, 227, 3, 125, 197, 166, 126, 10, 0, 125,
				197, 166, 126, 10, 0, 135, 2, 0, 125, 0, 227, 3, 124, 276, 166, 126, 10, 0, 276, 166, 126, 10, 0, 134,
				2, 0, 125, 0, 227, 3, 135, 0, 227, 3, 140, 0, 159, 61, 140, 0, 278, 0, 31, 0, 31, 138, 0, 165, 0, 133,
				0, 159, 3, 0 };
	};

	public final static char scopeRhs[] = ScopeRhs.scopeRhs;

	@Override
	public final int scopeRhs(int index) {
		return scopeRhs[index];
	}

	public interface ScopeState {
		public final static char scopeState[] = { 0, 2721, 1967, 0, 2438, 1974, 1194, 0, 1326, 640, 0, 4993, 6320, 6287,
				4751, 0, 2510, 1533, 1572, 802, 0, 3481, 4759, 0, 5371, 5309, 5211, 5109, 5047, 4985, 4923, 4861, 4744,
				4579, 4517, 4894, 0, 1047, 871, 0, 1195, 0, 6230, 5171, 0, 3477, 3883, 3385, 0, 2061, 927, 0, 5371,
				5309, 2123, 1991, 5211, 5109, 5047, 4985, 4923, 4861, 1859, 4744, 4579, 4517, 1665, 1595, 0, 1443, 1375,
				0, 3344, 3446, 3636, 3545, 3918, 3851, 3725, 3297, 2834, 934, 2204, 2138, 2072, 2006, 1940, 1874, 1808,
				1742, 1676, 1610, 1544, 841, 770, 677, 0, 6262, 6246, 0, 626, 0, 2944, 2862, 1848, 1189, 4805, 4316,
				4668, 4299, 3393, 4530, 3945, 3082, 0, 3327, 760, 4805, 5056, 4521, 4316, 3376, 3273, 3990, 1039, 3163,
				4469, 3831, 1473, 3752, 0, 6064, 6028, 5905, 5913, 5404, 5825, 5379, 5286, 5400, 5300, 5180, 5230, 4612,
				5076, 3771, 5014, 4956, 4952, 673, 765, 4869, 4752, 4550, 4027, 0, 4805, 4003, 4469, 3831, 652, 4668,
				5198, 1904, 744, 4299, 3990, 3945, 1574, 1772, 3752, 0, 4003, 652, 0, 2359, 2312, 2547, 6064, 6028,
				1390, 2500, 2453, 2406, 2260, 1259, 5905, 5913, 5217, 5404, 2192, 5825, 5379, 5286, 5400, 973, 5300,
				1840, 5180, 3089, 1437, 5230, 4612, 5076, 3771, 1341, 5014, 4956, 964, 3187, 4952, 2782, 673, 765, 4869,
				4752, 4550, 811, 4027, 5992, 4351, 2864, 2234, 1199, 907, 2037, 4668, 5198, 1904, 744, 4805, 2168, 2102,
				4299, 1047, 871, 3990, 3945, 4003, 1574, 4469, 3831, 1772, 3752, 652, 5829, 2834, 5784, 4324, 5761,
				3407, 3600, 3508, 3776, 3690, 4272, 4245, 4218, 4191, 3958, 1264, 934, 3344, 2204, 2138, 2072, 2006,
				1940, 1874, 1808, 1742, 1676, 1610, 1544, 3446, 3636, 3545, 3918, 3851, 3725, 4490, 4423, 4116, 4089,
				1115, 5484, 5460, 4833, 4708, 4681, 5738, 5715, 5692, 3297, 5669, 5646, 5623, 5600, 5577, 5554, 5531,
				5508, 841, 770, 677, 2947, 3234, 2900, 3192, 3135, 1395, 1348, 2787, 3093, 3036, 2994, 1299, 2740, 2693,
				2646, 2599, 2552, 2505, 2458, 2411, 2364, 2317, 2270, 598, 1217, 1488, 1445, 1068, 1000, 1150, 0, 6230,
				5171, 598, 5992, 4351, 0, 6262, 6246, 6180, 5961, 5885, 5873, 6168, 6109, 6086, 6027, 5807, 5371, 5309,
				5211, 5109, 5047, 4985, 4923, 4861, 4744, 4579, 4517, 0, 6262, 6246, 6180, 5961, 5885, 5873, 6168, 6109,
				6086, 6027, 5807, 0 };
	};

	public final static char scopeState[] = ScopeState.scopeState;

	@Override
	public final int scopeState(int index) {
		return scopeState[index];
	}

	public interface InSymb {
		public final static char inSymb[] = { 0, 0, 313, 62, 64, 127, 171, 214, 57, 27, 59, 240, 59, 292, 3, 255, 256,
				236, 257, 235, 258, 55, 287, 259, 124, 10, 126, 294, 127, 3, 4, 132, 131, 8, 6, 124, 126, 195, 57, 54,
				38, 262, 241, 123, 126, 126, 38, 164, 327, 288, 322, 288, 54, 126, 189, 166, 165, 74, 127, 286, 200,
				195, 127, 265, 293, 220, 126, 181, 215, 54, 54, 174, 61, 3, 66, 67, 124, 123, 189, 166, 3, 54, 65, 127,
				164, 164, 262, 70, 189, 189, 152, 127, 166, 245, 125, 124, 126, 123, 164, 126, 127, 166, 57, 4, 127,
				295, 71, 61, 220, 126, 3, 70, 68, 166, 7, 5, 127, 127, 127, 61, 61, 197, 127, 127, 127, 127, 164, 126,
				241, 128, 326, 126, 169, 237, 59, 57, 62, 171, 329, 125, 124, 246, 246, 189, 164, 127, 189, 271, 127,
				251, 50, 42, 45, 47, 43, 10, 135, 126, 46, 40, 6, 35, 34, 5, 7, 37, 36, 140, 145, 147, 146, 3, 167, 148,
				175, 172, 183, 182, 184, 60, 185, 274, 197, 278, 197, 295, 164, 307, 126, 308, 226, 3, 148, 155, 153,
				157, 156, 160, 158, 162, 166, 150, 127, 164, 270, 162, 181, 181, 271, 271, 220, 242, 243, 149, 244, 309,
				57, 10, 41, 238, 238, 127, 189, 166, 127, 246, 246, 127, 127, 197, 127, 290, 123, 291, 255, 256, 257,
				258, 336, 259, 10, 127, 3, 223, 222, 3, 54, 54, 54, 54, 126, 3, 66, 67, 166, 3, 125, 117, 119, 3, 61,
				91, 98, 35, 34, 100, 99, 5, 198, 159, 174, 127, 167, 90, 89, 54, 86, 87, 7, 93, 92, 95, 94, 96, 112,
				111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 68, 4, 296, 127, 68, 189, 3, 93, 92, 90, 89,
				65, 54, 94, 7, 96, 95, 102, 101, 285, 127, 164, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 5,
				127, 152, 70, 231, 215, 3, 127, 68, 68, 65, 54, 245, 245, 238, 241, 197, 328, 71, 303, 215, 124, 127,
				127, 71, 290, 289, 70, 68, 126, 220, 231, 127, 3, 198, 159, 198, 198, 198, 198, 166, 227, 61, 314, 3,
				198, 57, 126, 57, 227, 159, 146, 146, 145, 145, 145, 152, 135, 125, 124, 10, 126, 65, 148, 148, 148,
				147, 147, 172, 167, 167, 182, 175, 183, 159, 184, 127, 318, 79, 77, 1, 159, 9, 85, 83, 81, 80, 75, 82,
				84, 78, 76, 59, 74, 227, 153, 153, 148, 148, 148, 148, 156, 155, 158, 157, 159, 160, 68, 127, 181, 173,
				127, 70, 70, 127, 220, 127, 70, 70, 128, 68, 71, 70, 331, 237, 22, 126, 289, 166, 242, 127, 65, 65, 65,
				65, 197, 276, 216, 3, 315, 174, 150, 126, 189, 166, 126, 166, 148, 71, 297, 113, 9, 71, 226, 71, 3, 3,
				3, 204, 3, 123, 159, 123, 188, 71, 325, 127, 229, 309, 68, 126, 22, 332, 189, 197, 152, 242, 3, 3, 3, 3,
				125, 124, 198, 127, 127, 228, 6, 57, 166, 57, 3, 71, 239, 174, 239, 320, 149, 75, 239, 127, 203, 68,
				127, 65, 189, 126, 126, 127, 152, 159, 159, 159, 159, 3, 3, 152, 280, 283, 61, 190, 4, 123, 125, 197,
				97, 337, 174, 152, 215, 152, 319, 127, 3, 152, 297, 203, 9, 60, 41, 189, 189, 229, 127, 227, 227, 127,
				3, 61, 159, 4, 125, 152, 152, 127, 70, 204, 161, 286, 159, 3, 245, 127, 229, 280, 227, 226, 121, 317,
				152, 338, 70, 127, 152, 68 };
	};

	public final static char inSymb[] = InSymb.inSymb;

	@Override
	public final int inSymb(int index) {
		return inSymb[index];
	}

	public interface Name {
		public final static String name[] = { "", "[", "(", ".", ".*", "->", "->*", "++", "--", "&", "*", "+", "-", "~",
				"!", "/", "%", ">>", "<<", "<", ">", "<=", ">=", "==", "!=", "^", "|", "&&", "||", "?", ":", "::",
				"...", "=", "*=", "/=", "%=", "+=", "-=", ">>=", "<<=", "&=", "^=", "|=", ",", "$empty", "asm", "auto",
				"bool", "break", "case", "catch", "char", "class", "const", "const_cast", "continue", "default",
				"delete", "do", "double", "dynamic_cast", "else", "enum", "explicit", "export", "extern", "false",
				"float", "for", "friend", "goto", "if", "inline", "int", "long", "mutable", "namespace", "new",
				"operator", "private", "protected", "public", "register", "reinterpret_cast", "return", "short",
				"signed", "sizeof", "static", "static_cast", "struct", "switch", "template", "this", "throw", "try",
				"true", "typedef", "typeid", "typename", "union", "unsigned", "using", "virtual", "void", "volatile",
				"wchar_t", "while", "integer", "floating", "charconst", "stringlit", "identifier", "Completion",
				"EndOfCompletion", "Invalid", "RightBracket", "RightParen", "RightBrace", "SemiColon", "LeftBrace",
				"ERROR_TOKEN", "EOF_TOKEN", "]", ")", "}", ";", "{", "identifier_token", "expression", "id_expression",
				"qualified_or_unqualified_name", "unqualified_id_name", "identifier_name", "template_id_name",
				"nested_name_specifier", "class_or_namespace_name", "nested_name_specifier_with_tem" + "plate",
				"class_or_namespace_name_with_t" + "emplate", "class_name", "postfix_expression",
				"simple_type_specifier", "pseudo_destructor_name", "type_id", "type_name", "destructor_type_name",
				"unary_expression", "cast_expression", "new_type_id", "expression_list", "type_specifier_seq",
				"new_declarator", "new_pointer_operators", "ptr_operator", "new_array_expressions",
				"constant_expression", "pm_expression", "multiplicative_expression", "additive_expression",
				"shift_expression", "relational_expression", "equality_expression", "and_expression",
				"exclusive_or_expression", "inclusive_or_expression", "logical_and_expression", "logical_or_expression",
				"assignment_expression", "relational_expression_inTempla" + "te", "equality_expression_inTemplate",
				"and_expression_inTemplate", "exclusive_or_expression_inTemp" + "late",
				"inclusive_or_expression_inTemp" + "late", "logical_and_expression_inTempl" + "ate",
				"logical_or_expression_inTempla" + "te", "assignment_expression_inTempla" + "te",
				"expression_list_actual", "statement", "compound_statement", "statement_seq", "condition", "declarator",
				"for_init_statement", "function_definition", "declaration", "declaration_seq", "declaration_specifiers",
				"simple_declaration_specifiers", "class_declaration_specifiers",
				"elaborated_declaration_specifi" + "ers", "enum_declaration_specifiers",
				"type_name_declaration_specifie" + "rs", "no_type_declaration_specifier", "cv_qualifier",
				"no_type_declaration_specifiers", "class_specifier", "elaborated_type_specifier", "enum_specifier",
				"type_name_specifier", "class_keyword", "enumerator_list", "enumerator_definition", "namespace_name",
				"init_declarator_list", "init_declarator_complete", "complete_declarator", "initializer",
				"direct_declarator", "ptr_operator_seq", "function_declarator", "basic_direct_declarator",
				"array_direct_declarator", "array_modifier", "abstract_declarator", "direct_abstract_declarator",
				"basic_direct_abstract_declarat" + "or", "array_direct_abstract_declarat" + "or",
				"parameter_declaration_list", "parameter_declaration", "parameter_init_declarator",
				"parameter_initializer", "function_body", "handler_seq", "initializer_clause", "initializer_seq",
				"class_head", "access_specifier_keyword", "member_declaration", "member_declarator_list",
				"member_declaration_list", "member_declarator_complete", "constant_initializer", "bit_field_declarator",
				"base_specifier_list", "base_specifier", "conversion_function_id", "conversion_type_id",
				"conversion_declarator", "mem_initializer_list", "mem_initializer", "mem_initializer_name",
				"operator_id_name", "overloadable_operator", "template_parameter_list", "template_parameter",
				"template_argument_list", "template_argument", "type_name_specifier_inTemplate",
				"type_name_declaration_specifie" + "rs_inTemplate", "type_specifier_seq_inTemplate", "handler",
				"exception_declaration", "type_id_list" };
	};

	public final static String name[] = Name.name;

	@Override
	public final String name(int index) {
		return name[index];
	}

	public final static int ERROR_SYMBOL = 63, SCOPE_UBOUND = 121, SCOPE_SIZE = 122, MAX_NAME_LENGTH = 43;

	@Override
	public final int getErrorSymbol() {
		return ERROR_SYMBOL;
	}

	@Override
	public final int getScopeUbound() {
		return SCOPE_UBOUND;
	}

	@Override
	public final int getScopeSize() {
		return SCOPE_SIZE;
	}

	@Override
	public final int getMaxNameLength() {
		return MAX_NAME_LENGTH;
	}

	public final static int NUM_STATES = 604, NT_OFFSET = 122, LA_STATE_OFFSET = 7511, MAX_LA = 2147483647,
			NUM_RULES = 597, NUM_NONTERMINALS = 224, NUM_SYMBOLS = 346, SEGMENT_SIZE = 8192, START_STATE = 5807,
			IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6474, ERROR_ACTION = 6914;

	public final static boolean BACKTRACK = true;

	@Override
	public final int getNumStates() {
		return NUM_STATES;
	}

	@Override
	public final int getNtOffset() {
		return NT_OFFSET;
	}

	@Override
	public final int getLaStateOffset() {
		return LA_STATE_OFFSET;
	}

	@Override
	public final int getMaxLa() {
		return MAX_LA;
	}

	@Override
	public final int getNumRules() {
		return NUM_RULES;
	}

	@Override
	public final int getNumNonterminals() {
		return NUM_NONTERMINALS;
	}

	@Override
	public final int getNumSymbols() {
		return NUM_SYMBOLS;
	}

	@Override
	public final int getSegmentSize() {
		return SEGMENT_SIZE;
	}

	@Override
	public final int getStartState() {
		return START_STATE;
	}

	@Override
	public final int getStartSymbol() {
		return lhs[0];
	}

	public final int getIdentifierSymbol() {
		return IDENTIFIER_SYMBOL;
	}

	@Override
	public final int getEoftSymbol() {
		return EOFT_SYMBOL;
	}

	@Override
	public final int getEoltSymbol() {
		return EOLT_SYMBOL;
	}

	@Override
	public final int getAcceptAction() {
		return ACCEPT_ACTION;
	}

	@Override
	public final int getErrorAction() {
		return ERROR_ACTION;
	}

	@Override
	public final boolean isValidForParser() {
		return isValidForParser;
	}

	@Override
	public final boolean getBacktrack() {
		return BACKTRACK;
	}

	@Override
	public final int originalState(int state) {
		return -baseCheck[state];
	}

	@Override
	public final int asi(int state) {
		return asb[originalState(state)];
	}

	@Override
	public final int nasi(int state) {
		return nasb[originalState(state)];
	}

	@Override
	public final int inSymbol(int state) {
		return inSymb[originalState(state)];
	}

	@Override
	public final int ntAction(int state, int sym) {
		return baseAction[state + sym];
	}

	@Override
	public final int tAction(int state, int sym) {
		int i = baseAction[state], k = i + sym;
		return termAction[termCheck[k] == sym ? k : i];
	}

	@Override
	public final int lookAhead(int la_state, int sym) {
		int k = la_state + sym;
		return termAction[termCheck[k] == sym ? k : la_state];
	}
}

Back to the top