Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 6d98f5df29491e168f712d2c57a57ca65790b125 (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
/*******************************************************************************
* 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 CPPExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CPPExpressionParsersym {

	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, 1, 1, -62, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -122, -65, 0, -4, 0, 0, 0, 0, 0, -54, 0, 0, -48, 0, 0, -5, -10, 0, -6, 0,
				0, -117, -137, -119, 0, 0, -365, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -313, 0, 0, 0, -183, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -73, -120, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -59, 0, 0, -470, 0, 0, 0, 0, -217, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -438,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -267, -430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -262, 0, -115, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -53, 0, -439, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -285, 0, -129, 0, 0, -281, 0, 0, 0, 0, -455, 0, 0, 0, 0, 0, -373, 0, 0, 0, 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, -369, 0, 0, 0, -508,
				0, 0, 0, 0, 0, 0, -311, 0, 0, -539, 0, 0, 0, 0, -130, 0, -127, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -343, 0, 0, 0, 0, -462, 0, 0, 0, 0, 0, 0, -131, 0,
				0, 0, 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, -463, 0, 0, 0, 0,
				0, 0, -58, 0, 0, 0, -417, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, -8, 0, -529, 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, 0, 0, 0, 0, -144, 0, 0,
				-150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -9, -421, 0, 0, 0, -474, 0, 0, 0, 0, 0, -138, 0, -407, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -71, 0, 0, 0, 0, -154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -106, 0, 0, 0, 0,
				-268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -315, 0, 0, 0, -64, 0, 0, 0, 0,
				0, 0, -347, 0, 0, 0, 0, -573, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -49, -11, 0, -12, 0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, -179, 0, 0, 0, -597, 0, 0, 0, 0, -334, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -124, 0, 0, 0, -284, 0, 0, 0, 0, 0, 0, -51,
				0, 0, 0, -50, 0, -15, 0, 0, 0, -504, 0, 0, 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, -142, 0, 0, 0, 0, -200, 0, 0, 0, 0, -29,
				-3, 0, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -57, -30, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -387, 0, 0, -271, 0, 0, 0, 0, -148, -135, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -178, 0, 0, 0, 0, -121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-331, 0, 0, 0, 0, -207, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -60, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -263, 0, 0, -16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -222, 0, 0, 0,
				-377, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -146, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -31, 0, 0, 0, -328, 0, 0, -378, 0, 0, 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, -390, 0, 0, 0, 0, 0, -359, 0, 0, -32, 0, 0, -266, 0, 0,
				0, 0, -39, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -145, -318, 0,
				0, 0, 0, 0, 0, 0, -33, 0, 0, -34, 0, 0, -264, -237, 0, 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, 0, 0, 0, 0, 0, -503, 0, 0, 0, 0, 0, 0, 0, 0, -588, 0, 0, -423, 0, 0, -275,
				0, 0, 0, 0, 0, -35, 0, -94, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -449, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0, -36, 0, 0, -495, 0, 0, 0, 0, -95, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -201, 0, -37, 0, 0, 0, 0, 0, 0, 0, 0, -38, 0,
				0, -282, 0, 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, -362, 0, -40, 0, 0, 0, 0, 0, -404, 0, 0, -55, 0, 0, -497, 0, 0, 0, 0, -97, 0, 0, 0, 0, -56, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -355, 0, 0, 0, -425, 0, 0, 0, 0, 0,
				-531, 0, 0, 0, 0, -98, 0, 0, 0, 0, -415, 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, -445, 0, 0, 0, 0, 0, 0, 0, 0, 0, -532, 0, 0, 0, 0, -99, 0, 0, 0, 0, -448, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -459, 0, -67, 0, 0, 0, 0, 0, -464, 0, 0, 0, 0, 0,
				-288, 0, 0, 0, 0, -100, 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,
				-477, 0, 0, -69, 0, -472, 0, 0, 0, 0, 0, 0, 0, 0, 0, -289, 0, 0, 0, 0, -101, 0, 0, 0, 0, -478, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -558, -473, 0, -70, 0, 0, 0, 0, 0, -481, 0, 0, 0,
				0, 0, -329, 0, 0, 0, 0, -102, 0, 0, 0, 0, -109, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -197, 0, 0, -110, 0, 0, 0, 0, 0, -506, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, -103, 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, -211, 0, 0, 0, 0, 0, 0, 0, 0, -112, 0, 0, 0,
				0, 0, -371, 0, 0, 0, 0, -104, 0, 0, 0, 0, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -370, -485, 0, 0, 0, 0, 0, 0, 0, -517, 0, 0, 0, 0, 0, -203, 0, 0, 0, 0, -224, 0, 0, 0, 0, -139, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -113, 0, -322, 0, 0, 0, -526, 0, 0,
				-402, 0, 0, -380, 0, 0, 0, 0, -248, 0, 0, 0, 0, -140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -141, -505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -14, 0, -118, 0, -155, 0, -432, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -286, -107, 0, 0, 0, -156, -433, -335, 0, -411, 0, 0, 0, -157, 0, 0, 0, -194, 0,
				-231, 0, 0, 0, 0, 0, -437, 0, 0, 0, -482, -412, 0, 0, 0, 0, 0, 0, 0, 0, -250, 0, 0, 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, -114, 0, 0, 0, -158, 0, 0, -274, 0, 0, 0,
				0, 0, 0, -159, 0, 0, 0, 0, 0, 0, 0, 0, 0, -589, 0, -160, 0, 0, -356, 0, 0, 0, 0, 0, 0, -251, 0, 0, 0, 0,
				-436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -566, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -161, 0, 0, 0, -162, 0, -163, 0, -164, 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, 0, 0, 0, 0, -165, 0, 0, -392, 0, 0, 0, 0,
				0, -216, 0, 0, 0, -166, 0, 0, 0, -43, 0, -167, 0, -442, 0, -325, 0, 0, 0, 0, 0, -494, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -168, -149,
				0, 0, -72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, -352, 0, 0, -465, -169, 0, 0, 0, 0, 0, 0,
				0, -170, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -209, 0, -152, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -466, -272, 0, -171, 0, 0, 0, -596, 0, -358,
				0, -310, 0, -172, 0, 0, 0, -173, 0, 0, 0, 0, 0, -255, 0, 0, 0, 0, -218, 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, -223, 0, 0, 0, 0, 0, 0, -276, 0, 0, 0, 0, -174, 0,
				-357, -323, -175, -512, -324, 0, 0, 0, 0, 0, 0, -376, -391, 0, 0, 0, 0, 0, -256, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -176, 0, -395, 0, 0, 0, -528, 0, 0, 0, 0, 0, 0,
				-283, -177, 0, 0, 0, -180, 0, -413, -574, 0, 0, 0, 0, -184, 0, 0, 0, -394, -572, -185, 0, 0, 0, 0, 0,
				-257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -290, 0, 0, -435, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -326, -381, 0, -44, 0, 0, 0, 0, 0, -186, -330, -187, 0, -123, 0, 0, 0, -420,
				0, -188, 0, 0, 0, 0, 0, -258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -189, 0, 0, 0, 0, -294, 0, 0, -342, -363, 0, 0, 0, 0, 0, -414, 0, -45, 0, -125, 0, -190, 0, -191, 0,
				-192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -291, -292, 0, 0, 0, 0, 0, 0, -193, 0, -535, -367, -196, -346, -204, -134, 0, 0,
				0, 0, 0, -205, 0, 0, 0, -208, 0, 0, 0, -542, 0, 0, 0, -397, 0, 0, 0, 0, 0, -591, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -219, 0, 0,
				0, -229, 0, -293, 0, -389, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -230, 0, 0, -527, 0, 0, 0, -238, 0, 0, -340, 0, 0, -405, 0, 0, 0, 0, -559, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -269, 0, 0, 0, -277, 0, 0, 0, -424, 0, 0, -379, 0, 0, -501,
				-385, 0, 0, -61, -393, 0, -279, -586, 0, 0, -220, 0, 0, 0, -416, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -440, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -327, 0, -602, 0, 0, 0, 0, 0, -287,
				0, 0, -298, 0, 0, -299, -300, 0, 0, 0, 0, 0, 0, 0, 0, -301, -302, -540, -350, 0, -441, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -232, 0, -538, -303, 0, -585, 0, 0, 0, 0, 0,
				0, -351, 0, 0, -515, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-304, 0, -305, 0, -306, 0, 0, 0, 0, 0, 0, -399, 0, 0, -233, -401, 0, -418, -427, -451, 0, -307, 0, 0, 0,
				-308, 0, 0, 0, -309, -18, 0, 0, 0, 0, -260, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -476, -353, 0, -280, -1, 0, 0, 0, 0, 0, 0, 0, -314, 0, -316, -317, 0, 0, -480, 0,
				0, 0, 0, 0, -489, 0, -553, 0, 0, 0, 0, 0, 0, 0, 0, -93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -492, -332, -554, 0, 0, 0, 0, 0, 0, -382, 0, -247, 0, 0, 0, 0, -422, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -434, 0, -534, 0, -537, 0, 0, 0, 0, 0, -556,
				-560, -333, -344, -569, 0, 0, -561, 0, 0, 0, 0, 0, 0, -348, -349, 0, 0, 0, -91, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -360, -361, -366, 0, -374, 0, 0, 0, -245, 0, 0,
				0, 0, -450, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -375, -386, -406, 0, -577,
				-372, 0, -339, 0, 0, -408, 0, 0, -428, -431, -444, -457, -581, 0, -458, 0, -460, -461, -467, -469, -475,
				0, -484, 0, -92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -530, 0, 0, -246, 0, 0, 0, 0, -533, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -483, -490, -491, 0, -514, -516, -518, 0, -594, -601, -519, -520, -521, -523, -541, -543, -544, 0, 0,
				0, -88, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -546, -551,
				0, 0, 0, -242, 0, 0, 0, 0, -536, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-555, -562, -570, -579, -587, -592, 0, -603, 0, 0, 0, 0, 0, 0, 0, 0, 0, -565, 0, -89, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -567, -571, 0, -90, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -243, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -244, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -575, 0, 0, 0, 0, -136, 0, 0,
				-525, -576, 0, -182, -74, 0, 0, -105, 0, 0, 0, 0, 0, 0, -595, 0, 0, 0, 0, -338, 0, -234, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -235, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -600, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -84, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -85, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -240, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -241, 0, 0, 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, -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, -337, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -364, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, 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, -206, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-388, -47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -593, 0, -265, -225, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-493, -128, 0, 0, 0, 0, 0, 0, -143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -568, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -513, 0,
				-500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-226, 0, 0, 0, 0, 0, -227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-77, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -78, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, 0, 0, 0, 0, 0, -509, 0, 0,
				0, 0, 0, 0, 0, -384, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -79, 0, 0, 0, 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, -270, 0, 0, 0, 0, 0, -410, 0, 0, -228,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -545, 0, -550, 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, 0, 0, 0, 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, 0, 0, 0, 0, -336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -400, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -409, 0, 0, 0, 0, 0, -345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-447, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, 0, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -582, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -468, 0, 0, 0, 0, 0, -584,
				-195, 0, 0, 0, 0, 0, 0, -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -320, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-599, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -583, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -604, 0, 0, 0, 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, -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, 0, 0, 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, 0, 0, 0, 0, 0, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, -20, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, -22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -25, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -63, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -133, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, -426, -499,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -215, -454, 0, 0, 0, 0, 0, 0, 0, 0, -507, 0, 0, 0, -502, 0, 0, 0, 0, 0, 0,
				0, 0, -212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -42, 0, 0, 0, 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, -443, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-319, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -236, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -429, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -453, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -479,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -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, -210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -488, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				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, -312, 0, 0, 0, 0, 0, 0,
				-511, 0, 0, 0, 0, 0, 0, -557, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -552, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 218, 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, 131, 131, 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, 37, 37, 38, 38, 40, 40, 41, 41, 45, 45,
				45, 45, 45, 47, 47, 47, 53, 53, 55, 55, 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, 36, 28, 163, 163, 105,
				105, 195, 195, 104, 219, 219, 82, 82, 82, 82, 82, 82, 82, 82, 82, 83, 83, 83, 79, 79, 66, 66, 196, 196,
				84, 84, 84, 116, 116, 197, 197, 85, 85, 85, 85, 198, 198, 86, 86, 86, 86, 86, 87, 87, 95, 95, 95, 95,
				95, 95, 95, 95, 56, 56, 56, 56, 56, 132, 132, 130, 130, 57, 199, 27, 27, 27, 27, 27, 50, 50, 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, 117, 92, 92, 140,
				59, 49, 170, 170, 60, 58, 97, 97, 171, 171, 164, 164, 141, 142, 142, 143, 89, 89, 172, 172, 77, 77, 77,
				73, 73, 72, 78, 78, 80, 80, 68, 68, 68, 54, 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, 118, 118, 118, 120, 120, 119, 119, 220, 220, 103,
				103, 202, 202, 202, 202, 202, 145, 48, 48, 174, 201, 201, 146, 146, 147, 147, 147, 148, 176, 203, 203,
				32, 32, 110, 114, 114, 114, 114, 205, 122, 121, 121, 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, 124, 123, 123,
				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, 90, 93, 93, 187, 187, 150, 150, 151, 151, 151, 151, 151, 151, 3, 152, 152, 149,
				149, 188, 221, 222, 222, 223, 223, 224, 225, 225, 189, 190, 190, 190, 190, 214, 214, 214, 126, 126, 126,
				126, 126, 127, 128, 128, 125, 125, 96, 91, 88, 88, 175, 175, 129, 129, 215, 215, 215, 153, 153, 144,
				144, 216, 216, 191, 191, 1119, 35, 2221, 2196, 4455, 1355, 27, 30, 31, 1162, 1215, 26, 28, 2149, 296,
				25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 1938, 1335, 177, 332, 1520, 308, 1625, 1567,
				1704, 2277, 1666, 1713, 2276, 1751, 176, 413, 147, 1273, 1510, 191, 4350, 1508, 1941, 1350, 266, 5173,
				1243, 35, 1153, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 534, 193, 1088, 269, 264, 265, 2905,
				35, 1153, 32, 3328, 600, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108,
				1272, 1474, 1301, 2779, 379, 189, 266, 2956, 2683, 2276, 1488, 309, 441, 1396, 1273, 276, 279, 282, 627,
				705, 2277, 368, 3066, 1734, 278, 264, 265, 5007, 1824, 3118, 355, 2291, 357, 810, 389, 350, 1175, 193,
				2237, 650, 1353, 2839, 5932, 285, 1537, 35, 490, 3432, 5166, 2353, 5739, 2301, 2030, 715, 159, 1638, 35,
				1153, 32, 4862, 3838, 27, 30, 31, 1162, 1215, 375, 28, 630, 69, 2897, 2360, 35, 1153, 32, 3328, 5363,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779,
				1659, 1818, 162, 1492, 35, 3563, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 2592, 1508, 2773,
				1818, 2837, 5173, 2555, 35, 312, 3327, 2835, 2593, 2878, 352, 3520, 357, 6140, 2929, 2845, 2899, 2901,
				161, 579, 4270, 1847, 2360, 35, 1153, 32, 3328, 5363, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23,
				50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 2634, 3379, 162, 2956, 71, 35, 330, 355, 2291, 357,
				2702, 2489, 350, 1175, 71, 35, 330, 2957, 2773, 1818, 2837, 1537, 35, 314, 1050, 5330, 2835, 535, 2878,
				2045, 550, 576, 3889, 580, 2845, 2899, 2901, 161, 579, 467, 1912, 35, 1153, 32, 6094, 497, 27, 30, 31,
				1162, 1215, 26, 28, 2627, 2765, 548, 93, 2903, 759, 35, 433, 2887, 483, 3576, 3577, 2360, 35, 1153, 32,
				3328, 5363, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474,
				1301, 2779, 426, 2413, 162, 759, 35, 433, 550, 576, 3889, 580, 71, 1939, 2102, 34, 71, 3522, 1166, 94,
				2773, 2046, 2837, 496, 455, 456, 3555, 2224, 2835, 1488, 2878, 3225, 2952, 427, 464, 2903, 2845, 2899,
				2901, 161, 579, 3478, 1820, 2570, 35, 1153, 32, 3328, 5363, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296,
				25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 1818, 2630, 162, 1729, 35, 1153, 32, 6094,
				2683, 27, 30, 31, 1162, 1215, 59, 28, 2369, 2627, 2773, 3646, 2837, 71, 35, 1892, 425, 3471, 2835, 2532,
				2878, 2702, 550, 576, 3889, 580, 2845, 2899, 2901, 161, 579, 1543, 35, 1153, 32, 4476, 1818, 27, 30, 31,
				1162, 1215, 57, 28, 88, 468, 2965, 102, 3647, 2903, 3327, 35, 1153, 32, 3328, 843, 27, 30, 31, 1162,
				1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 325, 1229, 35, 330,
				1520, 1520, 1625, 1567, 1704, 5762, 1666, 2647, 1365, 551, 576, 3889, 580, 2708, 35, 1153, 32, 3328,
				390, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301,
				1564, 56, 1400, 177, 2736, 1520, 766, 1625, 1567, 1704, 51, 1666, 1713, 2738, 1751, 176, 3465, 71, 35,
				3059, 415, 2428, 35, 1153, 32, 3328, 2670, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246,
				106, 76, 77, 108, 1272, 1474, 1301, 1564, 89, 1213, 177, 102, 1520, 2600, 1625, 1567, 1704, 2705, 1666,
				1713, 1647, 1751, 176, 3465, 56, 648, 2765, 415, 61, 834, 2638, 35, 1153, 32, 3328, 1517, 27, 30, 31,
				1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 3735, 2639,
				177, 70, 1520, 3201, 1625, 1567, 1704, 360, 1666, 1713, 458, 1751, 176, 3465, 1537, 35, 314, 415, 5842,
				1405, 1315, 422, 416, 3257, 1239, 2973, 35, 1153, 32, 3328, 159, 27, 30, 31, 1162, 1215, 26, 28, 1151,
				296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 1449, 177, 1555, 1520, 926, 1625,
				1567, 1704, 2631, 1666, 1713, 2600, 1751, 176, 1488, 423, 416, 3257, 191, 1595, 2852, 35, 1153, 32,
				3328, 3122, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474,
				1301, 1564, 71, 35, 2102, 3026, 1520, 1655, 1625, 1567, 1704, 2826, 1666, 1713, 914, 2969, 197, 3474,
				1702, 413, 416, 3257, 2973, 35, 1153, 32, 3328, 1818, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23,
				50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 3125, 2277, 177, 1267, 1520, 2955, 1625, 1567, 1704,
				266, 1666, 1713, 69, 1751, 176, 1559, 35, 1153, 32, 409, 363, 41, 30, 31, 1162, 1215, 480, 281, 264,
				265, 1373, 24, 2003, 35, 1892, 425, 2973, 35, 1153, 32, 3328, 630, 27, 30, 31, 1162, 1215, 26, 28, 1151,
				296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 308, 177, 365, 1520, 1273, 1625,
				1567, 1704, 362, 1666, 1713, 1038, 1751, 176, 3474, 1233, 42, 3022, 409, 71, 35, 317, 2973, 35, 1153,
				32, 3328, 2658, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272,
				1474, 1301, 1564, 71, 3387, 177, 1818, 1520, 408, 1625, 1567, 1704, 241, 1666, 1713, 1338, 1751, 176,
				71, 35, 2176, 1278, 409, 2502, 35, 1153, 32, 3328, 3207, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25,
				23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 2095, 1501, 177, 72, 1520, 4250, 1625, 1567,
				1704, 55, 1666, 1713, 1662, 1751, 176, 69, 1537, 35, 567, 175, 6161, 407, 2973, 35, 1153, 32, 3328, 379,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564,
				56, 97, 177, 723, 1520, 1273, 1625, 1567, 1704, 1488, 1666, 1713, 1818, 1751, 176, 71, 35, 2102, 311,
				192, 2641, 65, 405, 2973, 35, 1153, 32, 3328, 3704, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23,
				50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 1499, 2630, 177, 2977, 1520, 147, 1625, 1567, 1704,
				4731, 1666, 1713, 228, 1751, 176, 71, 35, 1892, 425, 188, 2973, 35, 1153, 32, 3328, 588, 27, 30, 31,
				1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 489, 147,
				177, 61, 1520, 4800, 1625, 1567, 1704, 98, 1666, 1713, 1007, 1751, 176, 931, 35, 2102, 311, 187, 2973,
				35, 1153, 32, 3328, 1749, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108,
				1272, 1474, 1301, 1564, 2491, 147, 177, 1334, 1520, 4883, 1625, 1567, 1704, 2491, 1666, 1713, 1348,
				1751, 176, 71, 35, 1892, 425, 186, 2973, 35, 1153, 32, 3328, 1847, 27, 30, 31, 1162, 1215, 26, 28, 1151,
				296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 471, 439, 177, 392, 1520, 69, 1625,
				1567, 1704, 2178, 1666, 1713, 594, 1751, 176, 71, 35, 1892, 425, 185, 2973, 35, 1153, 32, 3328, 2489,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564,
				470, 443, 177, 233, 1520, 1915, 1625, 1567, 1704, 5180, 1666, 1713, 3119, 1751, 176, 71, 35, 1892, 425,
				184, 2973, 35, 1153, 32, 3328, 2489, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106,
				76, 77, 108, 1272, 1474, 1301, 1564, 469, 147, 177, 2795, 1520, 5312, 1625, 1567, 1704, 2178, 1666,
				1713, 321, 1751, 176, 71, 3485, 2102, 74, 183, 2973, 35, 1153, 32, 3328, 2489, 27, 30, 31, 1162, 1215,
				26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 1499, 335, 177, 1361,
				1520, 147, 1625, 1567, 1704, 5428, 1666, 1713, 322, 1751, 176, 931, 35, 2102, 3486, 182, 2973, 35, 1153,
				32, 3328, 2489, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272,
				1474, 1301, 1564, 1499, 147, 177, 1482, 1520, 5808, 1625, 1567, 1704, 2178, 1666, 1713, 332, 1751, 176,
				71, 35, 2102, 313, 181, 2973, 35, 1153, 32, 3328, 1413, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25,
				23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 255, 177, 1934, 1520, 4369, 1625, 1567,
				1704, 2178, 1666, 1713, 331, 1751, 176, 71, 35, 2102, 3554, 180, 2973, 35, 1153, 32, 3328, 2112, 27, 30,
				31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 339,
				177, 391, 1520, 3364, 1625, 1567, 1704, 2132, 1666, 1713, 594, 1751, 176, 71, 35, 2102, 316, 179, 2973,
				35, 1153, 32, 3328, 2831, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108,
				1272, 1474, 1301, 1564, 2634, 147, 177, 359, 1520, 5829, 1625, 1567, 1704, 2178, 1666, 1713, 594, 1751,
				176, 71, 35, 1892, 425, 178, 2973, 35, 1153, 32, 3328, 1832, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296,
				25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 308, 212, 177, 1104, 1520, 3002, 1625, 1567,
				1704, 2178, 1666, 1713, 2934, 1751, 176, 71, 35, 1892, 425, 140, 3094, 35, 1153, 32, 3328, 3785, 27, 30,
				31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 308, 232,
				162, 3724, 1243, 35, 1153, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 2734, 2773, 1257, 2837,
				2008, 4250, 1229, 3572, 330, 2835, 310, 2878, 428, 464, 1348, 273, 296, 2845, 2899, 2901, 161, 173,
				3094, 35, 1153, 32, 3328, 379, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77,
				108, 1272, 1474, 1301, 2779, 2623, 2277, 162, 1209, 266, 2084, 2789, 2701, 376, 2634, 355, 2291, 357,
				1423, 3010, 350, 1175, 1815, 2773, 3847, 2837, 5173, 274, 264, 265, 1488, 2835, 349, 2878, 2322, 2634,
				69, 273, 296, 2845, 2899, 2901, 161, 172, 3094, 35, 1153, 32, 3328, 1166, 27, 30, 31, 1162, 1215, 26,
				28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 2277, 2630, 162, 2277, 266,
				2956, 2309, 1645, 1517, 3125, 2456, 35, 312, 343, 346, 2313, 484, 1653, 2773, 369, 2837, 361, 274, 264,
				265, 412, 2835, 1488, 2878, 227, 68, 2639, 2007, 53, 2845, 2899, 2901, 161, 171, 3094, 35, 1153, 32,
				3328, 2934, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474,
				1301, 2779, 430, 464, 162, 2630, 1243, 35, 1153, 32, 4862, 4737, 27, 30, 31, 1162, 1215, 375, 28, 2777,
				2773, 1998, 2837, 429, 464, 44, 3022, 399, 2835, 587, 2878, 415, 479, 417, 493, 2417, 2845, 2899, 2901,
				161, 170, 3094, 35, 1153, 32, 3328, 1749, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246,
				106, 76, 77, 108, 1272, 1474, 1301, 2779, 2420, 410, 162, 71, 35, 2102, 566, 364, 371, 56, 355, 2291,
				357, 495, 1202, 350, 1175, 56, 2773, 2874, 2837, 2345, 4250, 2693, 35, 315, 2835, 3731, 2878, 2171, 35,
				490, 348, 5166, 2845, 2899, 2901, 161, 169, 3094, 35, 1153, 32, 3328, 379, 27, 30, 31, 1162, 1215, 26,
				28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 3001, 2277, 162, 3118, 2215,
				35, 1153, 32, 4476, 3327, 27, 30, 31, 1162, 1215, 56, 28, 1556, 2773, 2572, 2837, 2731, 35, 565, 1488,
				405, 2835, 2008, 2878, 484, 2683, 87, 2092, 1917, 2845, 2899, 2901, 161, 168, 3094, 35, 1153, 32, 3328,
				2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301,
				2779, 2630, 2277, 162, 1729, 35, 1153, 32, 6094, 52, 27, 30, 31, 1162, 1215, 58, 28, 2626, 56, 2773,
				572, 2837, 4447, 3199, 319, 412, 1488, 2835, 56, 2878, 1752, 2485, 386, 2382, 1929, 2845, 2899, 2901,
				161, 167, 3094, 35, 1153, 32, 3328, 2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246,
				106, 76, 77, 108, 1272, 1474, 1301, 2779, 475, 3156, 162, 1994, 35, 1153, 32, 2524, 90, 40, 30, 31,
				1162, 1215, 2277, 487, 3576, 3577, 2773, 2185, 2837, 1335, 56, 2353, 1728, 56, 2835, 861, 2878, 60,
				2124, 215, 2007, 1365, 2845, 2899, 2901, 161, 166, 3094, 35, 1153, 32, 3328, 2836, 27, 30, 31, 1162,
				1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 3423, 2418, 162,
				1994, 35, 1153, 32, 71, 3728, 1804, 30, 31, 1162, 1215, 2277, 2450, 2683, 2777, 2773, 2496, 2837, 1734,
				759, 35, 433, 5007, 2835, 1867, 2878, 1984, 2749, 2007, 1728, 571, 2845, 2899, 2901, 161, 165, 3094, 35,
				1153, 32, 3328, 2886, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108,
				1272, 1474, 1301, 2779, 2277, 418, 162, 1994, 35, 1153, 32, 3315, 371, 1898, 30, 31, 1162, 1215, 56,
				2762, 2777, 56, 2773, 3558, 2837, 585, 4250, 2268, 56, 581, 2835, 1833, 2878, 2712, 67, 2007, 71, 753,
				2845, 2899, 2901, 161, 164, 3094, 35, 1153, 32, 3328, 379, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296,
				25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 491, 2973, 162, 3118, 1847, 2276, 370, 371,
				56, 2661, 1273, 3732, 266, 1312, 2183, 2929, 2777, 56, 2773, 1922, 2837, 2006, 4250, 1657, 2683, 1019,
				2835, 2033, 2878, 585, 284, 264, 265, 193, 2845, 2899, 2901, 161, 163, 3154, 35, 1153, 32, 3328, 379,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779,
				2277, 2277, 162, 3118, 266, 466, 3317, 371, 2533, 3260, 2489, 56, 1248, 1904, 2914, 1508, 2293, 5173,
				2773, 5173, 2837, 2534, 287, 264, 265, 744, 2835, 2055, 2878, 2280, 66, 65, 3568, 1488, 2845, 2899,
				2901, 161, 160, 3214, 35, 1153, 32, 3328, 3226, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50,
				1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 2956, 177, 2956, 1520, 2314, 1625, 1567, 1704, 3316,
				1666, 1713, 835, 1751, 176, 2957, 2492, 368, 2277, 222, 3327, 35, 1153, 32, 3328, 340, 27, 30, 31, 1162,
				1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 4312, 64, 2564,
				1867, 1520, 2178, 1625, 1567, 1704, 3062, 1666, 1713, 2277, 2969, 197, 3327, 35, 1153, 32, 3328, 2489,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564,
				3115, 1486, 231, 586, 1520, 2290, 1625, 1567, 1704, 2007, 1666, 1713, 56, 2969, 197, 2007, 56, 4991, 96,
				3766, 56, 2843, 2018, 2490, 2959, 3108, 71, 35, 1892, 425, 3327, 35, 1153, 32, 3328, 1616, 27, 30, 31,
				1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 49, 419,
				2777, 1520, 5807, 1625, 1567, 1704, 2777, 1666, 1713, 46, 2969, 197, 3327, 35, 1153, 32, 3328, 460, 27,
				30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 388,
				1851, 3522, 319, 1520, 2637, 1625, 1567, 1704, 1011, 1666, 1713, 589, 2969, 197, 743, 915, 366, 371,
				380, 1048, 649, 385, 3463, 371, 925, 2045, 2178, 2277, 378, 3327, 35, 1153, 32, 3328, 329, 27, 30, 31,
				1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 2011, 55,
				1488, 2542, 1520, 2818, 1625, 1567, 1704, 338, 1666, 1713, 2277, 2969, 197, 3486, 35, 1153, 32, 3328,
				459, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301,
				1564, 54, 577, 3472, 2486, 1520, 2179, 1625, 1567, 1704, 266, 1666, 1713, 56, 2969, 197, 2092, 56, 3461,
				56, 56, 56, 2394, 2494, 1654, 5820, 1936, 2389, 278, 264, 265, 757, 1673, 35, 1892, 425, 462, 3433, 35,
				1153, 32, 3328, 324, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108,
				1272, 1474, 1301, 2779, 49, 56, 2010, 266, 2594, 2292, 3114, 826, 3553, 4250, 1273, 1845, 628, 2528,
				3694, 2878, 2945, 417, 2773, 56, 2837, 281, 264, 265, 5833, 56, 2835, 2178, 2878, 586, 4674, 4166, 143,
				189, 2845, 3323, 3327, 35, 1153, 32, 3328, 598, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50,
				1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 56, 2595, 2178, 235, 1520, 2704, 1625, 1567, 1704, 2277,
				2633, 3380, 35, 1153, 32, 3328, 2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106,
				76, 77, 108, 1272, 1474, 1301, 2779, 2822, 358, 56, 233, 56, 4250, 396, 1983, 101, 3077, 2669, 56, 2601,
				2706, 56, 2778, 1123, 2178, 2773, 5129, 2837, 3069, 3104, 3121, 3003, 1663, 2835, 4166, 2878, 3327, 35,
				1153, 32, 3328, 3302, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108,
				1272, 1474, 1301, 1564, 334, 2628, 3004, 2664, 1520, 2633, 1625, 1567, 2573, 3380, 35, 1153, 32, 3328,
				2277, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301,
				2779, 2960, 2778, 2995, 605, 2927, 1851, 3522, 2566, 3361, 4598, 2959, 542, 4250, 1216, 2793, 2961,
				1218, 2178, 2773, 3064, 2837, 1292, 3006, 3059, 2881, 2962, 2835, 2277, 3298, 3327, 35, 1153, 32, 3328,
				4166, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301,
				1564, 4367, 2039, 539, 541, 1520, 2277, 1625, 2581, 3380, 35, 1153, 32, 3328, 2416, 27, 30, 31, 1162,
				1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 488, 3117, 3124,
				3176, 3574, 3092, 3183, 87, 592, 2178, 2178, 3086, 3118, 3119, 3120, 1362, 3147, 173, 2773, 397, 2837,
				3327, 35, 1153, 32, 3328, 3300, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76,
				77, 108, 1272, 1474, 1301, 1564, 256, 226, 3212, 2998, 1520, 324, 2495, 3380, 35, 1153, 32, 3328, 2277,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779,
				2893, 3553, 3177, 1637, 3178, 3236, 3237, 2966, 414, 2958, 6862, 6862, 6862, 6862, 6862, 6862, 6862,
				6862, 2773, 2277, 3223, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25,
				23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 1564, 6862, 4978, 2277, 2277, 2501, 3327, 35, 1153,
				32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272,
				1474, 1301, 1564, 5040, 5172, 6862, 6862, 2548, 3380, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215,
				26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 1258, 35, 1153, 32, 4945,
				4737, 27, 30, 31, 1162, 1215, 375, 28, 3380, 35, 1153, 32, 3328, 3224, 27, 30, 31, 1162, 1215, 26, 28,
				1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2779, 2277, 6862, 6862, 6862, 6862,
				2776, 6862, 6862, 2180, 2277, 6187, 2023, 56, 1273, 2956, 56, 2959, 1273, 3258, 6862, 1273, 6862, 2277,
				6862, 6862, 6862, 6862, 1508, 368, 2181, 1613, 5173, 355, 2291, 357, 387, 189, 350, 1175, 2377, 189,
				6862, 6862, 189, 3425, 6862, 2783, 234, 1065, 349, 6862, 2643, 3654, 3327, 35, 1153, 32, 3328, 5415, 27,
				30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2379, 266,
				2956, 6862, 6862, 6862, 388, 6862, 6862, 2277, 6862, 6862, 388, 6862, 6862, 6862, 368, 6862, 266, 284,
				264, 265, 342, 346, 2313, 380, 1048, 649, 385, 6862, 6862, 380, 1048, 649, 385, 2615, 570, 264, 265,
				5301, 6862, 578, 6862, 6862, 6862, 1992, 4682, 3327, 35, 1153, 32, 3328, 3645, 27, 30, 31, 1162, 1215,
				26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 2441, 3327, 35, 1153, 32, 3328,
				6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301,
				2445, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106,
				76, 77, 108, 1272, 1474, 1301, 2447, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28,
				1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 3210, 3327, 35, 1153, 32, 3328, 6862,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 1301, 3213,
				3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76,
				77, 108, 1272, 1474, 1301, 3214, 1339, 35, 1153, 32, 4862, 3905, 27, 30, 31, 1162, 1215, 375, 28, 3327,
				35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108,
				1272, 1474, 1301, 3362, 3759, 35, 1153, 32, 4862, 6219, 27, 30, 31, 1162, 1215, 375, 28, 6862, 1220, 35,
				3563, 32, 4945, 4737, 27, 30, 31, 1162, 1215, 375, 28, 6862, 6862, 6862, 387, 6862, 355, 2291, 357,
				6862, 6862, 350, 1175, 6862, 388, 6862, 6862, 6862, 3539, 35, 1892, 425, 4448, 3473, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 271, 296, 380, 1048, 649, 385, 6862, 759, 35, 3100, 1084, 2956, 3424, 2276,
				6862, 355, 2291, 357, 1273, 308, 350, 1175, 6862, 388, 6862, 368, 6862, 6862, 6862, 355, 2291, 357,
				3432, 6862, 350, 1175, 6862, 6862, 266, 49, 6862, 193, 380, 1048, 649, 385, 1050, 6862, 6862, 2126,
				1845, 1523, 2615, 5173, 6862, 5415, 269, 264, 265, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162,
				1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 2449, 6862, 2276, 71, 35, 1892,
				425, 1273, 6862, 309, 6862, 6862, 6862, 276, 279, 282, 627, 705, 6862, 2956, 3508, 402, 1179, 56, 6862,
				1273, 6267, 4250, 1273, 6862, 193, 6862, 6862, 369, 3267, 49, 2237, 650, 1353, 2839, 5932, 285, 6862,
				6862, 749, 388, 1845, 2174, 189, 262, 6862, 189, 454, 456, 3555, 6862, 195, 6862, 6862, 2812, 6862,
				6862, 6862, 6862, 382, 1048, 649, 385, 2897, 6862, 668, 444, 6008, 6862, 3327, 35, 1153, 32, 3328, 1757,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 1474, 2482, 259,
				243, 35, 1892, 425, 600, 6862, 3439, 2027, 35, 1892, 425, 445, 446, 447, 3376, 6862, 6862, 6862, 2182,
				6862, 6862, 6862, 6862, 600, 6862, 6862, 262, 189, 329, 35, 1892, 425, 49, 6862, 6862, 2133, 3373, 6862,
				213, 49, 6862, 2630, 6862, 1845, 2958, 379, 189, 237, 249, 750, 1845, 954, 6862, 6862, 221, 236, 246,
				247, 248, 250, 49, 1, 6862, 2775, 6862, 202, 600, 2139, 4250, 6862, 2420, 1845, 2687, 6862, 2139, 6862,
				6862, 6862, 201, 6862, 6862, 216, 200, 203, 204, 205, 206, 207, 262, 189, 379, 6862, 6862, 593, 6862,
				1427, 56, 2133, 448, 450, 213, 1273, 56, 2630, 6862, 6862, 6862, 1273, 6862, 237, 249, 750, 6862, 6862,
				3966, 3118, 6862, 236, 246, 247, 248, 250, 6862, 6862, 189, 872, 6862, 202, 5192, 6862, 189, 6862, 2944,
				6862, 223, 6862, 6862, 6862, 2945, 596, 201, 6862, 214, 217, 200, 203, 204, 205, 206, 207, 1416, 35,
				1153, 32, 4862, 3905, 27, 30, 31, 1162, 1215, 375, 28, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162,
				1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 2239, 6862, 6862, 3327, 35, 1153, 32,
				3328, 4509, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 1272, 2289,
				3570, 6862, 6862, 6862, 6862, 2276, 6862, 355, 2291, 357, 1273, 2882, 350, 1175, 6862, 388, 4250, 6862,
				6862, 1770, 35, 1153, 32, 4945, 589, 27, 30, 31, 1162, 1215, 375, 28, 6862, 193, 380, 1048, 649, 385,
				4166, 3327, 35, 1153, 32, 3328, 590, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106,
				76, 77, 108, 2297, 6862, 3622, 6862, 6862, 345, 329, 35, 1892, 425, 600, 2956, 1508, 6862, 6862, 56,
				5173, 6862, 6862, 6862, 1273, 6862, 6862, 6862, 6862, 369, 6862, 6862, 6862, 355, 2291, 357, 262, 189,
				351, 1175, 6862, 388, 49, 6862, 6862, 2133, 6862, 189, 213, 6862, 6862, 2630, 3614, 1845, 47, 3028, 542,
				237, 249, 750, 382, 1048, 649, 385, 6862, 236, 246, 247, 248, 250, 2956, 431, 6862, 2180, 6862, 202,
				600, 2505, 600, 243, 35, 1892, 425, 6862, 368, 6862, 6862, 6862, 201, 6862, 6862, 3695, 200, 203, 204,
				205, 206, 207, 262, 189, 3475, 189, 6862, 539, 541, 6862, 6862, 2133, 6862, 2133, 213, 49, 213, 2630,
				5985, 6862, 6862, 6862, 6862, 237, 249, 750, 1845, 47, 6862, 6862, 6862, 236, 246, 247, 248, 250, 6862,
				517, 6862, 6862, 6862, 202, 600, 6862, 3659, 243, 35, 1892, 425, 6862, 1478, 6862, 6862, 6862, 201,
				6862, 229, 211, 200, 203, 204, 205, 206, 207, 262, 189, 329, 35, 1892, 425, 6862, 6862, 6862, 2133,
				6862, 6862, 213, 49, 56, 2630, 6862, 6862, 6862, 1273, 6862, 237, 249, 750, 1845, 2827, 6862, 6862,
				6862, 236, 246, 247, 248, 250, 49, 603, 6862, 6862, 6862, 202, 600, 6862, 189, 6862, 6862, 1845, 47,
				6862, 2186, 2822, 3319, 6862, 201, 6862, 4250, 209, 200, 203, 204, 205, 206, 207, 262, 189, 243, 35,
				1892, 425, 6862, 2815, 56, 2133, 6862, 6862, 213, 1273, 4166, 2630, 6862, 6862, 6862, 6862, 2700, 237,
				249, 750, 6862, 4250, 6862, 6862, 6862, 236, 246, 247, 248, 250, 49, 689, 189, 6862, 6862, 202, 600,
				6862, 6862, 6862, 1511, 1845, 2503, 379, 2594, 4466, 230, 6862, 201, 4250, 6862, 210, 200, 203, 204,
				205, 206, 207, 262, 189, 243, 35, 1892, 425, 6862, 2186, 6862, 2133, 3557, 6862, 213, 4166, 56, 2630,
				6862, 6862, 6862, 600, 56, 237, 249, 750, 6862, 4250, 6862, 6862, 542, 236, 246, 247, 248, 250, 49, 775,
				6862, 6862, 6862, 202, 600, 379, 189, 6862, 6862, 1845, 47, 379, 6862, 6862, 1396, 6862, 201, 6862,
				6862, 220, 200, 203, 204, 205, 206, 207, 262, 189, 6862, 6862, 3118, 6862, 6862, 1042, 6862, 2133, 3118,
				6862, 213, 540, 541, 2630, 6862, 6862, 6862, 6862, 6862, 237, 249, 750, 6862, 6862, 6862, 396, 715, 236,
				246, 247, 248, 250, 2086, 6862, 6862, 6862, 6862, 202, 6862, 6862, 3531, 3104, 3121, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 201, 6862, 6862, 3733, 200, 203, 204, 205, 206, 207, 2382, 35, 1153, 32, 4862,
				4737, 27, 30, 31, 1162, 1215, 375, 28, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28,
				1151, 296, 25, 23, 50, 1246, 106, 76, 77, 108, 2357, 243, 35, 1892, 425, 6862, 6862, 861, 71, 35, 1892,
				425, 600, 3887, 6862, 243, 35, 1892, 425, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 1296, 6862,
				6862, 6862, 6267, 4250, 49, 262, 189, 355, 2291, 357, 6862, 49, 350, 1175, 2133, 1845, 47, 213, 49,
				6862, 2630, 6862, 1845, 764, 349, 262, 237, 249, 750, 1845, 47, 6862, 6862, 6862, 236, 246, 247, 248,
				250, 1669, 6862, 6862, 6862, 6862, 202, 947, 668, 444, 6008, 6862, 600, 6862, 6862, 1763, 6862, 6862,
				6862, 201, 6862, 6862, 225, 200, 203, 204, 205, 206, 207, 6862, 6862, 6862, 6862, 6862, 262, 189, 6862,
				6862, 342, 346, 2313, 6862, 56, 2133, 6862, 6862, 213, 1273, 6862, 2630, 445, 446, 447, 3376, 6862, 237,
				249, 750, 6862, 6862, 6862, 3653, 6862, 236, 246, 247, 248, 250, 3645, 1033, 189, 6862, 6862, 202, 600,
				3373, 6862, 6862, 3900, 6862, 2271, 35, 1892, 425, 6862, 6862, 201, 6862, 6862, 219, 200, 203, 204, 205,
				206, 207, 262, 189, 71, 35, 1892, 425, 6862, 6862, 6862, 2133, 6862, 6862, 213, 6862, 6862, 2630, 49,
				6862, 6862, 6862, 6862, 237, 249, 750, 6862, 6862, 6862, 1845, 47, 236, 246, 247, 248, 250, 49, 3638,
				35, 554, 6862, 202, 6862, 448, 451, 6862, 6862, 1845, 2360, 6862, 271, 296, 6862, 865, 201, 6862, 6862,
				228, 200, 203, 204, 205, 206, 207, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151,
				296, 25, 23, 50, 1246, 106, 76, 77, 108, 2367, 266, 1385, 35, 1153, 32, 4945, 6862, 27, 30, 31, 1162,
				1215, 375, 28, 243, 35, 1892, 425, 269, 264, 265, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162,
				1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 85, 6862, 6862, 49, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 2956, 6862, 1845, 47, 276, 279, 282, 627, 705, 6862, 6862, 6862, 6862, 6862,
				369, 6862, 6862, 6862, 355, 2291, 357, 6862, 6862, 353, 1175, 6862, 1810, 2303, 3255, 3312, 3907, 6021,
				3327, 1939, 1153, 1986, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106,
				76, 77, 84, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246,
				106, 76, 77, 83, 6862, 6862, 6862, 6862, 563, 564, 568, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31,
				1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 82, 3924, 3327, 35, 1153, 32, 3328, 6862,
				27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 81, 3327, 35, 1153, 32, 3328,
				6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 80, 3327, 35, 1153, 32,
				3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 79, 3327, 35,
				1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76, 77, 78,
				3033, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246, 106, 76,
				77, 104, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50, 1246,
				106, 76, 77, 110, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25, 23, 50,
				1246, 106, 76, 77, 109, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151, 296, 25,
				23, 50, 1246, 106, 76, 77, 107, 3327, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28, 1151,
				296, 25, 23, 50, 1246, 106, 76, 77, 105, 3274, 35, 1153, 32, 3328, 6862, 27, 30, 31, 1162, 1215, 26, 28,
				1151, 296, 25, 23, 50, 1246, 86, 76, 77, 1603, 243, 35, 1892, 425, 4250, 6862, 6862, 6862, 6862, 6862,
				6862, 56, 1870, 6862, 6862, 6862, 4250, 4250, 6862, 6862, 6862, 2459, 35, 1892, 425, 1959, 262, 6862,
				6862, 6862, 4250, 6862, 49, 6862, 71, 35, 1892, 425, 379, 262, 6862, 6862, 6862, 1845, 47, 6862, 6862,
				239, 249, 750, 6862, 6862, 262, 49, 6862, 238, 246, 247, 248, 250, 239, 249, 750, 3118, 1845, 47, 49,
				1857, 238, 246, 247, 248, 250, 239, 249, 750, 6862, 1845, 815, 6862, 6862, 238, 246, 247, 248, 250,
				6862, 2760, 875, 240, 242, 244, 3376, 6862, 251, 241, 243, 6862, 6862, 6862, 6862, 6862, 240, 242, 244,
				3376, 6862, 251, 241, 243, 6862, 6862, 6862, 6862, 56, 240, 242, 244, 3376, 4250, 251, 241, 243, 6862,
				3589, 35, 1892, 425, 4448, 1914, 6862, 6125, 6862, 6862, 6862, 6862, 6862, 272, 296, 6862, 56, 379,
				1961, 6862, 6125, 600, 56, 6862, 6862, 6862, 6862, 600, 6862, 6862, 6862, 2954, 308, 6125, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 3118, 379, 189, 6862, 6862, 6862, 6862, 379, 189, 266, 2350, 1385,
				35, 1153, 32, 4945, 1396, 27, 30, 31, 1162, 1215, 375, 28, 546, 6862, 3118, 270, 264, 265, 6862, 6862,
				3118, 6862, 2315, 35, 1153, 32, 4862, 4220, 27, 30, 31, 1162, 1215, 375, 28, 3687, 35, 554, 2285, 6862,
				6862, 2048, 6862, 6862, 2549, 6862, 4250, 6862, 272, 296, 6862, 6862, 309, 2956, 6862, 6862, 277, 280,
				283, 627, 705, 440, 6862, 6862, 6862, 1692, 6862, 369, 262, 6862, 4250, 355, 2291, 357, 6862, 6862, 351,
				1175, 6862, 6862, 6862, 6862, 6862, 6862, 286, 6862, 266, 6862, 6862, 239, 249, 750, 262, 6862, 352,
				3520, 357, 238, 246, 247, 248, 250, 6862, 6862, 270, 264, 265, 6862, 71, 35, 1892, 425, 6862, 239, 249,
				750, 6862, 6862, 6862, 6862, 6862, 238, 246, 247, 248, 250, 6862, 6862, 6862, 6862, 6862, 240, 242, 244,
				3376, 6862, 582, 241, 243, 1781, 49, 6862, 6862, 6862, 4250, 277, 280, 283, 627, 705, 6862, 1845, 628,
				6862, 2137, 240, 242, 244, 3376, 4250, 581, 241, 243, 6862, 56, 6862, 262, 6862, 6862, 600, 6862, 6862,
				6862, 6862, 6862, 71, 35, 1892, 425, 6862, 6862, 262, 6862, 6862, 6862, 6862, 6862, 239, 249, 750, 6862,
				379, 189, 6862, 2887, 238, 246, 247, 248, 250, 221, 2260, 239, 249, 750, 5173, 4250, 49, 6862, 6862,
				238, 246, 247, 248, 250, 2226, 2420, 6862, 1845, 2569, 4250, 6862, 6862, 563, 564, 569, 6862, 6862,
				4166, 240, 242, 244, 3376, 2260, 252, 241, 243, 5173, 4250, 6862, 6862, 6862, 262, 6862, 240, 242, 244,
				3376, 6862, 341, 241, 243, 6862, 6862, 6862, 2956, 6862, 6862, 6862, 6862, 4166, 6862, 56, 239, 249,
				750, 6862, 600, 6862, 368, 6862, 238, 246, 247, 248, 250, 6862, 6862, 6862, 6862, 3745, 71, 35, 1892,
				425, 6862, 6862, 2956, 56, 379, 189, 6862, 6862, 4250, 6862, 56, 6862, 6862, 221, 4312, 4250, 368, 6862,
				6862, 396, 240, 242, 244, 3376, 6862, 536, 241, 243, 49, 2420, 379, 6862, 6862, 56, 2694, 3104, 3121,
				379, 600, 1845, 2701, 6862, 6862, 6862, 6862, 6862, 4682, 6862, 6862, 6862, 6862, 396, 6862, 6862, 6862,
				3118, 6862, 6862, 6862, 6862, 379, 189, 3118, 6862, 6862, 6862, 2694, 3104, 3121, 221, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 544, 6862, 6862, 6862, 6862, 6862, 2420, 597, 6862, 6862, 6862,
				6862, 6862, 6862, 3776, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 3777, 6862, 0, 39, 6877, 0, 39, 6876, 0, 1150, 29, 0,
				477, 1213, 0, 491, 1300, 0, 38, 963, 0, 38, 6877, 0, 38, 6876, 0, 4031, 126, 0, 1, 481, 0, 495, 812, 0,
				494, 880, 0, 1458, 91, 0, 1150, 424, 0, 35, 33, 0, 32, 34, 0, 39, 963, 0, 1, 643, 0, 1, 7169, 0, 1,
				7168, 0, 1, 7167, 0, 1, 7166, 0, 1, 7165, 0, 1, 7164, 0, 1, 7163, 0, 1, 7162, 0, 1, 7161, 0, 1, 7160, 0,
				1, 7159, 0, 39, 1, 6877, 0, 39, 1, 6876, 0, 318, 431, 0, 318, 323, 0, 7130, 275, 0, 7129, 275, 0, 7236,
				275, 0, 7235, 275, 0, 7157, 275, 0, 7156, 275, 0, 7155, 275, 0, 7154, 275, 0, 7153, 275, 0, 7152, 275,
				0, 7151, 275, 0, 7150, 275, 0, 7169, 275, 0, 7168, 275, 0, 7167, 275, 0, 7166, 275, 0, 7165, 275, 0,
				7164, 275, 0, 7163, 275, 0, 7162, 275, 0, 7161, 275, 0, 7160, 275, 0, 7159, 275, 0, 39, 6877, 275, 0,
				39, 6876, 275, 0, 6900, 275, 0, 6877, 48, 0, 6876, 48, 0, 6868, 1, 0, 6867, 1, 0, 639, 271, 0, 32, 425,
				0, 29, 424, 0, 43, 6898, 0, 43, 37, 0, 4031, 128, 0, 4031, 127, 0, 1, 5785, 0, 1, 5435, 0, 1, 5524, 0,
				1, 5554, 0, 1, 5578, 0, 1, 5601, 0, 1, 5624, 0, 1, 5647, 0, 1410, 1, 0, 1, 2235, 0, 1, 5501, 0, 1, 6884,
				0, 1, 6883, 0, 1, 6882, 0, 1, 6881, 0, 1, 6880, 0, 1, 6879, 0, 1, 6878, 0, 1, 642, 0, 1, 645, 0, 1, 972,
				0, 1, 978, 0, 1, 1037, 0, 1, 672, 0, 39, 1, 0, 367, 482, 0, 6900, 1, 0, 47, 37, 0, 1, 92, 0, 6877, 275,
				0, 6876, 275, 0, 538, 3375, 0, 6900, 1, 263, 0, 39, 1, 263, 0, 263, 453, 0, 6877, 37, 0, 6876, 37, 0,
				6877, 2, 37, 0, 6876, 2, 37, 0, 6877, 36, 0, 6876, 36, 0, 6898, 45, 0, 37, 45, 0, 6872, 442, 0, 6871,
				442, 0, 1, 653, 0, 1, 963, 0, 263, 452, 0, 3111, 354, 0, 367, 95, 0, 35, 73, 0, 1, 367, 0, 2883, 313, 0,
				538, 6051, 0, 1, 263, 0, 263, 254, 0, 1, 919, 0, 1, 956, 0, 263, 253, 0, 6874, 1, 0, 6870, 1, 0, 1, 263,
				3650, 0, 6871, 263, 0, 3651, 263, 0, 6874, 420, 0, 6873, 420, 0, 3661, 263, 0, 10, 12, 0, 8, 10, 12, 0,
				3730, 227, 0, 218, 5239, 0, 3735, 420, 0, 8, 12, 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, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 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, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 4, 65, 66,
				67, 94, 69, 92, 93, 0, 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, 0, 56, 57, 58, 59, 0, 61, 62,
				63, 4, 65, 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, 86, 87, 56, 57, 58,
				59, 0, 61, 62, 63, 95, 65, 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,
				68, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 0, 69, 0, 3, 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, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 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, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 94, 69, 92, 93,
				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, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 95, 65, 66,
				67, 94, 69, 92, 93, 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, 0, 56, 57, 58, 59, 0, 61,
				62, 63, 0, 65, 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, 86, 87, 56, 57,
				58, 59, 0, 61, 62, 63, 4, 65, 66, 67, 0, 69, 101, 102, 4, 95, 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, 0, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 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, 86, 87, 56, 57, 58, 59, 0, 61, 62, 63, 0, 65, 66, 67, 4, 69, 92, 93, 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, 68, 0, 56, 57, 58, 59, 0, 61, 62, 63, 9, 65, 66, 67, 0, 69,
				96, 0, 1, 2, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 0, 1, 2, 3, 4, 5, 6, 7, 8, 40, 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, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 0, 0, 56, 57, 58, 59, 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, 0, 40, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 1, 2, 53, 0, 55, 56, 57, 58, 5, 0, 61, 62, 63, 0, 1,
				2, 3, 4, 0, 6, 71, 8, 73, 5, 38, 7, 38, 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, 71, 0, 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, 91, 0, 99, 100, 0, 0, 40, 98, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 53, 0, 55, 56, 57, 58, 0, 64, 61, 62,
				63, 68, 0, 0, 0, 3, 0, 5, 71, 7, 73, 9, 6, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 88, 0, 1, 2,
				3, 4, 55, 6, 54, 8, 0, 34, 35, 36, 37, 60, 0, 40, 64, 3, 70, 0, 1, 2, 60, 70, 114, 115, 116, 0, 9, 54,
				0, 1, 2, 3, 4, 60, 6, 0, 8, 64, 64, 89, 90, 68, 68, 70, 71, 72, 73, 101, 102, 103, 104, 105, 106, 107,
				108, 109, 110, 111, 112, 86, 87, 0, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
				105, 106, 107, 108, 109, 110, 111, 112, 69, 120, 60, 64, 117, 118, 119, 120, 0, 34, 35, 3, 0, 5, 0, 7,
				4, 9, 0, 1, 2, 3, 4, 9, 6, 0, 8, 0, 0, 1, 2, 3, 4, 5, 0, 7, 0, 10, 4, 5, 91, 7, 34, 35, 36, 37, 0, 98,
				40, 3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 54, 0, 1, 2, 54, 4, 60, 0, 1, 2, 64, 4, 0, 6, 68,
				8, 70, 71, 72, 73, 0, 69, 59, 0, 1, 2, 60, 71, 54, 6, 64, 8, 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, 0, 1, 2, 55, 117, 118, 119,
				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, 1, 2, 3, 4, 40, 6, 0, 8, 0, 1, 2, 55, 4, 5, 0, 7, 0, 53, 0, 55, 56,
				57, 58, 0, 0, 61, 62, 63, 4, 65, 7, 114, 115, 116, 0, 1, 2, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
				32, 33, 0, 53, 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, 70, 0, 0, 1, 2, 40, 4, 0, 6, 91, 8, 4, 66, 67, 0, 0, 98, 91,
				53, 54, 55, 56, 57, 58, 98, 0, 61, 62, 63, 22, 65, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110,
				111, 112, 0, 1, 2, 3, 4, 5, 6, 7, 8, 38, 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, 0, 4, 5, 40, 7, 71, 0, 1,
				2, 9, 4, 5, 60, 7, 0, 0, 53, 3, 55, 56, 57, 58, 0, 113, 61, 62, 63, 0, 65, 0, 114, 115, 116, 0, 1, 2,
				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, 60, 4, 5,
				40, 7, 0, 1, 2, 0, 4, 0, 6, 4, 8, 54, 0, 53, 7, 55, 56, 57, 58, 0, 0, 61, 62, 63, 0, 65, 118, 22, 0, 1,
				2, 0, 4, 73, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 89, 90, 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, 55, 0,
				1, 2, 0, 64, 40, 6, 60, 8, 0, 1, 2, 0, 0, 0, 6, 0, 0, 53, 5, 55, 56, 57, 58, 0, 9, 61, 62, 63, 0, 65,
				96, 3, 0, 1, 2, 23, 24, 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, 72, 60, 0, 0, 68, 64, 40, 5, 0, 68, 0, 66, 67, 0, 86, 87, 3, 54, 54, 53, 96, 55, 56, 57, 58, 99,
				100, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 3, 4, 5, 0, 7, 89, 90,
				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, 0, 4, 64, 40, 0, 0, 0, 0, 0, 99, 100, 0, 60, 9, 3, 9, 53, 9, 55,
				56, 57, 58, 64, 0, 61, 62, 63, 0, 65, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 1, 2, 40, 4,
				40, 6, 40, 8, 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, 0, 4, 5, 40, 7, 0, 9, 55, 0, 1, 2, 95, 7, 0, 0, 54,
				53, 0, 55, 56, 57, 58, 9, 9, 61, 62, 63, 0, 65, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15,
				16, 17, 18, 19, 20, 21, 88, 0, 1, 2, 3, 4, 0, 6, 0, 8, 9, 3, 34, 35, 36, 37, 38, 39, 72, 41, 42, 43, 44,
				45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 72, 72, 5, 59, 0, 0, 62, 40, 3, 97, 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, 1, 2, 3, 4, 97, 6, 0, 8, 9, 70, 113, 34,
				35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 0, 0, 0, 59, 0, 3, 40,
				54, 64, 9, 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, 34,
				35, 3, 34, 35, 0, 1, 2, 0, 1, 2, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
				52, 0, 1, 2, 68, 96, 0, 59, 72, 0, 0, 0, 0, 7, 0, 3, 0, 69, 9, 9, 9, 73, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55,
				10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 1, 2, 0, 0, 0, 6, 40, 0, 0, 0, 3, 34, 35, 36, 37, 38,
				39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2, 68, 68, 64, 59, 73, 73, 0, 71, 0, 3, 66,
				67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 55, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 0, 0, 54, 64,
				64, 71, 0, 0, 9, 9, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1, 2,
				0, 0, 0, 59, 3, 89, 90, 0, 0, 9, 66, 67, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
				18, 19, 20, 21, 60, 0, 69, 97, 0, 70, 72, 3, 0, 0, 0, 70, 34, 35, 36, 37, 38, 39, 55, 41, 42, 43, 44,
				45, 46, 47, 48, 49, 50, 51, 52, 97, 64, 0, 1, 2, 0, 59, 0, 73, 0, 0, 0, 70, 3, 71, 0, 69, 0, 1, 2, 3, 4,
				5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 60, 0, 1, 2, 0, 74, 0, 3, 0, 5, 6, 7, 34,
				35, 36, 37, 38, 39, 55, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 60, 0, 1, 2, 0, 60, 59, 34, 35,
				36, 37, 70, 39, 0, 0, 0, 69, 0, 3, 0, 3, 113, 0, 9, 9, 55, 0, 54, 0, 54, 0, 54, 0, 60, 0, 3, 97, 64, 10,
				66, 67, 68, 0, 70, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 55, 0, 54, 86, 87, 0, 89, 90, 91, 92,
				93, 94, 95, 96, 0, 10, 99, 100, 101, 60, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 72, 72, 54,
				61, 117, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 53, 0, 55, 0,
				0, 4, 0, 0, 4, 3, 54, 34, 35, 36, 37, 38, 39, 10, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 1,
				2, 3, 4, 5, 6, 7, 8, 0, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 54, 0, 54, 113, 54, 54, 0,
				53, 9, 55, 64, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0,
				89, 90, 3, 0, 9, 0, 55, 118, 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, 0, 68, 0, 72, 55, 0, 0, 0, 0, 71, 0, 34, 35, 36, 37, 38, 39, 54, 41, 42, 43, 44, 45, 46,
				47, 48, 49, 50, 51, 52, 0, 0, 68, 68, 71, 73, 59, 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, 54, 0, 54, 0, 0, 0, 0, 64, 71, 34, 35, 36, 37, 38, 39, 75, 41, 42,
				43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 121, 0, 3, 89, 90, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 0, 10,
				11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 54, 0, 0, 0, 0, 3, 3, 3, 0, 0, 64, 68, 34, 35, 36, 37, 38,
				39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 3, 89, 90, 59, 0, 1, 2, 3, 4, 5, 6, 7,
				8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 54, 0, 3, 0, 0, 0, 68, 0, 0, 34, 35, 36,
				37, 38, 39, 70, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 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, 70, 70, 34,
				35, 36, 37, 38, 39, 71, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 0, 0, 0, 0, 0, 0, 59, 0, 1, 2,
				3, 4, 5, 6, 7, 8, 71, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 70,
				70, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 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, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 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, 39, 0, 41,
				42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 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, 39, 0, 41, 42, 43, 44, 45,
				46, 47, 48, 49, 50, 51, 52, 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, 9, 0, 0, 34, 35, 36, 37, 38, 39, 0, 41, 42, 43, 44, 45, 46, 47, 48, 49,
				50, 51, 52, 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, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 53, 4, 0,
				56, 57, 58, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 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, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 53, 0, 0, 56, 57, 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, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 0, 0, 0, 3, 0,
				53, 0, 0, 56, 57, 58, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 0, 0, 1, 2, 3, 4, 40, 6, 0, 8, 9,
				3, 0, 36, 37, 0, 0, 9, 0, 0, 54, 0, 0, 0, 0, 0, 60, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 60, 72, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 60, 0, 0, 0, 0, 0, 40, 60, 0, 0, 0, 64,
				72, 0, 0, 68, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 0, 0, 0, 117, 0, 119, 0, 0, 72, 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, 5, 0, 7,
				0, 0, 0, 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,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60, 0, 0, 0, 64, 0, 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 };
	};

	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, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6840, 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, 6828, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 121, 1, 1, 1, 1, 1, 133, 2753, 7070, 2290, 129, 3567, 1, 1, 367, 6873, 6862,
				6876, 6877, 6869, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 10, 6843, 6843,
				6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843,
				6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843,
				6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843,
				4322, 4421, 6843, 6843, 6843, 6843, 39, 6843, 6843, 6843, 6900, 6843, 6843, 6843, 3582, 6843, 3779,
				3747, 432, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 6843, 8, 6846, 6846,
				6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846,
				6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846,
				6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846,
				125, 135, 6846, 6846, 6846, 6846, 6862, 6846, 6846, 6846, 1320, 6846, 6846, 6846, 333, 6846, 6862, 6607,
				6604, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6846, 6862, 6824, 6803,
				6803, 6803, 6803, 6803, 6803, 6803, 6831, 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, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1, 1, 1, 1, 421,
				2753, 7070, 2290, 3490, 3567, 1, 1, 6862, 6873, 48, 6607, 6604, 190, 980, 3658, 3062, 3270, 2180, 3649,
				4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 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, 6828, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 124, 1577, 1, 1, 1, 1, 134, 2753, 7070, 2290, 6862, 3567, 1, 1, 6862, 6873, 123,
				5948, 122, 6862, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824,
				6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 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, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1, 1, 1, 1,
				153, 2753, 7070, 2290, 130, 3567, 1, 1, 3582, 6873, 4322, 4421, 4322, 4421, 980, 3658, 3062, 3270, 2180,
				3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 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, 6828, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 141, 136, 1, 1, 1, 1, 154, 2753, 7070, 2290, 149, 3567, 1, 1, 3617, 6873,
				3779, 3747, 145, 6862, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862,
				6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 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, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1, 1, 1,
				1, 6862, 2753, 7070, 2290, 3490, 3567, 1, 1, 3617, 6873, 3851, 3811, 4322, 4421, 980, 3658, 3062, 3270,
				2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803,
				6831, 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, 6828, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 144, 139, 1, 1, 1, 1, 6862, 2753, 7070, 2290, 155, 3567, 1, 1, 6862,
				6873, 434, 6876, 6877, 1800, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655,
				6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 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, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322, 4421, 1,
				1, 1, 1, 6862, 2753, 7070, 2290, 2284, 3567, 1, 1, 432, 6873, 1079, 3893, 425, 3526, 980, 3658, 3062,
				3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803,
				6803, 6831, 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,
				6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 142, 6862, 1, 1, 1, 1, 6862, 2753, 7070, 2290, 150, 3567,
				1, 1, 6862, 6873, 36, 6761, 6758, 6862, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886,
				3655, 6862, 6824, 6803, 6803, 6803, 6803, 6803, 6803, 6803, 6831, 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, 6828, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4322,
				4421, 1, 1, 1, 1, 137, 2753, 7070, 2290, 6862, 3567, 1, 1, 1118, 6873, 3851, 3811, 552, 6862, 980, 3658,
				3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 6862, 3650, 1, 1, 1, 1, 1, 1, 1, 3651, 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, 6871, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 994, 442, 1, 1, 1, 1, 6862, 2753, 7070, 2290, 6770, 3567, 1, 1, 6862, 6873,
				3396, 6862, 10586, 10586, 980, 3658, 3062, 3270, 2180, 3649, 4730, 3657, 1508, 3656, 3886, 3655, 39,
				6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6773, 1262, 7161, 7159, 7168, 7167, 7163, 7164, 7162,
				7165, 7166, 7169, 7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 5554,
				5524, 5647, 5624, 6881, 5435, 6898, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880,
				7297, 6862, 6862, 1198, 7298, 7299, 1528, 6862, 6737, 6737, 263, 6733, 263, 263, 263, 263, 6741, 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, 6521, 6521, 6862, 318, 6862, 263,
				6862, 6514, 6510, 653, 6661, 6794, 963, 6794, 2235, 333, 6876, 6877, 1, 115, 6730, 1, 1, 1, 5390, 111,
				1107, 7311, 1556, 1, 6514, 6510, 653, 6661, 6862, 963, 263, 2235, 453, 1570, 820, 1407, 3580, 257, 345,
				6514, 6510, 653, 6661, 6794, 963, 6794, 2235, 7399, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165,
				7166, 7169, 7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 3072, 6862,
				7334, 7335, 7336, 6862, 6737, 6737, 263, 6733, 263, 263, 263, 263, 6782, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5693, 6862, 5142, 4702, 139, 37, 263, 5716, 126, 403, 6514,
				6510, 4206, 6661, 1, 963, 1, 2235, 495, 1, 258, 6730, 1, 1, 1, 6862, 6201, 1107, 7311, 1556, 4930, 33,
				6862, 6862, 6465, 6862, 6465, 263, 6465, 452, 6465, 1904, 7156, 7235, 7236, 7150, 7157, 7153, 7129,
				7155, 7154, 7151, 7152, 7130, 7399, 367, 6426, 6423, 653, 1410, 6898, 963, 4058, 2235, 6862, 6465, 6465,
				6465, 6465, 1321, 6862, 6465, 6447, 639, 2097, 6862, 6876, 6877, 6453, 1368, 7334, 7335, 7336, 6862,
				6874, 6465, 1, 6514, 6510, 4206, 6661, 6465, 963, 114, 2235, 6465, 3729, 4004, 3931, 6465, 4930, 6465,
				6465, 6465, 6465, 1079, 3893, 2050, 2003, 1956, 1909, 1862, 1815, 1768, 1721, 1674, 1627, 6465, 6465,
				118, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465,
				6465, 6465, 6465, 6465, 6465, 6465, 6465, 6465, 6873, 6422, 1321, 2699, 6465, 6465, 6465, 6465, 6862,
				4638, 4611, 6468, 433, 6468, 6862, 6468, 424, 6468, 1, 6514, 6510, 653, 6661, 6874, 963, 595, 2235, 337,
				37, 6877, 6877, 6877, 6877, 6877, 39, 6877, 6862, 7198, 6900, 367, 5693, 367, 6468, 6468, 6468, 6468,
				91, 5716, 6468, 6459, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6877, 6468,
				6862, 6426, 6423, 1150, 6900, 6468, 6862, 6426, 6423, 6468, 1410, 6862, 6471, 6468, 2235, 6468, 6468,
				6468, 6468, 476, 6873, 3578, 38, 6444, 6441, 6877, 3072, 2499, 6438, 6877, 2235, 6468, 6468, 6877, 6468,
				6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468, 6468,
				6468, 6468, 6468, 6468, 6468, 6468, 43, 6628, 6628, 1024, 6468, 6468, 6468, 6468, 6862, 6803, 6803, 263,
				6803, 263, 263, 263, 263, 6806, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1,
				1, 6862, 1, 6514, 6510, 6776, 6661, 263, 6779, 113, 6664, 481, 1, 1, 6625, 1, 6450, 112, 6450, 259, 1,
				159, 6800, 1, 1, 1, 131, 6862, 2241, 7107, 2290, 2713, 3567, 3665, 7334, 7335, 7336, 6862, 6876, 6877,
				254, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862, 2768, 7399, 6862,
				6803, 6803, 263, 6803, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202,
				1, 1, 1, 1, 1, 1, 6862, 2851, 6862, 6862, 6426, 6423, 263, 1410, 39, 963, 5693, 2235, 6900, 5670, 1111,
				1, 6862, 5716, 5693, 1, 3518, 6800, 1, 1, 1, 5716, 6862, 2241, 7107, 2290, 2565, 3567, 3333, 4895, 2785,
				2719, 2653, 2587, 2521, 2455, 2389, 2323, 2257, 2191, 381, 6426, 6423, 4206, 1410, 367, 963, 367, 2235,
				3566, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 6815, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 482, 39, 39, 6862, 6900, 6712, 263, 6712, 2144, 92, 1, 1, 6866,
				1, 6721, 1321, 6721, 271, 260, 1, 6616, 6800, 1, 1, 1, 6862, 3660, 2241, 7107, 2290, 6862, 3567, 494,
				7334, 7335, 7336, 327, 6876, 6877, 253, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151,
				7152, 7130, 146, 6862, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 6806, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 95, 39, 39, 6456, 6900, 6788, 263, 6788, 6862,
				6426, 6423, 39, 1410, 132, 963, 6900, 2235, 4139, 261, 1, 3665, 6800, 1, 1, 1, 138, 6862, 2241, 7107,
				2290, 6862, 3567, 6865, 1941, 431, 6518, 6518, 384, 318, 254, 7156, 7235, 7236, 7150, 7157, 7153, 7129,
				7155, 7154, 7151, 7152, 7130, 4112, 4085, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 6806,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 318, 6862, 6876, 6877, 6862,
				2703, 263, 963, 1321, 2235, 6862, 6876, 6877, 157, 372, 117, 1904, 6862, 572, 1, 5390, 6800, 1, 1, 1,
				398, 6868, 2241, 7107, 2290, 1, 3567, 3396, 3883, 6862, 6607, 6604, 7235, 7236, 254, 7156, 7235, 7236,
				7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 148, 6862, 7399, 6862, 6803, 6803, 263, 6803, 263,
				263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 6867,
				1321, 116, 6862, 3560, 577, 263, 5390, 6862, 577, 573, 5670, 1111, 1, 4322, 4421, 5819, 4139, 2829, 1,
				3434, 6800, 1, 1, 1, 5142, 4702, 2241, 7107, 2290, 6862, 3567, 7156, 7235, 7236, 7150, 7157, 7153, 7129,
				7155, 7154, 7151, 7152, 7130, 381, 39, 39, 3883, 6900, 367, 6862, 367, 4112, 4085, 7399, 6862, 6803,
				6803, 263, 6803, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9202, 1, 1,
				1, 1, 1, 1, 6862, 6426, 6423, 6862, 6900, 2747, 263, 6862, 156, 1, 574, 1, 5142, 4702, 6862, 1321, 6872,
				4370, 6872, 1, 224, 6800, 1, 1, 1, 2761, 6862, 2241, 7107, 2290, 6862, 3567, 7156, 7235, 7236, 7150,
				7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862, 6426, 6423, 6871, 1410, 6871, 6471, 224, 2235,
				6862, 7399, 6862, 6803, 6803, 263, 6803, 263, 263, 263, 263, 263, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 9202, 1, 1, 1, 1, 1, 1, 1, 6709, 6709, 6862, 6715, 367, 263, 367, 151, 399, 2617, 6862,
				10340, 10337, 3526, 3699, 1, 6862, 2895, 1, 411, 6800, 1, 1, 1, 194, 6868, 2241, 7107, 2290, 394, 3567,
				6862, 1, 1, 1, 1, 1, 1, 1, 1, 6862, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7399, 1, 6514, 6510, 6776, 6661,
				6862, 6779, 347, 6664, 6872, 1604, 1, 1, 1, 1, 1, 1, 399, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 37, 6718,
				6718, 194, 6867, 367, 1, 6862, 6862, 7461, 6871, 4544, 399, 1, 1, 1, 6514, 6510, 672, 1410, 5578, 5501,
				5601, 2235, 6862, 6474, 6501, 6507, 6480, 6483, 6495, 6492, 6498, 6489, 6486, 6477, 6504, 1, 6514, 6510,
				653, 6661, 7255, 963, 158, 2235, 345, 1219, 3660, 5554, 5524, 5647, 5624, 6881, 5435, 6898, 645, 1037,
				6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 37, 6718, 6718, 6862, 120, 6862, 1528, 119,
				4550, 345, 5025, 553, 6868, 39, 39, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6856, 643, 7161,
				7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 6862, 4638, 4611, 4740, 4638, 4611, 6862,
				6747, 6744, 6862, 10340, 10337, 5554, 5524, 5647, 5624, 6881, 5435, 1716, 645, 1037, 6883, 972, 5785,
				978, 6884, 6882, 642, 6878, 6879, 6880, 326, 967, 967, 6281, 3434, 152, 1528, 6867, 6862, 6862, 6862,
				6862, 3699, 6862, 2883, 6862, 6837, 6870, 6870, 6872, 6869, 174, 6426, 6423, 5019, 1410, 5578, 5501,
				5601, 2235, 6898, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 37, 6718, 6718,
				6862, 6862, 6862, 6718, 6871, 383, 6862, 6862, 2077, 5554, 5524, 5647, 5624, 6881, 5435, 147, 645, 1037,
				6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, 6754, 6750, 1170, 796, 7411, 1528, 6869,
				6869, 6862, 2917, 1, 4276, 39, 39, 1, 6514, 6510, 672, 1410, 5578, 5501, 5601, 2235, 1951, 6474, 6501,
				6507, 6480, 6483, 6495, 6492, 6498, 6489, 6486, 6477, 6504, 1321, 1, 1, 406, 4139, 7340, 7354, 7300,
				100, 404, 6818, 399, 5554, 5524, 5647, 5624, 6881, 5435, 6898, 645, 1037, 6883, 972, 5785, 978, 6884,
				6882, 642, 6878, 6879, 6880, 45, 6767, 6767, 1, 103, 6862, 1528, 4349, 4112, 4085, 328, 465, 6821, 39,
				39, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6834, 643, 7161, 7159, 7168, 7167, 7163, 7164,
				7162, 7165, 7166, 7169, 7160, 4951, 1, 6873, 7257, 6862, 1431, 399, 3111, 6862, 584, 356, 1481, 5554,
				5524, 5647, 5624, 6881, 5435, 6764, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880,
				399, 6027, 6862, 6747, 6744, 6862, 1528, 6862, 6869, 1, 354, 457, 3129, 6785, 2767, 99, 6837, 39, 6426,
				6423, 5019, 1410, 5578, 5501, 5601, 2235, 6834, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165,
				7166, 7169, 7160, 1321, 6862, 11342, 8963, 1, 3313, 29, 636, 477, 7362, 7368, 7366, 5554, 5524, 5647,
				5624, 6881, 5435, 6898, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 1321, 37,
				6718, 6718, 491, 3030, 1528, 7360, 7361, 7391, 7392, 3228, 7369, 6862, 1, 1, 6837, 313, 3883, 6862,
				6797, 1, 575, 6868, 6610, 6898, 6862, 7371, 337, 6429, 6862, 6432, 6862, 794, 424, 3569, 3878, 7372,
				7198, 1760, 1773, 7393, 6862, 7370, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152,
				7130, 6898, 583, 6435, 7382, 7381, 1, 7387, 7388, 7394, 7385, 7386, 7365, 7367, 7389, 6862, 6809, 7363,
				7364, 7390, 1321, 7375, 7376, 7377, 7373, 7374, 7383, 7384, 7379, 7378, 7380, 6867, 6613, 6462, 1890,
				7395, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6866, 643, 7161, 7159, 7168, 7167, 7163, 7164,
				7162, 7165, 7166, 7169, 7160, 128, 6812, 48, 3575, 6862, 48, 6877, 6862, 1, 6876, 4668, 1150, 5554,
				5524, 5647, 5624, 6881, 5435, 6809, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880,
				1, 6514, 6510, 6706, 6661, 6649, 6667, 6652, 6664, 47, 6474, 6501, 6507, 6480, 6483, 6495, 6492, 6498,
				6489, 6486, 6477, 6504, 1, 4058, 320, 6877, 3660, 3518, 6876, 485, 6812, 591, 3575, 6631, 6646, 6643,
				6658, 6655, 6679, 6640, 6862, 6694, 6703, 6673, 6697, 6637, 6700, 6670, 6676, 6691, 6688, 6685, 6682, 8,
				29, 326, 463, 6862, 4004, 3931, 4511, 218, 6859, 6862, 1619, 6865, 6709, 6709, 39, 6426, 6423, 5019,
				1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169,
				7160, 6862, 6862, 7181, 227, 591, 3519, 127, 432, 73, 6862, 739, 6862, 5554, 5524, 5647, 5624, 6881,
				5435, 1150, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, 6862, 9942, 718,
				461, 6859, 1528, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167,
				7163, 7164, 7162, 7165, 7166, 7169, 7160, 4058, 1150, 6791, 3309, 486, 3385, 6862, 6862, 6862, 35, 6634,
				3171, 5554, 5524, 5647, 5624, 6881, 5435, 6850, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878,
				6879, 6880, 6862, 6853, 6862, 6150, 4004, 3931, 6862, 1021, 39, 6426, 6423, 672, 1410, 5578, 5501, 5601,
				2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 4139, 344, 6862,
				6862, 6862, 6248, 4794, 6304, 545, 2, 4179, 2511, 5554, 5524, 5647, 5624, 6881, 5435, 2125, 645, 1037,
				6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862, 6862, 6862, 4963, 4112, 4085, 1528, 39,
				6426, 6423, 672, 1410, 5578, 5501, 5601, 2235, 4792, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162,
				7165, 7166, 7169, 7160, 543, 6862, 6862, 37, 6862, 5274, 6862, 6862, 6862, 2222, 6862, 6862, 5554, 5524,
				5647, 5624, 6881, 5435, 5922, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862,
				6862, 6862, 6862, 6862, 6862, 1528, 39, 6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161,
				7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 6862, 547, 6862, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6274, 2125, 5554, 5524, 5647, 5624, 6881, 5435, 4854, 645, 1037, 6883, 972, 5785, 978,
				6884, 6882, 642, 6878, 6879, 6880, 6862, 6862, 6862, 6862, 6862, 6862, 1528, 39, 6426, 6423, 5954, 1410,
				5578, 5501, 5601, 2235, 4916, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 2983, 901, 5554, 5524, 5647, 5624, 6881,
				5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39, 6426, 6423, 5019,
				1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169,
				7160, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 5554, 5524, 5647, 5624,
				6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39, 6426, 6423,
				672, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166,
				7169, 7160, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 5554, 5524, 5647,
				5624, 6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39, 6426,
				6423, 672, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165,
				7166, 7169, 7160, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 5554, 5524,
				5647, 5624, 6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 39,
				6426, 6423, 5019, 1410, 5578, 5501, 5601, 2235, 6862, 643, 7161, 7159, 7168, 7167, 7163, 7164, 7162,
				7165, 7166, 7169, 7160, 1, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 196, 6862, 6862, 5554, 5524,
				5647, 5624, 6881, 5435, 6862, 645, 1037, 6883, 972, 5785, 978, 6884, 6882, 642, 6878, 6879, 6880, 6862,
				6426, 6423, 6862, 6900, 6862, 6862, 6862, 6862, 6862, 882, 7161, 7159, 7168, 7167, 7163, 7164, 7162,
				7165, 7166, 7169, 7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 196, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 275, 6597,
				6593, 7297, 6601, 6862, 1198, 7298, 7299, 6862, 882, 6584, 6590, 6563, 6566, 6578, 6575, 6581, 6572,
				6569, 6560, 6587, 6539, 6533, 6530, 6557, 6536, 6548, 6527, 6542, 6545, 6554, 6551, 6524, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6876, 6877, 6862,
				7297, 6862, 6862, 1198, 7298, 7299, 1571, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169,
				7160, 7156, 7235, 7236, 7150, 7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 275, 6727, 6724, 6862, 7297, 6862,
				6862, 1198, 7298, 7299, 1571, 6584, 6590, 6563, 6566, 6578, 6575, 6581, 6572, 6569, 6560, 6587, 6539,
				6533, 6530, 6557, 6536, 6548, 6527, 6542, 6545, 6554, 6551, 6524, 6862, 6862, 6862, 29, 424, 424, 6622,
				424, 6622, 424, 6622, 424, 6622, 6862, 75, 6862, 6862, 704, 6862, 7297, 6862, 6862, 1198, 7298, 7299,
				424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 424, 6862, 1, 6514, 6510, 4206, 6661, 6622, 963,
				1, 2235, 6610, 3883, 6862, 6924, 6925, 6862, 6862, 377, 6862, 6862, 6429, 6862, 6862, 6862, 6862, 6862,
				6622, 32, 425, 425, 6619, 425, 6619, 425, 6619, 425, 6619, 3890, 6622, 6862, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 425, 1321, 6862,
				6862, 6862, 6862, 6862, 6619, 1321, 6862, 6862, 6862, 377, 6613, 6862, 6862, 377, 6862, 6862, 6862, 377,
				6862, 6862, 6862, 6862, 6862, 6862, 6619, 6862, 571, 6862, 6862, 6862, 6862, 1060, 6862, 2552, 6862,
				6862, 6619, 7161, 7159, 7168, 7167, 7163, 7164, 7162, 7165, 7166, 7169, 7160, 7156, 7235, 7236, 7150,
				7157, 7153, 7129, 7155, 7154, 7151, 7152, 7130, 37, 6876, 6876, 6876, 6876, 6876, 6862, 6876, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6876, 6876, 6876, 6876,
				6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862,
				6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862, 6862,
				6876, 6862, 6862, 6862, 6876, 6862, 6862, 6862, 6876 };
	};

	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, 790, 15, 671, 9, 831, 880, 880, 880, 880, 536, 831, 562, 562, 468, 562,
				262, 655, 264, 672, 672, 672, 672, 672, 672, 672, 672, 672, 564, 570, 575, 572, 579, 577, 584, 582, 586,
				585, 587, 331, 588, 671, 655, 192, 192, 192, 192, 710, 17, 165, 165, 559, 192, 328, 105, 562, 562, 165,
				710, 105, 105, 96, 655, 947, 191, 1124, 538, 1005, 655, 562, 564, 763, 763, 17, 671, 672, 672, 672, 672,
				672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 672, 671, 671, 671, 671, 671, 671,
				671, 671, 671, 671, 671, 671, 672, 105, 105, 1070, 1070, 1070, 1070, 1126, 105, 165, 165, 534, 994,
				1005, 6, 1005, 1, 1005, 282, 1005, 989, 536, 710, 328, 328, 165, 880, 672, 534, 288, 908, 898, 897, 432,
				1012, 1012, 536, 264, 328, 191, 671, 708, 1123, 105, 707, 709, 707, 105, 328, 572, 572, 570, 570, 570,
				577, 577, 577, 577, 575, 575, 582, 579, 579, 585, 584, 586, 1082, 587, 831, 831, 831, 831, 710, 710,
				1070, 193, 530, 655, 1047, 1045, 1052, 1050, 1054, 1053, 1055, 1056, 1069, 1070, 559, 710, 380, 383, 3,
				765, 4, 536, 710, 710, 1126, 1070, 96, 328, 603, 105, 910, 912, 710, 1124, 672, 192, 568, 61, 105, 538,
				710, 710, 709, 1124, 671, 671, 671, 671, 671, 831, 831, 507, 518, 518, 518, 518, 502, 536, 713, 672,
				672, 672, 672, 672, 672, 672, 672, 672, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 671, 672,
				655, 381, 557, 555, 383, 710, 720, 160, 718, 1126, 6, 540, 710, 1126, 710, 105, 902, 890, 901, 912,
				1126, 708, 105, 568, 534, 1123, 538, 710, 708, 105, 105, 105, 105, 17, 17, 710, 672, 1045, 1045, 1045,
				1050, 1047, 1047, 1053, 1052, 1054, 1082, 1055, 381, 555, 543, 710, 383, 1082, 4, 880, 1128, 147, 1072,
				383, 720, 719, 720, 720, 1126, 540, 540, 710, 710, 612, 671, 899, 899, 269, 269, 710, 906, 534, 840,
				105, 710, 568, 569, 568, 671, 61, 152, 564, 538, 105, 105, 1126, 785, 671, 555, 555, 1124, 6, 6, 1070,
				880, 707, 622, 1074, 704, 831, 720, 720, 720, 720, 710, 540, 542, 835, 542, 612, 671, 671, 912, 710,
				1124, 105, 910, 890, 612, 443, 568, 17, 672, 328, 152, 710, 555, 554, 708, 724, 6, 109, 399, 708, 720,
				720, 704, 608, 672, 1082, 277, 873, 710, 534, 720, 720, 546, 542, 543, 672, 710, 777, 912, 612, 569,
				105, 328, 555, 609, 724, 724, 59, 1084, 372, 831, 4, 146, 399, 708, 720, 6, 536, 1074, 672, 672, 1123,
				704, 882, 427, 547, 710, 543, 777, 105, 777, 543, 724, 724, 108, 372, 59, 886, 536, 1069, 880, 154, 154,
				609, 6, 635, 882, 710, 831, 546, 710, 536, 536, 710, 831, 770, 777, 543, 109, 724, 609, 276, 608, 105,
				536, 710, 399, 109, 399, 1068, 1068, 833, 636, 536, 710, 17, 710, 710, 710, 913, 770, 724, 671, 225,
				704, 609, 710, 710, 399, 192, 192, 833, 635, 1082, 672, 1082, 609, 634, 831, 831, 831, 636, 831, 710,
				339, 609, 609, 710, 6, 105, 710, 710, 104, 772, 543, 105, 543, 6, 710, 609, 1069, 627, 831, 627, 636,
				1082, 636, 655, 655, 653, 634, 655, 609, 609, 783, 633, 192, 772, 543, 225, 609, 222, 840, 636, 105,
				704, 105, 653, 372, 831, 105, 833, 225, 154, 105, 105, 456, 636, 783, 636, 609, 372, 671, 636, 633, 542,
				1068, 6, 6, 979, 671, 634, 17, 609, 105, 607, 224, 707, 636, 105, 609, 607, 607, 636 };
	};

	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, 55, 4, 71, 1, 2, 69, 9, 0, 9, 71, 118, 72, 40, 68, 120, 0, 9, 72, 11, 12,
				41, 66, 13, 42, 43, 14, 15, 16, 67, 8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52,
				1, 2, 3, 36, 37, 7, 5, 34, 35, 6, 39, 4, 38, 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, 40, 120, 64, 1,
				2, 7, 5, 4, 3, 60, 68, 72, 9, 0, 69, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33,
				58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 5, 40, 63, 65, 88, 27, 62, 55, 61, 8, 1, 2, 4, 10, 6, 0,
				64, 70, 68, 1, 2, 0, 4, 9, 71, 69, 0, 41, 66, 42, 43, 67, 8, 44, 45, 46, 47, 59, 48, 49, 50, 51, 52, 38,
				36, 37, 7, 5, 34, 35, 6, 39, 64, 3, 4, 10, 1, 2, 56, 57, 58, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20,
				25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 53, 0, 73, 59, 36, 37, 7, 5, 34, 35, 39, 45, 3, 4, 50,
				51, 52, 38, 48, 43, 47, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 69, 9, 8, 6,
				1, 2, 67, 66, 0, 74, 64, 71, 97, 72, 69, 60, 3, 9, 68, 40, 70, 0, 4, 9, 69, 1, 2, 0, 66, 67, 3, 10, 42,
				46, 44, 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 50, 51, 52, 38, 48, 43, 47, 6, 8, 4, 36, 37,
				7, 5, 34, 35, 39, 45, 1, 2, 118, 9, 0, 64, 71, 97, 68, 118, 72, 73, 120, 11, 12, 41, 66, 13, 42, 43, 14,
				15, 16, 67, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 36, 37, 34, 35, 39, 9,
				40, 6, 8, 1, 2, 4, 3, 7, 5, 0, 88, 61, 8, 114, 115, 116, 63, 9, 3, 7, 5, 6, 71, 73, 40, 62, 25, 11, 12,
				53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 55, 33, 10, 58, 19, 20, 24, 21, 1,
				2, 4, 22, 0, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 25, 23, 26, 27, 28, 29, 30, 31, 32, 33, 22, 24,
				40, 9, 72, 8, 1, 2, 60, 3, 7, 5, 6, 4, 0, 67, 66, 34, 35, 99, 100, 94, 95, 6, 39, 70, 54, 106, 107, 103,
				104, 105, 111, 110, 112, 87, 86, 108, 109, 92, 93, 89, 90, 96, 101, 36, 37, 91, 117, 10, 56, 53, 57, 58,
				12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 25, 31, 32, 27, 30, 29, 22, 26, 23, 24, 28, 33, 64, 68, 3,
				60, 7, 5, 1, 2, 4, 0, 1, 2, 68, 73, 9, 0, 22, 1, 2, 4, 114, 115, 116, 0, 59, 23, 24, 8, 6, 1, 2, 4, 74,
				69, 119, 117, 36, 37, 60, 3, 98, 91, 5, 99, 100, 34, 35, 87, 86, 54, 89, 90, 92, 93, 7, 94, 95, 96, 64,
				97, 72, 120, 70, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 71, 118, 101, 102, 73, 68, 40, 9, 0,
				23, 59, 24, 9, 64, 97, 70, 68, 72, 0, 9, 71, 69, 74, 0, 88, 114, 115, 116, 55, 71, 113, 121, 73, 62, 74,
				63, 61, 65, 76, 78, 84, 82, 75, 80, 81, 83, 85, 69, 77, 79, 40, 9, 25, 53, 23, 56, 26, 27, 28, 29, 30,
				31, 32, 57, 33, 58, 22, 24, 59, 66, 67, 10, 42, 46, 44, 41, 49, 12, 21, 11, 17, 15, 16, 18, 19, 14, 13,
				20, 50, 51, 52, 38, 48, 43, 47, 36, 37, 34, 35, 39, 45, 7, 5, 3, 4, 8, 6, 1, 2, 0, 54, 64, 89, 90, 0, 4,
				54, 9, 71, 69, 0, 65, 25, 11, 12, 53, 23, 13, 56, 26, 88, 27, 14, 28, 29, 15, 16, 30, 61, 31, 17, 18,
				32, 57, 33, 10, 58, 19, 63, 22, 20, 24, 21, 9, 3, 7, 5, 73, 40, 62, 8, 6, 55, 1, 2, 4, 0, 23, 24, 74, 3,
				71, 40, 69, 59, 9, 64, 97, 68, 72, 70, 0, 72, 9, 87, 86, 0, 11, 12, 41, 66, 13, 42, 43, 14, 15, 16, 67,
				8, 44, 17, 18, 45, 46, 47, 59, 48, 49, 10, 19, 20, 21, 50, 51, 52, 38, 1, 2, 36, 37, 7, 5, 34, 35, 6,
				39, 4, 62, 3, 0, 113, 0, 9, 68, 73, 70, 0, 25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30,
				31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 1, 2, 4, 97, 0, 71, 9, 60, 3, 70, 68, 40, 54, 0, 9,
				69, 68, 0, 9, 69, 70, 0, 7, 5, 8, 6, 4, 1, 2, 3, 60, 64, 70, 68, 9, 72, 97, 0, 6, 8, 3, 60, 5, 7, 97,
				25, 11, 12, 53, 23, 13, 56, 26, 27, 14, 28, 29, 15, 16, 30, 31, 17, 18, 32, 57, 33, 10, 58, 19, 22, 20,
				24, 21, 1, 2, 4, 72, 9, 0, 66, 67, 36, 37, 34, 35, 39, 45, 50, 51, 52, 38, 48, 43, 47, 12, 21, 11, 17,
				15, 16, 18, 19, 14, 13, 20, 10, 42, 46, 44, 41, 49, 7, 5, 3, 60, 8, 6, 4, 1, 2, 0, 10, 56, 53, 57, 58,
				12, 21, 11, 17, 15, 16, 18, 19, 14, 13, 20, 74, 71, 97, 118, 73, 69, 120, 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, 60, 3, 5, 72, 40, 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, 64, 0, 40, 9, 3, 8, 6, 7, 5, 4, 1, 2, 71, 0, 53, 23, 13, 56, 26, 14, 28, 29, 15, 16, 30, 31, 17, 18,
				32, 57, 33, 10, 58, 19, 22, 20, 24, 21, 12, 11, 25, 9, 3, 7, 40, 63, 61, 65, 88, 27, 62, 54, 4, 5, 8, 6,
				1, 2, 55, 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, 160, 12, 82, 12, 12, 12, 12, 12, 12, 86, 12, 12, 12, 125, 12, 238, 26,
				157, 82, 82, 257, 82, 82, 82, 82, 82, 82, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 82, 12, 82, 26,
				218, 218, 218, 218, 157, 16, 180, 180, 93, 5, 108, 230, 12, 12, 180, 261, 230, 230, 164, 1, 82, 77, 53,
				12, 12, 26, 12, 12, 68, 68, 16, 27, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
				82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 27, 82, 230, 230, 12, 12, 12, 12, 120, 230, 43, 43,
				187, 275, 276, 226, 276, 13, 276, 88, 276, 269, 10, 157, 108, 108, 43, 12, 82, 187, 103, 163, 19, 19,
				12, 12, 12, 10, 157, 108, 218, 113, 238, 99, 230, 237, 157, 237, 230, 108, 12, 12, 12, 12, 12, 12, 12,
				12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 192, 11, 12, 250, 164, 21, 12, 12, 12,
				12, 12, 12, 12, 12, 12, 12, 197, 157, 12, 180, 191, 86, 96, 86, 157, 11, 12, 12, 195, 108, 12, 230, 303,
				180, 157, 53, 82, 218, 180, 34, 230, 12, 11, 157, 110, 53, 82, 27, 27, 27, 27, 12, 12, 275, 276, 276,
				276, 276, 286, 10, 12, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82, 82,
				27, 82, 43, 189, 189, 189, 204, 192, 41, 41, 12, 242, 226, 180, 242, 52, 192, 230, 12, 173, 12, 306, 51,
				192, 230, 91, 197, 99, 12, 261, 192, 230, 230, 230, 230, 16, 16, 157, 82, 12, 12, 12, 12, 12, 12, 12,
				12, 12, 12, 12, 12, 180, 145, 157, 170, 12, 74, 12, 12, 116, 278, 204, 41, 41, 180, 180, 52, 180, 262,
				11, 192, 180, 82, 12, 12, 19, 19, 157, 172, 187, 306, 230, 192, 180, 59, 12, 27, 197, 111, 12, 12, 230,
				230, 52, 230, 82, 189, 137, 53, 226, 130, 12, 12, 86, 180, 182, 175, 12, 180, 180, 57, 57, 192, 262, 55,
				12, 12, 137, 82, 82, 180, 11, 53, 230, 303, 232, 180, 12, 91, 16, 82, 108, 111, 192, 180, 137, 238, 180,
				226, 294, 180, 242, 180, 123, 234, 170, 82, 12, 66, 12, 157, 187, 57, 57, 151, 55, 145, 82, 262, 180,
				306, 137, 59, 230, 108, 137, 170, 264, 180, 12, 294, 279, 12, 129, 116, 306, 238, 123, 132, 37, 175, 82,
				82, 139, 234, 12, 86, 142, 242, 145, 118, 230, 180, 145, 294, 264, 225, 182, 12, 12, 86, 12, 12, 61, 61,
				170, 132, 144, 12, 242, 12, 30, 242, 86, 86, 11, 12, 180, 118, 145, 294, 180, 170, 135, 12, 230, 86,
				242, 306, 294, 180, 12, 12, 180, 211, 37, 11, 16, 11, 242, 242, 228, 137, 264, 113, 80, 175, 170, 242,
				75, 306, 218, 218, 149, 221, 12, 82, 12, 170, 12, 12, 12, 12, 222, 12, 262, 168, 170, 170, 262, 63, 230,
				11, 11, 230, 180, 145, 230, 180, 226, 75, 170, 12, 155, 12, 12, 222, 12, 222, 299, 299, 245, 12, 299,
				170, 170, 12, 180, 218, 118, 145, 180, 170, 12, 218, 222, 230, 175, 230, 217, 180, 12, 230, 149, 80, 61,
				230, 230, 180, 222, 12, 222, 170, 175, 27, 222, 155, 145, 12, 63, 63, 173, 82, 12, 201, 170, 230, 147,
				79, 237, 222, 230, 170, 147, 12, 222 };
	};

	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, 205, 0, 5, 105, 0,
				80, 0, 13, 2, 9, 10, 4, 52, 5, 36, 0, 4, 115, 182, 0, 5, 194, 0, 186, 4, 185, 0, 122, 0, 4, 10, 9, 2,
				13, 127, 5, 0, 154, 2, 75, 0, 167, 0, 123, 0, 159, 0, 121, 0, 42, 66, 0, 208, 0, 4, 2, 9, 10, 157, 0,
				140, 117, 0, 192, 0, 81, 148, 42, 10, 9, 2, 13, 4, 0, 166, 200, 0, 161, 0, 5, 212, 0, 42, 1, 0, 75, 156,
				155, 0, 13, 2, 9, 10, 4, 94, 0, 2, 131, 0, 5, 28, 0, 170, 0, 144, 0, 154, 75, 0, 173, 0, 5, 52, 213, 0,
				1, 140, 0, 42, 174, 0, 201, 0, 51, 0, 75, 54, 0, 210, 0, 5, 81, 0, 176, 0, 175, 0, 4, 115, 209, 0, 129,
				0, 2, 44, 0, 5, 191, 0, 30, 100, 101, 5, 0, 5, 36, 39, 0, 30, 101, 100, 78, 4, 2, 9, 10, 5, 0, 5, 10, 9,
				2, 78, 4, 98, 54, 0, 44, 2, 3, 0, 101, 100, 54, 4, 68, 0, 5, 195, 0, 5, 50, 93, 115, 48, 4, 0, 5, 50,
				42, 36, 196, 0, 197, 5, 52, 0, 81, 36, 50, 82, 5, 42, 0, 52, 5, 30, 0, 101, 100, 54, 78, 68, 4, 10, 9,
				2, 0, 2, 67, 0, 36, 5, 27, 198, 0, 137, 214, 136, 113, 135, 134, 0, 4, 10, 9, 13, 3, 1, 0, 132, 5, 50,
				93, 0, 2, 4, 113, 110, 111, 112, 13, 69, 0, 39, 4, 2, 9, 10, 5, 172, 0, 113, 69, 13, 110, 111, 112, 190,
				0, 5, 50, 93, 95, 0, 5, 52, 116, 0, 54, 4, 98, 27, 5, 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, 14, 120,
				55, 61, 67, 84, 88, 90, 94, 97, 99, 109, 110, 111, 53, 19, 93, 63, 91, 101, 95, 1, 77, 122, 103, 20, 46,
				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, 130, 135, 136, 0, 0, 134, 0, 0, 237, 243, 133, 0, 143, 0,
				132, 0, 0, 142, 148, 0, 0, 149, 158, 159, 160, 161, 188, 151, 0, 126, 162, 141, 163, 164, 165, 131, 166,
				167, 128, 168, 0, 129, 138, 137, 170, 169, 171, 185, 0, 0, 195, 152, 172, 0, 173, 0, 0, 0, 0, 0, 174,
				175, 176, 0, 177, 180, 0, 155, 194, 0, 0, 0, 212, 0, 0, 145, 209, 213, 0, 214, 127, 179, 0, 0, 0, 0, 0,
				0, 183, 0, 0, 0, 0, 125, 186, 0, 0, 210, 216, 217, 218, 0, 220, 157, 0, 146, 0, 0, 215, 197, 198, 199,
				201, 227, 228, 182, 204, 0, 0, 219, 0, 0, 0, 0, 248, 0, 251, 0, 252, 0, 147, 187, 189, 190, 191, 192,
				196, 200, 203, 0, 206, 0, 207, 0, 222, 225, 0, 0, 0, 246, 0, 247, 0, 0, 139, 140, 144, 0, 0, 154, 156,
				0, 178, 0, 193, 0, 0, 0, 202, 0, 205, 211, 0, 223, 224, 0, 0, 229, 232, 0, 234, 236, 0, 240, 241, 242,
				245, 0, 0, 249, 124, 0, 150, 153, 0, 181, 0, 184, 0, 0, 208, 221, 226, 0, 0, 230, 231, 233, 235, 0, 238,
				239, 244, 250, 253, 254, 0, 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[] = { 48, 112, 18, 18, 92, 112, 18, 18, 18, 18, 85, 97, 49, 92, 111, 90, 59,
				85, 84, 48, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 48, 111, 111, 138, 45, 147, 60, 49, 157, 151, 147,
				85, 18, 18, 151, 102, 72, 153, 88, 190, 185, 182, 178, 138, 199, 57, 66, 161, 19, 18, 18, 18, 18, 18,
				12, 129, 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, 89, 138, 86, 162, 161, 192, 157, 17, 178, 138, 116, 83, 22, 45, 157, 157, 85, 48,
				178, 79, 155, 44, 155, 44, 185, 116, 110, 48, 48, 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, 40, 73, 1, 64, 1, 72,
				121, 69, 3, 72, 1, 64, 64, 64, 1, 1, 40, 73, 69, 1, 1, 1, 72, 73, 1, 1, 4, 64, 68, 40, 1, 1, 64, 72, 72,
				72, 113, 1, 72, 1, 40, 1, 40, 40, 73, 118, 72, 72, 72, 72, 72, 118, 1, 72, 1, 72, 72, 72, 71, 71, 4, 1,
				1, 5, 72, 64, 64, 64, 64, 72, 3, 1, 1, 72, 72, 3, 1, 118, 72, 1, 1, 1, 40, 72, 118, 72, 6, 72, 1, 55,
				70, 71, 72, 64, 1, 55, 75, 74, 40, 40, 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[] = { 85, 183, 284, 284, 107, 183, 284, 284, 284, 284, 95, 109, 85, 107,
				183, 107, 87, 95, 95, 85, 284, 284, 118, 214, 260, 260, 54, 54, 82, 183, 85, 183, 183, 185, 140, 371,
				87, 85, 165, 50, 371, 95, 284, 284, 50, 174, 66, 26, 95, 118, 30, 54, 82, 185, 22, 87, 33, 63, 284, 284,
				284, 284, 284, 284, 264, 6, 82, 95, 95, 95, 148, 344, 165, 183, 183, 124, 95, 284, 284, 284, 284, 174,
				284, 30, 54, 24, 174, 176, 66, 170, 66, 60, 71, 185, 95, 57, 63, 168, 165, 284, 82, 185, 1, 95, 285,
				140, 165, 165, 95, 85, 82, 11, 121, 189, 121, 189, 30, 1, 183, 85, 85, 66 };
	};

	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, 59, 0, 126, 0, 337, 3, 113, 0, 126, 180, 0, 127, 188, 74, 0,
				224, 0, 197, 166, 126, 10, 0, 136, 0, 166, 126, 10, 0, 135, 0, 271, 127, 54, 124, 0, 20, 0, 309, 127,
				54, 55, 0, 20, 53, 0, 33, 132, 0, 20, 53, 0, 0, 309, 127, 54, 55, 215, 0, 20, 186, 0, 271, 127, 54, 132,
				0, 189, 126, 0, 141, 0, 227, 3, 308, 0, 308, 0, 2, 0, 126, 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, 128, 0, 197, 166, 126, 0, 134, 128,
				0, 172, 0, 328, 127, 172, 0, 127, 172, 0, 230, 128, 0, 166, 327, 235, 0, 136, 0, 0, 0, 0, 135, 0, 0, 0,
				0, 326, 127, 164, 236, 0, 127, 0, 236, 0, 129, 0, 0, 127, 0, 325, 127, 164, 270, 0, 127, 0, 0, 44, 127,
				0, 0, 150, 3, 0, 127, 296, 295, 127, 74, 294, 172, 0, 295, 127, 74, 294, 172, 0, 223, 0, 224, 0, 294,
				172, 0, 96, 0, 0, 223, 0, 224, 0, 211, 96, 0, 0, 223, 0, 224, 0, 295, 127, 294, 172, 0, 223, 0, 211, 0,
				0, 223, 0, 240, 127, 3, 0, 126, 0, 0, 0, 0, 0, 240, 127, 3, 222, 0, 231, 3, 0, 220, 127, 0, 216, 0, 146,
				0, 176, 166, 126, 0, 10, 0, 0, 0, 0, 226, 60, 0, 125, 0, 240, 127, 3, 195, 0, 195, 0, 2, 0, 0, 126, 0,
				0, 0, 0, 0, 211, 3, 0, 209, 0, 252, 127, 164, 38, 27, 0, 189, 126, 61, 63, 0, 204, 128, 0, 128, 189,
				126, 292, 63, 0, 189, 126, 292, 63, 0, 189, 126, 70, 123, 61, 0, 252, 127, 164, 262, 61, 0, 252, 127,
				164, 262, 239, 61, 0, 289, 290, 127, 164, 123, 322, 56, 0, 289, 290, 127, 164, 322, 56, 0, 189, 126,
				288, 56, 0, 197, 189, 126, 288, 235, 0, 189, 126, 288, 235, 0, 166, 126, 0, 93, 136, 0, 286, 127, 149,
				0, 286, 127, 172, 0, 158, 84, 0, 317, 161, 319, 320, 3, 81, 0, 126, 179, 0, 319, 320, 3, 81, 0, 128, 0,
				126, 179, 0, 158, 3, 75, 204, 80, 0, 126, 128, 0, 204, 80, 0, 108, 2, 131, 126, 128, 0, 238, 3, 75, 0,
				211, 174, 0, 33, 169, 0, 174, 0, 183, 33, 169, 0, 238, 3, 85, 0, 204, 152, 238, 3, 83, 0, 62, 179, 0,
				238, 3, 83, 0, 126, 179, 62, 179, 0, 318, 127, 164, 0, 158, 0, 226, 77, 0, 30, 179, 0, 158, 102, 185, 0,
				30, 177, 0, 148, 64, 167, 3, 0, 167, 3, 0, 20, 161, 126, 0, 158, 102, 162, 0, 30, 169, 0, 198, 3, 0,
				126, 149, 0, 227, 3, 0, 226, 60, 283, 0, 158, 60, 0, 198, 3, 314, 67, 126, 0, 126, 0, 0, 0, 0, 314, 67,
				126, 0, 2, 145, 126, 0, 0, 0, 0, 198, 3, 45, 0, 147, 0, 125, 55, 166, 126, 0, 31, 147, 0, 93, 136, 31,
				147, 0, 228, 189, 126, 0, 146, 31, 147, 0, 198, 3, 49, 0, 158, 3, 49, 0, 158, 3, 64, 198, 54, 41, 0,
				198, 54, 41, 0, 20, 2, 131, 126, 0, 158, 3, 64, 198, 54, 44, 0, 198, 54, 44, 0, 158, 3, 64, 198, 54, 46,
				0, 198, 54, 46, 0, 158, 3, 64, 198, 54, 42, 0, 198, 54, 42, 0, 227, 3, 125, 197, 166, 126, 10, 0, 125,
				197, 166, 126, 10, 0, 136, 2, 0, 126, 0, 227, 3, 124, 276, 166, 126, 10, 0, 276, 166, 126, 10, 0, 135,
				2, 0, 126, 0, 227, 3, 135, 0, 227, 3, 140, 0, 158, 60, 140, 0, 278, 0, 31, 0, 31, 139, 0, 165, 0, 134,
				0, 158, 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, 4466, 6304, 6248, 6150, 0, 3260, 2778, 2973, 2704, 0, 5301, 5239,
				5172, 5040, 4978, 4916, 4854, 4792, 4730, 4509, 4447, 4794, 0, 2313, 0, 1983, 1936, 1654, 0, 2511, 739,
				0, 5301, 5239, 2377, 1613, 5172, 5040, 4978, 4916, 4854, 4792, 980, 4730, 4509, 4447, 2572, 2309, 0,
				4674, 4930, 3461, 0, 718, 2767, 0, 1038, 914, 0, 750, 6008, 0, 1312, 1202, 0, 5985, 750, 5415, 4682,
				6008, 4598, 5129, 2420, 2222, 3838, 796, 653, 4220, 4206, 4166, 0, 5192, 4369, 0, 5192, 4369, 5833,
				6201, 6140, 5820, 6125, 6051, 5807, 6027, 5301, 5239, 5172, 5040, 4978, 4916, 4854, 4792, 4730, 4509,
				4447, 0, 5192, 4369, 5833, 6201, 6140, 5820, 6125, 6051, 5807, 6027, 0, 6021, 5363, 0, 2284, 1320, 0,
				3838, 5985, 4737, 5415, 4682, 6219, 4220, 2957, 3905, 810, 6187, 4312, 2301, 2959, 648, 0, 3333, 3434,
				3617, 3526, 3851, 3811, 3699, 672, 2917, 994, 2851, 2785, 2719, 2653, 2587, 2521, 2455, 2389, 2323,
				2257, 2191, 926, 834, 766, 0, 2552, 1060, 0, 1111, 0, 2291, 1175, 1048, 649, 4682, 4312, 4598, 4206,
				4166, 3889, 3883, 3118, 0, 6021, 5363, 5932, 600, 4250, 0, 5829, 5808, 5428, 5312, 5180, 5166, 5007,
				4945, 4883, 4862, 6267, 6161, 4800, 4731, 6094, 5842, 5330, 4270, 5173, 4476, 4455, 4448, 4350, 3328, 0,
				1857, 1810, 5829, 5808, 5428, 1763, 1669, 5312, 1042, 5180, 5166, 5007, 4945, 4883, 2485, 2186, 2092,
				2045, 4862, 1998, 6267, 6161, 1951, 1904, 1716, 1619, 4800, 4731, 1523, 1427, 6094, 3125, 5842, 2139,
				5330, 4270, 5173, 1348, 4476, 4455, 4448, 5932, 963, 4250, 4350, 3328, 2815, 2749, 2683, 1410, 901,
				4598, 5129, 2420, 2222, 3838, 5985, 796, 750, 5415, 4682, 653, 4220, 4206, 6008, 4166, 2617, 1024, 2552,
				1060, 5785, 2917, 4179, 994, 3333, 2851, 2785, 2719, 2653, 2587, 2521, 2455, 2389, 2323, 2257, 2191,
				3434, 3617, 3526, 3851, 3811, 3699, 4139, 4112, 4085, 5762, 672, 5739, 926, 834, 766, 1079, 3396, 3582,
				3490, 3779, 3747, 3665, 4421, 4322, 4058, 4031, 4004, 3931, 5390, 5142, 4702, 4638, 4611, 5716, 5693,
				5670, 5647, 5624, 5601, 5578, 5554, 5524, 5501, 5435, 2983, 3270, 3228, 3171, 3129, 3072, 3030, 1481,
				1431, 1368, 2144, 1321, 2097, 2050, 2003, 1956, 1909, 1862, 1815, 1768, 1721, 1674, 1627, 600, 1577,
				1528, 1273, 1170, 1123, 1219, 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, 127, 285, 49, 41, 44, 46, 42, 10, 135, 124, 131, 8, 132, 4, 3,
				126, 45, 39, 6, 35, 34, 5, 7, 37, 36, 140, 145, 147, 146, 153, 148, 156, 155, 159, 157, 160, 59, 162,
				68, 3, 54, 54, 54, 54, 126, 3, 54, 54, 174, 127, 60, 3, 66, 67, 54, 6, 198, 158, 174, 127, 66, 67, 166,
				165, 124, 3, 123, 125, 117, 119, 3, 60, 91, 98, 35, 34, 100, 99, 5, 90, 89, 64, 54, 86, 87, 7, 93, 92,
				95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 198, 158, 198, 198, 198,
				198, 166, 227, 127, 127, 127, 255, 256, 236, 257, 235, 258, 56, 287, 259, 10, 126, 60, 60, 127, 124,
				152, 127, 60, 3, 223, 222, 135, 125, 124, 10, 126, 60, 314, 3, 197, 4, 198, 55, 126, 55, 227, 158, 146,
				146, 145, 145, 145, 148, 148, 148, 148, 147, 147, 155, 153, 153, 157, 156, 159, 158, 160, 64, 64, 64,
				64, 197, 276, 271, 127, 249, 3, 167, 148, 175, 169, 183, 177, 184, 185, 274, 271, 220, 126, 176, 164,
				327, 288, 322, 288, 126, 189, 166, 271, 220, 226, 162, 231, 127, 3, 126, 166, 216, 3, 315, 174, 150,
				278, 197, 126, 189, 166, 71, 3, 3, 3, 3, 125, 124, 255, 256, 257, 258, 336, 259, 10, 167, 90, 89, 54, 7,
				93, 92, 95, 94, 96, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 70, 102, 101, 68, 166, 7, 5, 127,
				166, 243, 125, 124, 126, 123, 164, 126, 166, 55, 240, 241, 149, 242, 127, 166, 55, 198, 127, 127, 4,
				228, 6, 55, 158, 158, 158, 158, 3, 3, 126, 64, 148, 148, 148, 169, 167, 167, 177, 175, 183, 158, 184,
				176, 176, 326, 126, 170, 237, 61, 55, 215, 63, 172, 329, 125, 124, 244, 244, 189, 164, 127, 189, 197,
				152, 70, 231, 211, 200, 195, 126, 3, 127, 68, 240, 197, 152, 280, 283, 60, 190, 4, 123, 125, 227, 227,
				166, 148, 71, 5, 127, 166, 262, 239, 54, 55, 292, 294, 127, 3, 195, 244, 244, 127, 127, 197, 127, 290,
				123, 291, 127, 70, 70, 3, 189, 166, 211, 127, 220, 152, 125, 127, 3, 60, 158, 4, 197, 176, 173, 197,
				164, 262, 64, 54, 126, 74, 127, 220, 328, 71, 303, 211, 124, 126, 127, 127, 127, 71, 290, 289, 70, 68,
				229, 127, 127, 280, 227, 226, 127, 128, 127, 164, 27, 55, 172, 65, 61, 63, 127, 189, 127, 295, 71, 68,
				71, 70, 166, 220, 331, 237, 22, 126, 289, 127, 240, 229, 252, 254, 127, 38, 127, 3, 123, 61, 309, 55,
				10, 53, 128, 295, 164, 307, 126, 308, 68, 126, 22, 332, 189, 59, 152, 127, 252, 127, 164, 286, 265, 293,
				38, 70, 126, 68, 64, 54, 243, 243, 296, 127, 68, 189, 3, 189, 126, 126, 3, 127, 127, 3, 70, 68, 152,
				126, 189, 127, 70, 70, 127, 318, 79, 77, 1, 158, 9, 85, 83, 81, 80, 75, 82, 84, 78, 76, 61, 74, 227,
				189, 189, 338, 229, 252, 150, 164, 270, 189, 239, 309, 297, 113, 9, 71, 226, 71, 3, 3, 3, 204, 3, 123,
				158, 123, 188, 68, 127, 127, 164, 239, 64, 3, 71, 238, 174, 238, 320, 149, 75, 238, 127, 127, 53, 97,
				337, 174, 152, 211, 152, 319, 127, 3, 152, 297, 325, 243, 152, 152, 127, 70, 204, 161, 286, 158, 203,
				68, 70, 121, 317, 152, 203, 9, 152 };
	};

	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", "expression_parser_start", "]", ")", "}", ";", "{", "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 = 62, 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 = 7461, MAX_LA = 2147483647,
			NUM_RULES = 599, NUM_NONTERMINALS = 225, NUM_SYMBOLS = 347, SEGMENT_SIZE = 8192, START_STATE = 3365,
			IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6422, ERROR_ACTION = 6862;

	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