Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: 5f1d9ae766188a8a5190417593e990a9372dc283 (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 CPPSizeofExpressionParserprs implements lpg.lpgjavaruntime.ParseTable, CPPSizeofExpressionParsersym {

	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, 5, 6, 3, 2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 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, -4, -10, 0, 0, 0, 0, 0, 0, 0, -123, 0, 0, -5, 0, 0, -472, 0, 0, 0, 0, -279, 0,
				0, -136, 0, -137, -594, -428, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -198, 0, 0, 0, 0, -6, 0, -18, 0, 0, 0,
				-114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -282, 0, 0,
				0, 0, 0, 0, -49, -42, 0, 0, -61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -415, 0, -71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -126, 0, 0, 0, 0, 0, -196, 0, 0, 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, 0, 0, -53, 0, 0, 0, 0, 0, 0,
				-522, 0, 0, 0, -58, 0, 0, 0, 0, -7, 0, 0, 0, 0, 0, 0, -121, 0, -385, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-8, -130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -260, 0, 0,
				-128, 0, -72, 0, 0, 0, 0, -9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -51, 0, -50, -54, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -596, 0, 0, 0, 0, -117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -261, -47, 0, 0, 0,
				-259, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -64, 0, -65, 0,
				0, 0, 0, 0, 0, -325, 0, 0, 0, -444, -141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -311, 0, 0, -11, 0, 0, 0,
				0, 0, 0, 0, -571, 0, 0, 0, 0, -262, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -12,
				0, 0, 0, 0, 0, 0, 0, 0, -13, 0, 0, 0, 0, 0, 0, -177, 0, 0, 0, -16, 0, 0, 0, -526, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -595, 0, 0, 0, 0, -510, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-197, 0, 0, -215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -272, 0, 0, 0, 0, -92, 0, 0, 0, 0, -367, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -119, 0, 0, 0, -211, 0, 0, 0, 0, 0, 0, -502, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -112, -15, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -28, 0, 0, 0, -235, 0, 0, 0, 0, 0, -146, 0, 0, 0, -368, 0, 0, 0, 0, 0, 0, 0, 0, 0, -3, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -199, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -176, 0, 0, 0, 0, -91, 0, 0, 0, 0, -29, 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, -31, 0, 0, 0, 0, 0, 0, 0, -329, 0, 0, 0, 0, -269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -195, 0, 0, 0, 0, 0, 0, 0, -32, 0, 0, -264, 0, 0, 0, 0, 0,
				-570, -375, 0, 0, 0, 0, -33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -209, 0, 0,
				0, -129, 0, 0, 0, 0, -402, 0, 0, -143, 0, 0, -273, 0, 0, 0, 0, -376, 0, 0, 0, 0, -316, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -48, 0, 0, 0, -214, 0, 0, 0, 0, 0, 0, 0, -357, 0, 0, -280,
				0, 0, 0, 0, -345, -34, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -152, 0, 0, -286, 0, 0, 0, 0, -356, 0, -440, -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, 0, -205, 0, 0, -270, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -326, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -388, 0, 0, -287, 0, 0, 0, 0, -95, 0, 0, 0, 0, -35, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -308, 0, 0, 0, -321, 0, 0, 0, 0, 0, 0, 0,
				-421, 0, 0, -327, 0, 0, 0, 0, -96, 0, 0, 0, 0, -36, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -322, -37, 0, 0, -324, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -339, 0, 0, 0, 0, -97, 0, 0, 0, 0,
				-371, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -328, -38, 0, 0, -340, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -369, 0, 0, 0, 0, -98, 0, 0, 0, 0, -40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -360, -55, 0, 0, 0, -405, 0, 0, 0, -423, 0, 0, -56, 0, 0, -390, 0, 0, 0, 0, -99, 0, 0,
				0, 0, -66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -361, 0, 0, 0, -365, 0, 0, 0,
				0, 0, 0, 0, -366, 0, 0, -59, -60, 0, -409, 0, -100, 0, 0, 0, 0, -67, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -69, 0, 0, 0, -353, 0, 0, -377, 0, 0, -107, -113, 0, -410, 0,
				-101, 0, 0, 0, 0, -70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -383,
				-108, 0, 0, 0, 0, 0, 0, -443, 0, 0, 0, 0, -400, -309, 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, 0, 0, 0, 0, -391, -110, 0, 0, 0, 0, 0, 0, -394, 0, 0, -434, -332,
				0, -111, 0, -103, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -395, 0, 0, 0, -447, 0, 0, -131, 0, 0, -460, 0, 0, -138, 0, -104, 0, 0, 0, 0, -540, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -397, -139, 0, 0, 0, 0, 0, 0, -140, 0, 0,
				-323, 0, 0, -221, 0, -134, 0, 0, 0, 0, -265, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -411, -116, 0, 0, 0, 0, 0, 0, 0, -341, 0, 0, 0, 0, 0, -222, 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, 0, 0, 0, 0, -153, 0, 0, 0, 0, 0, 0, -266, 0, 0, 0,
				-436, 0, 0, -374, 0, 0, 0, 0, -154, 0, -246, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, -229, 0, -399, -313, 0, 0,
				0, 0, 0, 0, 0, -155, -319, 0, 0, 0, 0, 0, 0, 0, -247, 0, 0, 0, 0, -156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -147, -355, 0, 0, 0, -413, 0, 0, 0, 0, 0, 0, -446, 0, 0, 0, -333, 0, 0,
				-118, 0, -157, 0, 0, 0, 0, 0, 0, -158, -492, 0, 0, -320, 0, 0, 0, 0, 0, 0, -248, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -475, -457, 0, -159, 0, 0, -14, 0, -284, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -431, 0, 0, -392, -160, 0, 0, 0, 0, 0, 0, -249, 0, 0, 0,
				0, -161, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -151, 0, -363, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -120, 0, -379, 0, 0, 0, 0, -416, 0, -461, 0, 0, 0, -412, 0, 0, 0, 0, 0, 0,
				-250, 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, -501, -389, 0,
				-419, 0, 0, 0, 0, -162, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -163, 0, 0, 0, 0, 0, 0, 0, 0, 0, -192, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -251, 0, 0, 0, 0, -164, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-207, 0, -564, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -350, 0, 0, 0, -165, 0, -572, 0, 0,
				0, -435, 0, 0, 0, 0, 0, 0, -252, 0, 0, 0, 0, -166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -167, -168, -450, -169, -464, 0, 0, 0, 0, 0, 0, 0, -430, 0, 0, 0, -480, 0, -170, 0,
				-425, -463, 0, 0, 0, 0, -171, 0, 0, 0, 0, 0, 0, 0, 0, 0, -253, 0, 0, 0, 0, -172, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -216, 0, -148, 0, 0, 0, 0, -173, 0, 0, 0, 0, 0, 0, 0, -174, 0,
				0, 0, 0, 0, -470, -449, 0, 0, 0, 0, 0, -506, 0, 0, -418, 0, 0, 0, 0, 0, 0, -254, 0, 0, 0, 0, -175, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -274, 0, -150, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -474, 0, 0, -478, 0, 0, -471, 0, 0, 0, 0, 0, -178, -537, 0, 0, -422, 0, 0, 0, 0, 0, 0, -255, 0, 0,
				0, 0, -182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -281, 0, -393, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -476, -487, 0, 0, -483, 0, 0, 0, 0, -453, 0, -490, 0, -462, 0, -499, 0, -583, 0, 0,
				0, 0, 0, 0, -256, 0, 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, -433, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -532, -43, 0, -122, 0, 0, 0, -184, -536, 0, -185, 0, -283,
				0, -479, -527, 0, -586, 0, 0, 0, 0, 0, -352, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -186, 0, 0, 0, 0, 0, 0, -187, 0, -188, 0, -288, -344, -535, 0, -554, 0, 0, 0, 0, 0,
				0, 0, 0, 0, -556, 0, -504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -558, -189, 0, 0, 0, 0, 0, 0, -515, 0, 0, 0, -289, -290,
				-190, 0, -387, 0, 0, 0, 0, -587, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -567, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -524, 0, 0, -403, 0, 0, 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, -191, 0, 0, -194, 0, 0, 0, 0, 0, 0, 0, -575, 0, 0, 0, -202, 0, 0, -533, -525,
				-203, -206, -538, 0, -291, -338, 0, -557, -348, -414, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -217, 0, 0, -349, 0, 0, -438, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -227, 0, 0, 0, -228, 0, 0, 0, 0, 0, 0, -236,
				0, 0, -267, -275, -277, -285, 0, 0, 0, -551, -552, -296, -297, -218, 0, 0, 0, -439, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -298, -299, 0, 0, 0, 0, 0, 0, -300, 0, 0, 0,
				0, 0, -513, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -180, -301,
				-351, 0, -302, 0, 0, 0, 0, -303, 0, 0, -304, 0, 0, -124, -305, -306, -307, -312, -230, -437, 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, 0, 0, -314, 0, -315, -584, -330, -331, 0, 0, -220, 0, 0, 0, 0, -73, 0, -342, 0, -346, 0, 0, 0,
				0, -347, -133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -358, 0, -559, 0, -380, -420, 0, 0, -448, -106,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -482, 0,
				-337, -359, -417, 0, -364, 0, 0, 0, -201, 0, 0, 0, -372, -373, -384, -404, 0, -406, 0, -426, 0, 0, 0, 0,
				0, 0, -579, 0, -429, 0, 0, -528, 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, -592, -599, 0, 0, 0, -442, 0, 0, 0, -531, 0, -245, 0, 0, 0, 0, -534, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -455, 0, 0, 0, 0, -456, 0, -458, -459, -465, 0, -467, -473,
				-481, -488, 0, -489, -512, 0, -514, 0, 0, 0, 0, -563, 0, -516, 0, -517, -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, 0, -518, -378, 0, 0, 0, -519, -231, -521, -539, -541,
				-336, -542, -544, -549, 0, -553, -560, 0, -568, 0, -577, -370, 0, -565, 0, -585, 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, -590, 0, -601, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -569, 0, -573, -574, 0, -240, 0, 0, 0, 0, -593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 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, -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, -454, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -242,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -193, 0, 0, 0, 0, 0, -135,
				-598, 0, 0, 0, 0, 0, 0, -493, 0, 0, 0, 0, -495, 0, 0, 0, 0, 0, 0, 0, 0, 0, -232, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, -233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -523, 0, 0, 0, 0, 0, 0, 0, 0, 0, -529, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, -237, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -238, 0, 0, 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, -276, 0, 0, 0, 0, 0, 0, 0, 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, -335, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -362, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -127, 0, 0, 0, 0,
				0, 0, 0, 0, 0, -530, 0, 0, 0, 0, 0, 0, 0, -292, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, -200, 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, 0, -468, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -401,
				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, 0, -491, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -208, 0, 0, -44, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -142, 0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -511, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -144, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -210, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -588, 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, -382, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -441, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -386, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -204, 0, 0, 0, 0, 0, 0, 0, 0, 0, -74, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -520, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, -543, 0, -548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, -149, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, -268, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -271,
				0, 0, 0, 0, 0, 0, 0, 0, -485, 0, 0, -105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-562, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -334, 0, 0, 0,
				-223, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -576, 0, 0, 0,
				0, 0, 0, 0, -408, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -398, 0, 0, 0, 0, 0, -591,
				0, 0, 0, 0, 0, -224, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -219, 0, 0, 0, -225, 0, -226, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 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, -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, -494, 0, -582, 0, 0, 0, 0, 0, 0, 0,
				0, -407, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -294, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -17, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -597, 0, -257, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, -343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -602, 0, 0, 0, 0, 0, 0, 0, 0,
				-445, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -581, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				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, -81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -179, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -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, -21, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 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, -24, 0, 0, 0, 0, 0, 0, 0, 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, 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, -132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, -212, 0, 0, 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, -424, 0, 0, 0, -46, 0, 0, 0, 0, 0, 0, 0,
				-452, 0, 0, 0, 0, 0, -566, 0, 0, 0, 0, 0, -500, 0, 0, 0, 0, 0, 0, 0, -466, 0, 0, 0, 0, 0, -561, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -125, 0, 0, 0, 0, 0, -396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -546,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -427, 0, 0, 0, 0, 0, 0, 0, 0, 0, -432, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, -451, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -477, 0, 0, 0, 0, 0, 0, 0, -507, -469, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, -486, -234, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -263, 0, 0, 0, 0, 0, 0, -381, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -318, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -484, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -497, 0, 0, 0, 0, 0, 0, 0, -213, 0, 0, 0, 0, 0, -505, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -547, 0, 0, 0, 0, 0, -550, 0, 0, 0, -508, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				-509, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
				0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 32, 32, 80, 80, 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, 157,
				157, 157, 131, 131, 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, 30, 30, 30, 30, 30, 33, 33, 33, 34, 34, 35, 35, 37, 37, 38, 38, 40, 40, 41, 41, 45, 45, 45, 45,
				45, 47, 47, 47, 52, 52, 54, 54, 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, 78, 78, 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, 55, 55, 55, 55, 55, 132, 132, 130, 130, 56, 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, 58,
				49, 170, 170, 59, 57, 97, 97, 171, 171, 164, 164, 141, 142, 142, 143, 89, 89, 172, 172, 76, 76, 76, 73,
				73, 72, 77, 77, 79, 79, 68, 68, 68, 53, 98, 98, 108, 107, 107, 51, 51, 74, 74, 81, 81, 60, 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,
				31, 31, 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, 2044, 2037, 4502, 1355, 27, 30, 31, 1030, 1171, 26, 28, 2003, 294,
				25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 332, 147, 175, 1331, 306, 924, 1587, 1436,
				1657, 1213, 1634, 1704, 413, 1728, 174, 71, 35, 1822, 423, 189, 2555, 35, 310, 1941, 264, 2532, 319,
				1638, 35, 1021, 32, 4949, 3844, 27, 30, 31, 1030, 1171, 373, 28, 1405, 1297, 267, 262, 263, 1510, 466,
				1673, 35, 1822, 423, 2360, 35, 1021, 32, 672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23,
				50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 49, 307, 160, 2600, 1519, 274, 277, 280, 821, 1132,
				56, 56, 1775, 958, 3766, 676, 1206, 1671, 2750, 3345, 2864, 350, 3441, 355, 387, 2861, 388, 2912, 908,
				2263, 2395, 2857, 5962, 283, 2905, 2914, 2975, 159, 577, 187, 71, 3449, 1543, 35, 1021, 32, 4828, 1859,
				27, 30, 31, 1030, 1171, 57, 28, 1537, 35, 312, 625, 4328, 3272, 759, 35, 3173, 2137, 2360, 35, 1021, 32,
				672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 2816, 49, 386, 160, 1818, 1037, 1238, 548, 574, 3257, 578, 71, 3180, 1775, 1334, 71, 1849, 1997,
				34, 2750, 2046, 2864, 378, 650, 648, 383, 2861, 1938, 2912, 2600, 1797, 2734, 376, 416, 2988, 2905,
				2914, 2975, 159, 577, 665, 2224, 2360, 35, 1021, 32, 672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986,
				294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 69, 2088, 160, 1818, 3337, 2215, 35,
				1021, 32, 4828, 2369, 27, 30, 31, 1030, 1171, 56, 28, 2750, 323, 2864, 1647, 2057, 56, 2277, 2861, 2080,
				2912, 768, 533, 548, 574, 3257, 578, 2905, 2914, 2975, 159, 577, 61, 1912, 35, 1021, 32, 5073, 1257, 27,
				30, 31, 1030, 1171, 26, 28, 3275, 3060, 546, 532, 2988, 271, 294, 69, 71, 35, 1822, 423, 2570, 35, 1021,
				32, 672, 5442, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 2816, 49, 1520, 160, 1335, 264, 495, 548, 574, 3257, 578, 1851, 3449, 1775, 1170, 1556, 1537, 35,
				312, 2750, 4564, 2864, 363, 272, 262, 263, 2861, 2445, 2912, 1088, 3337, 3080, 1400, 1085, 2988, 2905,
				2914, 2975, 159, 577, 2708, 35, 1021, 32, 672, 69, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50,
				1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 2736, 439, 175, 1331, 60, 764, 1587, 1436, 1657, 2738,
				1634, 1704, 1192, 1728, 174, 2918, 71, 35, 3163, 413, 1559, 35, 1021, 32, 71, 3608, 41, 30, 31, 1030,
				1171, 1609, 549, 574, 3257, 578, 2428, 35, 1021, 32, 672, 1728, 27, 30, 31, 1030, 1171, 26, 28, 986,
				294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 473, 147, 175, 1331, 1824, 4867, 1587,
				1436, 1657, 2866, 1634, 1704, 478, 1728, 174, 2918, 2456, 35, 310, 413, 322, 3327, 35, 1021, 32, 672,
				2634, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281,
				1346, 1488, 1681, 3450, 1331, 2413, 2420, 1587, 2578, 420, 414, 2862, 2638, 35, 1021, 32, 672, 4549, 27,
				30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 1104,
				2765, 175, 1331, 1323, 1624, 1587, 1436, 1657, 2728, 1634, 1704, 3735, 1728, 174, 2918, 1537, 35, 565,
				413, 5195, 583, 1994, 35, 1021, 32, 2634, 3325, 40, 30, 31, 1030, 1171, 421, 414, 2862, 2973, 35, 1021,
				32, 672, 1192, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 1346, 425, 462, 175, 1331, 2010, 147, 1587, 1436, 1657, 4887, 1634, 1704, 1248, 1728, 174, 71, 35,
				1997, 3159, 189, 3327, 35, 1021, 32, 672, 1239, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50,
				1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 1449, 91, 1331, 1233, 836, 1587, 1436, 2577, 411,
				414, 2862, 2973, 35, 1021, 32, 672, 1488, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182,
				104, 75, 76, 106, 1258, 1284, 1281, 1346, 426, 462, 175, 1331, 56, 1037, 1587, 1436, 1657, 6195, 1634,
				1704, 1338, 1728, 174, 71, 35, 2276, 2209, 407, 1660, 1728, 2973, 35, 1021, 32, 672, 55, 27, 30, 31,
				1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 625, 175,
				1331, 1818, 3059, 1587, 1436, 1657, 2491, 1634, 1704, 1818, 1728, 174, 71, 35, 1997, 309, 407, 2973, 35,
				1021, 32, 672, 1501, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 1346, 2276, 437, 175, 1331, 56, 1206, 1587, 1436, 1657, 706, 1634, 1704, 241, 1728, 174,
				931, 35, 1997, 309, 407, 1365, 1662, 406, 2502, 35, 1021, 32, 672, 191, 27, 30, 31, 1030, 1171, 26, 28,
				986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 494, 175, 1331, 583, 1206,
				1587, 1436, 1657, 5795, 1634, 1704, 1818, 1728, 174, 71, 3339, 1997, 73, 173, 1488, 405, 2345, 2973, 35,
				1021, 32, 672, 2641, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 1346, 2804, 1818, 175, 1331, 56, 1860, 1587, 1436, 1657, 965, 1634, 1704, 1950, 1728, 174,
				71, 35, 315, 403, 190, 2973, 35, 1021, 32, 672, 3275, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23,
				50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 1192, 1750, 175, 1331, 69, 1990, 1587, 1436, 1657,
				51, 1634, 1704, 1818, 1728, 174, 931, 35, 1997, 3344, 186, 2973, 35, 1021, 32, 672, 65, 27, 30, 31,
				1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 360, 175,
				1331, 56, 2099, 1587, 1436, 1657, 1110, 1634, 1704, 1818, 1728, 174, 71, 35, 1997, 311, 185, 2973, 35,
				1021, 32, 672, 228, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 1346, 56, 61, 175, 1331, 56, 1196, 1587, 1436, 1657, 3614, 1634, 1704, 95, 1728, 174, 71,
				35, 1997, 3451, 184, 2973, 35, 1021, 32, 672, 2929, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23,
				50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56, 1007, 175, 1331, 56, 2144, 1587, 1436, 1657,
				823, 1634, 1704, 96, 1728, 174, 71, 35, 1997, 314, 183, 2973, 35, 1021, 32, 672, 1334, 27, 30, 31, 1030,
				1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 147, 1348, 175,
				1331, 5011, 2702, 1587, 1436, 1657, 2178, 1634, 1704, 1847, 1728, 174, 71, 35, 1997, 564, 182, 2973, 35,
				1021, 32, 672, 233, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 1346, 2661, 441, 175, 1331, 56, 1908, 1587, 1436, 1657, 1815, 1634, 1704, 56, 1728, 174,
				2277, 2277, 1862, 2634, 181, 2973, 35, 1021, 32, 672, 2795, 27, 30, 31, 1030, 1171, 26, 28, 986, 294,
				25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 5772, 24, 175, 1331, 2249, 1361, 1587, 1436,
				1657, 69, 1634, 1704, 56, 1728, 174, 2277, 2277, 3439, 2634, 180, 2973, 35, 1021, 32, 672, 1482, 27, 30,
				31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 68, 53,
				175, 1331, 56, 1413, 1587, 1436, 1657, 2672, 1634, 1704, 1915, 1728, 174, 1942, 6110, 2934, 2489, 179,
				2973, 35, 1021, 32, 672, 1934, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76,
				106, 1258, 1284, 1281, 1346, 428, 462, 175, 1331, 56, 2112, 1587, 1436, 1657, 2738, 1634, 1704, 56,
				1728, 174, 2934, 2670, 5840, 2132, 178, 2973, 35, 1021, 32, 672, 456, 27, 30, 31, 1030, 1171, 26, 28,
				986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 427, 462, 175, 1331, 424, 1488,
				1587, 1436, 1657, 1499, 1634, 1704, 2831, 1728, 174, 759, 35, 431, 1832, 177, 2973, 35, 1021, 32, 672,
				2280, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281,
				1346, 2597, 358, 175, 1331, 56, 3785, 1587, 1436, 1657, 6039, 1634, 1704, 3724, 1728, 174, 2693, 35,
				313, 2524, 176, 2852, 35, 1021, 32, 672, 159, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50,
				1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 1734, 1508, 2540, 1331, 5314, 3884, 1587, 1436, 1657,
				2627, 1634, 1704, 482, 3081, 195, 2973, 35, 1021, 32, 672, 2007, 27, 30, 31, 1030, 1171, 26, 28, 986,
				294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 3550, 1718, 175, 1331, 1192, 2598,
				1587, 1436, 1657, 2008, 1634, 1704, 3063, 1728, 174, 482, 843, 390, 584, 138, 1537, 35, 488, 2007, 5872,
				361, 592, 366, 2084, 2341, 3094, 35, 1021, 32, 672, 1516, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25,
				23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2471, 1613, 160, 1243, 35, 1021, 32, 4949, 4990,
				27, 30, 31, 1030, 1171, 373, 28, 1903, 2341, 2750, 3847, 2864, 56, 1229, 35, 328, 2861, 1953, 2912, 362,
				369, 1423, 159, 271, 294, 2905, 2914, 2975, 159, 171, 3094, 35, 1021, 32, 672, 1645, 27, 30, 31, 1030,
				1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 1595, 1335, 160, 86,
				264, 2489, 100, 2402, 369, 353, 2260, 355, 2489, 348, 1954, 1656, 2701, 464, 2750, 1350, 2864, 1653,
				272, 262, 263, 2861, 347, 2912, 227, 2171, 35, 488, 3002, 5872, 2905, 2914, 2975, 159, 170, 3094, 35,
				1021, 32, 672, 3503, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 2816, 1499, 147, 160, 399, 264, 6246, 2734, 1427, 2623, 3184, 2775, 4307, 341, 344, 2593,
				481, 3545, 3547, 2750, 319, 2864, 1801, 276, 262, 263, 2861, 320, 2912, 2789, 359, 1485, 2007, 415, 377,
				2905, 2914, 2975, 159, 169, 3094, 35, 1021, 32, 672, 417, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25,
				23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 884, 2277, 160, 1243, 35, 1021, 32, 4949, 4990,
				27, 30, 31, 1030, 1171, 373, 28, 2341, 3184, 2750, 1655, 2864, 2762, 1809, 42, 3125, 2861, 56, 2912,
				759, 35, 431, 1994, 2929, 52, 2905, 2914, 2975, 159, 168, 3094, 35, 1021, 32, 672, 319, 27, 30, 31,
				1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 56, 1365, 160,
				2627, 264, 1206, 368, 369, 2417, 353, 2260, 355, 389, 348, 1954, 485, 3545, 3547, 2750, 2420, 2864, 592,
				279, 262, 263, 2861, 3364, 2912, 3514, 1815, 1192, 44, 3125, 3884, 2905, 2914, 2975, 159, 167, 3094, 35,
				1021, 32, 672, 495, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 2816, 1750, 2277, 160, 1243, 35, 1021, 32, 4949, 4990, 27, 30, 31, 1030, 1171, 373, 28,
				3063, 3552, 2750, 477, 2864, 491, 2731, 35, 563, 2861, 2874, 2912, 759, 35, 431, 367, 1488, 384, 2905,
				2914, 2975, 159, 166, 3094, 35, 1021, 32, 672, 3001, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23,
				50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 70, 2256, 160, 405, 1917, 2489, 572, 2626, 2581,
				353, 2260, 355, 4473, 348, 1954, 1229, 3541, 328, 2750, 2322, 2864, 1752, 415, 56, 1488, 2861, 3613,
				2912, 5852, 1929, 87, 1765, 410, 100, 2905, 2914, 2975, 159, 165, 3094, 35, 1021, 32, 672, 2185, 27, 30,
				31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2581,
				2277, 160, 1729, 35, 1021, 32, 5073, 2353, 27, 30, 31, 1030, 1171, 59, 28, 2418, 3618, 2750, 330, 2864,
				213, 147, 56, 410, 2861, 6263, 2912, 2310, 71, 35, 328, 2007, 88, 2905, 2914, 2975, 159, 164, 3094, 35,
				1021, 32, 672, 2450, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 2816, 1427, 2277, 160, 1729, 35, 1021, 32, 5073, 408, 27, 30, 31, 1030, 1171, 58, 28, 56,
				2341, 2750, 56, 2864, 2802, 147, 1485, 5864, 2861, 6301, 2912, 2496, 71, 35, 328, 2007, 1703, 2905,
				2914, 2975, 159, 163, 3094, 35, 1021, 32, 672, 1867, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23,
				50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2798, 2277, 160, 1994, 35, 1021, 32, 2663, 369,
				1759, 30, 31, 1030, 1171, 3082, 2489, 56, 2341, 2750, 147, 2864, 6109, 346, 6315, 2593, 2861, 56, 2912,
				2178, 6101, 2007, 1062, 2818, 1707, 2905, 2914, 2975, 159, 162, 3094, 35, 1021, 32, 672, 571, 27, 30,
				31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 2725, 333,
				160, 1994, 35, 1021, 32, 364, 369, 2800, 30, 31, 1030, 1171, 3362, 2341, 56, 56, 2750, 1833, 2864, 2930,
				4307, 2268, 1488, 2861, 581, 2912, 1508, 329, 2178, 1488, 3884, 1488, 2905, 2914, 2975, 159, 161, 3154,
				35, 1021, 32, 672, 377, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106,
				1258, 1284, 1281, 2816, 2974, 753, 160, 253, 264, 2854, 369, 2581, 491, 2581, 2006, 717, 2277, 1904, 56,
				3063, 2669, 3884, 2750, 3087, 2864, 1340, 282, 262, 263, 2861, 1499, 2912, 2178, 584, 2917, 2920, 1896,
				586, 2905, 2914, 2975, 159, 158, 3214, 35, 1021, 32, 672, 67, 27, 30, 31, 1030, 1171, 26, 28, 986, 294,
				25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 3063, 337, 175, 1331, 56, 1657, 1587, 1436,
				1657, 994, 1634, 1704, 2178, 1728, 174, 2917, 2277, 2277, 1019, 220, 3327, 35, 1021, 32, 672, 1488, 27,
				30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 56,
				66, 65, 1331, 210, 5133, 1587, 1436, 1657, 92, 1634, 1704, 2178, 3081, 195, 3327, 35, 1021, 32, 672,
				2581, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281,
				1346, 2594, 2533, 585, 1331, 1248, 4307, 1587, 1436, 1657, 230, 1634, 1704, 2927, 3081, 195, 357, 2914,
				4624, 94, 2489, 2178, 2534, 744, 2178, 592, 2277, 2277, 4172, 2489, 2277, 3327, 35, 1021, 32, 672, 1621,
				27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346,
				64, 1895, 229, 1331, 55, 336, 1587, 1436, 1657, 835, 1634, 1704, 2277, 3081, 195, 3327, 35, 1021, 32,
				672, 458, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 1346, 338, 2492, 54, 1331, 394, 2564, 1587, 1436, 1657, 417, 1634, 1704, 3062, 3081, 195, 1486,
				2290, 2018, 1011, 3085, 3174, 3175, 2178, 2178, 589, 743, 71, 35, 1822, 423, 3327, 35, 1021, 32, 672,
				327, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281,
				1346, 49, 915, 925, 1331, 233, 231, 1587, 1436, 1657, 2045, 1634, 1704, 46, 3081, 195, 3486, 35, 1021,
				32, 672, 457, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 1346, 2023, 2542, 2010, 1331, 577, 3345, 1587, 1436, 1657, 2486, 1634, 1704, 2179, 3081, 195,
				1922, 2494, 2389, 757, 2528, 2011, 1492, 35, 3454, 32, 4949, 4990, 27, 30, 31, 1030, 1171, 373, 28, 141,
				460, 2905, 35, 1021, 32, 672, 598, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75,
				76, 106, 1258, 1284, 1281, 2816, 377, 187, 2878, 264, 2945, 2490, 2595, 2601, 264, 1813, 2003, 35, 1822,
				423, 3605, 2276, 386, 2706, 3170, 3003, 1206, 285, 262, 263, 1663, 1508, 276, 262, 263, 3884, 353, 2260,
				355, 717, 348, 1954, 378, 650, 648, 383, 2628, 306, 2178, 191, 2277, 2277, 576, 1755, 2277, 3327, 35,
				1021, 32, 672, 1812, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 1346, 356, 99, 3063, 1331, 2722, 332, 1587, 1436, 1657, 651, 1634, 2603, 3433, 35, 1021, 32,
				672, 366, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 2816, 2277, 3176, 2566, 3004, 2594, 2377, 2664, 4307, 4706, 4307, 71, 35, 1822, 423, 2633, 2960,
				2778, 2995, 2750, 2959, 2864, 1216, 453, 454, 3452, 2861, 71, 2912, 2178, 4172, 2793, 4172, 2932, 2277,
				2905, 3274, 3327, 35, 1021, 32, 672, 306, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182,
				104, 75, 76, 106, 1258, 1284, 1281, 1346, 2178, 2178, 486, 1331, 5017, 2961, 1587, 1436, 1657, 2416,
				2580, 3380, 35, 1021, 32, 672, 2277, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104,
				75, 76, 106, 1258, 1284, 1281, 2816, 1218, 254, 224, 590, 395, 3064, 394, 1292, 3006, 3059, 412, 2881,
				2962, 3117, 3124, 308, 3176, 3092, 2750, 3183, 2864, 3368, 3174, 3175, 2277, 2861, 87, 2912, 3086, 3380,
				35, 1021, 32, 672, 3269, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106,
				1258, 1284, 1281, 2816, 4982, 3118, 71, 35, 1822, 423, 3119, 2092, 3120, 1362, 3147, 1508, 173, 3212,
				2998, 3884, 3177, 1637, 2750, 3178, 2864, 3236, 1851, 3449, 2277, 2861, 3237, 3261, 3380, 35, 1021, 32,
				672, 306, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 2816, 2966, 5044, 2958, 264, 6892, 6892, 6892, 6892, 6892, 3063, 6892, 6892, 6892, 6892, 6892,
				6892, 6892, 6892, 2750, 6892, 2864, 279, 262, 263, 366, 3266, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31,
				1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 374, 4664,
				2277, 1331, 2277, 2277, 2486, 3380, 35, 1021, 32, 672, 2277, 27, 30, 31, 1030, 1171, 26, 28, 986, 294,
				25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2816, 5175, 6892, 2871, 2995, 6892, 6892, 6892,
				6892, 6892, 6892, 3499, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 2750, 322, 3217, 3327, 35, 1021, 32,
				672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 1346, 2408, 3450, 6892, 2534, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986,
				294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 1346, 6892, 6892, 6892, 2552, 3380, 35, 1021,
				32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284,
				1281, 2816, 1258, 35, 1021, 32, 5184, 4990, 27, 30, 31, 1030, 1171, 373, 28, 3380, 35, 1021, 32, 672,
				3224, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281,
				2816, 71, 35, 1822, 423, 6892, 6892, 2776, 2277, 6892, 6892, 6892, 4484, 6892, 3063, 71, 35, 1822, 423,
				3258, 71, 35, 1822, 423, 6892, 6892, 6892, 6892, 6892, 366, 2181, 6892, 49, 353, 2260, 355, 6892, 348,
				1954, 385, 5305, 2783, 6892, 6892, 1775, 863, 487, 6892, 6892, 6892, 347, 469, 6892, 6892, 3327, 35,
				1021, 32, 672, 4422, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 2272, 264, 6892, 6892, 6892, 2180, 386, 6892, 6892, 6892, 1206, 6892, 264, 6892, 6892, 71,
				35, 1822, 423, 282, 262, 263, 340, 344, 2593, 6892, 378, 650, 648, 383, 568, 262, 263, 187, 6892, 6892,
				2509, 6892, 6892, 6892, 6892, 3181, 6892, 6892, 232, 2868, 468, 3327, 35, 1021, 32, 672, 3549, 27, 30,
				31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 2313, 3327, 35,
				1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258,
				1284, 1281, 2342, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50,
				1182, 104, 75, 76, 106, 1258, 1284, 1281, 2354, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171,
				26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281, 3182, 3327, 35, 1021, 32, 672,
				6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 1281,
				3183, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104,
				75, 76, 106, 1258, 1284, 1281, 3216, 1339, 35, 1021, 32, 4949, 3603, 27, 30, 31, 1030, 1171, 373, 28,
				3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76,
				106, 1258, 1284, 1281, 3259, 6892, 6892, 6892, 3759, 35, 1021, 32, 4949, 6202, 27, 30, 31, 1030, 1171,
				373, 28, 6892, 1220, 35, 3454, 32, 5184, 4990, 27, 30, 31, 1030, 1171, 373, 28, 6892, 6892, 353, 2260,
				355, 385, 348, 1954, 6892, 386, 243, 35, 1822, 423, 6892, 6892, 6892, 6892, 6892, 3327, 71, 35, 1822,
				423, 6892, 6892, 6892, 6892, 2276, 378, 650, 648, 383, 1206, 6892, 6892, 6892, 6892, 6892, 3326, 3063,
				49, 6892, 6892, 6892, 353, 2260, 355, 6892, 348, 1954, 467, 386, 1775, 3075, 366, 191, 6892, 6892, 353,
				2260, 355, 3364, 348, 1954, 3539, 35, 1822, 423, 4252, 6892, 6892, 378, 650, 648, 383, 1755, 3445, 269,
				294, 6892, 6892, 2509, 6892, 6892, 4422, 71, 35, 1822, 423, 6892, 3327, 35, 1021, 32, 672, 306, 27, 30,
				31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 2130, 264, 49, 6892, 1734,
				6892, 6892, 6892, 5314, 6892, 6892, 6892, 6892, 6892, 1775, 1100, 6892, 400, 3088, 267, 262, 263, 3327,
				35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106,
				1258, 1284, 2450, 6892, 6892, 6892, 452, 454, 3452, 2276, 6892, 307, 6892, 6892, 1206, 274, 277, 280,
				821, 1132, 1385, 35, 1021, 32, 5184, 6892, 27, 30, 31, 1030, 1171, 373, 28, 1377, 6892, 6892, 6892, 191,
				908, 2263, 2395, 2857, 5962, 283, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986,
				294, 25, 23, 50, 1182, 104, 75, 76, 106, 1258, 1284, 2461, 3272, 259, 6892, 3063, 1903, 6892, 598, 6892,
				6892, 6892, 6892, 6892, 2260, 6892, 6892, 56, 3884, 4307, 367, 6892, 4307, 6892, 353, 2260, 355, 6892,
				351, 1954, 260, 187, 2027, 35, 1822, 423, 6892, 6892, 2292, 2982, 6892, 4172, 211, 1206, 377, 2581,
				3128, 6892, 6892, 6892, 6892, 235, 247, 652, 6892, 6892, 6892, 6892, 234, 244, 245, 246, 248, 49, 6892,
				1, 187, 3063, 6892, 200, 598, 6892, 6892, 465, 596, 1775, 1136, 717, 6892, 2095, 6892, 199, 366, 6892,
				4307, 214, 198, 201, 202, 203, 204, 205, 260, 187, 71, 35, 1822, 423, 1916, 3445, 56, 2982, 6892, 6892,
				211, 1206, 377, 2581, 6892, 6892, 6892, 6892, 4706, 235, 247, 652, 6892, 394, 6892, 6892, 234, 244, 245,
				246, 248, 49, 6892, 6892, 187, 6892, 6892, 200, 2707, 3174, 3175, 6892, 1813, 1775, 645, 1088, 6892,
				6892, 6892, 199, 6892, 212, 6892, 215, 198, 201, 202, 203, 204, 205, 1416, 35, 1021, 32, 4949, 3603, 27,
				30, 31, 1030, 1171, 373, 28, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294,
				25, 23, 50, 1182, 104, 75, 76, 106, 1258, 2149, 6892, 6892, 1770, 35, 1021, 32, 5184, 4535, 27, 30, 31,
				1030, 1171, 373, 28, 1385, 35, 1021, 32, 5184, 6892, 27, 30, 31, 1030, 1171, 373, 28, 2276, 6892, 6892,
				6892, 6892, 1206, 353, 2260, 355, 603, 348, 1954, 6892, 386, 6892, 6892, 2126, 6892, 6892, 6892, 3884,
				6892, 6892, 587, 6892, 6892, 56, 3063, 191, 6892, 6892, 1206, 6892, 378, 650, 648, 383, 6892, 6892,
				6892, 3063, 6892, 367, 588, 345, 6892, 353, 2260, 355, 598, 349, 1954, 1419, 386, 187, 367, 6892, 6892,
				6892, 353, 2260, 355, 1477, 349, 1954, 6892, 6892, 6892, 6892, 3063, 6892, 260, 187, 380, 650, 648, 383,
				2775, 6892, 6892, 2982, 6892, 4307, 211, 367, 6892, 2581, 6892, 6892, 6892, 6892, 6892, 235, 247, 652,
				386, 6892, 6892, 6892, 234, 244, 245, 246, 248, 377, 3365, 431, 6892, 2180, 591, 200, 598, 6892, 598,
				6892, 380, 650, 648, 383, 6892, 6892, 6892, 199, 6892, 6892, 6892, 3606, 198, 201, 202, 203, 204, 205,
				260, 187, 3017, 187, 717, 329, 35, 1822, 423, 2982, 6892, 2982, 211, 6892, 211, 2581, 6892, 6892, 6892,
				6892, 6892, 235, 247, 652, 6892, 594, 6892, 6892, 234, 244, 245, 246, 248, 6892, 6892, 517, 49, 6892,
				6892, 200, 598, 6892, 6892, 6892, 329, 35, 1822, 423, 1775, 2050, 6892, 199, 6892, 227, 6892, 209, 198,
				201, 202, 203, 204, 205, 260, 187, 243, 35, 1822, 423, 6892, 6892, 6892, 2982, 3330, 2822, 211, 49, 56,
				2581, 4307, 6892, 6892, 1206, 6892, 235, 247, 652, 6892, 1775, 47, 6892, 234, 244, 245, 246, 248, 49,
				6892, 603, 6892, 6892, 4172, 200, 598, 6892, 187, 6892, 6892, 1775, 47, 6892, 6892, 2047, 2595, 199,
				6892, 6892, 6892, 207, 198, 201, 202, 203, 204, 205, 260, 187, 243, 35, 1822, 423, 56, 1530, 6892, 2982,
				6892, 1206, 211, 6892, 6892, 2581, 6892, 6892, 6892, 6892, 6892, 235, 247, 652, 6892, 6892, 6892, 6892,
				234, 244, 245, 246, 248, 49, 187, 689, 3507, 6892, 6892, 200, 598, 6892, 2916, 1508, 6892, 1775, 2397,
				3884, 6892, 5858, 228, 199, 540, 6892, 6892, 208, 198, 201, 202, 203, 204, 205, 260, 187, 329, 35, 1822,
				423, 6892, 3594, 3508, 2982, 6892, 6892, 211, 1206, 56, 2581, 6892, 6892, 6892, 1206, 6892, 235, 247,
				652, 6892, 6892, 6892, 6892, 234, 244, 245, 246, 248, 49, 3063, 775, 187, 538, 539, 200, 598, 6892, 187,
				6892, 193, 1775, 47, 6892, 6892, 366, 2986, 199, 6892, 6892, 6892, 218, 198, 201, 202, 203, 204, 205,
				260, 187, 71, 35, 1822, 423, 56, 2841, 56, 2982, 6892, 1206, 211, 1206, 6892, 2581, 6892, 4677, 6892,
				6892, 56, 235, 247, 652, 6892, 4307, 6892, 6892, 234, 244, 245, 246, 248, 49, 187, 6892, 187, 6892,
				6892, 200, 6892, 6892, 2987, 6892, 3084, 1775, 958, 377, 6892, 6892, 6892, 199, 6892, 6892, 6892, 3647,
				198, 201, 202, 203, 204, 205, 2382, 35, 1021, 32, 4949, 4990, 27, 30, 31, 1030, 1171, 373, 28, 3327, 35,
				1021, 32, 672, 717, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106, 2208,
				6892, 6892, 1943, 2276, 6892, 861, 6892, 6892, 1206, 6892, 598, 6892, 6892, 6892, 243, 35, 1822, 423,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 71, 35, 1822, 423, 6892, 6892, 191, 260, 187, 6892, 353, 2260,
				355, 56, 348, 1954, 2982, 3891, 598, 211, 49, 6892, 2581, 6892, 6892, 6892, 6892, 347, 235, 247, 652,
				49, 1775, 1487, 6892, 234, 244, 245, 246, 248, 377, 187, 6892, 1775, 2530, 6892, 200, 6892, 947, 1813,
				56, 6892, 6892, 598, 6892, 1206, 3594, 6892, 199, 6892, 6892, 6892, 223, 198, 201, 202, 203, 204, 205,
				71, 35, 1822, 423, 717, 6892, 260, 187, 6892, 187, 340, 344, 2593, 6892, 3468, 2982, 6892, 3273, 211,
				56, 6892, 2581, 6892, 6892, 1206, 1812, 6892, 235, 247, 652, 6892, 49, 6892, 3498, 234, 244, 245, 246,
				248, 6892, 3549, 1033, 6892, 1775, 2245, 200, 598, 187, 6892, 6892, 243, 35, 1822, 423, 6892, 1574,
				6892, 199, 6892, 6892, 6892, 217, 198, 201, 202, 203, 204, 205, 260, 187, 6892, 6892, 6892, 56, 6892,
				6892, 6892, 2982, 1206, 6892, 211, 49, 6892, 2581, 6892, 6892, 6892, 6892, 6892, 235, 247, 652, 6892,
				1775, 47, 6892, 234, 244, 245, 246, 248, 187, 6892, 6892, 6892, 6892, 6892, 200, 6892, 3712, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 640, 6892, 199, 6892, 6892, 6892, 226, 198, 201, 202, 203, 204, 205, 3327,
				35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 106,
				2222, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104,
				75, 76, 106, 2265, 3638, 35, 552, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 269, 294,
				3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76,
				84, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 3327, 1849, 1021, 1869, 672, 264, 27, 30, 31, 1030,
				1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 83, 267, 262, 263, 3327, 35, 1021, 32, 672, 6892,
				27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 82, 6892, 6892, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 274, 277, 280, 821, 1132, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 2197,
				3277, 3599, 3913, 6162, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23,
				50, 1182, 104, 75, 76, 81, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25,
				23, 50, 1182, 104, 75, 76, 80, 6892, 6892, 6892, 6892, 561, 562, 566, 3327, 35, 1021, 32, 672, 6892, 27,
				30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 79, 3924, 3327, 35, 1021, 32, 672,
				6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 78, 3327, 35, 1021, 32,
				672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 77, 3033, 35, 1021,
				32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 102, 3327, 35,
				1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 108, 3327,
				35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76, 107,
				3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75, 76,
				105, 3327, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 104, 75,
				76, 103, 3274, 35, 1021, 32, 672, 6892, 27, 30, 31, 1030, 1171, 26, 28, 986, 294, 25, 23, 50, 1182, 85,
				75, 76, 1603, 6892, 6892, 6892, 56, 4307, 6892, 6892, 6892, 4307, 6892, 6892, 1870, 6892, 6892, 6892,
				6892, 4307, 2182, 6892, 6892, 6892, 6892, 598, 1959, 6892, 6892, 260, 6892, 4307, 6892, 377, 243, 35,
				1822, 423, 6892, 6892, 2700, 260, 6892, 6892, 6892, 4307, 6892, 377, 187, 6892, 237, 247, 652, 260,
				6892, 6892, 219, 236, 244, 245, 246, 248, 237, 247, 652, 49, 717, 377, 6892, 236, 244, 245, 246, 248,
				237, 247, 652, 1775, 47, 6892, 2511, 236, 244, 245, 246, 248, 6892, 1956, 6892, 6892, 6892, 6892, 238,
				240, 242, 3324, 6892, 249, 239, 241, 3071, 3898, 6892, 6892, 238, 240, 242, 3324, 6892, 249, 239, 241,
				6892, 6892, 6892, 6892, 238, 240, 242, 3324, 6892, 249, 239, 241, 3589, 35, 1822, 423, 4252, 6892, 2048,
				6892, 2579, 6892, 6089, 4307, 221, 270, 294, 6892, 6892, 6892, 6892, 6892, 2787, 56, 6089, 6892, 6892,
				6892, 598, 6892, 6892, 6892, 6892, 306, 3078, 260, 6089, 2315, 35, 1021, 32, 4949, 4229, 27, 30, 31,
				1030, 1171, 373, 28, 377, 187, 6892, 264, 6892, 6892, 237, 247, 652, 219, 6892, 6892, 6892, 236, 244,
				245, 246, 248, 6892, 1692, 6892, 268, 262, 263, 4307, 6892, 438, 6892, 6892, 2822, 6892, 6892, 6892,
				2511, 4307, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 3463, 260, 6892, 238, 240, 242,
				3324, 6892, 580, 239, 241, 4172, 6892, 307, 350, 3441, 355, 275, 278, 281, 821, 1132, 237, 247, 652,
				6892, 6892, 6892, 6892, 236, 244, 245, 246, 248, 1781, 6892, 6892, 6892, 3705, 4307, 6892, 6892, 6892,
				6892, 3560, 284, 2137, 6892, 6892, 6892, 6892, 4307, 6892, 6892, 2882, 243, 35, 1822, 423, 4307, 6892,
				260, 6892, 6892, 238, 240, 242, 3324, 6892, 579, 239, 241, 6892, 260, 6892, 6892, 6892, 6892, 6892,
				6892, 6892, 4172, 237, 247, 652, 6892, 49, 540, 6892, 236, 244, 245, 246, 248, 237, 247, 652, 6892,
				1775, 47, 6892, 236, 244, 245, 246, 248, 2226, 3687, 35, 552, 6892, 4307, 6892, 6892, 1797, 6892, 6892,
				6892, 6892, 6892, 270, 294, 3903, 6892, 238, 240, 242, 3324, 6892, 250, 239, 241, 6892, 260, 537, 539,
				238, 240, 242, 3324, 1179, 339, 239, 241, 5264, 4307, 6892, 2260, 6892, 6892, 6892, 3884, 4307, 6892,
				237, 247, 652, 540, 264, 6892, 6892, 236, 244, 245, 246, 248, 6892, 260, 6892, 6892, 6892, 3543, 6892,
				6892, 4172, 6892, 268, 262, 263, 1296, 6892, 6892, 6892, 5264, 4307, 6892, 6892, 6892, 983, 442, 5997,
				2271, 35, 1822, 423, 6892, 238, 240, 242, 3324, 3063, 534, 239, 241, 537, 539, 260, 6892, 243, 35, 1822,
				423, 6892, 6892, 6892, 366, 6892, 275, 278, 281, 821, 1132, 49, 6892, 6892, 6892, 6892, 983, 442, 5997,
				443, 444, 445, 3324, 1775, 47, 6892, 6892, 6892, 49, 6892, 3601, 6892, 6892, 6892, 4664, 243, 35, 1822,
				423, 394, 1775, 47, 6892, 56, 3276, 6892, 6892, 2669, 4307, 2459, 35, 1822, 423, 6892, 2707, 3174, 3175,
				6892, 443, 444, 445, 3324, 56, 6892, 3978, 6892, 49, 598, 56, 6892, 377, 6892, 56, 598, 6892, 6892,
				6892, 4307, 1775, 47, 49, 6892, 56, 3276, 561, 562, 567, 4307, 6892, 377, 187, 6892, 1775, 47, 6892,
				377, 187, 6892, 219, 377, 56, 6892, 4262, 717, 219, 4307, 446, 448, 6892, 377, 6892, 6892, 6892, 6892,
				6892, 6892, 2735, 6892, 6892, 6892, 6892, 6892, 2511, 6892, 2773, 6892, 6892, 377, 2511, 6892, 6892,
				6892, 717, 1909, 6892, 6892, 6234, 6892, 6892, 6892, 6892, 6892, 717, 6892, 6892, 446, 449, 6892, 6892,
				6892, 6892, 6892, 6892, 544, 6892, 6892, 6892, 6892, 6892, 6892, 717, 6892, 6892, 542, 6892, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 3616, 6892, 6892, 595, 6892, 6892,
				3702, 6892, 0, 39, 6907, 0, 39, 6906, 0, 713, 29, 0, 475, 886, 0, 489, 1280, 0, 38, 809, 0, 38, 6907, 0,
				38, 6906, 0, 4037, 124, 0, 1, 479, 0, 493, 866, 0, 492, 1372, 0, 1465, 89, 0, 713, 422, 0, 35, 33, 0,
				32, 34, 0, 39, 809, 0, 1, 626, 0, 1, 7197, 0, 1, 7196, 0, 1, 7195, 0, 1, 7194, 0, 1, 7193, 0, 1, 7192,
				0, 1, 7191, 0, 1, 7190, 0, 1, 7189, 0, 1, 7188, 0, 1, 7187, 0, 39, 1, 6907, 0, 39, 1, 6906, 0, 316, 429,
				0, 316, 321, 0, 7158, 273, 0, 7157, 273, 0, 7264, 273, 0, 7263, 273, 0, 7185, 273, 0, 7184, 273, 0,
				7183, 273, 0, 7182, 273, 0, 7181, 273, 0, 7180, 273, 0, 7179, 273, 0, 7178, 273, 0, 7197, 273, 0, 7196,
				273, 0, 7195, 273, 0, 7194, 273, 0, 7193, 273, 0, 7192, 273, 0, 7191, 273, 0, 7190, 273, 0, 7189, 273,
				0, 7188, 273, 0, 7187, 273, 0, 39, 6907, 273, 0, 39, 6906, 273, 0, 6930, 273, 0, 6907, 48, 0, 6906, 48,
				0, 6898, 1, 0, 6897, 1, 0, 1415, 269, 0, 32, 423, 0, 29, 422, 0, 43, 6928, 0, 43, 37, 0, 4037, 126, 0,
				4037, 125, 0, 1, 5818, 0, 1, 5457, 0, 1, 5514, 0, 1, 5580, 0, 1, 5603, 0, 1, 5633, 0, 1, 5657, 0, 1,
				5680, 0, 1041, 1, 0, 1, 2316, 0, 1, 5488, 0, 1, 6914, 0, 1, 6913, 0, 1, 6912, 0, 1, 6911, 0, 1, 6910, 0,
				1, 6909, 0, 1, 6908, 0, 1, 637, 0, 1, 670, 0, 1, 814, 0, 1, 835, 0, 1, 873, 0, 1, 3293, 0, 39, 1, 0,
				365, 480, 0, 6930, 1, 0, 47, 37, 0, 1, 90, 0, 6907, 273, 0, 6906, 273, 0, 536, 3322, 0, 6930, 1, 261, 0,
				39, 1, 261, 0, 261, 451, 0, 6907, 37, 0, 6906, 37, 0, 6907, 2, 37, 0, 6906, 2, 37, 0, 6907, 36, 0, 6906,
				36, 0, 6928, 45, 0, 37, 45, 0, 6902, 440, 0, 6901, 440, 0, 1, 2379, 0, 1, 809, 0, 261, 450, 0, 1856,
				352, 0, 365, 93, 0, 35, 72, 0, 1, 365, 0, 4270, 311, 0, 536, 6029, 0, 1, 261, 0, 261, 252, 0, 1, 2000,
				0, 1, 2404, 0, 261, 251, 0, 6904, 1, 0, 6900, 1, 0, 1, 261, 3555, 0, 6901, 261, 0, 3562, 261, 0, 6904,
				418, 0, 6903, 418, 0, 3604, 261, 0, 10, 12, 0, 8, 10, 12, 0, 3611, 225, 0, 216, 5243, 0, 3649, 418, 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, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6870, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 119, 1, 1, 1, 1, 1, 131, 1045, 7098, 2338, 127, 3465, 1, 1, 365, 6903, 6892,
				6906, 6907, 6899, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 10, 6873, 6873,
				6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873,
				6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873,
				6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873,
				4379, 4446, 6873, 6873, 6873, 6873, 39, 6873, 6873, 6873, 6930, 6873, 6873, 6873, 1105, 6873, 3786,
				3755, 430, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 6873, 8, 6876, 6876,
				6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876,
				6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876,
				6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876,
				123, 133, 6876, 6876, 6876, 6876, 6892, 6876, 6876, 6876, 2244, 6876, 6876, 6876, 331, 6876, 6892, 6637,
				6634, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6876, 6892, 6854, 6833,
				6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1, 1, 1, 1, 419,
				1045, 7098, 2338, 1253, 3465, 1, 1, 6892, 6903, 48, 6637, 6634, 188, 2869, 3600, 3079, 3230, 3029, 3553,
				4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 122, 1488, 1, 1, 1, 1, 132, 1045, 7098, 2338, 6892, 3465, 1, 1, 6892, 6903, 121,
				714, 120, 6892, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833,
				6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1, 1, 1, 1, 151,
				1045, 7098, 2338, 128, 3465, 1, 1, 1105, 6903, 4379, 4446, 4379, 4446, 2869, 3600, 3079, 3230, 3029,
				3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 139, 134, 1, 1, 1, 1, 152, 1045, 7098, 2338, 147, 3465, 1, 1, 3620, 6903,
				3786, 3755, 143, 6892, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892,
				6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1, 1, 1,
				1, 6892, 1045, 7098, 2338, 1253, 3465, 1, 1, 3620, 6903, 3857, 3817, 4379, 4446, 2869, 3600, 3079, 3230,
				3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833,
				6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 142, 137, 1, 1, 1, 1, 6892, 1045, 7098, 2338, 153, 3465, 1, 1, 6892,
				6903, 432, 6906, 6907, 1853, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564,
				6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379, 4446, 1,
				1, 1, 1, 6892, 1045, 7098, 2338, 2318, 3465, 1, 1, 430, 6903, 3369, 4899, 423, 3565, 2869, 3600, 3079,
				3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833,
				6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 140, 6892, 1, 1, 1, 1, 6892, 1045, 7098, 2338, 148, 3465,
				1, 1, 6892, 6903, 36, 6791, 6788, 6892, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968,
				3564, 6892, 6854, 6833, 6833, 6833, 6833, 6833, 6833, 6833, 6861, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6858, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 4379,
				4446, 1, 1, 1, 1, 135, 1045, 7098, 2338, 6892, 3465, 1, 1, 1435, 6903, 3857, 3817, 550, 6892, 2869,
				3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564, 6892, 3555, 1, 1, 1, 1, 1, 1, 1, 3562,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6901, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 928, 440, 1, 1, 1, 1, 6892, 1045, 7098, 2338, 6800, 3465, 1, 1, 6892,
				6903, 3471, 6892, 10614, 10614, 2869, 3600, 3079, 3230, 3029, 3553, 4734, 3598, 805, 3593, 3968, 3564,
				39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6803, 970, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 5580,
				5514, 5680, 5657, 6911, 5457, 6928, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910,
				7325, 6892, 6892, 634, 7326, 7327, 1438, 6892, 6767, 6767, 261, 6763, 261, 261, 261, 261, 6771, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 321, 6551, 6551, 6892, 316, 6892, 261,
				6892, 6544, 6540, 2379, 6691, 6824, 809, 6824, 2316, 331, 6906, 6907, 1, 113, 6760, 1, 1, 1, 5418, 109,
				2200, 7339, 1393, 1, 6544, 6540, 2379, 6691, 6892, 809, 261, 2316, 451, 999, 2796, 923, 3435, 255, 343,
				6544, 6540, 2379, 6691, 6824, 809, 6824, 2316, 7427, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193,
				7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 3032, 6892,
				7362, 7363, 7364, 6892, 6767, 6767, 261, 6763, 261, 261, 261, 261, 6812, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5726, 6892, 5394, 5146, 137, 37, 261, 5749, 124, 401, 6544,
				6540, 4215, 6691, 1, 809, 1, 2316, 493, 1, 256, 6760, 1, 1, 1, 6892, 6161, 2200, 7339, 1393, 4896, 33,
				6892, 6892, 6495, 6892, 6495, 261, 6495, 450, 6495, 1480, 7184, 7263, 7264, 7178, 7185, 7181, 7157,
				7183, 7182, 7179, 7180, 7158, 7427, 365, 6456, 6453, 2379, 1041, 6928, 809, 4064, 2316, 6892, 6495,
				6495, 6495, 6495, 2052, 6892, 6495, 6477, 1415, 2005, 6892, 6906, 6907, 6483, 1292, 7362, 7363, 7364,
				6892, 6904, 6495, 1, 6544, 6540, 4215, 6691, 6495, 809, 112, 2316, 6495, 3609, 4010, 3937, 6495, 4896,
				6495, 6495, 6495, 6495, 3369, 4899, 1958, 1911, 1864, 1817, 1770, 1723, 1676, 1629, 1582, 1535, 6495,
				6495, 116, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495,
				6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6495, 6903, 6452, 2052, 2618, 6495, 6495, 6495, 6495,
				6892, 4637, 4333, 6498, 431, 6498, 6892, 6498, 422, 6498, 1, 6544, 6540, 2379, 6691, 6904, 809, 593,
				2316, 335, 37, 6907, 6907, 6907, 6907, 6907, 39, 6907, 6892, 7226, 6930, 365, 5726, 365, 6498, 6498,
				6498, 6498, 89, 5749, 6498, 6489, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907, 6907,
				6907, 6498, 6892, 6456, 6453, 713, 6930, 6498, 6892, 6456, 6453, 6498, 1041, 6892, 6501, 6498, 2316,
				6498, 6498, 6498, 6498, 474, 6903, 3548, 38, 6474, 6471, 6907, 3032, 2855, 6468, 6907, 2316, 6498, 6498,
				6907, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498,
				6498, 6498, 6498, 6498, 6498, 6498, 6498, 6498, 43, 6658, 6658, 2643, 6498, 6498, 6498, 6498, 6892,
				6833, 6833, 261, 6833, 261, 261, 261, 261, 6836, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				9230, 1, 1, 1, 1, 1, 1, 6892, 1, 6544, 6540, 6806, 6691, 261, 6809, 111, 6694, 479, 1, 1, 6655, 1, 6480,
				110, 6480, 257, 1, 157, 6830, 1, 1, 1, 129, 6892, 2589, 7135, 2338, 2443, 3465, 3673, 7362, 7363, 7364,
				6892, 6906, 6907, 252, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892,
				2536, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 6892, 2811, 6892, 6892, 6456, 6453, 261, 1041, 39, 809, 5726, 2316,
				6930, 5703, 956, 1, 6892, 5749, 5726, 1, 3360, 6830, 1, 1, 1, 5749, 6892, 2589, 7135, 2338, 969, 3465,
				3408, 5245, 2745, 2679, 2613, 2547, 2481, 2415, 2349, 2283, 2217, 2151, 379, 6456, 6453, 4215, 1041,
				365, 809, 365, 2316, 3456, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 6845, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 480, 39, 39, 6892, 6930, 6742, 261, 6742,
				2094, 90, 1, 1, 6896, 1, 6751, 2052, 6751, 269, 258, 1, 6646, 6830, 1, 1, 1, 6892, 3602, 2589, 7135,
				2338, 6892, 3465, 492, 7362, 7363, 7364, 325, 6906, 6907, 251, 7184, 7263, 7264, 7178, 7185, 7181, 7157,
				7183, 7182, 7179, 7180, 7158, 144, 6892, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 6836, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 93, 39, 39, 6486, 6930, 6818,
				261, 6818, 6892, 6456, 6453, 39, 1041, 130, 809, 6930, 2316, 4145, 259, 1, 3673, 6830, 1, 1, 1, 136,
				6892, 2589, 7135, 2338, 6892, 3465, 6895, 2662, 429, 6548, 6548, 382, 316, 252, 7184, 7263, 7264, 7178,
				7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 4118, 4091, 7427, 6892, 6833, 6833, 261, 6833, 261, 261,
				261, 261, 6836, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 316, 6892,
				6906, 6907, 6892, 2648, 261, 809, 2052, 2316, 6892, 6906, 6907, 155, 370, 115, 1480, 6892, 570, 1, 5418,
				6830, 1, 1, 1, 396, 6898, 2589, 7135, 2338, 1, 3465, 3471, 3890, 6892, 6637, 6634, 7263, 7264, 252,
				7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 146, 6892, 7427, 6892, 6833,
				6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1,
				1, 1, 1, 1, 6897, 2052, 114, 6892, 3437, 575, 261, 5418, 6892, 575, 571, 5703, 956, 1, 4379, 4446, 6309,
				4145, 4487, 1, 3509, 6830, 1, 1, 1, 5394, 5146, 2589, 7135, 2338, 6892, 3465, 7184, 7263, 7264, 7178,
				7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 379, 39, 39, 3890, 6930, 365, 6892, 365, 4118, 4091,
				7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 9230, 1, 1, 1, 1, 1, 1, 6892, 6456, 6453, 6892, 6930, 2656, 261, 6892, 154, 1, 572, 1, 5394, 5146,
				6892, 2052, 6902, 4953, 6902, 1, 222, 6830, 1, 1, 1, 2684, 6892, 2589, 7135, 2338, 6892, 3465, 7184,
				7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892, 6456, 6453, 6901, 1041, 6901,
				6501, 222, 2316, 6892, 7427, 6892, 6833, 6833, 261, 6833, 261, 261, 261, 261, 261, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9230, 1, 1, 1, 1, 1, 1, 1, 6739, 6739, 6892, 6745, 365, 261, 365, 149,
				397, 2709, 6892, 10368, 10365, 3565, 3707, 1, 6892, 5091, 1, 409, 6830, 1, 1, 1, 192, 6898, 2589, 7135,
				2338, 392, 3465, 6892, 1, 1, 1, 1, 1, 1, 1, 1, 6892, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7427, 1, 6544,
				6540, 6806, 6691, 6892, 6809, 345, 6694, 6902, 2442, 1, 1, 1, 1, 1, 1, 397, 1, 1, 1, 1, 1, 1, 1, 1, 1,
				1, 1, 1, 37, 6748, 6748, 192, 6897, 365, 1, 6892, 6892, 7489, 6901, 5023, 397, 1, 1, 1, 6544, 6540,
				3293, 1041, 5603, 5488, 5633, 2316, 6892, 6504, 6531, 6537, 6510, 6513, 6525, 6522, 6528, 6519, 6516,
				6507, 6534, 1, 6544, 6540, 2379, 6691, 7283, 809, 156, 2316, 343, 1143, 3602, 5580, 5514, 5680, 5657,
				6911, 5457, 6928, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 37, 6748, 6748,
				6892, 118, 6892, 1438, 117, 5077, 343, 5844, 551, 6898, 39, 39, 39, 6456, 6453, 5208, 1041, 5603, 5488,
				5633, 2316, 6886, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 6892, 4637,
				4333, 5079, 4637, 4333, 6892, 6777, 6774, 6892, 10368, 10365, 5580, 5514, 5680, 5657, 6911, 5457, 1430,
				670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 324, 743, 743, 6366, 3509, 150, 1438,
				6897, 6892, 6892, 6892, 6892, 3707, 6892, 4270, 6892, 6867, 6900, 6900, 6902, 6899, 172, 6456, 6453,
				5208, 1041, 5603, 5488, 5633, 2316, 6928, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194,
				7197, 7188, 37, 6748, 6748, 6892, 6892, 6892, 6748, 6901, 381, 6892, 6892, 1368, 5580, 5514, 5680, 5657,
				6911, 5457, 145, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, 6784, 6780,
				1057, 3278, 7439, 1438, 6899, 6899, 6892, 2877, 1, 4411, 39, 39, 1, 6544, 6540, 3293, 1041, 5603, 5488,
				5633, 2316, 1577, 6504, 6531, 6537, 6510, 6513, 6525, 6522, 6528, 6519, 6516, 6507, 6534, 2052, 1, 1,
				404, 4145, 7368, 7382, 7328, 98, 402, 6848, 397, 5580, 5514, 5680, 5657, 6911, 5457, 6928, 670, 873,
				6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 45, 6797, 6797, 1, 101, 6892, 1438, 4690, 4118,
				4091, 326, 463, 6851, 39, 39, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6864, 626, 7189, 7187,
				7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 5283, 1, 6903, 7285, 6892, 1341, 397, 1856, 6892,
				582, 354, 1388, 5580, 5514, 5680, 5657, 6911, 5457, 6794, 670, 873, 6913, 814, 5818, 835, 6914, 6912,
				637, 6908, 6909, 6910, 397, 5968, 6892, 6777, 6774, 6892, 1438, 6892, 6899, 1, 352, 455, 3089, 6815,
				2079, 97, 6867, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6864, 626, 7189, 7187, 7196, 7195,
				7191, 7192, 7190, 7193, 7194, 7197, 7188, 2052, 6892, 11370, 8991, 1, 2199, 29, 887, 475, 7390, 7396,
				7394, 5580, 5514, 5680, 5657, 6911, 5457, 6928, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908,
				6909, 6910, 2052, 37, 6748, 6748, 489, 2990, 1438, 7388, 7389, 7419, 7420, 3188, 7397, 6892, 1, 1, 6867,
				311, 3890, 6892, 6827, 1, 573, 6898, 6640, 6928, 6892, 7399, 335, 6459, 6892, 6462, 6892, 798, 422,
				3536, 3704, 7400, 7226, 1751, 1762, 7421, 6892, 7398, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183,
				7182, 7179, 7180, 7158, 6928, 581, 6465, 7410, 7409, 1, 7415, 7416, 7422, 7413, 7414, 7393, 7395, 7417,
				6892, 6839, 7391, 7392, 7418, 2052, 7403, 7404, 7405, 7401, 7402, 7411, 7412, 7407, 7406, 7408, 6897,
				6643, 6492, 2311, 7423, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6896, 626, 7189, 7187, 7196,
				7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 126, 6842, 48, 3544, 6892, 48, 6907, 6892, 1, 6906,
				5173, 713, 5580, 5514, 5680, 5657, 6911, 5457, 6839, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637,
				6908, 6909, 6910, 1, 6544, 6540, 6736, 6691, 6679, 6697, 6682, 6694, 47, 6504, 6531, 6537, 6510, 6513,
				6525, 6522, 6528, 6519, 6516, 6507, 6534, 1, 4064, 318, 6907, 3602, 3360, 6906, 483, 6842, 589, 3544,
				6661, 6676, 6673, 6688, 6685, 6709, 6670, 6892, 6724, 6733, 6703, 6727, 6667, 6730, 6700, 6706, 6721,
				6718, 6715, 6712, 8, 29, 324, 461, 6892, 4010, 3937, 4767, 216, 6889, 6892, 1383, 6895, 6739, 6739, 39,
				6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 6892, 6892, 7209, 225, 589, 3438, 125, 430, 72, 6892, 2141, 6892, 5580, 5514,
				5680, 5657, 6911, 5457, 713, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892,
				6892, 9970, 4361, 459, 6889, 1438, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189,
				7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 4064, 713, 6821, 2036, 484, 2788, 6892,
				6892, 6892, 35, 6664, 3131, 5580, 5514, 5680, 5657, 6911, 5457, 6880, 670, 873, 6913, 814, 5818, 835,
				6914, 6912, 637, 6908, 6909, 6910, 6892, 6883, 6892, 5983, 4010, 3937, 6892, 1380, 39, 6456, 6453, 3293,
				1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197,
				7188, 4145, 342, 6892, 6892, 6892, 6328, 4798, 6334, 543, 2, 4185, 2273, 5580, 5514, 5680, 5657, 6911,
				5457, 2791, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, 6892, 6892, 5878,
				4118, 4091, 1438, 39, 6456, 6453, 3293, 1041, 5603, 5488, 5633, 2316, 4796, 626, 7189, 7187, 7196, 7195,
				7191, 7192, 7190, 7193, 7194, 7197, 7188, 541, 6892, 6892, 37, 6892, 5337, 6892, 6892, 6892, 2181, 6892,
				6892, 5580, 5514, 5680, 5657, 6911, 5457, 6338, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908,
				6909, 6910, 6892, 6892, 6892, 6892, 6892, 6892, 1438, 39, 6456, 6453, 5208, 1041, 5603, 5488, 5633,
				2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 6892, 545, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6348, 2791, 5580, 5514, 5680, 5657, 6911, 5457, 4858, 670,
				873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892, 6892, 6892, 6892, 6892, 6892, 1438,
				39, 6456, 6453, 4570, 1041, 5603, 5488, 5633, 2316, 4920, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 2943, 903, 5580,
				5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910,
				39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 5580,
				5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910,
				39, 6456, 6453, 3293, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 5580,
				5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910,
				39, 6456, 6453, 3293, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 5580,
				5514, 5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910,
				39, 6456, 6453, 5208, 1041, 5603, 5488, 5633, 2316, 6892, 626, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 1, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 194, 6892, 6892, 5580, 5514,
				5680, 5657, 6911, 5457, 6892, 670, 873, 6913, 814, 5818, 835, 6914, 6912, 637, 6908, 6909, 6910, 6892,
				6456, 6453, 6892, 6930, 6892, 6892, 6892, 6892, 6892, 758, 7189, 7187, 7196, 7195, 7191, 7192, 7190,
				7193, 7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 194, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 273, 6627,
				6623, 7325, 6631, 6892, 634, 7326, 7327, 6892, 758, 6614, 6620, 6593, 6596, 6608, 6605, 6611, 6602,
				6599, 6590, 6617, 6569, 6563, 6560, 6587, 6566, 6578, 6557, 6572, 6575, 6584, 6581, 6554, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6906, 6907, 6892,
				7325, 6892, 6892, 634, 7326, 7327, 1186, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197,
				7188, 7184, 7263, 7264, 7178, 7185, 7181, 7157, 7183, 7182, 7179, 7180, 7158, 6892, 6892, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 273, 6757, 6754, 6892, 7325, 6892,
				6892, 634, 7326, 7327, 1186, 6614, 6620, 6593, 6596, 6608, 6605, 6611, 6602, 6599, 6590, 6617, 6569,
				6563, 6560, 6587, 6566, 6578, 6557, 6572, 6575, 6584, 6581, 6554, 6892, 6892, 6892, 29, 422, 422, 6652,
				422, 6652, 422, 6652, 422, 6652, 6892, 74, 6892, 6892, 3335, 6892, 7325, 6892, 6892, 634, 7326, 7327,
				422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 422, 6892, 1, 6544, 6540, 4215, 6691, 6652, 809,
				1, 2316, 6640, 3890, 6892, 6954, 6955, 6892, 6892, 375, 6892, 6892, 6459, 6892, 6892, 6892, 6892, 6892,
				6652, 32, 423, 423, 6649, 423, 6649, 423, 6649, 423, 6649, 4716, 6652, 6892, 6892, 6892, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 423, 2052, 6892,
				6892, 6892, 6892, 6892, 6649, 2052, 6892, 6892, 6892, 375, 6643, 6892, 6892, 375, 6892, 6892, 6892, 375,
				6892, 6892, 6892, 6892, 6892, 6892, 6649, 6892, 569, 6892, 6892, 6892, 6892, 745, 6892, 868, 6892, 6892,
				6649, 7189, 7187, 7196, 7195, 7191, 7192, 7190, 7193, 7194, 7197, 7188, 7184, 7263, 7264, 7178, 7185,
				7181, 7157, 7183, 7182, 7179, 7180, 7158, 37, 6906, 6906, 6906, 6906, 6906, 6892, 6906, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6906, 6906, 6906, 6906, 6906,
				6906, 6906, 6906, 6906, 6906, 6906, 6906, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892,
				6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6892, 6906,
				6892, 6892, 6892, 6906, 6892, 6892, 6892, 6906 };
	}

	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, 904, 7, 485, 1, 945, 837, 837, 837, 837, 651, 945, 663, 663, 583, 663,
				120, 469, 122, 486, 486, 486, 486, 486, 486, 486, 486, 486, 665, 671, 676, 673, 680, 678, 685, 683, 687,
				686, 688, 267, 689, 485, 485, 42, 42, 42, 42, 524, 223, 15, 15, 660, 42, 567, 171, 663, 663, 15, 524,
				171, 171, 162, 469, 947, 41, 1124, 653, 1005, 485, 663, 665, 379, 379, 223, 485, 486, 486, 486, 486,
				486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 486, 485, 485, 485, 485, 485, 485,
				485, 485, 485, 485, 485, 485, 486, 171, 1070, 1070, 1070, 1070, 1126, 171, 15, 15, 649, 994, 1005, 79,
				1005, 74, 1005, 9, 1005, 989, 651, 524, 567, 567, 15, 837, 486, 649, 527, 865, 855, 854, 405, 1012,
				1012, 651, 122, 567, 41, 485, 522, 1123, 521, 523, 521, 171, 567, 673, 673, 671, 671, 671, 678, 678,
				678, 678, 676, 676, 683, 680, 680, 686, 685, 687, 1082, 688, 945, 945, 945, 945, 524, 524, 1070, 43,
				645, 469, 1047, 1045, 1052, 1050, 1054, 1053, 1055, 1056, 1069, 1070, 660, 524, 316, 174, 76, 381, 77,
				651, 524, 524, 1126, 1070, 162, 567, 704, 171, 867, 869, 524, 1124, 486, 42, 669, 127, 171, 653, 524,
				524, 523, 1124, 485, 485, 485, 485, 485, 945, 945, 622, 633, 633, 633, 633, 617, 651, 776, 486, 486,
				486, 486, 486, 486, 486, 486, 486, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 485, 486, 469,
				317, 658, 656, 174, 524, 783, 578, 781, 1126, 79, 319, 524, 1126, 524, 171, 859, 847, 858, 869, 1126,
				522, 171, 669, 649, 1123, 653, 524, 522, 171, 171, 171, 171, 223, 223, 524, 486, 1045, 1045, 1045, 1050,
				1047, 1047, 1053, 1052, 1054, 1082, 1055, 317, 656, 322, 524, 174, 1082, 77, 837, 1128, 767, 1072, 174,
				783, 782, 783, 783, 1126, 319, 319, 524, 524, 325, 485, 856, 856, 386, 386, 524, 863, 649, 792, 171,
				524, 669, 670, 669, 485, 127, 772, 665, 653, 171, 171, 1126, 787, 485, 656, 656, 1124, 79, 79, 1070,
				837, 521, 335, 1074, 518, 945, 783, 783, 783, 783, 524, 319, 321, 825, 321, 325, 485, 485, 869, 524,
				1124, 171, 867, 847, 325, 416, 669, 223, 486, 567, 772, 524, 656, 655, 522, 340, 79, 729, 190, 522, 783,
				783, 518, 709, 486, 1082, 394, 830, 524, 649, 783, 783, 570, 321, 322, 486, 524, 720, 869, 325, 670,
				171, 567, 656, 710, 340, 340, 265, 1084, 308, 945, 77, 766, 190, 522, 783, 79, 651, 1074, 486, 486,
				1123, 518, 839, 218, 571, 524, 322, 720, 171, 720, 322, 340, 340, 728, 308, 265, 843, 651, 1069, 837,
				399, 399, 710, 79, 449, 839, 524, 945, 570, 524, 651, 651, 524, 945, 713, 720, 322, 729, 340, 710, 393,
				709, 171, 651, 524, 190, 729, 190, 1068, 1068, 774, 450, 651, 524, 223, 524, 524, 524, 870, 713, 340,
				485, 83, 518, 710, 524, 524, 190, 42, 42, 774, 449, 1082, 486, 1082, 710, 448, 945, 945, 945, 450, 945,
				524, 275, 710, 710, 524, 79, 171, 524, 524, 170, 715, 322, 171, 322, 79, 524, 710, 1069, 441, 945, 441,
				450, 1082, 450, 469, 469, 467, 448, 469, 710, 710, 726, 447, 42, 715, 322, 83, 710, 72, 792, 450, 171,
				518, 171, 467, 308, 945, 171, 774, 83, 399, 171, 171, 429, 450, 726, 450, 710, 308, 485, 450, 447, 321,
				1068, 79, 79, 979, 485, 448, 223, 710, 171, 708, 82, 521, 450, 171, 710, 708, 708, 450 };
	}

	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, 9, 71, 118, 72, 40, 68, 120, 0, 4, 9, 69, 1, 2, 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, 55,
				4, 71, 1, 2, 69, 9, 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, 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, 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, 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, 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, 1, 2, 68, 73, 9, 0, 23, 59, 24, 9, 64, 97, 70, 68, 72, 0, 9, 71, 69, 74, 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, 74, 64, 71, 97, 72, 69, 60, 3, 9, 68, 40, 70,
				0, 64, 70, 68, 1, 2, 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, 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, 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, 22, 1, 2, 4, 114, 115, 116, 0, 4, 9, 71, 69, 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, 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, 24, 74, 3, 71, 40, 69, 59, 9, 64, 97, 68, 72, 70, 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, 113, 0, 54, 64, 89, 90, 0, 4, 54, 9, 71, 69, 0, 72, 9, 87, 86, 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, 9, 68, 73, 70, 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, 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, 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, 204, 12, 63, 12, 12, 12, 12, 12, 12, 67, 12, 12, 12, 130, 12, 220, 153,
				27, 63, 63, 252, 63, 63, 63, 63, 63, 63, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 63, 12, 63, 195,
				154, 154, 154, 154, 27, 81, 177, 177, 53, 5, 107, 232, 12, 12, 177, 256, 232, 232, 161, 1, 63, 56, 18,
				12, 12, 195, 12, 12, 40, 40, 81, 195, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63,
				63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 195, 63, 232, 12, 12, 12, 12, 76, 232, 30, 30,
				184, 274, 275, 212, 275, 50, 275, 13, 275, 268, 10, 27, 107, 107, 30, 12, 63, 184, 102, 160, 20, 20, 12,
				12, 12, 10, 27, 107, 154, 84, 220, 126, 219, 27, 219, 232, 107, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
				12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 47, 11, 12, 245, 161, 148, 12, 12, 12, 12, 12, 12,
				12, 12, 12, 12, 226, 27, 12, 177, 46, 67, 24, 67, 27, 11, 12, 12, 224, 107, 12, 232, 198, 177, 27, 18,
				63, 154, 177, 71, 232, 12, 11, 27, 157, 18, 63, 195, 195, 195, 195, 12, 12, 274, 275, 275, 275, 275,
				294, 10, 12, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 195, 63,
				30, 186, 186, 186, 302, 47, 109, 109, 12, 239, 212, 177, 239, 17, 47, 232, 12, 170, 12, 201, 16, 47,
				232, 38, 226, 126, 12, 256, 47, 232, 232, 232, 232, 81, 81, 27, 63, 12, 12, 12, 12, 12, 12, 12, 12, 12,
				12, 12, 12, 177, 138, 27, 167, 12, 123, 12, 12, 79, 286, 302, 109, 109, 177, 177, 17, 177, 257, 11, 47,
				177, 63, 12, 12, 20, 20, 27, 169, 184, 201, 232, 47, 177, 115, 12, 195, 226, 158, 12, 12, 232, 232, 17,
				232, 63, 186, 117, 18, 212, 141, 12, 12, 67, 177, 179, 172, 12, 177, 177, 74, 74, 47, 257, 90, 12, 12,
				117, 63, 63, 177, 11, 18, 232, 198, 214, 177, 12, 38, 81, 63, 107, 158, 47, 177, 117, 220, 177, 212,
				277, 177, 239, 177, 94, 216, 167, 63, 12, 92, 12, 27, 184, 74, 74, 111, 90, 138, 63, 257, 177, 201, 117,
				115, 232, 107, 117, 167, 259, 177, 12, 277, 287, 12, 140, 79, 201, 220, 94, 134, 119, 172, 63, 63, 87,
				216, 12, 67, 58, 239, 138, 96, 232, 177, 138, 277, 259, 211, 179, 12, 12, 67, 12, 12, 98, 98, 167, 134,
				137, 12, 239, 12, 188, 239, 67, 67, 11, 12, 177, 96, 138, 277, 177, 167, 143, 12, 232, 67, 239, 201,
				277, 177, 12, 12, 177, 192, 119, 11, 81, 11, 239, 239, 230, 117, 259, 84, 61, 172, 167, 239, 124, 201,
				154, 154, 69, 207, 12, 63, 12, 167, 12, 12, 12, 12, 208, 12, 257, 165, 167, 167, 257, 145, 232, 11, 11,
				232, 177, 138, 232, 177, 212, 124, 167, 12, 100, 12, 12, 208, 12, 208, 282, 282, 234, 12, 282, 167, 167,
				12, 177, 154, 96, 138, 177, 167, 12, 154, 208, 232, 172, 232, 264, 177, 12, 232, 69, 61, 98, 232, 232,
				177, 208, 12, 208, 167, 172, 195, 208, 100, 138, 12, 145, 145, 170, 63, 12, 242, 167, 232, 22, 60, 219,
				208, 232, 167, 22, 12, 208 };
	}

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

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

	public interface Nasr {
		public final static char nasr[] = { 0, 3, 13, 10, 9, 137, 136, 113, 135, 134, 4, 2, 0, 166, 200, 0, 154, 2, 75,
				0, 79, 0, 176, 0, 42, 1, 0, 2, 44, 0, 4, 10, 9, 2, 13, 127, 5, 0, 161, 0, 4, 2, 9, 10, 157, 0, 44, 2, 3,
				0, 166, 205, 0, 5, 212, 0, 192, 0, 210, 0, 80, 148, 42, 10, 9, 2, 13, 4, 0, 175, 0, 5, 194, 0, 123, 0,
				154, 75, 0, 170, 0, 5, 105, 0, 5, 28, 0, 75, 53, 0, 167, 0, 208, 0, 173, 0, 144, 0, 121, 0, 129, 0, 13,
				2, 9, 10, 4, 94, 0, 122, 0, 4, 115, 209, 0, 159, 0, 51, 0, 186, 4, 185, 0, 140, 117, 0, 75, 156, 155, 0,
				5, 60, 213, 0, 42, 174, 0, 5, 80, 0, 1, 140, 0, 201, 0, 42, 66, 0, 13, 2, 9, 10, 4, 36, 5, 60, 0, 2,
				131, 0, 32, 100, 101, 5, 0, 5, 36, 39, 0, 32, 101, 100, 77, 4, 2, 9, 10, 5, 0, 5, 10, 9, 2, 77, 4, 98,
				53, 0, 4, 115, 182, 0, 50, 42, 196, 5, 36, 0, 53, 4, 98, 27, 5, 0, 5, 191, 0, 80, 36, 50, 82, 5, 42, 0,
				101, 100, 53, 77, 68, 4, 10, 9, 2, 0, 101, 100, 53, 4, 68, 0, 60, 5, 32, 0, 36, 5, 27, 198, 0, 2, 67, 0,
				5, 195, 0, 137, 214, 136, 113, 135, 134, 0, 4, 10, 9, 13, 3, 1, 0, 132, 5, 50, 93, 0, 60, 5, 197, 0, 2,
				4, 113, 110, 111, 112, 13, 69, 0, 5, 50, 93, 95, 0, 5, 60, 116, 0, 39, 4, 2, 9, 10, 5, 172, 0, 113, 69,
				13, 110, 111, 112, 190, 0, 5, 50, 93, 115, 48, 4, 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, 162, 141, 126, 163, 164, 165, 131, 166,
				167, 128, 168, 0, 129, 138, 137, 170, 169, 171, 185, 0, 0, 195, 172, 0, 173, 0, 0, 0, 0, 0, 152, 174,
				175, 176, 0, 177, 180, 0, 155, 194, 0, 0, 0, 212, 0, 0, 209, 213, 0, 214, 127, 145, 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, 600, 619, 317, 332, 551, 567, 578, 589, 372, 280, 294, 311,
				344, 55, 305, 392, 430, 180, 608, 502, 20, 33, 64, 84, 93, 98, 103, 143, 208, 339, 350, 20, 467, 157,
				286, 300, 526, 40, 157, 382, 20, 627, 40, 230, 259, 1, 14, 27, 74, 89, 119, 27, 361, 365, 448, 495, 547,
				637, 641, 645, 110, 7, 110, 410, 426, 439, 460, 479, 539, 129, 129, 245, 439, 558, 574, 585, 596, 220,
				513, 69, 69, 169, 235, 238, 69, 254, 275, 238, 238, 69, 369, 492, 499, 169, 69, 660, 123, 355, 414, 454,
				486, 472, 69, 355, 401, 190, 117, 452, 649, 656, 649, 656, 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, 531, 51,
				165, 387, 614, 632, 45, 224, 224, 5, 18, 31, 5, 72, 108, 31, 108, 108, 148, 257, 5, 5, 5, 257, 658, 11,
				114, 379, 379, 379, 464, 483, 531, 133, 138, 249, 443, 562, 562, 562, 562, 224, 517, 72, 72, 5, 5, 241,
				243, 257, 5, 278, 278, 243, 108, 5, 257, 5, 524, 5, 126, 358, 417, 457, 489, 475, 543, 534, 404, 193,
				108, 108, 651, 651, 653, 653, 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, 58,
				85, 84, 48, 18, 20, 190, 3, 7, 8, 182, 182, 178, 110, 48, 111, 111, 138, 45, 147, 59, 49, 157, 151, 147,
				85, 18, 18, 151, 102, 72, 153, 88, 190, 185, 182, 178, 138, 199, 56, 66, 161, 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,
				79, 73, 172, 89, 138, 86, 162, 161, 192, 157, 17, 178, 138, 116, 83, 22, 45, 157, 157, 85, 48, 178, 78,
				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, 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, 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, 175, 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, 182, 0, 33, 169, 0, 182, 0, 183, 33, 169, 0, 238, 3, 85, 0, 204, 154, 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, 203, 3, 0,
				126, 149, 0, 227, 3, 0, 226, 60, 283, 0, 158, 60, 0, 203, 3, 314, 67, 126, 0, 126, 0, 0, 0, 0, 314, 67,
				126, 0, 2, 145, 126, 0, 0, 0, 0, 147, 0, 125, 55, 166, 126, 0, 31, 147, 0, 93, 136, 31, 147, 0, 228,
				189, 126, 0, 146, 31, 147, 0, 158, 3, 49, 0, 158, 3, 64, 203, 54, 41, 0, 203, 54, 41, 0, 20, 2, 131,
				126, 0, 158, 3, 64, 203, 54, 44, 0, 203, 54, 44, 0, 158, 3, 64, 203, 54, 46, 0, 203, 54, 46, 0, 158, 3,
				64, 203, 54, 42, 0, 203, 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, 5858, 6334, 6328, 5983, 0, 2804, 1340, 2010, 1062, 0, 5305, 5243,
				5175, 5044, 4982, 4920, 4858, 4796, 4734, 4535, 4473, 4798, 0, 2593, 0, 2930, 2310, 1994, 0, 2273, 2141,
				0, 5305, 5243, 2995, 2871, 5175, 5044, 4982, 4920, 4858, 4796, 2869, 4734, 4535, 4473, 2598, 2540, 0,
				6109, 4896, 6039, 0, 4361, 2079, 0, 2445, 2088, 0, 652, 5997, 0, 823, 706, 0, 4677, 652, 4422, 4664,
				5997, 4624, 5133, 2511, 2181, 3844, 3278, 2379, 4229, 4215, 4172, 0, 6234, 6195, 0, 6234, 6195, 5864,
				6161, 6101, 5852, 6089, 6029, 5840, 5968, 5305, 5243, 5175, 5044, 4982, 4920, 4858, 4796, 4734, 4535,
				4473, 0, 6234, 6195, 5864, 6161, 6101, 5852, 6089, 6029, 5840, 5968, 0, 6162, 5442, 0, 2318, 2244, 0,
				3844, 4677, 4990, 4422, 4664, 6202, 4229, 2917, 3603, 2866, 4484, 4706, 2471, 3345, 2080, 0, 3408, 3509,
				3620, 3565, 3857, 3817, 3707, 3293, 2877, 928, 2811, 2745, 2679, 2613, 2547, 2481, 2415, 2349, 2283,
				2217, 2151, 836, 768, 676, 0, 868, 745, 0, 956, 0, 2260, 1954, 650, 648, 4664, 4706, 4624, 4215, 4172,
				3257, 3890, 717, 0, 6162, 5442, 5962, 598, 4307, 0, 6315, 6301, 6263, 6246, 6110, 5872, 5314, 5184,
				5011, 4949, 5264, 5195, 4887, 4867, 5073, 4564, 4328, 764, 3884, 4828, 4502, 4252, 924, 672, 0, 4262,
				3978, 6315, 6301, 6263, 3903, 3898, 6246, 640, 6110, 5872, 5314, 5184, 5011, 1765, 3594, 1718, 1671,
				4949, 1624, 5264, 5195, 1577, 1480, 1430, 1383, 4887, 4867, 1334, 3330, 5073, 3184, 4564, 3445, 4328,
				764, 3884, 1248, 4828, 4502, 4252, 5962, 809, 4307, 924, 672, 2841, 2775, 1192, 1041, 903, 4624, 5133,
				2511, 2181, 3844, 4677, 3278, 652, 4422, 4664, 2379, 4229, 4215, 5997, 4172, 2709, 2643, 868, 745, 5818,
				2877, 4185, 928, 3408, 2811, 2745, 2679, 2613, 2547, 2481, 2415, 2349, 2283, 2217, 2151, 3509, 3620,
				3565, 3857, 3817, 3707, 4145, 4118, 4091, 5795, 3293, 5772, 836, 768, 676, 3369, 3471, 1105, 1253, 3786,
				3755, 3673, 4446, 4379, 4064, 4037, 4010, 3937, 5418, 5394, 5146, 4637, 4333, 5749, 5726, 5703, 5680,
				5657, 5633, 5603, 5580, 5514, 5488, 5457, 2943, 3230, 3188, 3131, 3089, 3032, 2990, 1388, 1341, 1292,
				2094, 2052, 2005, 1958, 1911, 1864, 1817, 1770, 1723, 1676, 1629, 1582, 1535, 598, 1488, 1438, 1206,
				1057, 994, 1143, 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, 152, 148, 156, 155, 159, 157, 160, 59, 162,
				68, 3, 54, 54, 54, 54, 126, 3, 54, 54, 182, 127, 60, 3, 66, 67, 54, 6, 203, 158, 182, 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, 158, 203, 203, 203, 203,
				166, 227, 127, 127, 127, 255, 256, 236, 257, 235, 258, 56, 287, 259, 10, 126, 60, 60, 127, 124, 154,
				127, 60, 3, 223, 222, 135, 125, 124, 10, 126, 60, 314, 3, 197, 4, 55, 126, 55, 227, 158, 146, 146, 145,
				145, 145, 148, 148, 148, 148, 147, 147, 155, 152, 152, 157, 156, 159, 158, 160, 64, 64, 64, 64, 197,
				276, 271, 127, 249, 3, 167, 148, 174, 169, 183, 176, 184, 185, 274, 271, 220, 126, 175, 164, 327, 288,
				322, 288, 126, 189, 166, 271, 220, 226, 162, 231, 127, 3, 126, 166, 216, 3, 315, 182, 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, 203, 127, 127, 4, 228, 6,
				55, 158, 158, 158, 158, 3, 3, 126, 64, 148, 148, 148, 169, 167, 167, 176, 174, 183, 158, 184, 175, 175,
				326, 126, 170, 237, 61, 55, 215, 63, 172, 329, 125, 124, 244, 244, 189, 164, 127, 189, 197, 154, 70,
				231, 211, 199, 195, 126, 3, 127, 68, 240, 197, 154, 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, 154, 125, 127, 3, 60, 158, 4, 197, 175, 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, 154, 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, 154, 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, 182, 238, 320, 149, 75, 238, 127, 127, 53, 97, 337, 182, 154,
				211, 154, 319, 127, 3, 154, 297, 325, 243, 154, 154, 127, 70, 204, 161, 286, 158, 202, 68, 70, 121, 317,
				154, 202, 9, 154 };
	}

	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", "no_sizeof_type_id_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 = 119, SCOPE_SIZE = 120, 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 = 602, NT_OFFSET = 122, LA_STATE_OFFSET = 7489, MAX_LA = 2147483647,
			NUM_RULES = 597, NUM_NONTERMINALS = 225, NUM_SYMBOLS = 347, SEGMENT_SIZE = 8192, START_STATE = 4508,
			IDENTIFIER_SYMBOL = 0, EOFT_SYMBOL = 120, EOLT_SYMBOL = 120, ACCEPT_ACTION = 6452, ERROR_ACTION = 6892;

	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