rustlr 0.3.95

LR Parser Generator with Advanced Options
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
//Parser generated by rustlr for grammar c11
    
#![allow(unused_variables)]
#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(unused_parens)]
#![allow(unused_mut)]
#![allow(unused_imports)]
#![allow(unused_assignments)]
#![allow(dead_code)]
#![allow(unreachable_patterns)]
#![allow(irrefutable_let_patterns)]
use std::rc::Rc;
use std::cell::RefCell;
extern crate rustlr;
use rustlr::{Tokenizer,TerminalToken,ZCParser,ZCRProduction,Stateaction,decode_action};
use rustlr::{StrTokenizer,RawToken,LexSource};
use std::collections::{HashMap,HashSet};
use crate::c11_ast::declaration_specifier::*;
use crate::c11_ast::storage_class_specifier::*;
use crate::c11_ast::direct_base::*;
use rustlr::LBox;
use crate::c11_ast;
use crate::c11_ast::*;

static SYMBOLS:[&'static str;214] = ["_WILDCARD_TOKEN_","FUNC_NAME","INLINE","RESTRICT","ALIGNAS","ALIGNOF","ATOMIC","BOOL","COMPLEX","GENERIC","IMAGINARY","NORETURN","STATIC_ASSERT","THREAD_LOCAL","PTR_OP","INC_OP","DEC_OP","LEFT_OP","RIGHT_OP","LE_OP","GE_OP","EQ_OP","NE_OP","AND_OP","OR_OP","MUL_ASSIGN","DIV_ASSIGN","MOD_ASSIGN","ADD_ASSIGN","SUB_ASSIGN","LEFT_ASSIGN","RIGHT_ASSIGN","AND_ASSIGN","XOR_ASSIGN","OR_ASSIGN","SIZEOF","TYPEDEF","EXTERN","STATIC","AUTO","REGISTER","CHAR","SHORT","INT","LONG","SIGNED","UNSIGNED","FLOAT","DOUBLE","CONST","VOLATILE","VOID","STRUCT","UNION","ENUM","CASE","DEFAULT","IF","ELSE","SWITCH","WHILE","DO","FOR","GOTO","CONTINUE","BREAK","RETURN","ELLIPSIS","Lbrace","Rbrace","Amp","Bang","Bar","Hat","Dot","Comma","Colon","Star","Div","Percent","Lt","Gt","ASSIGN","Quest","SEMICOLON","[","]","(",")","+","-","~","TYPEDEF_NAME","ENUMERATION_CONSTANT","IDENTIFIER","I_CONSTANT","F_CONSTANT","STRING_LITERAL","COMPILER_DIRECTIVE","unary_operator","assignment_operator","expression","statement","primary_expression","postfix_expression","unary_expression","cast_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","conditional_expression","assignment_expression","constant_expression","expressions","labeled_statement","compound_statement","expression_statement","selection_statement","iteration_statement","jump_statement","declaration","declaration_specifiers","init_declarator","storage_class_specifier","type_specifier","struct_or_union_specifier","struct_or_union","struct_declaration","translation_unit","enum_specifier","enumerator","type_qualifier","pointer","struct_declarator","elseopt","parameter_type_list","parameter_declaration","type_name","abstract_declarator","direct_abstract_declarator","initializer","Constant","Stringlit","external_declaration","generic_selection","function_header","generic_association","static_assert_declaration","designation","function_specifier","alignment_specifier","atomic_type_specifier","designator","block_item","declaration_specifier","specifier_qualifier","initializer_designation","direct_declarator","direct_contents","declarator","da_base","direct_base","function_definition","errorterm","NEWSEPNT_10_0","NEWSEPNT_17_0","NEWSEPNT2_19_1","NEWSEPNT_26_0","NEWRENT_28_1","NEWRENT_92_0","NEWSEPNT_97_0","NEWSEQNT_105_0","NEWRENT_106_1","NEWRENT_131_0","NEWRENT_133_1","NEWRENT_139_0","NEWSEPNT_141_1","NEWSEPNT2_143_2","NEWSEQNT_149_0","NEWRENT_150_1","NEWSEPNT_154_0","NEWSEQNT_158_0","NEWRENT_159_1","NEWRENT_171_0","NEWRENT_176_0","NEWRENT_179_1","NEWRENT_182_2","NEWSEQNT_186_3","NEWRENT_187_4","NEWSEPNT_191_5","NEWSEPNT2_193_6","NEWRENT_196_0","NEWRENT_199_0","NEWSEPNT_202_0","NEWSEQNT_204_1","NEWRENT_205_2","NEWRENT_211_0","NEWRENT_215_0","NEWRENT_218_0","NEWRENT_229_0","NEWRENT_232_0","NEWRENT_247_0","NEWRENT_252_0","NEWRENT_266_0","NEWRENT_271_0","START","EOF"];

static TABLE:[u64;11053] = [901944705025,223340724224,579822354433,197568823296,670016405505,42951901184,158914707456,34362294272,167503986688,652835160065,566936076289,25770000384,644246405121,176096149504,395139350528,545461370881,592706666497,755915292673,210456412160,219044577280,201863921664,571231371265,12887195648,154619478016,420907778048,214749741056,206160265216,171800723456,47247589376,180390068224,184685494272,188980264960,55836213248,558346600449,8592621568,231928823808,691492880385,725852356609,678606798849,661426077697,584118632449,17181966336,51542360064,193276739584,30067392512,562641502209,227636084736,674309931009,163210919936,281797106073602,281517933199362,281642487250946,281655372152834,281646782218242,281698321825794,281663962087426,281694026858498,281638192283650,281870120517634,281659667120130,281633897316354,281685436923906,281689731891202,281509343264770,281706911760386,281840055746562,281672552022018,281492163395586,281629602349058,281835760779266,281702616793090,281505048297474,281522228166658,281878710452226,281487868428290,281668257054722,281530818101250,281681141956610,281651077185538,281848645681154,281852940648450,281805696008194,281483573460994,281500753330178,281676846989314,563473942708225,563242014539776,844583854735362,844656869179394,844480775520258,844450710749186,844626804408322,844798595694592,844747063492610,844459300683778,844755653427202,844622509441026,844785718198274,844442120814594,844433530880002,844613919506434,844592444669954,844455005716482,844588149702658,844467890618370,844828667871234,844802898067458,844579559768066,844601034604546,844820077936642,844437825847298,844639689310210,844605329571842,844472185585666,844609624539138,844648279244802,844751358459906,844643984277506,844618214473730,844596739637250,844790013165570,844635394342914,844631099375618,844652574212098,1125955748691970,1126123252416514,1125934273855490,1126058827907074,1125942863790082,1125929978888194,1125908504051714,1126084597710850,1125912799019010,1126127547383810,1126076007776258,1126264986337282,1126131842351106,1126106072547330,1126295051108354,1126101777580034,1126097482612738,1126088892678146,1126230626598914,1125947158757378,1126071712808962,1126260691369986,1126114662481922,1126067417841666,1126093187645442,1125917093986306,1126222036664322,1126118957449218,1126303641042946,1126063122874370,1126054532939778,1126273576271874,1126110367514626,1126277871239170,1125925683920898,1126080302743554,1407400661483522,1407392071548930,1407697014226946,1407739963899906,1407546690371586,1407593935011842,1407770028670978,1407748553834498,1407555280306178,1407568165208066,1407778618605570,1407387776581634,1407598229979138,1407383481614338,1407422136320002,1407550985338882,1407602524946434,1407563870240770,1407529510502402,1407533805469698,1407417841352706,1407538100436994,1407589640044546,1407430726254594,1407572460175362,1407542395404290,1407701309194242,1407705604161538,1407752848801794,1407409251418114,1407581050109954,1407585345077250,1407576755142658,1407559575273474,1407735668932610,1407404956450818,1407606819913730,1689214940872706,1689060322050050,1689004487475202,1689223530807298,1689073206951938,1688862753554434,1689043142180866,1689064617017346,1689180581134338,1689013077409794,1689034552246274,1689081796886530,1689245005643778,1688884228390914,1688879933423618,1689056027082754,1688897113292802,1689253595578370,1689008782442498,1688892818325506,1689025962311682,1689068911984642,1688858458587138,1689227825774594,1689017372377090,1688905703227394,1689210645905410,1689171991199746,1688875638456322,1689051732115458,1689047437148162,1689038847213570,1689176286167042,1689021667344386,1689030257278978,1688867048521730,1689077501919234,1970483758694402,1970380679479298,1970543888236546,1970513823465474,1970655557386242,1970556773138434,1970372089544706,1970689917124610,1970500938563586,1970535298301954,1970505233530882,1970492348628994,1970552478171138,1970367794577410,1970646967451650,1970526708367362,1970350614708226,1970337729806338,1970488053661698,1970728571830274,1970531003334658,1970548183203842,1970698507059202,1970719981895682,1970702802026498,1970342024773634,1970522413400066,1970509528498178,1970539593269250,1970518118432770,1970496643596290,1970685622157314,1970479463727106,1970359204642818,1970333434839042,1970354909675522,1970651262418946,2251954450137090,2251817011183618,2252194968305666,2252031759548418,2251975924973570,2251812716216322,2252018874646530,2252001694777346,2252014579679234,2251855665889282,2252714659348482,2251997399810050,2251988809875458,2252023169613826,2251993104842754,2252005989744642,2252010284711938,2251829896085506,2251851370921986,2251808421249026,2252220738109442,2251967335038978,2251971630006274,2251963040071682,2251842780987394,2251984514908162,2251834191052802,2251825601118210,2251980219940866,2251958745104386,2251847075954690,2252027464581122,2534047888048129,2533566856757250,2533678520795136,2814951638040578,2814775544381442,2814955933007874,2814784134316034,2814930163204098,2814912983334914,2814943048105986,2814805609152514,2814921573269506,2815127731699714,2814968817909762,2814758364512258,2814766954446850,2814947343073282,2815153501503490,2814960227975170,2815123436732418,2815144911568898,2814797019217922,2814762659479554,2815114846797826,2814938753138690,2814904393400322,2814925868236802,2815071897124866,2814908688367618,2814779839348738,2814977407844354,2815110551830530,2814934458171394,2815080487059458,2814964522942466,2814973112877058,2814792724250626,2814917278302210,2814981702811650,3096628474347520,3096997841600513,3096516810178562,3377708317081602,3377742676819970,3378077684269058,3377905885577218,3377888705708034,3377858640936962,3378064799367170,3377893000675330,3377875820806146,3377746971787266,3378073389301762,3378094864138242,3377716907016194,3377862935904258,3377867230871554,3377910180544514,3377729791918082,3377914475511810,3377755561721858,3377901590609922,3377725496950786,3377712612048898,3378103454072834,3377927360413698,3377734086885378,3377923065446402,3377880115773442,3378030439628802,3377897295642626,3377871525838850,3378060504399874,3377884410740738,3377918770479106,3377854345969666,3377931655380994,3378021849694210,3659333617582082,3659406632026114,3659346502483970,3659363682353154,3659183293726722,3659329322614786,3659337912549378,3659569840783362,3659552660914178,3659535481044994,3659355092418562,3659385157189634,3659380862222338,3659389452156930,3659496826339330,3659398042091522,3659209063530498,3659539776012290,3659393747124226,3659350797451266,3659204768563202,3659505416273922,3659578430717954,3659367977320450,3659376567255042,3659187588694018,3659342207516674,3659359387385858,3659221948432386,3659548365946882,3659372272287746,3659217653465090,3659200473595906,3659191883661314,3659230538366978,3659402337058818,3940873019392002,3940851544555522,3940804299915266,3940881609326594,3940666860961794,3940684040830978,3940971803639810,3940658271027202,3940808594882562,3940679745863682,3940692630765570,3940847249588226,3940855839522818,3940817184817154,3941053408018434,3941010458345474,3940696925732866,3940821479784450,3940877314359298,3940830069719042,3941014753312770,3940825774751746,3940812889849858,3941027638214658,3940675450896386,3941044818083842,3940705515667458,3940842954620930,3940662565994498,3940864429457410,3940838659653634,3940860134490114,3940868724424706,3941023343247362,3940834364686338,3940980393574402,4222356596588546,4222167618027522,4222335121752066,4222313646915586,4222141848223746,4222176207962114,4222326531817474,4222137553256450,4222150438158338,4222171912994818,4222352301621250,4222339416719362,4222279287177218,4222133258289154,4222343711686658,4223039496388610,4222287877111810,4222305056980994,4222283582144514,4222296467046402,4222322236850178,4222180502929410,4222309351948290,4222292172079106,4222545575149570,4222330826784770,4222300762013698,4222519805345794,4222154733125634,4222159028092930,4222317941882882,4222348006653954,4503973300731906,4504153682083841,4503646874959872,4503814377111552,4503818671947776,4503780017438720,4504359840776193,4503775723520000,4503629694763008,4504162268872705,4503930343587840,4504269643776001,4503797196193792,4503792904110080,4503758542077952,4503754246848512,4503784312864768,4503801491292160,4504166563446785,4503822968094720,4503655463583744,4503633989664768,4504312596004865,4503771428093952,4503827263455232,4503994766721024,4503831556194304,4504157973970945,4503612514566144,4503762838290432,4504291120906241,4503810083782656,4503767131357184,4503616809336832,4504183746002945,4503960408752128,4504003365502978,4504278234169345,4504196631822337,4504415675023361,4504170858741761,4504192334036993,4504273937301505,4503625397370880,4503805787635712,4503642579271680,4503788607635456,4503608219992064,4785353783181314,4785113265012738,4785276473769986,4785495517102082,4785366668083202,4785486927167490,4785482632200194,4785096085143554,4785435387559938,4785246408998914,4785448272461826,4785379552985090,4785100380110850,4785375258017794,4785461157363714,4785319423442946,4785469747298306,4785130444881922,4785328013377538,4785491222134786,4785104675078146,4785237819064322,4785224934162434,4785126149914626,4785340898279426,4785349488214018,4785108970045442,4785310833508354,4785345193246722,4785289358671874,4785233524097026,4785250703966210,4785078905274370,4785315128475650,4785989438341122,4785259293900802,4785229229129730,4785456862396418,4785263588868098,4785306538541058,4785474042265602,4785242114031618,4785267883835394,4785254998933506,4785143329783810,4785121854947330,4785358078148610,4785370963050498,4785465452331010,4785336603312130,4785280768737282,4785297948606466,4785302243573762,4785087495208962,4785272178802690,4785117559980034,4785091790176258,4785285063704578,4785478337232898,4785083200241666,4785332308344834,4785405322788866,4785293653639170,4785139034816514,5066729976102914,5066721386168322,5066910364729346,5066579652247554,5066781515710466,5066953314402306,5066871710023682,5066558177411074,5066768630808578,5066923249631234,5066944724467714,5066596832116738,5066742861004802,5066764335841282,5066712796233730,5066772925775874,5066777220743170,5066738566037506,5066605422051330,5066592537149442,5066583947214850,5066914659696642,5066760040873986,5066927544598530,5066734271070210,5066704206299138,5066575357280258,5066751450939394,5066880299958274,5066725681135618,5066708501266434,5066755745906690,5066566767345666,5066717091201026,5066747155972098,5066562472378370,5348033155039234,5348037450006530,5348346687651842,5348217838632962,5348187773861890,5348222133600258,5348192068829186,5348247903404034,5348252198371330,5348402522226690,5348350982619138,5348419702095874,5348183478894594,5348200658763778,5348355277586434,5348230723534850,5348204953731074,5348239313469442,5348050334908418,5348196363796482,5348209248698370,5348226428567554,5348235018502146,5348256493338626,5348398227259394,5348067514777602,5348243608436738,5348041744973826,5348385342357506,5348428292030466,5348179183927298,5348071809744898,5348389637324802,5348058924843010,5348054629875714,5348080399679490,5348213543665666,5629701415108610,5629551091253250,5629718594977794,5629705710075906,5629920458440706,5629525321449474,5629679940272130,5629533911384066,5629542501318658,5629688530206722,5629658465435650,5629684235239426,5629555386220546,5629731479879682,5629675645304834,5629667055370242,5629722889945090,5629671350337538,5629692825174018,5629512436547586,5629697120141314,5629710005043202,5629529616416770,5629516731514882,5630414379679746,5629662760402946,5629727184912386,5629508141580290,5629894688636930,5629654170468354,5629714300010498,5629546796285954,5911180680101890,5911043241148418,5911206449905666,5911356773761026,5910991701540866,5911133435461634,5911176385134594,5911008881410050,5911150615330818,5911305234153474,5911017471344642,5911352478793730,5911365363695618,5911378248597506,5911369658662914,5910995996508162,5911275169382402,5911154910298114,5911343888859138,5911296644218882,5911193565003778,5911172090167298,5911300939186178,5911391133499394,5911000291475458,5911184975069186,5911137730428930,5911197859971074,5911386838532098,5911361068728322,5910987406573570,5911335298924546,5911142025396226,5911382543564802,5911373953630210,5911021766311938,5911279464349698,5911159205265410,5910978816638978,5911004586442754,5911030356246530,5911189270036482,5910983111606274,5911146320363522,5911124845527042,5911167795200002,5911129140494338,5911163500232706,5911038946181122,5911339593891842,5911348183826434,5911202154938370,5911013176377346,6192604114190338,6192780207849474,6192458085302274,6192677128634370,6192668538699778,6192810272620546,6192505329942530,6192664243732482,6192466675236866,6192462380269570,6192651358830594,6192814567587842,6192483855106050,6192621294059522,6192655653797890,6192771617914882,6192827452489730,6192625589026818,6192629883994114,6192659948765186,6192612704124930,6192672833667074,6192608409157634,6192647063863298,6192634178961410,6192638473928706,6192823157522434,6192775912882178,6192853222293506,6192642768896002,6192681423601666,6192479560138754,6192492445040642,6192844632358914,6192496740007938,6192475265171458,6192616999092226,6474328198021122,6473958830833666,6473937355997186,6474113449656322,6473971715735554,6473941650964482,6474126334558210,6474289543315458,6474130629525506,6474079089917954,6474143514427394,6474298133250050,6474152104361986,6474122039590914,6474104859721730,6474091974819842,6474109154689026,6473950240899074,6474117744623618,6474156399329282,6473933061029890,6473954535866370,6474139219460098,6473980305670146,6474255183577090,6474319608086530,6474134924492802,6474096269787138,6474302428217346,6473967420768258,6474246593642498,6474083384885250,6474147809394690,6474087679852546,6474100564754434,6474285248348162,6755584126550016,6755631369879552,6756078047854593,6755579831123968,6755962082557953,6756314286653442,6755794580406272,6755562651975680,6755605601320960,6755455277268992,6755592717795328,6755614190796800,6755433803350016,6755944902426625,6755442392956928,6755412328251392,6755446688645120,6755597009879040,6755571241779200,6755429508448256,6756125293412353,6756052276215809,6755820348833792,6755992147722241,6755450983415808,6755957787656193,6756060867133441,6755609897467904,6755970672427009,6755622781779968,6755416623022080,6755588421320704,6755408033677312,6756069457461249,6756155356348417,6755601304977408,6755983559688193,6756043690409985,6755966377132033,6755566945042432,6755627077140480,6755425211056128,6755618485633024,6756090933936129,6755558355763200,6755554060533760,6755575537205248,6756073750986753,7036921669812226,7037235202424834,7037248087326722,7037205137653762,7036887310073858,7036917374844930,7037029043994626,7037102058438658,7037054813798402,7037076288634882,7036891605041154,7037097763471362,7037269562163202,7037252382294018,7036904489943042,7037033338961922,7037106353405954,7037071993667586,7037059108765698,7037050518831106,7037093468504066,7037067698700290,7037239497392130,7036930259746818,7037196547719170,7037089173536770,7036883015106562,7036908784910338,7037041928896514,7037084878569474,7037080583602178,7037278152097794,7037063403732994,7037046223863810,7037037633929218,7036900194975746,7318504021164034,7318357992275970,7318534085935106,7318366582210562,7318521201033218,7318744539332610,7318508316131330,7318581330575362,7318525496000514,7318392352014338,7318362287243266,7318555560771586,7318538380902402,7318714474561538,7318559855738882,7318396646981634,7318671524888578,7318375172145154,7318710179594242,7318379467112450,7318551265804290,7318727359463426,7318753129267202,7318675819855874,7318546970836994,7318542675869698,7318577035608066,7318723064496130,7318572740640770,7318568445673474,7318405236916226,7318529790967810,7318516906065922,7318383762079746,7318564150706178,7318512611098626,7318680114823170,7600739199221763,7881312240795650,7881458269683714,7881475449552898,7881501219356674,7881505514323970,7881325125697538,7881346600534018,7881496924389378,7881522694193154,7881514104258562,7881333715632130,7881621478440962,7881492629422082,7881316535762946,7881484039487490,7881526989160450,7881342305566722,7881664428113922,7881479744520194,7881677313015810,7881694492884994,7881471154585602,7881488334454786,7881703082819586,7881518399225858,7881630068375554,7881509809291266,7881462564651010,7881453974716418,7881673018048514,7881531284127746,7881625773408258,7881307945828354,7881329420664834,7881355190468610,7881660133146626,7881466859618306,8162791512276994,8162830166982658,8162950426066946,8162980490838018,8162800102211586,8162963310968834,8163139404627970,8163147994562562,8162817282080770,8163135109660674,8162989080772610,8162928951230466,8162941836132354,8162984785805314,8162946131099650,8162821577048066,8163152289529858,8162993375739906,8162959016001538,8163178059333634,8163006260641794,8163001965674498,8162787217309698,8162782922342402,8163096454955010,8162804397178882,8163169469399042,8162937541165058,8162997670707202,8162971900903426,8162976195870722,8163100749922306,8162967605936130,8163105044889602,8162933246197762,8162808692146178,8162954721034242,8444622971994114,8444412518596610,8444279374610434,8444580022321154,8444476943106050,8444644446830594,8444455468269570,8444481238073346,8444425403498498,8444614382059522,8444275079643138,8444451173302274,8444296554479618,8444257899773954,8444459763236866,8444575727353858,8444416813563906,8444266489708546,8444305144414210,8444571432386562,8444464058204162,8444292259512322,8444446878334978,8444468353171458,8444429698465794,8444403928662018,8444262194741250,8444433993433090,8444627266961410,8444442583367682,8444283669577730,8444610087092226,8444472648138754,8444408223629314,8444653036765186,8444421108531202,8444438288400386,8725741465239554,8725878904193026,8726119422361602,8725930443800578,8725891789094914,8725737170272258,8725926148833282,8726046407917570,8725917558898690,8725947623669762,8725754350141442,8725887494127618,8725908968964098,8725883199160322,8725956213604354,8726089357590530,8726085062623234,8725780119945218,8726054997852162,8725943328702466,8725904673996802,8725900379029506,8725939033735170,8725913263931394,8725750055174146,8725896084062210,8725758645108738,8725732875304962,8726102242492418,8725767235043330,8725934738767874,8726128012296194,8725951918637058,8726097947525122,8725771530010626,8725921853865986,9007572921221120,9289077965586434,9288700008464386,9288871807156226,9288854627287042,9288833152450562,9289069375651842,9288880397090818,9288687123562498,9289035015913474,9288884692058114,9288721483300866,9289052195782658,9288841742385154,9288996361207810,9288730073235458,9288717188333570,9288837447417858,9289047900815362,9289004951142402,9288846037352450,9288682828595202,9288850332319746,9288704303431682,9288876102123522,9288893281992706,9288867512188930,9288858922254338,9289039310880770,9288901871927298,9288828857483266,9288888987025410,9288897576960002,9288691418529794,9288906166894594,9288863217221634,9288708598398978,9570174986289154,9570162101387266,9570308130275330,9570325310144514,9570333900079106,9570544353476610,9570368259817474,9570338195046402,9570359669882882,9570479928967170,9570196461125634,9570522878640130,9570205051060226,9570321015177218,9570363964850178,9570166396354562,9570192166158338,9570376849752066,9570312425242626,9570509993738242,9570346784980994,9570351079948290,9570316720209922,9570475633999874,9570471339032578,9570381144719362,9570303835308034,9570552943411202,9570514288705538,9570329605111810,9570179281256450,9570183576223746,9570157806419970,9570527173607426,9570342490013698,9570355374915586,9570372554784770,9851817469280258,9851838944116738,9851993562939394,9851826059214850,9851791699476482,9851946318299138,9851808879345666,9852036512612354,9851989267972098,9852040807579650,9852023627710466,9851637080653826,9851688620261378,9851856123985922,9851929138429954,9851671440392194,9851821764247554,9852019332743170,9851954908233730,9851795994443778,9851692915228674,9851843239084034,9851830354182146,9852027922677762,9851641375621122,9851800289411074,9851984973004802,9851834649149442,9851654260523010,9851778814574594,9852006447841282,9851658555490306,9851851829018626,9851662850457602,9851847534051330,9851628490719234,9851649965555714,9852032217645058,9851997857906690,9852010742808578,9851813174312962,9852015037775874,9851680030326786,9851924843462658,9851667145424898,9851783109541890,9851632785686530,9851804584378370,9851645670588418,9851787404509186,9851950613266434,9852002152873986,9851774519607298,10133262377877506,10133129233891330,10133266672844802,10133502896046082,10133464241340418,10133326802386946,10133309622517762,10133116348989442,10133421291667458,10133301032583170,10133275262779394,10133288147681282,10133296737615874,10133322507419650,10133124938924034,10133112054022146,10133429881602050,10133313917485058,10133258082910210,10133133528858626,10133425586634754,10133142118793218,10133292442648578,10133318212452354,10133472831275010,10133283852713986,10133331097354242,10133305327550466,10133155003695106,10133477126242306,10133459946373122,10133279557746690,10133494306111490,10133146413760514,10133107759054850,10133253787942914,10133270967812098,10414977874198530,10414866205048834,10696246691168258,10696268166004738,10696212331429890,10696096367312898,10696062007574530,10696422784827394,10696444259663874,10696250986135554,10696079187443714,10696409899925506,10696414194892802,10696092072345602,10696263871037442,10696208036462594,10696074892476418,10696057712607234,10696216626397186,10696375540187138,10696379835154434,10696083482411010,10696259576070146,10696427079794690,10696229511299074,10696371245219842,10696255281102850,10696233806266370,10696272460972034,10696281050906626,10696452849598466,10696225216331778,10696220921364482,10696238101233666,10696203741495298,10696242396200962,10696276755939330,10696104957247490,10696066302541826,10977558459711490,10977708783566850,10977734553370626,10977579934547970,10977536984875010,10977721668468738,10977717373501442,10977678718795778,10977687308730370,10977713078534146,10977884877225986,10977541279842306,10977725963436034,10977919236964354,10977691603697666,10977730258403330,10977567049646082,10977704488599554,10977850517487618,10977695898664962,10977902057095170,10977571344613378,10977554164744194,10977846222520322,10977927826898946,10977897762127874,10977683013763074,10977549869776898,10977756028207106,10977889172193282,10977747438272514,10977738848337922,10977854812454914,10977743143305218,10977700193632258,10977751733239810,10977532689907714,11259196645113858,11259046321258498,11259170875310082,11259325494132738,11259372738772994,11259188055179266,11259153695440898,11259007666552834,11259402803544066,11259016256487426,11259218119950338,11259166580342786,11259029141389314,11259321199165442,11259359853871106,11259183760211970,11259011961520130,11259226709884930,11259205235048450,11259054911193090,11259231004852226,11259200940081154,11259024846422018,11259179465244674,11259175170277378,11259213824983042,11259209530015746,11259364148838402,11259377033740290,11259033436356610,11259157990408194,11259162285375490,11259222414917634,11259329789100034,11259192350146562,11259042026291202,11259394213609474,11540847718236162,11540637264838658,11540529890656258,11540675919544322,11540658739675138,11540628674904066,11540671624577026,11540852013203458,11540701689348098,11540697394380802,11540641559805954,11540834833334274,11540650149740546,11540693099413506,11540705984315394,11540667329609730,11540482646016002,11540517005754370,11540680214511618,11540504120852482,11540508415819778,11540877783007234,11540684509478914,11540688804446210,11540839128301570,11540869193072642,11540796178628610,11540491235950594,11540804768563202,11540663034642434,11540521300721666,11540486940983298,11540654444707842,11540499825885186,11540632969871362,11540645854773250,11822322688393216,12103716065378306,12103827734528002,12384941931233282,12384954816135170,12385813809594370,12385294118551554,12385075075219458,12385152384630786,12385203924238338,12385109434957826,12385302708486146,12385053600382978,12384950521167874,12384911866462210,12384920456396802,12385199629271042,12385135204761602,12385105139990530,12385285528616962,12385118024892418,12385229694042114,12385319888355330,12384916161429506,12385191039336450,12384903276527618,12385281233649666,12384946226200578,12385139499728898,12385178154434562,12385289823584258,12385083665154050,12384907571494914,12385156679598082,12385298413518850,12385070780252162,12384929046331394,12385092255088642,12385272643715074,12385087960121346,12385169564499970,12385315593388034,12384924751364098,12385311298420738,12385062190317570,12385122319859714,12385130909794306,12385100845023234,12385195334303746,12385182449401858,12385143794696194,12384963406069762,12385165269532674,12385173859467266,12384933341298690,12385066485284866,12385096550055938,12385057895350274,12384937636265986,12385160974565378,12385259758813186,12385049305415682,12385126614827010,12385113729925122,12384967701037058,12385307003453442,12385079370186754,12666550056648706,12666537171746818,12666597301288962,12666593006321666,12666747625144322,12666408322727938,12666605891223554,12666567236517890,12666382552924162,12666416912662530,12666696085536770,12666541466714114,12666391142858754,12666588711354370,12666528581812226,12666584416387074,12666734740242434,12666571531485186,12666554351616002,12666532876779522,12666777689915394,12666580121419778,12666751920111618,12666558646583298,12666429797564418,12666739035209730,12666601596256258,12666421207629826,12666545761681410,12666399732793346,12666769099980802,12666404027760642,12666575826452482,12666704675471362,12666562941550594,12666386847891458,12948042212900866,12948256961265666,12948072277671938,12948222601527298,12948231191461890,12948063687737346,12948046507868162,12948016443097090,12948235486429186,12947879004143618,12947917658849282,12948080867606530,12948003558195202,12948033622966274,12947861824274434,12948153882050562,12948029327998978,12948025033031682,12948007853162498,12948265551200258,12947913363881986,12948239781396482,12948179651854338,12947999263227906,12948067982704642,12948209716625410,12948244076363778,12948252666298370,12947883299110914,12948020738064386,12947853234339842,12947874709176322,12948012148129794,12947896184012802,12948171061919746,12948214011592706,12948050802835458,12948261256232962,12948037917933570,12948248371331074,12948055097802754,12947870414209026,12948226896494594,12948059392770050,12948149587083266,12948218306560002,12947857529307138,12947891889045506,12947887594078210,12947866119241730,12948076572639234,12948175356887042,12947904773947394,13229353978626050,13229555842088962,13229478532677634,13229336798756866,13229504302481410,13229487122612226,13229500007514114,13229654626336770,13229650331369474,13229530072285186,13229332503789570,13229542957187074,13229538662219778,13229495712546818,13229547252154370,13229688986075138,13229491417579522,13229341093724162,13229358273593346,13229512892416002,13229684691107842,13229482827644930,13229534367252482,13229701870977026,13229508597448706,13229349683658754,13229697576009730,13229551547121666,13229366863527938,13229517187383298,13229521482350594,13229379748429826,13229371158495234,13229646036402178,13229719050846210,13229727640780802,13229525777317890,13510996456636418,13511194025132034,13511026521407490,13510824657944578,13510841837813762,13510833247879170,13510807478075394,13510828952911874,13511121010688002,13510854722715650,13510816068009986,13510962096898050,13510983571734530,13511000751603714,13511022226440194,13511176845262850,13511013636505602,13510953506963458,13510957801930754,13511172550295554,13510966391865346,13511017931472898,13511202615066626,13511159665393666,13510987866701826,13510974981799938,13510992161669122,13510811773042690,13511005046571010,13510979276767234,13511009341538306,13510970686832642,13511163960360962,13510846132781058,13511129600622594,13511030816374786,13792441370607618,13792669003874306,13792651824005122,13792471435378690,13792449960542210,13792505795117058,13792501500149762,13792634644135938,13792497205182466,13792480025313282,13792462845444098,13792299636686850,13792492910215170,13792445665574914,13792321111523330,13792303931654146,13792488615247874,13792308226621442,13792458550476802,13792595989430274,13792475730345986,13792484320280578,13792282456817666,13792316816556034,13792432780673026,13792638939103234,13792329701457922,13792454255509506,13792677593808898,13792428485705730,13792600284397570,13792291046752258,13792647529037826,13792286751784962,13792604579364866,13792437075640322,13792467140411394,14073787508195330,14073813277999106,14074045206233090,14073980781723650,14074148285448194,14073761738391554,14073929242116098,14073783213228034,14073972191789058,14073946421985282,14074019436429314,14073899177345026,14073796098129922,14073989371658242,14073757443424258,14074663681523714,14073976486756354,14073937832050690,14073967896821762,14074139695513602,14074032321331202,14073985076690946,14073993666625538,14074040911265794,14073774623293442,14073766033358850,14074122515644418,14074049501200386,14073791803162626,14073800393097218,14074152580415490,14074109630742530,14074010846494722,14073907767279618,14073933537083394,14073942127017986,14073924947148802,14073959306887170,14073804688064514,14074131105579010,14074161170350082,14073770328326146,14073912062246914,14073916357214210,14074015141462018,14074135400546306,14074002256560130,14074053796167682,14074079565971458,14073903472312322,14074156875382786,14073950716952578,14074028026363906,14073817572966402,14074165465317378,14073963601854466,14073778918260738,14074143990480898,14073920652181506,14074023731396610,14074169760284674,14074006551527426,14073753148456962,14073955011919874,14355236713332738,14355271073071106,14355241008300034,14355618965422082,14355421396926466,14355417101959170,14355429986861058,14355404217057282,14355528771108866,14355425691893762,14355597490585602,14355245303267330,14356117169897473,14355503001305090,14355232418365442,14355455756664834,14355584605683714,14355442871762946,14355554540912642,14355253893201922,14355391332155394,14355623260389378,14355447166730242,14355228123398146,14355395627122690,14355288252940290,14355374152286210,14355515886206978,14355249598234626,14355262483136514,14355279663005698,14355490116403202,14355524476141570,14355507296272386,14355460051632130,14355468641566722,14355399922089986,14355266778103810,14355494411370498,14355627555356674,14355408512024578,14355481526468610,14355292547907586,14355606080520194,14355387037188098,14355636145291266,14355412806991874,14355258188169218,14355610375487490,14355614670454786,14355378447253506,14355520181174274,14355464346599426,14355451461697538,14355275368038402,14355477231501314,14355434281828354,14355498706337794,14355640440258562,14355438576795650,14355631850323970,14355485821435906,14355382742220802,14636896357777408,14636887769219072,14637480477589505,14636926425038848,14636733151248384,14636741740855296,14636724558954496,14636879179022336,14637317268897793,14636913538695168,14636909245366272,14636922129678336,14637394578440193,14637261434388481,14636728856346624,14637093928304640,14636892065693696,14637377395752961,14637282907586561,14637265725030401,14637291498962945,14636874885103616,14636900652875776,14636883474448384,14636711676149760,14637270020325377,14636930717777920,14636917833531392,14636904949219328,14918465832091650,14918397114253314,14918208135692290,14918495898501122,14918354164580354,14918362754514946,14918371344449538,14918182365888514,14918534553206786,14918358459547650,14918203840724994,14918199545757698,14918500193468418,14918190955823106,14918568912945154,14918577502879746,14918367049482242,14918375639416834,14918341279678466,14918392819286018,14918336984711170,14918332689743874,14918216725626882,14918345574645762,14918328394776578,14918405704187906,14918221020594178,14918547438108674,14918538848174082,14918186660855810,14918388524318722,14918379934384130,14918401409220610,14918504488435714,14918229610528770,14918349869613058,14918551733075970,14918384229351426,15199940805001216,15481334181396482,15481342771331074,15481291231723522,15481308411592706,15481484505251842,15481312706560002,15481415785512962,15481136612900866,15481454440480770,15481179562573826,15481170972639234,15481132317933570,15481317001527298,15481527454924802,15481329886429186,15481488800219138,15481497390153730,15481445850546178,15481351361265666,15481158087737346,15481450145513474,15481286936756226,15481140907868162,15481299821658114,15481321296494594,15481325591461890,15481501685121026,15481166677671938,15481304116625410,15481355656232962,15481278346821634,15481153792770050,15481149497802754,15481518864990210,15481338476363778,15481295526690818,15481282641788930,15481347066298370,15762890758488064,16044395808096258,16044086570450946,16044447347703810,16044099455352834,16044288433913858,16044400103063554,16044284138946562,16044451642671106,16044928375980033,16044438757769218,16044477412474882,16044404398030850,16325703274135554,16325565835182082,16325561540214786,16325870777860098,16325720454004738,16325604489887746,16325759108710402,16325729043939330,16325716159037442,16325771993612290,16325724748972034,16325909432565762,16325879367794690,16325780583546882,16325922317467650,16325776288579586,16325711864070146,16325926612434946,16325767698644994,16325750518775810,16325578720083970,16325595899953154,16325913727533058,16325557245247490,16325583015051266,16325707569102850,16325952382238722,16325763403677698,16325737633873922,16325574425116674,16325746223808514,16325943792304130,16325754813743106,16325741928841218,16325733338906626,16325591604985858,16607397293129728,16607728005808129,16607427358031872,16607745185546241,16888859386249218,16888820731543554,17170295713169410,17170338662842370,17170347252776962,17170300008136706,17170377317548034,17170351547744258,17451482933559298,17452213065613313,17451654732251138,17451603192643586,17451474343624706,17452354799468545,17451624667480066,17451667617153026,17451843710812162,17451478638592002,17451491523493890,17451611782578178,17451457163755522,17451633257414658,17451663322185730,17451680502054914,17451650437283842,17451628962447362,17451504408395778,17451500113428482,17451620372512770,17451461458722818,17451607487610882,17451671912120322,17451646142316546,17451740631597058,17451676207087618,17451495818461186,17451637552381954,17451659027218434,17451641847349250,17451465753690114,17452217360646145,17451809340260354,17451770685554690,17451800748883968,17451616077545474,17733185531936770,17733108222525442,17733318675922946,17733254251413506,17732953603702786,17733103927558146,17733340150759426,17733142582263810,17733335855792130,17732970783571970,17733082452721666,17732975078539266,17733198416838658,17733305791021058,17733138287296514,17733228481609730,17733091042656258,17733224186642434,17732932128866306,17733073862787074,17733164057100290,17733168352067586,17733078157754370,17733215596707842,17733202711805954,17733284316184578,17733310085988354,17732927833899010,17732962193637378,17733314380955650,17732957898670082,17733146877231106,17733331560824834,17732936423833602,17733297201086466,17732966488604674,17733189826904066,17732940718800898,17733099632590850,17732992258408450,17733176942002178,17733112517492738,17733151172198402,17733159762132994,17733129697361922,17733095337623554,17732979373506562,17733322970890242,17733181236969474,17733327265857538,17733155467165698,17733194121871362,17733116812460034,17733207006773250,17733344445726722,17733086747688962,17732987963441154,17733121107427330,17733133992329218,17733838366965762,17732945013768194,17732949308735490,17733219891675138,17733125402394626,18014720637665280,18014759292305408,18295916453363714,18296058187284482,18295920748331010,18295890683559938,18296053892317186,18296032417480706,18296079662120962,18296105431924738,18296045302382594,18295899273494530,18295882093625346,18295929338265602,18296041007415298,18296075367153666,18296062482251778,18296083957088258,18295886388592642,18296268640681986,18296036712448002,18296066777219074,18296092547022850,18295925043298306,18296096841990146,18296788331724802,18296071072186370,18296294410485762,18296088252055554,18296028122513410,18295903568461826,18296049597349890,18295907863429122,18296101136957442,18577524559052800,18577966945796097,18577563212644352,18577756492726272,18577546031726592,18577352764096512,18577790852268033,18577528852971520,18577374232903680,18577722131546112,18577391414804480,18577554623168512,18577649116381184,18577730722201600,18577576098988032,18577571803627520,18577795145596929,18577541739642880,18577679182725120,18577361350098944,18577799440302081,18577537443168256,18577988420173825,18578044252389377,18577997009649665,18577812325072897,18577941172912129,18577369945014272,18577533148397568,18577752198021120,18578130151538689,18577387125604352,18577653413380096,18577773672792065,18577550326824960,18577739312791552,18577417188278272,18577919694274561,18577382825197568,18577498793050112,18577747901284352,18578027069702145,18577833801613313,18577829505204225,18577378530295808,18577765081481216,18577735016775680,18577984125534209,18577580391727104,18577760787824640,18577808030433281,18577820916252673,18577743602253824,18577816621416449,18577850980958209,18577911108337665,18577803736055809,18577915398979585,18577859571548161,18577558919315456,18577567507480576,18577412895080448,18577932581535745,18577846685270017,18577838096187393,18577842390695937,18577825210630145,18859300187340801,18858827740807168,18858862102315008,18859321661980673,18859231469436928,18858973769760768,18859334548979713,18859308778323969,18859283007143937,18859240058191872,18859214289502208,18858887871791104,18859287301783553,18859304481914881,18859278712766465,18859227174731776,18858892164988928,18859265828978689,18859274417012737,18859459102244865,18859471986360321,18858844921724928,18859209993486336,18859128390090752,18859463396884481,18859291598127105,18859235764535296,18859270122307585,18859248649502721,18859295892963329,18859197108256768,18859205698912256,18859154159435776,18859317367406593,18859325957668865,18859313072898049,18859124093091840,18859222877995008,19140629136146432,19140495985147904,19140770869673985,19140985619546113,19140534647914496,19140959842402305,19140891122991105,19140946963070977,19140736512425985,19140465920311296,19140487396589568,19140796638691329,19140594777391104,19141196073074689,19140732217917441,19140337079025664,19140968432730113,19140723626213377,19140483101818880,19140556123340800,19140865352400897,19140577597718528,19140697854705664,19140856762925057,19140684970196992,19140835297329153,19140702152163328,19140367141699584,19140749396606977,19140508872736768,19140560418504704,19140977023123457,19140315598290944,19140311303520256,19140526052409344,19140839591247873,19140491693064192,19140831001968641,19141024268681217,19140740805689345,19140474512474112,19140822411968513,19140564713865216,19140861057826817,19140800936280065,19140521757048832,19140882534957057,19140788049608705,19140680675622912,19140689266212864,19140672084967424,19140818117525505,19141054331617281,19140938373595137,19140517460901888,19140710741245952,19140792344117249,19140530345148416,19140569007915008,19140762278494209,19140599069802496,19140500280246272,19140470217048064,19140805232427009,19140989909204993,19140757983854593,19140513166065664,19140307008946176,19140551828766720,19140504576589824,19140693555675136,19140581893931008,19140302717517824,19140869647695873,19140461627244544,19140324186324992,19140573303341056,19140319898435584,19140775164051457,19140783755034625,19140590477443072,19140813821247489,19140543238701056,19140603366801408,19140349958684672,19140779458625537,19140934078955521,19140843887198209,19140745099018241,19140448746471424,19140332778618880,19140659210092546,19140453035802624,19140457331032064,19140826706804737,19140354252537856,19140706446147584,19140478806392832,19141037160005633,19140345663913984,19140951251484673,19140766574837761,19140538944323584,19140328483717120,19140972726255617,19140362848501760,19140341368225792,19140753689477121,19140715034902528,19422138474954754,19422099820249090,19421816352407554,19422134179987458,19421970971230210,19422168539725826,19421799172538370,19421992446066690,19421996741033986,19421807762472962,19421988151099394,19421975266197506,19421983856132098,19422005330968578,19421962381295618,19421958086328322,19421803467505666,19421953791361026,19422104115216386,19421949496393730,19422147064889346,19422177129660418,19422001036001282,19421979561164802,19421966676262914,19421786287636482,19422151359856642,19703278437138432,19703480298569728,19703819601117185,19703622043107330,19703274139746304,19703815305822209,19703574801088514,19703613453172738,19703871150358529,19703437350010880,19703282732040192,19703261256941568,19703811015180289,19703428759814144,19703476005830656,19704064423952385,19703454530011136,19703450233667584,19703845380489217,19703433055240192,19703463119486976,19703579085963264,19703926976544769,19703441646485504,19703467414323200,19703471710470144,19703458826158080,19704120258330625,19703424465895424,19703832488378369,19703626340696066,19703841079754753,19703445938569216,19703291321647104,19703944164933633,19703643509096448,19985101314129920,20266413081165826,20266602059726850,20266430261035010,20266529045282818,20266593469792258,20266228397572098,20266571994955778,20266395901296642,20266404491231234,20266425966067714,20266241282473986,20266563405021186,20266211217702914,20266400196263938,20266417376133122,20266559110053890,20266232692539394,20266374426460162,20266408786198530,20266224102604802,20266524750315522,20266378721427458,20266421671100418,20266576289923074,20266383016394754,20266391606329346,20266387311362050,20547883762384898,20547999726501890,20547716258660354,20548038381207554,20548046971142146,20547888057352194,20547892352319490,20547849402646530,20547905237221378,20547703373758466,20548068445978626,20548034086240258,20548051266109442,20547870877483010,20548077035913218,20547875172450306,20547896647286786,20547853697613826,20547857992581122,20547879467417602,20547862287548418,20547900942254082,20548004021469186,20547866582515714,20547699078791170,20547686193889282,20547707668725762,20829736697724929,20829552014262272,20829951446155265,21110850889383936,21110799349448704,21110855182123008,21110666205200384,21111185898733569,21111284689076225,21110636140494848,21111319042785281,21110674795659264,21110816530038784,21110653320691712,21110803643367424,21110657615593472,21110820822122496,21110649023299584,21110846594023424,21110842297876480,21111198789926913,21110807938793472,21111215963308033,21111190189375489,21110833709711360,21111018392649728,21110812233564160,21111301860098049,21110829413564416,21111207371931649,21111404948226049,21110825117220864,21110838003040256,21111194484670465,21111400653324289,21392471903371266,21392914284937217,21392695234461697,21392463313436674,21392476198338562,21392312979750912,21392501968142338,21392424658731010,21392420363763714,21392111117205504,21392308686422016,21392428946227200,21392690946572289,21392124011020288,21674389254373377,21673903922937856,21673976944852994,21674170211172353,21673946880081922,21674286182563841,21955207110066178,21955267239608322,21955275829542914,21955073966080002,21955443333267458,21955340254052354,21955413268496386,21955370318823426,21955232879869954,21955271534575618,21955104030851074,21955408973529090,21955245764771842,21955095440916482,21955078261047298,21955065376145410,21955056786210818,21955228584902658,21955250059739138,21955211405033474,21955262944641026,21955219994968066,21955224289935362,21955898598293505,21955061081178114,21955426153398274,21955091145949186,21955241469804546,21955258649673730,21955237174837250,21955421858430978,21955280124510210,21955254354706434,21955202815098882,21955400383594498,21955215700000770,21955374613790722,21955082556014594,21955099735883778,22236716445073410,22236815229321218,22236755099779074,22236737919909890,22236548941348866,22236901128667138,22236570416185346,22236725035008002,22236677790367746,22236703560171522,22236845294092290,22236557531283458,22236531761479682,22236566121218050,22236690675269634,22236682085335042,22236686380302338,22236707855138818,22236918308536322,22236540351414274,22236875358863362,22236579006119938,22236699265204226,22236574711152642,22236720740040706,22236694970236930,22236746509844482,22236742214877186,22236553236316162,22236712150106114,22236750804811778,22236733624942594,22236536056446978,22236888243765250,22236896833699842,22236883948797954,22236849589059586,22236729329975298,22518161356947458,22518191421718530,22518200011653122,22518157061980162,22518324565704706,22518290205966338,22518006738124802,22518350335508482,22518358925443074,22518041097863170,22518204306620418,22518393285181442,22518049687797762,22518195716685826,22518169946882050,22518182831783938,22518221486489602,22518178536816642,22518217191522306,22518208601587714,22518028212961282,22518015328059394,22518174241849346,22518032507928578,22518187126751234,22518230076424194,22518225781456898,22518165651914754,22518011033092098,22518376105312258,22518023917993986,22518320270737410,22518053982765058,22518212896555010,22518152767012866,22518045392830466,22799679273828352,22799644914286592,22799636324483072,22799674977484800,22799528949776384,22799700749647872,22799670682386432,22799516065464320,22799632028270592,22799683569975296,22799503180955648,22799481706184704,22799486000758784,22800044344934401,22799498883563520,22800040049639425,22800164606443521,22800229028855809,22800134539640833,22800018585812993,22799696454287360,22799662093828096,22799657799057408,22799692158140416,22800125948723201,22799524655923200,22800057232195585,22799705042386944,22799640617549824,22799868252913664,22800151720361985,22799627733041152,22800198965919745,22799507475857408,22799687863304192,22799666390302720,22800147423494145,22800065820229633,22799653503631360,22800143129968641,22800031460163585,22799765189230594,22800035755065345,22799490295529472,22799649209712640,22799520361152512,23081308874539010,23081270219833346,23362745196609538,23362783851315202,23644529415356417,23643966769070080,23644391971487745,23644366202208257,23644301778812928,23644379085996033,23644533706326017,23644387676979201,23644310368616448,23644288893583360,23644383382405121,23644297482076160,23644370497044481,23644190113071104,23644284597567488,23644202994171904,23644228763516928,23643936706396160,23644361905864705,23643902344888320,23644538000965633,23644323253583873,23644396266061825,23644349023977473,23644314662273024,23644404861370369,23644340433059841,23644306073518080,23644271712337920,23644280302993408,23644357611225089,23644546590441473,23643962475872256,23644374791421953,23644198697172992,23644400563650561,23644353316847617,23643919525806080,23644048373841920,23644344726388737,23925609250095106,23925673674604546,23925557710487554,23925604955127810,23925403091664898,23925587775258626,23925531940683778,23925639314866178,23925583480291330,23925437451403266,23925755278983170,23925652199768066,23925377321861122,23926287854927874,23925536235651074,23925398796697602,23925772458852354,23925635019898882,23925781048786946,23925789638721538,23925394501730306,23925656494735362,23925441746370562,23925411681599490,23925626429964290,23925768163885058,23925385911795714,23925592070225922,23925527645716482,23925703739375618,23925553415520258,23925407386632194,23925643609833474,23925647904800770,23925415976566786,23925562005454850,23925613545062402,23925600660160514,23925540530618370,23925669379637250,23925424566501378,23925428861468674,23925523350749186,23925785343754242,23925549120552962,23925579185324034,23925566300422146,23925596365193218,23925390206763010,23925574890356738,23925665084669954,23925630724931586,23925617840029698,23925544825585666,23925420271534082,23925677969571842,23925746689048578,23925763868917762,23925793933688834,23925381616828418,23925733804146690,23925759573950466,23925776753819650,23925570595389442,24207664044769281,24207402059628545,24207221670477826,24207251735248898,24207178713333760,24207445001568257,24207560973352961,24488417466580994,24488619330043906,24488705237778432,24488645099847682,24488408876646402,24488632214945794,24488692344487938,24488709532680192,24488395991744514,24488404581679106,24488649394814978,24488400286711810,24488413171613698,24488421761548290,24488426056515586,24488679459586050,24488670869651458,24488683754553346,24488700934422530,24488623625011202,24488666574684162,24488636509913090,24769819427864578,24770201679953922,24770102895706114,24769836607733762,24769862377537538,24769948276883458,24769802247995394,24770171615182850,24770098600738818,24770214564855810,24770210269888514,24770180205117442,24770184500084738,24770197384986626,24769866672504834,24770188795052034,24770128665509890,24770205974921218,25051586462744578,25051388894248962,25051607937581058,25051354534510594,25051363124445186,25051410369085442,25051620822482946,25051603642613762,25051659477188610,25051380304314370,25051650887254018,25051655182221314,25051384599281666,25051573577842690,25051612232548354,25051371714379778,25051599347646466,25051367419412482,25051401779150850,25051633707384834,25051406074118146,25051358829477890,25051642297319426,25051616527515650,25051397484183554,25051569282875394,25051595052679170,25051629412417538,25051625117450242,25051376009347074,25051418959020034,25051414664052738,25051345944576002,25051350239543298,25051582167777282,25051393189216258,25333138753847296,25333078623780864,25333383566589953,25332786566660096,25333052854435840,25333155933782016,25333396450705409,25332898234105856,25333190293323777,25332812336136192,25333194586652673,25333147342340096,25333130163257344,25333134457831424,25333198887452673,25332816629334016,25333387861229569,25333048557436928,25333173113847809,25332752205152256,25333164522536960,25333121578106880,25333151639076864,25332769386070016,25333160228880384,25614536417607682,25614545007542274,25614549302509570,25614600842117122,25614583662247938,25614523540439040,25614321669242882,25614579367280642,25614519237738498,25614325964210178,25614532122640386,25614592252182530,25896045753008130,25896084407713794,25895796644904962,25895788054970370,25896019983204354,25896067227844610,25896028581986304,25895775170068482,25895779465035778,25896054342942722,25895800939872258,25896058637910018,25896007098302466,25895783760003074,25895994213400578,25896032877084672,25896037171986432,25896080112746498,25896041458040834,25896024278171650,25896011393269762,25896075817779202,25895770875101186,25895998508367874,25895792349937666,26177288800239618,26177314570043394,26177507843571714,26177542203310082,26177305980108802,26177293095206914,26177241566150656,26177503548604418,26177499253637122,26177512138539010,26177263030435842,26177559383179266,26177529318408194,26177245850566658,26177516433506306,26177232975953920,26177267325403138,26177482073767938,26177486368735234,26177275915337730,26177271620370434,26177310275076098,26177280210305026,26177533613375490,26177237271052288,26177284505272322,26177520728473602,26177254440501250,26177297390174210,26177550793244674,26177490674188288,26177525023440898,26177318865010690,26177250145533954,26177301685141506,26177494958669826,26177555088211970,26177258735468546,26177469188866050,26177537918697472,26177546508894208,26177473483833346,26458974233165826,26458969938198530,26459017182838786,26458944168394754,26458750902796288,26459004305801216,26459008592904194,26459025772773378,26740462090518530,26740496450256898,26740487860322306,26740251637121026,26740264522022914,26740444910649346,26740474975420418,26740509335158786,26740238752219138,26740255932088322,26740432025747458,26740230162284546,26740187212611586,26740479270387714,26740182917644290,26740500745224194,26740470680453122,26740217277382658,26740191507578882,26740225867317250,26740505040191490,26740260227055618,26740440615682050,26740243047186434,26740453500583938,26740436320714754,26740483565355010,26740221572349954,26740208687448066,26740212982415362,26740419140845570,26740492155289602,26740247342153730,26740234457251842,26740466385485826,26740423435812866,26740204392480770,26740195802546178,26740268816990210,26740449205616642,26740457795551234,26740200097513474,27022040153587713,27022246310969345,27021997202604032,27021984318095360,27022005794045952,27022001499340800,27021636426924032,27022014382800896,27021971439288320,27021898417700864,27021666489597952,27022022974111745,27022010089144320,27021602065416192,27021928484044800,27022044446916609,27021988614111232,27021980023521280,27022233426853889,27022048748634113,27022237721493505,27021619246333952,27021902714699776,27021662196400128,27021748094369792,27303162948222976,27303381982773250,27303175824343042,27303399162642434,27303442112315394,27303433522380802,27303369097871362,27303373392838658,27303171529375746,27303429227413506,27303386277740546,27303450702249986,27303167243255808,27303394867675138,27584655092285442,27584899905421314,27584882725552130,27584676567121922,27584856955748354,27584912790323202,27584667977187330,27584650797318146,27584844070846466,27584865545682946,27584878430584834,27584861250715650,27584659387252738,27584689452023810,27584934265159682,27584616437579778,27584693746991106,27584672272154626,27584625027514370,27584887020519426,27584633617448962,27584925675225090,27584895610454018,27584646502350850,27584917085290498,27584891315486722,27584607847645186,27584929970192386,27584612142612482,27584869840650242,27584663682220034,27584629322481666,27584874135617538,27584642207383554,27584921380257794,27584680862089218,27584908495355906,27584685157056514,27584848365813762,27584904200388610,27584620732547074,27584637912416258,27866593925726209,27866250330439680,27866495147704321,27866761438035969,27866606812987393,27866529510457345,27866804382990337,27866327644831744,27866198790504448,27866486556524545,27866456499159041,27866228854620160,27866426429472768,27866215971094528,27866413544243200,27866254623178752,27866615404363777,27866203084423168,27866422132736000,27866435019276288,27866516622147585,27866662651625473,27866430724177920,27866499442081793,27866035581550592,27866233150767104,27866508033064961,27866057056649216,27866718483841025,27866520916721665,27866447904243713,27866048464355328,27866658356985857,27866439312932864,27866701301153793,27866173024501760,27866538099277825,27866417833705472,27866211674619904,27866477967507457,27866246035079168,27866323347832832,27866404953653248,27866052761747456,27866207379849216,27866065646256128,27866671241101313,27866525214310401,27866490852868097,27866061357056000,27866353414176768,27866241738932224,27866087126532096,27866585339789313,27866589630431233,27866469377048577,27866091419729920,27866224558276608,27866220263178240,27866512327639041,27866482261884929,27866237444096000,27866465083719681,27866396362997760,27866026995548160,27866473674637313,27866641182818305,27866044176465920,27866503736655873,27866409248227328,28147858453037058,28147819798331394,28147794028527618,28147824093298690,28147854158069762,28147875632906242,28147596468551680,28147600754999298,28147867042971650,28429354902880258,28429049960202242,28429067140071426,28429303363272706,28429350607912962,28429045665234946,28429075730006018,28429273298501634,28429071435038722,28429311953207298,28429281888436226,28429333428043778,28429307658240002,28429286183403522,28429299068305410,28429058550136834,28429342017978370,28429054255169538,28429359197847554,28429294773338114,28429329133076482,28429320543141890,28429269003534338,28429062845104130,28429316248174594,28710765452328962,28710546408996866,28710782632198146,28710791222132738,28710559293898754,28710804107034626,28710593653637122,28710533524094978,28710812696969218,28710821286903810,28710778337230850,28710799812067330,28710567883833346,28710529229127682,28710554998931458,28710748272459778,28710507754291202,28710743977492482,28710825581871106,28710816991936514,28710576473767938,28710756862394370,28710761157361666,28710829876838402,28710774042263554,28710550703964162,28710580768735234,28710542114029570,28710512049258498,28710589358669826,28710769747296258,28710585063702530,28710520639193090,28710572178800642,28710786927165442,28710834171805698,28710537819062274,28710516344225794,28710795517100034,28710808402001922,28710563588866050,28710524934160386,28992244724269058,28992025680936962,28992274789040130,28992253314203650,28992223249432578,28992240429301762,28992249019236354,28992004206100482,28992034270871554,28992270494072834,28992296263876610,28992047155773442,28991995616165890,28991982731264002,28992064335642626,28992266199105538,28991999911133186,28992236134334466,28991991321198594,28992287673942018,28992291968909314,28992038565838850,28992218954465282,28992300558843906,28992055745708034,28992051450740738,28992021385969666,28992283378974722,28992231839367170,28992068630609922,28992042860806146,28992309148778498,28992029975904258,28992279084007426,28992304853811202,28992012796035074,28992257609170946,28992261904138242,28992008501067778,28992017091002370,28991987026231298,28992060040675330,29273801307521026,29273547904450562,29273805602488322,29273809897455618,29273771242749954,29273784127651842,29273728293076994,29273466300071938,29273419055431682,29273698228305922,29273779832684546,29273788422619138,29273814192422914,29273797012553730,29273462005104642,29273401875562498,29273436235300866,29273702523273218,29555168913326082,29555250517704706,29555241927770114,29555194683129858,29555233337835522,29836695436984320,29836450614542338,29836429149208576,29836716902514690,29836446319575042,29836669657874434,29836656772972546,29836433444110336,29836643888070658,29836691142082560,29836648183037954,29836708312580098,29836442024607746,29836437729640450,29836704017612802,29836661067939842,29836673952841730,29836725492449282,30118191879815170,30118131759251456,30118200469749762,30118118865371138,30117925591842818,30117921296875522,30118148930142210,30118178994913282,30118183289880578,30118144635174914,30399666855608322,30399593841164290,30399391977701378,30399396272668674,30399387682734082,30399598136131586,30399611021033474,30399641085804546,30399645380771842,30399675445542914,30399653970706434,30399619610968066,30399374807859200,30399370512826368,30399658265673730,30399623905935362,30399383387766786,30399400567635970,30399379092799490,30399606726066178,30680866950938626,30680897015709698,30681081699303426,30680918490546178,30681133238910978,30681116059041794,30681159008714754,30681094584205314,30680832591200258,30681068814401538,30681073109368834,30680914195578882,30681103174139906,30681124648976386,30680862655971330,30681137533878274,30680836886167554,30681128943943682,30681120354009090,30681111764074498,30680905605644290,30681150418780162,30681090289238018,30680858361004034,30680841181134850,30681141828845570,30681146123812866,30681107469107202,30680888425775106,30680854066036738,30681085994270722,30680845476102146,30680909900611586,30680884130807810,30681154713747458,30680901310676994,30680879835840514,30680849771069442,30680875540873218,30680892720742402,30680871245905922,30681098879172610,30962659757654018,30962316160270338,30962621102948354,30962638282817538,30962552383471618,30962311865303042,30962646872752130,30962578153275394,30962633987850242,30962268915630082,30962664052621314,30962651167719426,30962251735760898,30962397764648962,30962548088504322,30962655462686722,30962286095499266,30962629692882946,31244096090800128,31525218868985858,31525571056304130,31525528106631170,31525605416042498,31525609711009794,31525596826107906,31525601121075202,31525579646238722,31525498041860098,31525583941206018,31525347718004738,31525201689116674,31525588236173314,31525236048855042,31525266113626114,31525614005977090,31525261818658818,31525502336827394,31806771157008386,31807028855046146,31807050329882626,31807033150013442,31806998790275074,31807041739948034,31806775451975682,31806985914744832,31806968725504002,31806981610405890,31806994495307778,32088460877758466,32088211769655298,32088263309262850,32088224654557186,32088495237496834,32088276194164738,32088456582791170,32088529597235202,32088443697889282,32088508122398722,32088289079066626,32088220359589890,32088499532464130,32088207474688002,32088465172725762,32088246129393666,32088525302267906,32088516712333314,32088447992856578,32088469467693058,32088521007300610,32088228949524482,32088284784099330,32088473762660354,32088478057627650,32088486647562242,32088280489132034,32088503827431426,32088267604230146,32088482352594946,32088237539459074,32088241834426370,32088259014295554,32088293374033922,32088254719328258,32088490942529538,32088271899197442,32088533892202498,32088250424360962,32088512417366018,32088216064622594,32088233244491778,32370000292741120,32651475269517312,32932636707323904,32932722605293568,32932872928624640,32932954534445056,32933220821893121,32933018957840385,32932610937847808,32932971713527808,32932988893724672,32932576576339968,32932902994968576,32932945949294592,32932593757257728,32932976010264576,32932877225623552,32932980304969728,32932984600068096,32933014664511489,32933207937777665,32933212232417281,32932997485035521,32932963125035008,32932958829019136,32933023260737537,32932641000521728,33214167511924738,33214146037088258,33214176101859330,33214163216957442,33214158921990146,33214365080420354,33214403735126018,33214433799897090,33214193281728514,33214390850224130,33214171806892034,33214373670354946,33214188986761218,33214343605583874,33214360785453058,33214120267284482,33214115972317186,33214377965322242,33214133152186370,33214395145191426,33214356490485762,33214369375387650,33214141742120962,33214420914995202,33214408030093314,33214416620027906,33214154627022850,33214137447153666,33214399440158722,33214150332055554,33214429504929794,33214412325060610,33214180396826626,33214128857219074,33214347900551170,33214386555256834,33214382260289538,33214111677349890,33214184691793922,33214425209962498,33214107382382594,33214124562251778,33495852943867906,33495672555241474,33495930253279234,33495827174064130,33495822879096834,33495586655895554,33495938843213826,33495925958311938,33495590950862850,33495908778442754,33495560886091778,33495895893540866,33495921663344642,33495904483475458,33495934548246530,33495913073410050,33495526526353410,33495543706222594,33777400934957058,33777413819858946,33777302150709250,33777035862736898,33777297855741954,33777327920513026,33777396639989762,33777147531886594,33777405229924354,33777379460120578,33777065927507970,33777388050055170,33777370870185986,33777383755087874,33777061632540674,33777409524891650,33777018682867714,33777001502998530,34058609621270530,34058828664602626,34058772830027778,34058545196761090,34058837254537218,34058613916237826,34058845844471810,34058798599831554,34058794304864258,34058549491728386,34058768535060482,34058781419962370,34058579556499458,34058570966564866,34058583851466754,34058605326303234,34058575261532162,34058540901793794,34058588146434050,34058850139439106,34058802894798850,34058553786695682,34058815779700738,34058841549504514,34058858729373698,34058854434406402,34058807189766146,34058536606826498,34058790009896962,34058596736368642,34058566671597570,34058820074668034,34058832959569922,34058562376630274,34058532311859202,34058618211205122,34058811484733442,34058824369635330,34058592441401346,34058601031335938,34058558081662978,34058785714929666,34340320834945024,34621559574757378,34621516625084418,34621508035149826,34621795797958658,34621774323122178,34621538099920898,34621735668416514,34621752848285698,34621555279790082,34621808682860546,34621512330117122,34621499445215234,34621778618089474,34621731373449218,34621761438220290,34621791502991362,34621744258351106,34621550984822786,34621804387893250,34621757143252994,34621490855280642,34621765733187586,34621722783514626,34621563869724674,34621503740182530,34621542394888194,34621525215019010,34621748553318402,34621718488547330,34621782913056770,34621800092925954,34621482265346050,34621486560313346,34621533804953602,34621568164691970,34621520920051714,34621546689855490,34621770028154882,34621495150247938,34621529509986306,34621787208024066,34621739963383810,34902918594232320,34903283665993728,34903270780764160,34903202062598144,34903545658867713,34903313730699264,34903279371419648,34903537069391873,34903296550502400,34903309437042688,34903348089520129,34903532774752257,34903339501486081,34903352392810497,34902935774822400,34903322322010113,34903227831943168,34902901413314560,34903305141944320,34903300847239168,34903343794814977,34903287962009600,34903197765599232,34903047442268160,34902961544298496,34902965837496320,35184479463014402,35184513822752770,35184668441575426,35184496642883586,35184750045954050,35184707096281090,35184758635888642,35184689916411906,35184483757981698,35184719981182978,35184518117720066,35184466578112514,35184672736542722,35184737161052162,35184488052948994,35184492347916290,35184449398243330,35184462283145218,35184475168047106,35184436513341442,35184741456019458,35184470873079810,35184445103276034,35184685621444610,35184505232818178,35184711391248386,35184702801313794,35184728571117570,35184453693210626,35184745750986754,35184715686215682,35184698506346498,35184509527785474,35184500937850882,35184457988177922,35184754340921346,35184724276150274,35184440808308738,35184694211379202,35184432218374146,35184732866084866,35184681326477314,35466169202311168,35747596936478722,35747386483081218,35747682835824642,35747498152230914,35747721490530306,35747592641511426,35747339238440962,35747575461642242,35747712900595714,35747742965366786,35747528217001986,35747511037132802,35747489562296322,35747734375432194,35747695720726530,35747730080464898,35747584051576834,35747614116347906,35747480972361730,35747562576740354,35747373598179330,35747738670399490,35747549691838466,35747558281773058,35747390778048514,35747579756609538,35747541101903874,35747627001249794,35748236886605826,35747356418310146,35747566871707650,35747725785497602,35747343533408258,35747571166674946,35747493857263618,35747334943473666,35747553986805762,35747485267329026,35747326353539074,35747622706282498,35747519627067394,35747506742165506,35747365008244738,35747502447198210,35747532511969282,35747377893146626,35747352123342850,35747523922034690,35747652771053570,35747605526413314,35747330648506370,35747545396871170,35747515332100098,35747536806936578,35747360713277442,35747708605628418,35747601231446018,35747476677394434,35747472382427138,35747704310661122,35747369303212034,35747717195563010,35747618411315202,35747347828375554,35747588346544130,36029222228852737,36029299538919425,36029290946756609,36029200754081792,36028947349110784,36029239408328705,36029278061264897,36029265177477121,36029247999246337,36029436976234497,36029179278262272,36029260881133569,36029187868852224,36029183572836352,36029097672441856,36029535762644993,36028818501074944,36029243701657601,36029432681594881,36029303835066369,36029127738785792,36029286652248065,36029170687606784,36029273766690817,36029312423886849,36029445565710337,36029269472313345,36028861451141120,36029196457345024,36029209343885312,36029205048786944,36029256586493953,36029101969440768,36028835681665024,36029252292116481,36029230824947713,36028801320157184,36029213637541888,36028865744338944,36029282357673985,36029295241330689,36310546889834498,36310529709965314,36310551184801794,36310667148918786,36310439515652098,36310276306894850,36310499645194242,36310542594867202,36310478170357762,36310576954605570,36310658558984194,36310306371665922,36310319256567810,36310336436436994,36310473875390466,36310675738853378,36310645674082306,36310482465325058,36310564069703682,36310465285455874,36310516825063426,36310448105586690,36310525414998018,36310572659638274,36310284896829442,36310314961600514,36310310666633218,36310456695521282,36310469580423170,36310293486764034,36310435220684802,36310688623755266,36310495350226946,36310280601862146,36310430925717506,36310555479769090,36310426630750210,36310508235128834,36310538299899906,36310662853951490,36310460990488578,36310340731404290,36310534004932610,36310503940161538,36310452400553986,36310297781731330,36310289191796738,36310602724409346,36310684328787970,36310443810619394,36310632789180418,36310512530096130,36310323551535106,36310491055259650,36310486760292354,36310327846502402,36310422335782914,36310302076698626,36310654264016898,36310680033820674,36310671443886082,36310568364670978,36592107763990528,36873582740766720,37155100667215872,37436554157490178,37436292176871424,37436511207817218,37436601413926913,37436519797751810,37436502617882626,37436300766281728,37436549862522882,37436558452457474,37436262099714050,37436309356281856,37436524104384512,37436253509779458,37436313651314688,37436515502784514,37436257804746754,37436266394681346,37436249214812162,37436317946019840,37436468258144258,37436498322915330,37436506912849922,37436274984615938,37436279291641856,37436541272588290,37436270689648642,37436494027948034,37436244919844866,37436283586740224,37436305061511168,37436528387686402,37436485438013442,37436296471773184,37436287881773056,37436532682653698,37436472553111554,37436481143046146,37718016251396098,37717973301723138,37717969006755842,37717943236952066,37718024841330690,37718007661461506,37999448279285762,37999482639024130,37999499818893314,37999491228958722,38280712796766210,38280927545131010,38280983379705858,38280742861537282,38280944725000194,38280699911864322,38280682731995138,38280656962191362,38280936135065602,38280923265499136,38280721386700802,38280738566569986,38280910365261826,38280665552125954,38280953314934786,38280940430032898,38280687026962434,38280949019967490,38280678437027842,38280957609902082,38280931840098306,38280897480359938,38280725681668098,38280708501798914,38280734271602690,38280695616897026,38280717091733506,38280669847093250,38280661257158658,38280691321929730,38280704206831618,38280674142060546,38280906070294530,38280970494803970,38280729976635394,38280914660229122,38280961904869378,38280979084738562,38280918955196418,38562445486915584,38843710010753026,38843697125851138,38843838859771906,38843761550360578,38843611226505218,38843907579248642,38843581161734146,38843757255393282,38843572571799554,38843808795000834,38843783025197058,38843735780556802,38843963413823490,38843765845327874,38843551096963074,38843598341603330,38843877514477570,38843615521472514,38843920464150530,38843817384935426,38843851744673794,38843705715785730,38843847449706498,38843559686897666,38843804500033538,38843950528921602,38843748665458690,38843752960425986,38843941938987010,38843576866766850,38843563981864962,38843594046636034,38843701420818434,38843727190622210,38843791615131650,38843800205066242,38843568276832258,38843770140295170,38843929054085122,38843774435262466,38843813089968130,38843555391930370,38843602636570626,38843778730229762,38843585456701442,38843714305720322,38843843154739202,38843933349052418,38843718600687618,38843959118856194,38843825974870018,38843744370491394,38843830269837314,38843740075524098,38843821679902722,38843937644019714,38843722895654914,38843954823888898,38843787320164354,38843589751668738,38843946233954306,38843731485589506,38843795910098946,39125382555500544,39406904769314816,39407394396241921,39406827459313664,39406780217098240,39406960601661441,39406999259447297,39406909064413184,39406990667284481,39407020735135745,39406930541084673,39406561171668992,39406913358069760,39406518221602816,39406883293364224,39406896177872896,39407136696762369,39406947719774209,39406921949380609,39406771626508288,39406973487218689,39406767331082240,39406982078201857,39406956307021825,39406900475330560,39407029325135873,39407235483172865,39407025029971969,39407145286238209,39406870408134656,39406952012644353,39407016440692737,39407037914415105,39406732971081728,39406535402192896,39406857533259778,39407012144414721,39406943422185473,39407132402122753,39406977781792769,39406969192841217,39406565464866816,39406750151933952,39406788800610304,39406986372775937,39406934841688065,39406964898004993,39406797392969728,39406754446508032,39406887589380096,39406763037032448,39407033620496385,39406741561868288,39406647069638656,39407003555594241,39406801689968640,39406501040685056,39406758741671936,39406994961858561,39406775920885760,39406737267490816,39406878998790144,39406939128856577,39688345393954816,39969824655933442,39969768831123456,39969773116325890,39969816065998850,39969807476064258,40251295347507200,40532667245723650,40532409547685890,40532804684677122,40532637180952578,40532572756443138,40532680130625538,40532452497358850,40532585641345026,40532581346377730,40532662950756354,40532671540690946,40532800389709826,40532607116181506,40532701605462018,40532559871541250,40532546986639362,40532431022522370,40532783209840642,40532658655789058,40532787504807938,40532770324938754,40532727375265794,40532675835658242,40532400957751298,40532813274611714,40532555576573954,40532620001083394,40532628591017986,40532426727555074,40532632885985282,40532422432587778,40532443907424258,40532568461475842,40532461087293442,40532757440036866,40532594231279618,40532418137620482,40532778914873346,40532405252718594,40532693015527426,40532564166508546,40532808979644418,40532791799775234,40532551281606658,40532641475919874,40532697310494722,40532611411148802,40532413842653186,40532615706116098,40532577051410434,40532435317489666,40532589936312322,40532439612456962,40532465382260738,40532448202391554,40532796094742530,40532688720560130,40532654360821762,40532650065854466,40532624296050690,40532602821214210,40532598526246914,40813875933741058,40813914588446722,40814021962629122,40814283955634178,40813927473348610,40814103567007746,40813923178381314,40814064912302082,40814150811648002,40814129336811522,40814163696549890,40813888818642946,40814167991517186,40813905998512130,40814073502236674,40814090682105858,40814077797203970,40813893113610242,40814137926746114,40814052027400194,40814056322367490,40814039142498306,40814125041844226,40814034847531010,40814099272040450,40814146516680706,40814120746876930,40814047732432898,40814258185830402,40814086387138562,40814288250601474,40814155106615298,40814262480797698,40814266775764994,40813884523675650,40813901703544834,40814245300928514,40814030552563714,40813936063283202,40814094977073154,40814116451909634,40814060617334786,40814202351255554,40814232416026626,40814133631778818,40814172286484482,40814069207269378,40813910293479426,40813880228708354,40814253890863106,40814043437465602,40814142221713410,40814026257596418,40813918883414018,40814275365699586,40814107861975042,40813897408577538,40814176581451778,40814112156942338,40814271070732290,40814279660666882,40814082092171266,40813940358250498,41095720277704704,41377062110298114,41377092175069186,41376847361933314,41376855951867906,41377032045527042,41376825887096834,41376851656900610,41376860246835202,41376873131737090,41377040635461634,41376984800886786,41376834477031426,41376868836769794,41376830182064130,41377006275723266,41377074995200002,41377216729120770,41377014865657858,41377100765003778,41377225319055362,41377238203957250,41377001980755970,41377044930428930,41376993390821378,41376886016638978,41377049225396226,41377019160625154,41376877426704386,41377079290167298,41376890311606274,41376989095854082,41377057815330818,41376971915984898,41377023455592450,41376997685788674,41377105059971074,41377087880101890,41377010570690562,41376843066966018,41377096470036482,41377229614022658,41376838771998722,41377126534807554,41377113649905666,41377233908989954,41377036340494338,41377122239840258,41377083585134594,41377152304611330,41376980505919490,41377203844218882,41377117944872962,41377212434153474,41377053520363522,41377027750559746,41376976210952194,41377066405265410,41376864541802498,41377195254284290,41377070700232706,41377182369382402,41377221024088066,41377208139186178,41658300863938562,41658464072695810,41658575741845506,41658532792172546,41658524202237954,41658502727401474,41658549972041730,41658537087139842,41658330928709634,41658580036812802,41658476957597698,41658597216681986,41658365288448002,41658700295897090,41658670231126018,41658588626747394,41658515612303362,41658511317336066,41658678821060610,41658601511649282,41658494137466882,41658687410995202,41658683116027906,41658545677074434,41658459777728514,41658472662630402,41658713180798978,41658305158905858,41658657346224130,41658335223676930,41658339518644226,41658627281453058,41658360993480706,41658498432434178,41658455482761218,41658519907270658,41658592921714690,41658571446878210,41658481252564994,41658708885831682,41658468367663106,41658704590864386,41658558561976322,41658485547532290,41658446892826626,41658322338775042,41658541382107138,41658691705962498,41658313748840450,41658343813611522,41658489842499586,41658554267009026,41658696000929794,41658562856943618,41658352403546114,41658567151910914,41658507022368770,41658326633742338,41658309453873154,41658348108578818,41658528497205250,41658318043807746,41658451187793922,41939840255262720,41940183854809088,41940102249709568,41940407192518657,41940226803040257,41940175265005568,41940274049843201,41940231097417729,41940218212581377,41940076480364544,41940269752254465,41940243983237121,41940179559710720,41940420076634113,41939921860034560,41940239688400897,41940256868597761,41940261163171841,41940252572188673,41940248277614593,41940153789186048,41940158083760128,41940510280122369,41940188148465664,41940162379776000,41939793011998720,41940411487158273,41940514575155201,41940235392057345,41939835962064896,41940196739776513,41939775831080960,41940072183365632,41940222510170113,41940170968268800,41939810192588800,41940265457680385,41940278345990145,41940145198530560,41940213919252481,41940132308385794,42221572940103680,42503099457011714,42503082277142530,42784522878648322,42784518583681026,42784557238386690,42784574418255874,42784565828321282,43065735877623810,43066058000171010,43066002165596162,43065727287689218,43065942036054018,43065692927950850,43065946331021314,43065933446119426,43065697222918146,43065976395792386,43065722992721922,43065954920955906,43065924856184834,43065740172591106,43066045115269122,43065864726642690,43065688632983554,43065838956838914,43065869021609986,43065714402787330,43065843251806210,43065847546773506,43065890496446466,43065860431675394,43065894791413762,43065830366904322,43066083769974786,43066062295138306,43065680043048962,43065911971282946,43066070885072898,43065718697754626,43066066590105602,43065851841740802,43065899086381058,43065684338016258,43065972100825090,43065881906511874,43066075180040194,43065886201479170,43065873316577282,43066032230367234,43065950625988610,43065903381348354,43065821776969730,43065937741086722,43065907676315650,43065675748081666,43065856136708098,43065929151152130,43065877611544578,43065705812852738,43065967805857794,43066079475007490,43065710107820034,43065963510890498,43065916266250242,43065701517885442,43066053705203714,43066088064942082,43065826071937026,43065834661871618,43347477141782530,43347451371978754,43347537271324674,43347163609169922,43347532976357378,43347197968908290,43347429897142274,43347356882698242,43347541566291970,43347180789039106,43347554451193858,43347352587730946,43347313933025282,43347361177665538,43347425602174978,43347374062567426,43347155019235330,43347391242436610,43347550156226562,43347399832371202,43347563041128450,43347331112894466,43347150724268034,43347412717273090,43347438487076866,43347335407861762,43347442782044162,43347322522959874,43347382652502018,43347159314202626,43347185084006402,43347343997796354,43347309638057986,43347558746161154,43347545861259266,43347408422305794,43347447077011458,43347296753156098,43347193673940994,43347369767600130,43347395537403906,43347189378973698,43347520091455490,43347339702829058,43347417012240386,43347365472632834,43347202263875586,43347172199104514,43347210853810178,43347404127338498,43347318227992578,43347176494071810,43347326817927170,43347348292763650,43347386947469314,43347167904137218,43347507206553602,43347215148777474,43347378357534722,43347528681390082,43347301048123394,43347305343090690,43347421307207682,43628982183002114,43628922053459970,43628891988688898,43628926348427266,43628836154114050,43628642880585730,43628849039015938,43628844744048642,43628896283656194,43629038017576962,43628638585618434,43628629995683842,43628685830258690,43628634290651138,43628827564179458,43628668650389506,43628853333983234,43628651470520322,43628883398754306,43629012247773186,43628900578623490,43629029427642370,43629020837707778,43629025132675074,43628793204441090,43628677240324098,43628690125225986,43628857628950530,43628801794375682,43629016542740482,43628952118231042,43628788909473794,43628823269212162,43628904873590786,43628776024571906,43628810384310274,43628664355422210,43628780319539202,43628917758492674,43628870513852418,43628647175553026,43628784614506498,43628625700716546,43628913463525378,43628866218885122,43628874808819714,43628861923917826,43628887693721602,43628672945356802,43628995067904002,43628879103787010,43629033722609666,43628831859146754,43629007952805890,43628840449081346,43628771729604610,43628655765487618,43628806089342978,43628660060454914,43628814679277570,43628797499408386,43628818974244866,43629003657838594,43910422798336002,43910474337943554,44191945016999938,44191949314719746,44191893480144898,44191897775112194,44191936427065346,44191975081771010,44473372751691778,44473424291299330,44755401781346305,44755238572654593,44754894975401984,44754886385401856,45036326995361794,45036176671506434,45036223916146690,45036193851375618,45036009167781890,45036198146342914,45036185261441026,45036369945034754,45036172376539138,45036361355100162,45036322700394498,45036206736277506,45036211031244802,45036189556408322,45036400009805826,45036026347651074,45036030642618370,45036391419871234,45036219621179394,45036374240002050,45036202441310210,45036228211113986,45036039232552962,45036215326212098,45036357060132866,45036180966473730,45036022052683778,45317479850967042,45317488440901634,45317518505672706,45317673124495362,45317647354691586,45317668829528066,45317690304364546,45317698894299138,45317664534560770,45317484145934338,45317793383579650,45317514210705410,45317849218154498,45317660239593474,45317638764756994,45317686009397250,45317797678546946,45317625879855106,45317527095607298,45317874987958274,45317836333252610,45317801973514242,45317634469789698,45317501325803522,45317643059724290,45317505620770818,45317694599331842,45317677419462658,45317651649658882,45317866398023682,45317681714429954,45317844923187202,45317655944626178,45317832038285314,45317703189266434,45317630174822402,45317497030836226,45599268359766018,45599242589962242,45880743342768128,45880717558415362,45881172839432193,46162248384380928,46162707945816065,46162703650979841,46162218313515010,46162192543711234,46443568735322114,46443667519569922,46443560145387522,46443401231597570,46443547260485634,46443422706434050,46443396936630274,46443598800093186,46443585915191298,46443766303817730,46443564440354818,46443384051728386,46443414116499458,46443555850420226,46443405526564866,46443577325256706,46443581620224002,46443590210158594,46443603095060482,46443551555452930,46443594505125890,46443573030289410,46725524740767745,46725206920593410,46725030819463168,46725060883709952,46725447446233089,46725632129695745,46725541929156609,46725249872101378,46724859021164544,46724871903969280,46725035114233856,46725073770053632,46725241273319424,46725438843977729,46725026524037120,46725039410708480,46725559115186177,46725043702792192,46725219807330306,46724880496263168,46724889085870080,46725047997890560,46725176850186240,46725052294234112,46725069474693120,46725413070045185,46725636424728577,46725417365340161,46725662181621761,46725078062792704,46725443138420737,46724876201361408,46725172568391680,46725022230118400,46725408779403265,46725056590381056,46725430252601345,46725065178546176,47006896653336577,47006535860420608,47006531567091712,47006497206829056,47006527270944768,47006510090944512,47006522974601216,47006514387419136,47006913820688385,47006351178072064,47006505796173824,47006999717478401,47006372653039616,47006346880679936,47006892342050817,47006548746764288,47007016900165633,47006540155256832,47006518679502848,47006553039503360,47006333997875200,47006888046755841,47006617480396800,47006364062580736,47006501500747776,47006905229312001,47006716250030080,47006982546456577,47007102805606401,47006883756113921,47006544451403776,47006355472973824,47288002254536706,47288191233097730,47287989369634818,47287976484732930,47287993664602114,47288010844471298,47287839045779458,47287980779700226,47287826160877570,47288023729373186,47288028024340482,47288019434405890,47288006549504002,47287821865910274,47288092448849922,47287808981008386,47287830455844866,47288015139438594,47287985074667522,47287997959569410,47287847635714050,47287972189765634,47569485825572866,47569661919232002,47569679099101186,47569296847011842,47569576019886082,47569670509166594,47569597494722562,47569653329297410,47569657624264706,47569649034330114,47569644739362818,47569687689035778,47569481530605570,47569601789689858,47569292552044546,47569339796684802,47569283962109954,47569335501717506,47569421401063426,47569593199755266,47569571724918786,47569636149428226,47569309731913730,47569275372175362,47569674804133890,47569683394068482,47851072471498754,47851111126204418,47851124011106306,47851068176531458,47851119716139010,47851149780910082,48132620460294146,48132607575392258,48132543150882818,48132289747812354,48132246798139394,48132590395523074,48132586100555778,48132547445850114,48132611870359554,48132242503172098,48132371352190978,48132603280424962,48132384237092866,48132598985457666,48132594690490370,48132233913237506,48132637640163330,48132225323302914,48132551740817410,48132521676046338,48132624755261442,48132525971013634,48132629050228738,48132633345196034,48132259683041282,48132435776700418,48132285452845058,48132431481733122,48414073968459776,48695351372546050,48695544650334208,48695218228559874,48695536060334080,48695531761172482,48695338487644162,48695179573854210,48695523171237890,48695372847382530,48695196753723394,48695493106466818,48695463041695746,48695385732284418,48695213933592578,48695222523527170,48695377142349826,48695201048690690,48695879657848833,48695342782611458,48695548941041666,48695205343657986,48695188163788802,48695226818494466,48695355667513346,48695325602742274,48695566120910850,48695183868821506,48695398617186306,48695329897709570,48695364257447938,48695359962480642,48695368552415234,48695394322219010,48695347077578754,48695381437317122,48695390027251714,48695334192676866,48695497401434114,48695402912153602,48976860713844738,48976813469204482,48976676030251010,48976847828942850,48976688915152898,48976817764171778,48976671735283714,48976822059139074,48976856418877442,48976804879269890,48976869303779330,48977041102471170,48976873598746626,48976865008812034,48976658850381826,48976830649073666,48976877893713922,48976663145349122,48976654555414530,48976839239008258,48976852123910146,48976701800054786,48976809174237186,48976680325218306,48976826354106370,48976938023256066,48976843533975554,48976800584302594,48976834944040962,48976697505087490,48976693210120194,49258443053793282,49258481708498946,49539892268695554,49539956693204994,49539918038499330,49821770975084545,49821435967569920,49821483209654274,49821453144883202,49821478914686978,49821388722733056,49821955658809345,49821818219790337,49821092367630338,49821461734817794,49821371540504578,49821753795411969,49821221216649218,49821135317303298,49821470324752386,49821487504621570,49821474619719682,49821109547499522,49821375835471874,49821736615149569,49821959953514497,49821401605275650,49821457439850498,49821362950569986,49821444554948610,49821075187761154,49821139612270594,50102906638696450,50103310364049409,50103314659082241,50102867983990786,50102898047320064,50384342960177154,50384381614882818,50665869476560896,50665955387310081,50665903837741056,50665826527739904,50665564533293056,50665517290029056,50666144354664449,50665921017806849,50665878067216384,50665951081070593,50665938197282817,50665500109111296,50665796461395968,50665886657806336,50665899543035904,50666131470548993,50665946785316865,50666135765188609,50665942490611713,50665560240095232,50665534470619136,50665882361790464,50665912426496000,50665908132839424,50665895246299136,50665646138064896,50665800758394880,50947353043927040,50947378814451712,50947344453271552,50947395994517505,50947271438106624,50947301504450560,50947009447329792,50947413173993473,50947275735105536,50947606447259649,50947421762027521,50947357338501120,50947035216805888,50947374519746560,50947387403206656,50947417467322369,50947426057781249,50947383109550080,50946992266739712,50947370223009792,50947039510003712,50947361634516992,50947430364086273,50947121114775552,50947619331375105,50946975085821952,50947610741899265,51228793655918594,51228548842782722,51228570317619202,51228591792455682,51228583202521090,51228531662913538,51228527367946242,51228523072978946,51228772181082114,51228832310624258,51228767886114818,51228759296180226,51228780771016706,51228806540820482,51228557432717314,51228785065984002,51228797950885890,51228574612586498,51228566022651906,51228540252848130,51228776476049410,51228578907553794,51228544547815426,51228746411278338,51228823720689666,51228815130755074,51228789360951298,51228535957880834,51228587497488386,51228802245853186,51228742116311042,51228553137750018,51228755001212930,51228518778011650,51228828015656962,51228561727684610,51510376011202561,51510071068196864,51510599344848897,51510418960416769,51509942220161024,51510251457871872,51510148374134784,51510367420743681,51510221391527936,51510414665842689,51510109718315008,51509925039243264,51509959400751104,51510659481731073,51510513448058881,51510406076760065,51509985170227200,51510423258005505,51510410371334145,51510139782627328,51509963689951232,51509933625245696,51510105423544320,51510436142972929,51510491969421313,51509950805442560,51510328767873024,51510504856682497,51510225688526848,51510384600219649,51510096834199552,51510333062971392,51510131194462208,51510320176431104,51510126898315264,51510380305580033,51510101128118272,51510401780350977,51510702426685441,51509955100344320,51510427554152449,51510337356627968,51510388896563201,51510616527536129,51509946508050432,51510363127414785,51510307291922432,51510539231363073,51510354542854145,51510294406692864,51510311587938304,51509989463425024,51510152666873856,51510397485776897,51510487674126337,51510483383484417,51510569284796417,51510393191399425,51510122601971712,51510345947938817,51510114014789632,51510371718332417,51510556400680961,51510315877400576,51510302997348352,51510324473167872,51510118306873344,51510135487791104,51510144078774272,51510560695320577,51791808039682048,51791726434582528,51792035672031233,51791872474218497,51791820924649473,51791855282290689,51791812333338624,51791777974059008,51791863873273857,51791769383403520,51792031377391617,51791786564648960,51791696368238592,51791846692159489,51791700665237504,51791859576930305,51791803744583680,51791795153141760,51791400015953920,51791464440135680,51791417196871680,51791868168110081,51791460146937856,51792044261507073,51791782268633088,51791842397454337,51791546044907520,51791434377461760,51791850987913217,51791838104125441,51791799449878528,52073252950769664,52073021021618176,52072892173582336,52073270129852416,52073325976158209,52073171344949248,52072935123648512,52073283016392704,52073175641948160,52073317374164993,52073257245343744,52072874992664576,52073201411293184,52073287310049280,52073274426589184,52073278721294336,52072909354172416,52073506354102273,52073519238217729,52073313080836097,52073295901360129,52072939416846336,52073321668870145,52073244360114176,52073261541359616,52073510648741889,52354800952934401,52354732222054400,52354749403299840,52354994214928385,52354414393556992,52354727927480320,52354788057546753,52354367150292992,52354757993103360,52354650618658816,52354745106563072,52354384330883072,52354981330812929,52354646321659904,52354985625452545,52354736518070272,52354753698004992,52354719336824832,52354676388003840,52354792350875649,52354495998328832,52354796645580801,52354762286759936,52354349969375232,52354410100359168,52354770878070785,52636125595369472,52635885077069824,52636267327586305,52636469191639041,52635824946085888,52636224380010496,52636194313535488,52636263034257409,52636237263470592,52636245854781441,52636232969814016,52636456307523585,52635970975039488,52636211494780928,52636151364714496,52636207198765056,52636460602163201,52635889370267648,52635859307593728,52635842127003648,52636228674715648,52636202904190976,52636271622291457,52636275929710593,52636220083273728,52636121298370560,52917699366879232,53199217281007617,53199243051663361,53199410555584513,53199075548790784,53199221578596353,53198920928460800,53199212987678721,53199170036695040,53199286003236865,53199238756827137,53199273118269441,53198809261015040,53199406260944897,53198839323688960,53198835030491136,53199178628136960,53199251640614913,53199174333431808,53199195808202753,53199247346040833,53199187216891904,53199255937024001,53199230165843969,53199268820680705,53198774899507200,53199161448202240,53199071251791872,53199260231598081,53199225871466497,53199144266956800,53199277414416385,53199419145060353,53199152857612288,53199157152186368,53199204408426497,53199264526106625,53199101318135808,53199182923235328,53199234460483585,53199509341995009,53198792080424960,53480546224308226,53480391605485570,53480606353850370,53480610648817666,53480589173981186,53480619238752258,53480627828686850,53480310001106946,53480335770910722,53480314296074242,53480576289079298,53480365835681794,53480571994112002,53480602058883074,53480374425616386,53480352950779906,53480554814242818,53480623533719554,53480327180976130,53480361540714498,53480331475943426,53480322886008834,53480370130649090,53480541929340930,53480383015550978,53480614943784962,53480318591041538,53480305706139650,53480597763915778,53480563404177410,53480387310518274,53480559109210114,53480580584046594,53480584879013890,53480378720583682,53480340065878018,53480593468948482,53480357245747202,53480344360845314,53480348655812610,53480567699144706,53480632123654146,53762124297142272,54043259954593794,54043281429430274,54043573487206402,54043302904266754,54043539127468034,54043513357664258,54043320084135938,54043311494201346,54043315789168642,54043582077140994,54043521947598850,54043290019364866,54043509062696962,54043277134462978,54043504767729666,54043491882827778,54043556307337218,54043328674070530,54043552012369922,54043577782173698,54043569192239106,54043564897271810,54043324379103234,54043298609299458,54043526242566146,54043264249561090,54043307199234050,54043517652631554,54043294314332162,54043332969037826,54043547717402626,54043285724397570,54043534832500738,54043530537533442,54043560602304514,54043337264005122,54043543422435330,54043272839495682,54043341558972418,54043255659626498,54043268544528386,54043496177795074,54325155843866625,54325082830077952,54325121485438977,54325125778309121,54325069943537664,54324709167857664,54325151547457537,54325001224978432,54325319051902977,54325310462427137,54325306167787521,54325117187850241,54325048463523842,54324674806349824,54325061355044864,54324734937333760,54325095715045377,54325057059028992,54324971158634496,54325413553045505,54325134367326209,54325138663669761,54324739230531584,54325164432949249,54325112894521345,54325409255391233,54325087123734528,54324975455633408,54325130072686593,54325052764454912,54325044173799424,54325147252883457,54325078534979584,54324820835303424,54325160138440705,54325142958505985,54325074240274432,54324691987267584,54325177321259009,54325168727523329,54325173025112065,54606613640380417,54606596462149633,54606592164560897,54606639409659905,54606549216985088,54606652297969665,54606557806788608,54606626524168193,54606476201689088,54606630820577281,54606587871232001,54606519150510080,54606579292176385,54606622229594113,54606527741165568,54606214207242240,54606532035739648,54606536331755520,54606617935216641,54606785439137793,54606544920248320,54606609344036865,54606166963978240,54606781144498177,54606553511690240,54606635115151361,54606149783060480,54606562100445184,54606446135345152,54606184144568320,54606295812014080,54606884225548289,54606209914044416,54606648001822721,54606660886790145,54606600755019777,54606794028613633,54606570691756033,54606605049397249,54606450432344064,54606643704233985,54887951178399744,54888028488400896,54888067141271553,54888088617091073,54888037077155840,54888101500878849,54887659121278976,54888071435976705,54888019896958976,54888114398494721,54888097206304769,54887684890755072,54888256121208833,54887921112055808,54888007012450304,54888011308466176,54888110091862017,54887689183952896,54888045668466689,54888080026107905,54888269005324289,54888032783499264,54888024193695744,54888260415848449,54888105797287937,54888092911927297,54887624759771136,54887641940688896,54888084320747521,54887770788724736,54887925409054720,54887994127220736,54888002717876224,54888075731730433,54888062847942657,55169241466470402,55169451919867906,55169430445031426,55169421855096834,55169177041960962,55169426150064130,55169185631895554,55169473394704386,55169237171503106,55169202811764738,55169207106732034,55169211401699330,55169439034966018,55169434739998722,55169408970194946,55169456214835202,55169168452026370,55169194221830146,55169443329933314,55169181336928258,55169404675227650,55169447624900610,55169198516797442,55169417560129538,55169228581568514,55169224286601218,55169215696666626,55169189926862850,55169219991633922,55169477689671682,55169172746993666,55169481984638978,55169391790325762,55169232876535810,55169464804769794,55169396085293058,55451042865348609,55450746508148736,55451072931954689,55451064339791873,55451309155680257,55450901131821056,55450793752723456,55450875362476032,55451029979529217,55451352100634625,55450574713192448,55451210369269761,55451025685151745,55450772275920896,55450634844176384,55451085816922113,55450596181999616,55451206074630145,55451004216803329,55450961261887488,55451266201485313,55451068634365953,55450776572264448,55450995621888001,55450978441822208,55451077228101633,55451055750709249,55451141643370497,55451017094692865,55450780868411392,55451218958745601,55451034274168833,55451163122008065,55451154530631681,55450982736920576,55451133057433601,55450952671297536,55450956965871616,55450583299194880,55450944080642048,55450609074700288,55451188906033153,55451051454300161,55450785161740288,55451047159726081,55450969850380288,55450600479391744,55450755097493504,55450750802067456,55450639137374208,55451038570512385,55450591894110208,55450871065477120,55450763688738816,55450798048083968,55450965551349760,55450987030577152,55451060045283329,55450604774293504,55451021392281601,55450974147117056,55451137348075521,55450759392264192,55451012801363969,55450720742146048,55450613363900416,55451249018798081,55450789456576512,55450767980822528,55450802340823040,55732427648008192,55732066870820864,55732444827090944,55732681051340801,55732462007287808,55732500661862401,55732496366108673,55732470598598657,55732195718856704,55732419057352704,55732487778074625,55732350339186688,55732492071403521,55732109820887040,55732513547223041,55732457713631232,55732517853921281,55732376108531712,55732509250879489,55732049689903104,55732084051410944,55732114114084864,55732436238598144,55732431942582272,55732685345980417,55732449123827712,55732693935456257,55732346042187776,55732453418532864,55732504956239873,56014168912166913,56013906919292928,56013584797597696,56013945575309313,56013992830697473,56013894034063360,56013967048114177,56013541847531520,56013932690341888,56013962754785281,56014160322691073,56013971342819329,56013559028121600,56013984227590145,56014156028051457,56013825315897344,56013979932950529,56013589090795520,56013988523933697,56013919803801600,56013975638573057,56013911215308800,56013902624718848,56013821018898432,56013928395243520,56013851085242368,56013524666613760,56013924100538368,56013670695567360,56013936983998464,56295373318193152,56576848294969344,56858426337853441,56858580958183425,56858417748901889,56858434940895233,56858318964195328,56858336145440768,56858349030670336,56858331849424896,56858344733933568,56858353325375488,56858404863082497,56858422043279361,56857983958253568,56857966777663488,56858361914130432,56858585252823041,56858370505441281,56858409157722113,56858400568705025,56858357620473856,56858327554850816,56858250246029312,56858276015374336,56857949596745728,56858391978246145,56858245949030400,56858430634262529,56858396272951297,56858014020927488,56858009727729664,56858387684917249,56858095625699328,56858413454065665,56858593842298881,57139871249661953,57139570602409984,57139888442834945,57139879839793153,57139819710644224,57140068819009537,57139488997638144,57139806826135552,57139832597184512,57139875545415681,57139424573456384,57139802531561472,57139811122151424,57139725222739968,57139845482151937,57139458934964224,57139793940905984,57139484704440320,57139824007380992,57139884134432769,57140060229533697,57139750992084992,57139441754374144,57139836890841088,57140055934894081,57139720925741056,57139828302086144,57139866954956801,57139862661627905,57421530911604737,57421303278796800,57421286098862080,57421359111143425,57420916731084800,57421281802846208,57420933911674880,57421354816503809,57420959681150976,57421225968795648,57421535206244353,57420963974348800,57421045579120640,57421543795720193,57421200199450624,57421311867551744,57421337638338561,57421195902451712,57421294687354880,57421363419611137,57420899550167040,57421341931667457,57421320458862593,57421307573895168,57421268917616640,57421298984091648,57421346226372609,57421277508272128,57421350522126337,57702743894327296,57702391707795456,57702773960802304,57702761075572736,57702838396387329,57702782550605824,57702700945506304,57702778255507456,57702812615049217,57703005888315393,57702756779556864,57702816908378113,57702374526877696,57703018772430849,57702520555831296,57702821203083265,57702675176161280,57702795435573249,57702829793214465,57702752484982784,57702825498836993,57702670879162368,57702438951059456,57702434657861632,57703010182955009,57702769664065536,57702786844262400,57702834087854081,57702408888385536,57984248937512960,57984296179793921,57984257527316480,57984300475547649,57984304769925121,57984287591759873,57984244640776192,57984236052283392,57984145855873024,57984261820973056,57983913927770112,57984150152871936,57984485159665665,57984313373163521,57983866684506112,57984231756267520,57984253232218112,57983849503588352,57983909634572288,57984493749141505,57984218871037952,57984309064564737,57984270412283905,57984480865026049,57983883865096192,57984291885088769,57983995532541952,57984227461693440,57984175922216960,58265702438404096,58265650898927616,58265723914223616,58265796926832641,58265775452258305,58265732504027136,58265388904480768,58265960136376321,58265788337618945,58265801221406721,58265762568470529,58265693847748608,58265706732978176,58265719617486848,58265341661216768,58265470509252608,58265784041275393,58265745388994561,58265736797683712,58265728208928768,58265384611282944,58265324480299008,58265792632455169,58265358841806848,58265968725852161,58265711028994048,58265955841736705,58265779746635777,58265771156504577,58265620832583680,58265805529808897,58265766861799425,58265625129582592,58546945485963264,58547211774394368,58547095809294336,58547250428968961,58547186005704704,58547125875638272,58547198890934272,58547100106293248,58547254723346433,58547177415114752,58547435113086977,58547203185639424,58546863881191424,58547220365705217,58546799457009664,58547430818447361,58547237545181185,58547168824459264,58547246133215233,58547259031748609,58547241838510081,58546859587993600,58546833818517504,58547443702562817,58546816637927424,58547207480737792,58547194594197504,58547181709688832,58828274433720320,58828643801169920,58828910089797633,58828721109925889,58828678162350080,58828682457448448,58828695342415873,58828291614638080,58828334564704256,58828652391825408,58828686751105024,58828725405679617,58828669570908160,58828729700057089,58828420462673920,58828570786004992,58828918679273473,58828673867644928,58828734008524801,58828712521891841,58828656686399488,58828716815220737,58828905795158017,58828575083003904,58828600852348928,58828660982415360,58828308795228160,58828338857902080,59110307754672129,59109770879238144,59110440898723841,59109779471532032,59109921205387264,59109925499305984,59110316340609025,59109951269502976,59109955565649920,59109946973159424,59109938385977344,59110526797873153,59109942678061056,59110312045314049,59110337819246593,59110423716036609,59109964153815040,59109775176630272,59109977038061568,59109972745322496,59110140248588288,59109757996433408,59110363604123649,59110329227870209,59109959858978816,59109788061138944,59109929794732032,59109968449961984,59109934089502720,59391632410869760,59391525036425216,59391636704526336,59391662475313153,59391619524329472,59391284518125568,59391606639820800,59391671063347201,59391692539297793,59391593754591232,59391666768642049,59391868632694785,59391623821066240,59391696833675265,59391628115771392,59391675359100929,59391520739426304,59391688244461569,59391860043218945,59391602345246720,59391550805770240,59391679653478401,59391370416095232,59391645295837185,59391241568059392,59391701141946369,59391610935836672,59391288811323392,59391855748579329,59391224387141632,59391258748649472,59391683948118017,59672927002034178,59672725138571266,59673025786281986,59673017196347394,59672888347328514,59672896937263106,59672871167459330,59672750908375042,59672914117132290,59672884052361218,59672918412099586,59672853987590146,59672720843603970,59672742318440450,59672901232230402,59673055851053058,59672849692622850,59672892642295810,59673073030922242,59672858282557442,59673090210791426,59672712253669378,59672875462426626,59672703663734786,59673068735954946,59672879757393922,59672729433538562,59673060146020354,59672738023473154,59672862577524738,59672707958702082,59672905527197698,59673098800726018,59672909822164994,59672922707066882,59672866872492034,59954393388744706,59954376208875522,59954573777371138,59954384798810114,59954178640379906,59954492172992514,59954371913908226,59954548007567362,59954213000118274,59954363323973634,59954500762927106,59954225885020162,59954380503842818,59954565187436546,59954341849137154,59954367618940930,59954346144104450,59954328964235266,59954337554169858,59954333259202562,59954350439071746,59954401978679298,59954200115216386,59954397683712002,59954182935347202,59954187230314498,59954359029006338,59954354734039042,59954195820249090,59954217295085570,59954530827698178,59954535122665474,59954204410183682,59954543712600066,59954324669267970,59954389093777410,60235752392425474,60236031565299714,60235730917588994,60235997205561346,60236005795495938,60235718032687106,60235743802490882,60236014385430530,60236022975365122,60235782457196546,60235765277327362,60235954255888386,60235760982360066,60235769572294658,60235941370986498,60235975730724866,60236027270332418,60235748097458178,60235980025692162,60235945665953794,60235773867261954,60235726622621698,60235984320659458,60235971435757570,60235739507523586,60235791047131138,60235967140790274,60235992910594050,60235988615626754,60235756687392770,60235735212556290,60235778162229250,60236001500528642,60235958550855682,60235722327654402,60235786752163842,60517601035091969,60517596740517889,60517562382155777,60517493661433856,60517613920583681,60517759950061569,60517510842679296,60517519431172096,60517450712612864,60517545202679809,60517270322937856,60517536611368960,60517626818658305,60517158655492096,60517622512746497,60517528022614016,60517124293984256,60517506546663424,60517605331501057,60517583854960641,60517575265943553,60517768539537409,60517618215157761,60517188718166016,60517502252089344,60517579560321025,60517532317712384,60517184424968192,60517592446140417,60517420646268928,60517141474902016,60517424943267840,60517570973073409,60517609626075137,60517755655421953,60517588151304193,60517566675484673,60517523727908864,60798719525650434,60798706640748546,60798667986042882,60798934274015234,60798951453884418,60798702345781250,60798921389113346,60798732410552322,60798693755846658,60798947158917122,60798710935715842,60798904209244162,60798925684080642,60798938568982530,60798929979047938,60798917094146050,60798908504211458,60798955748851714,60798672281010178,60798972928720898,60798895619309570,60798680870944770,60798891324342274,60798676575977474,60798728115585026,60798698050813954,60798715230683138,60798741000486914,60798942863949826,60798689460879362,60798964338786306,60798723820617730,60798685165912066,60798977223688194,60798736705519618,60798981518655490,61080486577831936,61361871360294912,61643324859613186,61643178830725122,61643247550201858,61643200305561602,61643037096804354,61643410758959106,61643316269678594,61643226075365378,61643432233795586,61643419348893698,61643067161575426,61643071456542722,61643221780398082,61643170240790530,61643243255234562,61643230370332674,61643217485430786,61643286204907522,61643049981706242,61643088636411906,61643320564645890,61643256140136450,61643415053926402,61643183125692418,61643290499874818,61643427938828290,61643187420659714,61643041391771650,61643024211902466,61643281909940226,61643402169024514,61643299089809410,61643174535757826,61643393579089922,61643311974711298,61643238960267266,61643028506869762,61643058571640834,61643251845169154,61643032801837058,61643350629416962,61643062866608130,61643423643860994,61643260435103746,61643204600528898,61643084341444610,61643273320005634,61643234665299970,61643208895496194,61643213190463490,61643436528762882,61643269025038338,61643294794842114,61643380694188034,61643303384776706,61643045686738946,61643054276673538,61643406463991810,61643264730071042,61643196010594306,61643191715627010,61643277614972930,61643075751510018,61924546432598018,61924679576584194,61924705346387970,61924559317499906,61924512072859650,61924911504818178,61924748296060930,61924713936322562,61924890029981698,61924885735014402,61924533547696130,61924868555145218,61924649511813122,61924744001093634,61924688166518786,61924503482925058,61924752591028226,61924550727565314,61924769770897410,61924662396715010,61924907209850882,61924507777892354,61924645216845826,61924799835668482,61924735411159042,61924524957761538,61924872850112514,61924756885995522,61924653806780418,61924881440047106,61924529252728834,61924520662794242,61924692461486082,61924670986649602,61924795540701186,61924894324948994,61924786950766594,61924722526257154,61924731116191746,61924563612467202,61924696756453378,61924825605472258,61924701051420674,61924658101747714,61924718231289858,61924761180962818,61924683871551490,61924726821224450,61924877145079810,61924855670243330,61924499187957762,61924516367826946,61924778360832002,61924898619916290,61924774065864706,61924902914883586,61924537842663426,61924791245733890,61924542137630722,61924739706126338,61924765475930114,61924666691682306,61924675281616898,61924709641355266,62206330650230784,62487857151737858,62487745482588162,62487595158732802,62487831381934082,62487827086966786,62487861446705154,62487852856770562,62487818497032194,62487509259386882,62487749777555458,62487466309713922,62487835676901378,62487848561803266,62487775547359234,62487513554354178,62487449129844738,62487844266835970,62487483489583106,62769336424071170,62769319244201986,62768958466949122,62768941287079938,62768984236752898,62769224754921474,62769302064332802,62769250524725250,62769323539169282,62768988531720194,62769327834136578,62768924107210754,62769070136098818,62769306359300098,62769220459954178,62769293474398210,62769332129103874,62769310654267394,63050768451829760,63051030445817857,63050875825487873,63050845763469313,63050545113333760,63050862941700097,63050699733663744,63050819993075713,63050854350716929,63050399084380160,63050807108108288,63050867236536321,63051034740457473,63050901609316353,63050871530913793,63050893005553665,63050811401764864,63050785633075200,63050781337059328,63050794221568000,63050459215364096,63050888710979585,63050858645356545,63050837172551681,63051043329933313,63050798518304768,63050850056339457,63050695436664832,63050725503008768,63050897303142401,63050416265297920,63050841465880577,63050880121896961,63050884416471041,63050802813009920,63050777042485248,63050463508561920,63050433445888000,63332282082263042,63332020089257986,63332243427557378,63332273492328450,63331874060369922,63332260607426562,63332269197361154,63331891240239106,63332256312459266,63332200477884418,63332277787295746,63331938484879362,63332252017491970,63332286377230338,63331908420108290,63332170413113346,63331934189912066,63332174708080642,63613675454726146,63613748469170178,63613649684922370,63613383396950018,63613744174202882,63613757059104770,63613645389955074,63613409166753794,63613495066099714,63613718404399106,63613366217080834,63613349037211650,63613761354072066,63613726994333698,63613731289300994,63613413461721090,63613752764137474,63613735584268290,63894884143529986,63895227740913666,63895124661698562,63894841193857026,63894888438497282,63894970042875906,63895150431502338,63895232035880962,63895206266077186,63894858373726210,63894824013987842,63895120366731266,63895236330848258,63895210561044482,63895219150979074,63895193381175298,63895223445946370,63895201971109890,64176359119716354,64176707012067330,64176676947296258,64176694127165442,64176445019062274,64176681242263554,64176698422132738,64176668357361666,64176363414683650,64176316170043394,64176711307034626,64176298990174210,64176333349912578,64176595342917634,64176625407688706,64176685537230850,64176599637884930,64176702717100034,64458100384792578,64457834096820226,64458070320021506,64458156219367426,64458173399236610,64458169104269314,64458160514334722,64457919996166146,64458177694203906,64457808327016450,64458074614988802,64458181989171202,64457773967278082,64458143334465538,64458151924400130,64457838391787522,64457791147147266,64458186284138498,64739394972549122,64739626900783106,64739575361175554,64739545296404482,64739618310848514,64739549591371778,64739248943661058,64739644080652290,64739661260521474,64739635490717698,64739309073203202,64739313368170498,64739283303399426,64739652670586882,64739266123530242,64739631195750402,64739648375619586,64739656965554178,65021024568147970,65020788344946690,65020723920437250,65020784049979394,65021119057428482,65021131942330370,65021127647363074,65021106172526594,65021020273180674,65020741100306434,65021110467493890,65021123352395778,65021101877559298,65020869949325314,65021050337951746,65021093287624706,65020758280175618,65021136237297666,65302581149368322,65302198897278978,65302495250022402,65302594034270210,65302568264466434,65302585444335618,65302233257017346,65302611214139394,65302525314793474,65302216077148162,65302602624204802,65302259026821122,65302606919172098,65302576854401026,65302499544989698,65302344926167042,65302263321788418,65302598329237506,65584077600849922,65583819902812162,65584056126013442,65584081895817218,65583708233662466,65584073305882626,65583738298433538,65584000291438594,65583734003466242,65583673873924098,65583970226667522,65584043241111554,65583691053793282,65584069010915330,65584060420980738,65583974521634818,65584051831046146,65584086190784514,65865543988674560,65865294880440320,65865410847834112,65865148851486720,65865208982470656,65865617003642881,65865595530575873,65865526809591808,65865406552473600,65865505344061442,65865638478086145,65865428027899904,65865608412463105,65865419437309952,65865586939658241,65865625592594433,65866042207043585,65865518218936320,65865582657011713,65865402257309696,65865793097039873,65865612708806657,65865552580116480,65865642772660225,65865531104165888,65865604117823489,65865385078292480,65865651366395905,65865883293974529,65865556875214848,65865436611411968,65865166032404480,65865677135937537,65865634183577601,65865668545937409,65865685725216769,65865475270115328,65865591232987137,65865672840773633,65865213275668480,65865659955216385,65865664251494401,65865389372669952,65865621298020353,65865397962735616,65865681431298049,65865423731687424,65865561168871424,65865548286132224,65865415141883904,65865780212924417,65865578351886337,65865599823446017,65865380781883392,65865569760182273,65865183212994560,65865784507564033,65865445203771392,65865629889003521,65865535400181760,65865449500770304,65865647070248961,66147096274731009,66147117749370881,66147091980353537,66146658189705216,66146920180482048,66147358270685185,66147268073750529,66147126343106561,66147079094534145,66147001786302464,66146769857150976,66147036145582080,66146924477480960,66147070507286529,66147104865714177,66146623828197376,66147134931927041,66147255189635073,66147100569305089,66147061916368897,66146641009115136,66147018965385216,66147259484274689,66147087685517313,66147027556827136,66147113454796801,66147053338820609,66147006080876544,66146950246825984,66147066209697793,66146688252379136,66146683959181312,66147044736892929,66147031851925504,66147074800156673,66147010376892416,66147109160288257,66147083389173761,66147122046959617,66147023262121984,66146993195646976,66428390873694210,66428485362974722,66428292089446402,66428249139773442,66428107405852674,66428317859250178,66428330744152066,66428476773040130,66428481068007426,66428511132778498,66428150355525634,66428498247876610,66428425233432578,66428322154217474,66428395168661506,66428335039119362,66428253434740738,66428493952909314,66428369398857730,66428304974348290,66428146060558338,66428158945460226,66428137470623746,66428128880689154,66428313564282882,66428115995787266,66428098815918082,66428103110885378,66428506837811202,66428120290754562,66428111700819970,66428373693825026,66428339334086658,66428377988792322,66428360808923138,66428489657942018,66428141765591042,66428455298203650,66428266319642626,66428365103890434,66428274909577218,66428257729708034,66428244844806146,66428287794479106,66428163240427522,66428326449184770,66428343629053954,66428296384413698,66428347924021250,66428386578726914,66428283499511810,66428352218988546,66428124585721858,66428399463628802,66428309269315586,66428133175656450,66428300679380994,66428279204544514,66428356513955842,66428468183105538,66428262024675330,66428270614609922,66428502542843906,66709827198648320,66991349407612928,66991452486959104,66991508319305729,66991426716434432,66991512615649281,66991495437418497,66991529795846145,66991448192253952,66991542679502849,66991478269083649,66991486846500865,66991108889313280,66991065939247104,66991491139829761,66991516910485505,66991693003882497,66991525499437057,66991521204862977,66991345110614016,66991504024666113,66991546977091585,66991559862059009,66991680119767041,66991499730288641,66991469667024897,66991538384928769,66991551273238529,66991783200817153,66991456782057472,66991443895517184,66991083119837184,66991048758329344,66991375176957952,66991684414406657,66991113182511104,66991194787282944,66991534090420225,66991418125778944,66991461075714048,66991431011008512,66991435307024384,67272923168964608,67272850153668608,67272996181573633,67273026260303873,67273013361639425,67272918872227840,67273017656213505,67272669763993600,67273159391117313,67273009067130881,67272588159221760,67272944643735553,67273021953802241,67272824384323584,67272970414129153,67272991887196161,67272966116540417,67272901693145088,67272974706999297,67272558096547840,67272910283735040,67272583866023936,67272905987719168,67272893102489600,67272540915957760,67272983296016385,67273004772556801,67272979001376769,67272961823211521,67272523735040000,67272987592359937,67273167980593153,67272936052424704,67272820087324672,67272927463669760,67272931758768128,67273000476147713,67273155096477697,67554488338350081,67554299361034240,67554376669855744,67554501226659841,67554428222636033,67554411029135360,67553998711750656,67554733154238465,67554509815480321,67554368079200256,67554419620446209,67554466863906817,67554471158284289,67554479749267457,67554458272727041,67554385260445696,67554484043841537,67554449683709953,67554492632924161,67554441093251073,67554475452858369,67554063135932416,67554453978087425,67554033073258496,67554325130379264,67554380964429824,67554402440380416,67554144740704256,67554496930512897,67554015892668416,67554634367827969,67554058842734592,67554398145675264,67554642957303809,67554295064035328,67554406735478784,67554462569070593,67554436799922177,67554445390839809,67554393848938496,67554630073188353,67836117934014465,67835636891254784,67836105049899009,67835959020552193,67835649777336320,67835924660420609,67836036323344385,67835946134994945,67835963315060737,67835662664007680,67835525223481344,67835920367550465,67835937545781249,67835512339169280,67835877417091072,67835619717414912,67835950429569025,67836122222428161,67835516634857472,67836040618639361,67835628301975552,67835701316091904,67836208130949121,67836195239624705,67835666956091392,67835641187991552,67836143697199105,67835645483417600,67835533819445248,67836130813345793,67836367044018177,67835830181036034,67835658367533056,67835624006746112,67836160880148481,67835860237156352,67835684137009152,67835482274463744,67836032028770305,67835688431845376,67835954725978113,67835508049969152,67835984792190977,67836109344538625,67835477979889664,67836027733868545,67835473688461312,67835873122385920,67835997688692737,67836062093934593,67835538112643072,67835770040745984,67835851646566400,67835868825649152,67836053505900545,67835697023352832,67835654072762368,67835495157268480,67835679843680256,67835671251189760,67835933249437697,67835675547533312,67835941840617473,67835886005846016,67835894597156865,67835520929628160,67835503749562368,67836014868627457,67835911776632833,67835881712189440,67835916069961729,67835971907223553,67835774337744896,67835976203370497,67836225302560769,67835928954798081,67835967609634817,67835864526618624,67835800107089920,67836139403673601,67835692727992320,67835632598188032,67836147994066945,67835490869379072,67835486569234432,67835855941140480,67835499454660608,67835903188860929,67835843055910912,68117266502189056,68117322322411522,68117305142542338,68398780138520576,68680422607880193,68680366770749441,68680341000093697,68680529980030977,68680139139776512,68679915799511040,68680332424708097,68680156319580160,68680276576698368,68679898618593280,68680293755781120,68680147729842176,68680225037221888,68680362475913217,68680409722322945,68680791974150145,68680358179569665,68680388245192705,68680255111168002,68680414018600961,68679932980101120,68680134845399040,68680353884930049,68680267986042880,68680280871272448,68680534274670593,68680306642321408,68680319527288833,68680379656110081,68680152024416256,68680044647546880,68680328118992897,68680418313043969,68680173498793984,68680396837355521,68680336706764801,68680194970877952,68680285167288320,68680164908990464,68680426903044097,68679958749577216,68680186378518528,68680375359700993,68680401133502465,68680177795006464,68680371065126913,68680349590552577,68680435492323329,68680160614940672,68680130548989952,68680298053238784,68680633061081089,68680542864146433,68679963042775040,68680431198404609,68680302347223040,68680199267876864,68680345297682433,68680169204416512,68680310935977984,68680392539766785,68680383950684161,68961691431075842,68962086574358529,68961742977040384,68961734382518272,68961747265650690,68961695726043138,69243209357328386,69243222242230274,69243166407655426,69243170702622722,69243217947262978,69524967794278401,69524744457420801,69524649981116416,69524383679709184,69524533997273088,69524954910162945,69524727277355008,69524345028542464,69524753060134913,69524826063634433,69524692916174848,69524705801404416,69524340729643008,69524722982649856,69524770227814401,69524821767487489,69524787406045185,69524791700881409,69524735866109952,69524710097420288,69524778815062017,69524731572453376,69524718685913088,69524332134727680,69524800289832961,69525139607322625,69524774520684545,69524804586242049,69524808880816129,69524688626253826,69524701506830336,69524817469898753,69525148197060609,69524624198008832,69525057991213057,69524529703944192,69524959204802561,69524813175324673,69524387972907008,69524357910233088,69524765930225665,69524761636896769,69524482477260800,69524323548725248,69524911974187009,69524783109701633,69524795995258881,69524469577678848,69524834652454913,69524619901009920,69806610278449153,69806404130963457,69806408425865217,69806365455613953,69805961728229376,69805983204507648,69806361160318977,69805978909736960,69806356865744897,69805819994243072,69806472831041537,69806013268819968,69805991793065984,69805807111438336,69806653239197697,69806378342875137,69806017564966912,69806352570843137,69805828586536960,69806386930909185,69806159307669506,69805811406209024,69806189363593216,69805974614310912,69805837176143872,69805996088164352,69806021860327424,69806464240648193,69805850060455936,69806000384507904,69805953138950144,69806391234985985,69805948843720704,69806026153066496,69805824291635200,69806417015930881,69806004680654848,69805957435162624,69806550159720449,69805802816864256,69806124940460032,69805966024966144,69805987500982272,69806485717123073,69806008973983744,69805841471832064,69806468534173697,69806167897604098,69805970320392192,70087565575258112,70369332609810433,70369040532307970,70369147915337728,70650515517669378,70650541287473154,70932188058877953,70932080684957696,70932157993254913,70932153698615297,70932067799728128,70932162289598465,70932183764369409,70931844461232128,70932106456006656,70932179469795329,70932024850907136,70931762856460288,70932170878812161,70932329793716225,70932136520450049,70932102160908288,70931732793786368,70932119340974081,70932145108484097,70932076390383616,70932084980973568,70932175173386241,70932140813778945,70931758563262464,70931999081562112,70932093569466368,70932334088355841,70931994784563200,70932205253885953,70932166584434689,70932196649140225,70932149404237825,70932342677831681,70931698432278528,70932192353452033,70931715613196288,70932097866203136,70932110749663232,71213465471025154,71213491240828930,71495442970181633,71495004871589890,71495438675279873,71494966216884226,71494970523910144,71776479847907330,71776441205719040,72057954837200896,72339391146426370,72339429801132034,72620694321496064,72620986380713985,72621029330059265,72620994968748033,72620934841237504,72620926250647552,72620582654050304,72620612716724224,72621192538095617,72621037919141889,72620844644827136,72621033624633345,72621183948619777,72620917659992064,72621016444698625,72620930545221632,72621012149862401,72620990674042881,72621020739076097,72620608423526400,72620943429730304,72621046509404161,72621007853518849,72620952021172224,72621179653980161,72620874711171072,72620960609927168,72621003558879233,72620969201238017,72620999264501761,72621055114543105,72620848941826048,72621025033650177,72620565473460224,72620956316270592,72620548292542464,72620947726467072,72621042213715969,72902027566841858,72902066221547522,72902414113898498,72902238020239362,72902392639062018,72902384049127426,72902199365533698,72902074811482114,72902182185664514,72902246610173954,72902212250435586,72902207955468290,72902031861809154,72902220840370178,72902242315206658,72902216545402882,72902345394421762,72902341099454466,72902422703833090,72902225135337474,72902049041678338,72902053336645634,72902061926580226,72902177890697218,72902186480631810,72902203660500994,72902044746711042,72902229430304770,72902379754160130,72902195070566402,72902190775599106,72902233725272066,72902250905141250,72902173595729922,72902396934029314,72902036156776450,72902349689389058,73183687227080706,73183524018323458,73183721586819074,73183717291851778,73183700111982594,73183506838454274,73183889090543618,73183674342178818,73183678637146114,73183725881786370,73183712996884482,73183695817015298,73183691522048002,73183545493159938,73183528313290754,73183704406949890,73183708701917186,73183519723356162,73183536903225346,73183790306295810,73183670047211522,73183682932113410,73465179386347522,73465162206478338,73465295350464514,73465020472557570,73465145026609154,73465346890072066,73465321120268290,73465132141707266,73465149321576450,73465342595104770,73465123551772674,73465011882622978,73465016177590274,73465140731641858,73465175091380226,73464981817851906,73465364069941250,73465136436674562,73465260990726146,73464986112819202,73465170796412930,73465334005170178,73465003292688386,73465192271249410,73465196566216706,73465166501445634,73465329710202882,73465187976282114,73464994702753794,73465024767524866,73464977522884610,73465183681314818,73465291055497218,73465157911511042,73465127846739970,73464998997721090,73465200861184002,73465153616543746,73746456785387520,73746813276913666,73746658647932928,73746607129296896,73746834751946754,73747272849096705,73747036624846849,73746654354604032,73746826162012162,73747268554063873,73746851931815938,73746744557633538,73746847636848642,73746830456979458,73746508334432258,73746482564628482,73746774633086976,73746856226783234,73746860521750530,73747264259227649,73746748852600834,73746843341881346,73746512629399554,73746594233778178,73746817572077570,73746465384759298,73746448204890114,73746469679202304,74028322624307200,74027966122491904,74028099264970752,74028125035167744,74028528782934017,74028129331314688,74028107855167488,74028133624643584,74028116443725824,74028610367782913,74028765006069761,74028086378889216,74028120738824192,74028103560396800,74028597481701377,74028533076525057,74027927467524096,74028077789609984,74028142215626752,74027931762098176,74027944644902912,74028146510987264,74028137919479808,74027936056868864,74028477221502977,74028485810978817,74027961826803712,74027948942295040,74028296844673026,74028502993534977,74028511581569025,74028150803726336,74028090675625984,74028490106273793,74028481516404737,74028777889857537,74028760711036929,74028112151642112,74027974711115776,74028593184833537,74028073494380544,74028674810380289,74028082085822464,74028314014253056,74028094971052032,74027953237196800,74028588891308033,74309402454458370,74309771821645826,74309715987070978,74309617202823170,74309758936743938,74309754641776642,74309625792757762,74309767526678530,74309406749425666,74309552778313730,74309411044392962,74309789001515010,74309582843084802,74309600022953986,74309595727986690,74309578548117506,74309561368248322,74309449699098626,74309436814196738,74309612907855874,74309604317921282,74309685922299906,74309441109164034,74309557073281026,74309587138052098,74309746051842050,74309720282038274,74309565663215618,74309445404131330,74309608612888578,74309591433019394,74309548483346434,74309419634327554,74309569958182914,74309574253150210,74309621497790466,74309423929294850,74309428224262146,74591272577990656,74872494143963138,74872408244617218,74872412539584514,74872751842000898,74872756136968194,74872382474813442,74872348115075074,74872674532589570,74872730367164418,74872743252066306,74872747547033602,74872648762785794,74872644467818498,74872760431935490,74872734662131714,74872635877883906,74872726072197122,74872717482262530,74872365294944258,75154136626692096,75154170991935488,75154183871528960,75154501704351745,75435787686248449,75435779097165825,75435362483830784,75435676017754112,75435624478277632,75435774800756737,75435770506182657,75435766211805185,75435783391739905,75435298059649024,75435736147820545,75435791980822529,75435710377033728,75435740441149441,75435796276510721,75435933715726337,75435697493573632,75435718968344577,75435693196836864,75435749031608321,75435315240566784,75435684608344064,75435929421086721,75435761916968961,75435942305202177,75435332421156864,75435706083377152,75435744735854593,75435701788278784,75435804882501633,75435680312328192,75435594411933696,75435753325985793,75435667427098624,75435444088602624,75435757620625409,75435598708932608,75435358190632960,75717065089613826,75717090859417602,75998565857427456,75998995354222593,75998540066455554,76280169668870145,76280212616380417,76280367235334145,76280161077952513,76279783120764928,76280358645858305,76280199730888705,76279869018734592,76280100947886080,76280131013509120,76280173961740289,76280143898476545,76280204027297793,76279757351288832,76280216910954497,76280186847100929,76280109538476032,76280049408409600,76280105242460160,76280118126968832,76280195436314625,76280135307165696,76279787413962752,76280208321871873,76280350071914497,76280191141937153,76280010757963776,76280221208543233,76280023639064576,76280182550757377,76280178256117761,76280126718410752,76280354351218689,76280019342065664,76279722989780992,76280165371281409,76280092357230592,76280225506263041,76280122423705600,76279740170698752,76561511508082690,76561545867821058,76561558752722946,76842977883062274,76842763134697474,76843016537767938,76842741659860994,76842758839730178,76843003661713408,76842969293127682,76842999366615040,76843055192473602,76842750249795586,76843038012604418,76842767429664770,76843050897506306,76842754544762882,76843029422669826,76842745954828290,76843007956615168,76843012242800642,76842771724632066,76842990767964162,76843046602539010,76842995062931458,76842964998160386,76842982178029570,76843025127702530,77124238111342594,77124233816375298,77124491514413058,77124246701277186,77124470039576578,77124525874151426,77124474343325696,77124482933325824,77124530169118722,77124487219445762,77124504399314946,77124478638424064,77124457154674690,77124500104347650,77124521579184130,77124229521408002,77124216636506114,77124512989249538,77124465744609282,77124242406309890,77124444269772802,77124452859707394,77124439974805506,77124220931473410,77124225226440706,77405996575752192,77687192360648706,77687402814046210,77687450058686466,77687394224111618,77687196655616002,77687415698948098,77687454353653762,77687462943588354,77687407109013506,77687188074463232,77687389929144322,77687183779430400,77687419993915394,77687471533522946,77968899264413698,77968907854348290,77968877789577218,77968650156310530,77968671631147010,77968658746245122,77968903559380994,77968663041212418,77968916444282882,77968654451277826,77968864904675330,77968912149315586,77968937919119362,77968890674479106,77968869199642626,77968925034217474,77968955098988546,77968946509053954,77968929329184770,77968882084544514,77968645861343234,77968641566375938,77968894969446402,77968950804021250,77968667336179714,78250391421124610,78250146607988738,78250116543217666,78250382831190018,78250357061386242,78250412895961090,78250133723086850,78250142313021442,78250339881517058,78250369946288130,78250387126157314,78250365651320834,78250430075830274,78250421485895682,78250125133152258,78250138018054146,78250129428119554,78250425780862978,78250404306026498,78250400011059202,78250352766418946,78250344176484354,78250378536222722,78250120838184962,78250374241255426,78531600109797378,78531814858162178,78531900757508098,78531862102802434,78531905052475394,78531896462540802,78531887872606210,78531853512867842,78531617289666562,78531879282671618,78531595814830082,78531591519862786,78531849217900546,78531832038031362,78531866397769730,78531612994699266,78531874987704322,78531827743064066,78531819153129474,78531844922933250,78531608699731970,78531604404764674,78531621584633858,78531857807835138,78531840627965954,78813105149640706,78813135214411778,78813311308070914,78813079379836930,78813380027547650,78813332782907394,78813057905000450,78813341372841986,78813139509379074,78813362847678466,78813113739575298,78813358552711170,78813324192972802,78813294128201730,78813345667809282,78813307013103618,78813087969771522,78813126624477186,78813062199967746,78813302718136322,78813315603038210,78813328487940098,78813130919444482,78813371437613058,78813096559706114,78813337077874690,78813122329509890,78813053610033154,78813070789902338,78813075084869634,78813118034542594,78813367142645762,78813349962776578,78813092264738818,78813354257743874,78813289833234434,78813100854673410,78813109444608002,78813066494935042,78813375732580354,78813319898005506,78813083674804226,79094837846147072,79376072282865666,79376033628160002,79376256966459394,79376089462734850,79376059397963778,79376278441295874,79376265556393986,79376067987898370,79376269851361282,79376080872800258,79376025038225410,79376020743258114,79376295621165058,79376252671492098,79376325685936130,79376274146328578,79376055102996482,79376012153323522,79376037923127298,79376282736263170,79376239786590210,79376007858356226,79376329980903426,79376029333192706,79376085167767554,79376042218094594,79376046513061890,79376076577832962,79376003563388930,79376304211099650,79376291326197762,79376244081557506,79376308506066946,79376317096001538,79376050808029186,79376321390968834,79376299916132354,79376063692931074,79376016448290818,79376312801034242,79376261261426690,79376287031230466,79657796389568512,79939219826737152,80220471446536194,80220724849606658,80220746324443138,80220737734508546,80220694784835586,80220467160023040,80220729144573954,80220690489868290,80220664720064514,80502221319831552,80783687687208962,80783412809302018,80783408514334722,80783421399236610,80783640442568706,80783399933837312,80783644737536002,80783696277143554,80783631852634114,80783614672764930,80783661926711296,80783417104269314,80783618967732226,80783666221613056,80783674802307074,80783627557666818,80783404228739072,80783679097274370,81064896376012802,81065136903421952,81064874910547968,81065102534443010,81065119714312194,81064892081045506,81065162663985154,81065149779083266,81065141198323712,81065106829410306,81064887786078210,81065115419344898,81065089649541122,81064879205449728,81065154074050562,81064883491110914,81065093944508418,81065171253919746,81346354168791042,81346401413431298,81346336988921858,81346332693954562,81346654816501762,81346611866828802,81346414298333186,81346397118464002,81346629046697986,81346586097025026,81346388528529410,81346375643627522,81346405708398594,81346379938594818,81346384233562114,81346410003365890,81346624751730690,81346392823496706,81346358463758338,81346581802057730,81346577507090434,81346598981926914,81346345578856450,81346590391992322,81346362758725634,81346633341665282,81346367053692930,81346564622188546,81346568917155842,81346650521534466,81346620456763394,81346603276894210,81346646226567170,81346607571861506,81346641931599874,81346349873823746,81346341283889154,81346616161796098,81346594686959618,81346637636632578,81346328398987266,81346371348660226,81628159864668160,81628151275913216,81628391792836609,81627781908791296,81628146981208064,81628129799962624,81628073965912064,81628043899568128,81628378908721153,81628185635454977,81628189928783873,81628116914733056,81628198536151041,81628125505388544,81627811971465216,81627764728201216,81628168455979009,81628155571011584,81628035327459328,81628383203360769,81628142684471296,81627893576237056,81627747547283456,81628134095978496,81628048196567040,81628194223489025,81627807678267392,81909527474012160,81909596184576002,81909514580197378,81909540350001154,81909574709739522,81909579004706818,81909587594641410,81909317011701762,81909544644968450,81909321306669058,82190783397625858,82191041095663618,82191015325859842,82191036800696322,82190787692593154,82191049685598210,82191053980565506,82190766227587072,82190770522619904,82190779102658562,82190774807691266,82191062570500098,82191002440957954,82191071160434690,82191006735925250,82190993851023362,82191019620827138,82190989556056066,82190796282527746,82190791987560450,82472511777341442,82472528957210626,82472464532701186,82472468827668482,82472494597472258,82472262669238274,82472241204297728,82472477417603074,82472516072308738,82472245499330560,82472524662243330,82472546137079810,82472537547145218,82472271259172866,82472481712570370,82472490302504962,82472249784336386,82472266964205570,82472254079303682,82472258374270978,82753991049216002,82753952394510338,82753986754248706,82753939509608450,82754003934117890,82753956689477634,82753737646145538,82754012524052482,82753746236080130,82753720476041216,82753729056210946,82753943804575746,82753969574379522,82753741941112834,82753965279412226,82753733351178242,82754021113987074,82753999639150594,82753716181008384,82753724761243650,83035208327823362,83035431666122754,83035221212725250,83035466025861122,83035195452751872,83035212622790658,83035216917757954,83035487500697602,83035414486253570,83035444551024642,83035427371155458,83035191157719040,83035418781220866,83035496090632194,83035199737888770,83035478910763010,83035461730893826,83035204032856066,83035440256057346,83035474615795714,83316906652794880,83316919528390658,83316691895123970,83316971067998210,83316949593161730,83316915233423362,83316696190091266,83316902348521474,83316889463619586,83316962478063618,83316953888129026,83598381619216386,83598364439347202,83598437453791234,83598153985949698,83598141101047810,83598377324249090,83598424568889346,83598149690982402,83598162575884290,83598166870851586,83598450347016192,83598454641917952,83598368734314498,83598446043725826,83598145396015106,83598171165818882,83598411683987458,83598394504118274,83598428863856642,83598390209150978,83598415978954754,83598158280916994,83879869480894466,83879616077824002,83879624667758594,83879646142595074,83879852301025282,83879856595992578,83879929618628608,83879903840632834,83879886660763650,83879641847627778,83879843711090690,83879839416123394,83879912430567426,83879637552660482,83879899545665538,83879890955730946,83879620372791298,83879628962725890,83879865185927170,83879925323726848,83879921020502018,83879633257693186,84161396017266688,84442819435102210,84442591801835522,84442862384775170,84442806550200322,84442870974709762,84442849499873282,84442802255233026,84442789370331138,84442793672966144,84442853794840578,84442815140134914,84442596096802818,84724290136178688,85005820947529728,85287459118252033,85287390396678145,85287184240869376,85287158471327744,85287351744921601,85287300202627072,85287343153217537,85287171355770880,85287386101841921,85287381805498369,85286986668703744,85287162765705216,85287222893805568,85286956606029824,85287437644529665,85287218596806656,85287360332693505,85287188534919168,85287566490075137,85286922244521984,85287403282038785,85287553605959681,85287175650344960,85287356053848065,85286939425439744,85287248663150592,85287201420935168,85287394691055617,85287334561906688,85287368923611137,85287557900599297,85287416165695489,85287321679167488,85287446233808897,85287433348251649,85287424759431169,85287192830345216,85287325973151744,85287304497201152,85287411871121409,85287308793217024,85287398985629697,85287154174918656,85287815600078849,85287373216481281,85287291611971584,85287407576612865,85287068273475584,85287364626022401,85287278737096706,85287330268250112,85287441938972673,85287454824333313,85287210004447232,85287179945508864,85287377510858753,85287450528972801,85287656687009793,85287317381709824,85287197124722688,85287420463284225,85286982375505920,85568697879887874,85568569030868994,85568684994985986,85568401527144450,85568637750345730,85568788074201090,85568800959102978,85568423001980930,85568654930214914,85568624865443842,85568435886882818,85568599095640066,85568590505705474,85568646340280322,85568560440934402,85568586210738178,85568543261065218,85568689289953282,85568796664135682,85568457361719298,85568650635247618,85568448771784706,85568551850999810,85568577620803586,85568418707013634,85568410117079042,85568663520149506,85568766599364610,85568547556032514,85568616275509250,85568573325836290,85568556145967106,85568672110084098,85568805254070274,85568607685574658,85568642045313026,85568440181850114,85568693584920578,85568629160411138,85568581915770882,85568775189299202,85568783779233794,85568809549037570,85568564735901698,85568659225182210,85568427296948226,85568633455378434,85568397232177154,85568753714462722,85568676405051394,85568414412046338,85568461656686594,85568792369168386,85568620570476546,85568723649691650,85568667815116802,85568431591915522,85568603390607362,85568405822111746,85568611980541954,85568594800672770,85568444476817410,85568779484266498,85850164254539778,85850190024343554,85850194319310850,85850228679049218,85850245858918402,85850237268983810,86131755206311938,86131364364288002,86131596292521986,86131501803241474,86131725141540866,86131544752914434,86131527573045250,86131377249189890,86131497508274178,86131566227750914,86131510393176066,86131600587489282,86131613472391170,86131643537162242,86131591997554690,86131742321410050,86131360069320706,86131407313960962,86131729436508162,86131390134091778,86131733731475458,86131372954222594,86131617767358466,86131385839124482,86131506098208770,86131553342849026,86131738026442754,86131381544157186,86131639242194946,86131368659255298,86131746616377346,86131394429059074,86131622062325762,86131587702587394,86131347184418818,86131514688143362,86131609177423874,86131351479386114,86131647832129538,86131549047881730,86131759501279234,86131583407620098,86131750911344642,86131557637816322,86131355774353410,86131398724026370,86131634947227650,86131673601933314,86131703666704386,86131604882456578,86131411608928258,86131579112652802,86131540457947138,86131523278077954,86131626357293058,86131531868012546,86131570522718210,86131536162979842,86131574817685506,86131493213306882,86131716551606274,86131518983110658,86131561932783618,86413195831214080,86694666513022976,86976145784766464,87257612148670466,87257603558735874,87257569198997506,87257620738605058,87257564904030210,87539095738253312,87820648006877185,87820609352302592,87820574993022976,87820261459099648,87820832690995201,87820669481451521,87820721038884865,87820828396355585,87820656595894273,87820639416418305,87820686661517313,87820596468842496,87820497684201472,87820566402367488,87820695253680129,87820493387202560,87820931477405697,87820257165901824,87820617943613441,87820841280471041,87820678072434689,87820592172105728,87820690956091393,87820708138647553,87820523453546496,87820553527492610,87820699549827073,87820214215835648,87820231396425728,87820579287597056,87820673776025601,87820652301254657,87820643714007041,87820635123089409,87820626535317505,87820665187074049,87820197034917888,87820583583612928,87820600763547648,87820343063871488,87820605058646016,87821090390474753,87820682367008769,87820660892237825,88101732142612480,88102406454116353,88102165932802049,88102028504203266,88102092920324097,88102071445553152,88102110099800065,88101972660912128,88102080035356672,88102316257181697,88102307667705857,88102183115358209,88102153049145345,88102148752736257,88102161638227969,88102118690717697,88102157343719425,88102067148816384,88102144458162177,88102174526537729,88102084329013248,88101968363913216,88102565367185409,88101998430257152,88102196015661057,88102041379078144,88102058560323584,88101672011628544,88102049969733632,88101736435810304,88102122983587841,88101818040582144,88101706373136384,88102170230390785,88102131572604929,88102101512028161,88102303373066241,88102114393128961,88102140163784705,88101689192546304,88102135868948481,88102127277965313,88102054264307712,88102075740258304,88383327388106754,88383447647191042,88383537841504258,88383323093139458,88383181359218690,88383177064251394,88383529251569666,88383391812616194,88383164179349506,88383155589414914,88383421877387266,88383340273008642,88383318798172162,88383305913270274,88383207129022466,88383439057256450,88383434762289154,88383151294447618,88383413287452674,88383378927714306,88383168474316802,88383503481765890,88383366042812418,88383301618302978,88383387517648898,88383194244120578,88383348862943234,88383550726406146,88383159884382210,88383516366667778,88383172769284098,88383374632747010,88383370337779714,88383344567975938,88383361747845122,88383426172354562,88383533546536962,88383146999480322,88383546431438850,88383314503204866,88383396107583490,88383293028368386,88383404697518082,88383357452877826,88383331683074050,88383310208237570,88383353157910530,88383473416994818,88383198539087874,88383185654185986,88383335978041346,88383297323335682,88383400402550786,88383542136471554,88383417582419970,88383383222681602,88383443352223746,88383555021373442,88383524956602370,88383211423989762,88383189949153282,88383559316340738,88383408992485378,88664845313245186,88665017111937026,88664901147820034,88664634859847682,88664832428343298,88665004227035138,88664892557885442,88665008522002434,88664780888735746,88664664924618754,88664871083048962,88664798068604930,88664978457231362,88665029996838914,88664772298801154,88665034291806210,88664819543441410,88664810953506818,88664879672983554,88664789478670338,88664621974945794,88664991342133250,88664626269913090,88665021406904322,88664866788081666,88664896852852738,88664647744749570,88664673514553346,88664785183703042,88664682104487938,88664652039716866,88664883967950850,88664643449782274,88664815248474114,88664948392460290,88664802363572226,88664858198147074,88664630564880386,88664849608212482,88664841018277890,88664909737754626,88664776593768450,88664768003833858,88664862493114370,88664922622656514,88664875378016258,88664999932067842,88664836723310594,88664656334684162,88664669219586050,88664639154814978,88664918327689218,88664660629651458,88664914032721922,88664806658539522,88664823838408706,88664853903179778,88664828133376002,88664888262918146,88665025701871618,88665012816969730,88664793773637634,88664686399455234,88946419072434178,88946457727139842,88946470612041730,88946466317074434,88946414777466882,89228130258780161,89227790958002176,89227601979572224,89227795253362688,89227769481199616,89228426632232961,89228151735910401,89227799546101760,89227739418001408,89228237633683457,89227623453491200,89227614864867328,89228134553354241,89228181818900481,89227743713427456,89228323552755713,89228160323944449,89228246224076801,89228177523998721,89227962756628480,89227782367019008,89227593387278336,89227597684670464,89227580504473600,89227610569179136,89228138848649217,89227726531985408,89228125963878401,89227773777543168,89227748007346176,89227584799244288,89227576209899520,89227752302772224,89227730828197888,89227722236755968,89227760894017536,89227786661855232,89228259110158337,89227756597542912,89227765186101248,89227778073690112,89228241927208961,89227735121264640,89509446332645378,89509111325196290,89509433447743490,89509055481184256,89509424857808898,89509867252023297,89509107030228994,89509373318201346,89509064080556034,89509411985555456,89509081260425218,89509459217547266,89509347548397570,89509416267874306,89509257343729664,89509205825093632,89509454922579970,89509068374999040,89509450627612674,89509046900686850,89509253050400768,89509429152776194,89509343253430274,89509442037678082,89509192929574914,89509635323920385,89790886962397184,90072366222606338,90072293208162306,90072297503129602,90072379107508226,90072203013849090,90072391992410114,90072383402475522,90071996855418882,90072374812540930,90072056984961026,90072142884306946,90072404877312002,90072323272933378,90072014035288066,90072061279928322,90072018330255362,90072005445353474,90072409172279298,90072847270477825,90072031215157250,90072207308816386,90072400582344706,90072396287377410,90353836915949568,90635311879618562,90634946798354434,90635329050443778,90634981158092802,90635316165541890,90635011222863874,90635354820247554,90635359115214850,90634963978223618,90635350525280258,90635273215868930,90635324755476482,90635333345411074,90635092827242498,90635346230312962,90635341935345666,90635243151097858,90635006927896578,90635247446065154,90916808331493378,90916722432147458,90916821216395266,90916443259273218,90916421784436738,90916804036526082,90916786856656898,90916486208946178,90916748201951234,90916825511362562,90916632237834242,90916456144175106,90916829806329858,90916430374371330,90916791151624194,90916580698226690,90916799741558786,90916834101297154,90916567813324802,90916718137180162,90916438964305922,90916481913978882,90916627942866946,90916816921427970,91197909636218880,91198051368960000,91198266127613954,91198115794976768,91198102910664704,91198562470658049,91198605443530753,91198296192385026,91197926816546816,91198455095754753,91197905341448192,91198085730992128,91198223170469888,91198566764183553,91198287593603072,91197948290465792,91198450800852993,91198257537679362,91198489464995841,91198583947788289,91198081434517504,91198459390328833,91198047073730560,91197935406153728,91198485160919041,91198059958239232,91198476572884993,91198463685623809,91198107203993600,91198111498829824,91198124383076352,91198068550402048,91198055665172480,91198098614517760,91198120090337280,91198090023075840,91197922521645056,91198064254976000,91198270425137154,91198515249348609,91198072844320768,91198571061051393,91197901046874112,91198077139746816,91198708522811393,91197918224252928,91197939701841920,91198094318174208,91198214590562306,91479689566748674,91479745401323522,91761220389699584,92042695366475776,92324655674687489,92324659969589249,92324170331652098,92324114508677120,92605323182604290,92605314592669698,92605284527898626,92605482096394242,92605443441688578,92605456326590466,92605671074955266,92605447736655874,92605439146721282,92605464916525058,92605473506459650,92605469211492354,92605430556786690,92605477801426946,92605499276263426,92605426261819394,92605589470576642,92605275937964034,92605297412800514,92605593765543938,92605310297702402,92605490686328834,92605434851753986,92605280232931330,92605301707767810,92605421966852098,92605452031623170,92605598060511234,92605460621557762,92605486391361538,92605641010184194,92605632420249602,92605293117833218,92605645305151490,92605494981296130,92605662485020674,92605628125282306,92887064447221762,92887038677417986,93168513654325250,93168539424129026,93450014400446466,93450053055152130,93731489377091586,93731528031797250,94013123263660033,94013015890001920,94012646522552320,94013088904052737,94013106083528705,94013136149151745,94013114674708481,94013041659740160,94013110379872257,94012710946734080,94012706653536256,94013093198757889,94013140443725825,94012972941180928,94013131854643201,94012663703470080,94013045956476928,94013153347698689,94013118969085953,94012947171835904,94013028775231488,94012680884060160,94012942874836992,94013067431247873,94013097494511617,94013024480657408,94013033071247360,94013058839937024,94013282178629633,94013290768105473,94013084610723841,94013054546280448,94013277883990017,94013144739414017,94013050251182080,94012792551505920,94013127560069121,94013101788889089,94294714202521601,94294830179287041,94294447914287104,94294718518788097,94294520936202242,94294933245722625,94294443632492544,94294490871431170,94575987321274370,94575789752778754,94575772572909570,94575819817549826,94575622249054210,94575785457811458,94575776867876866,94575798342713346,94575768277942274,94575802637680642,94575781162844162,94575643723890690,94575635133956098,94575617954086914,94575811227615234,94575794047746050,94575888537026562,94575605069185026,94575815522582530,94575824112517122,94575626544021506,94575806932647938,94857389284065282,94857427938770946,95139005990371329,95139044648157185,95139031761485825,95138847078678528,95139027466911745,95139177790832641,95138546429394944,95138567909212160,95139036055994369,95139134854856705,95138555015397376,95138872848023552,95138606560378880,95139001695731713,95138924387500032,95139182085472257,95138993108484097,95139048959770625,95138941566582784,95138950158024704,95139018875928577,95139040350568449,95139023170502657,95138988810895361,95139010286714881,95138842781679616,95138984517566465,95138610853576704,95138997401354241,95138958746779648,95138563610312704,95138756877942784,95138928682074112,95138967338090497,95138932978089984,95139190674948097,95138692458348544,95139371082252289,95138945863319552,95138954453123072,95138752584613888,95138580790902784,95139014581551105,95138915796844544,95420850354126849,95420854649159681,95420231854653440,95420180339163136,95420386484355074,95420609834844161,95420227561324544,95420347843084288,95420042885922816,95420029992108032,95701861474566144,95983366502088706,95983005724835842,95983272012808194,95983035789606914,95983370797056002,95982979955032066,95983297782611970,95983383681957890,95983117393985538,95983357912154114,95983177523527682,95982971365097474,95983379386990594,95983375092023298,95982992839933954,95983031494639618,95983349322219522,95983267717840898,95982988544966658,95983340732284930,95983181818494978,95983353617186818,96264811413831682,96546239146819586,96546294981394434,96827769958301698,96827714136834048,97109244948185088,97390719924961280,97672134761644034,97672182006284290,97672169121382402,97953656982798338,97953644097896450,97953609738158082,98235140549509122,98234831311863810,98235170614280194,98235097599836162,98235166319312898,98235071830032386,98234771182321666,98235058945130498,98235157729378306,98235153434411010,98235183499182082,98234805542060034,98235174909247490,98234917211209730,98234788362190850,98235149139443714,98235067535065090,98234835606831106,98235179204214786,98516611241934848,98798399743066113,98797785559924738,98798116272406530,98798120567373826,98797738315284482,98798008898224130,98797721135415298,98797781264957442,98798416931192833,98798099092537346,98798103387504642,98798382562803713,98798107682471938,98797755495153666,98798129157308418,98797867164303362,98798047552929794,98798605901168641,98798013180084226,98798034670387200,98798017488158722,98798090502602754,98798021783126018,98798081915224064,98798133452275714,98798124862341122,98798601606463489,99079488181043200,99360963146743810,99360988916547586,99642433836941312,99923681157840898,99923951740780546,99923724107513858,99923986100518914,99923706927644674,99923694042742786,99923762762219522,99923990395486210,99923715517579266,99923981805551618,99923925970976770,99923964625682434,99923698337710082,99923676862873602,99923749877317634,99923968920649730,99923719812546562,99923711222611970,99923913086074882,99923938855878658,99923947445813250,99923736992415746,99923685452808194,99923973215617026,99923689747775490,99923956035747842,99923998985420802,99923745582350338,99923754172284930,99923732697448450,99923917381042178,99923930265944066,99923741287383042,99923934560911362,99923977510584322,99923994690453506,99923960330715138,99923728402481154,99923943150845954,99923758467252226,99923702632677378,99924003280388098,100205426717818882,100205439602720770,100205443897688066,100205473962459138,100205220559388674,100205190494617602,100205431012786178,100205461077557250,100205388063113218,100205418127884290,100205465372524546,100205177609715714,100205448192655362,100205164724813826,100205456782589954,100205173314748418,100205229149323266,100205224854355970,100205186199650306,100205237739257858,100205422422851586,100205211969454082,100205181904683010,100205469667491842,100205452487622658,100205409537949698,100205233444290562,100205203379519490,100205413832916994,100205216264421378,100205207674486786,100205405242982402,100205478257426434,100205392358080514,100205160429846530,100205156134879234,100205199084552194,100205151839911938,100205400948015106,100205435307753474,100205194789584898,100205169019781122,100486605348405248,100486635411079168,100486953239576576,100487043433431041,100487202348335105,100486897405526016,100487021958856705,100487060613496833,100487039139053569,100487064908070913,100487047728005121,100487215232450561,100487026253234177,100486983304282112,100486867339182080,100486940354347008,100487052024414209,100486871636180992,100487013368397825,100486979010625536,100486966124085248,100487017663102977,100487056318988289,100486717015851008,100486957535592448,100487034844217345,100486970420822016,100486991895592961,100487030547873793,100487206642974721,100486570986897408,100487069223092225,100486588167815168,100487009075068929,100486631117881344,100486948945002496,100486974715527168,100768372377255938,100768136154054658,100768187693662210,100768127564120066,100768149038956546,100768380967190530,100768179103727618,100768368082288642,100768363787321346,100768376672223234,100768385262157826,100768350902419458,100768398147059714,100768166218825730,100768161923858434,100768355197386754,100768428211830786,100768342312484866,100768114679218178,100768131859087362,100768118974185474,100768183398694914,100768419621896194,100768170513793026,100768174808760322,100768389557125122,100768393852092418,100768157628891138,100768423916863490,100768411031961602,100768333743783936,100768153333923842,100768338017517570,100768140449021954,100768402442027010,100768144743989250,100768123269152770,101049825879719938,101049877419327490,101049868829392898,101049662670962690,101049855944491010,101049598246453250,101049898894163970,101049873124360194,101049602541420546,101049864534425602,101049860239458306,101049886009262082,101049654081028098,101049593951485954,101049817289785346,101049632606191618,101049641196126210,101049830174687234,101049636901158914,101049658375995394,101049611131355138,101049606836387842,101049847354556418,101049589656518658,101049812994818050,101049838764621826,101049851649523714,101049615426322434,101049894599196674,101049624016257026,101049628311224322,101049649786060802,101049843059589122,101049645491093506,101049903189131266,101049619721289730,101331060350320642,101331030285549570,101331408242671618,101331738966425601,101331141954699266,101331309460783104,101331674533462017,101331399652737026,101331880691564545,101331356705619968,101331296573521922,101331056055353346,101331373882933250,101331691713134593,101331292278554626,101331322343325698,101331876396859393,101331013105680386,101331378177900546,101331403947704322,101331395357769730,101331283688620034,101331365292998658,101330995925811202,101331391062802434,101331382472867842,101331657353199617,101612835962159106,101612827372224514,101612814487322626,101612586854055938,101612810192355330,101612780127584258,101612608328892418,101612793012486146,101612797307453442,101612578264121346,101612775832616962,101612767242682370,101612844552093698,101612823077257218,101612788717518850,101612848847060994,101612762947715074,101612548199350274,101612853142028290,101612801602420738,101612569674186754,101612582559088642,101612599738957826,101612561084252162,101612818782289922,101612573969154050,101612612623859714,101612591149023234,101612543904382978,101612556789284866,101612539609415682,101612805897388034,101612565379219458,101612595443990530,101612604033925122,101612552494317570,101894336708608000,101894504214691841,101894637358743553,101894620176056321,101894560071024641,101894676035076097,101894169205342208,101894156318998528,101893954456453120,101894534279266305,101893971636649984,101894525687889921,101894160613834752,101893967339257856,101894723257892865,101894126254751744,101894173498081280,101894512800628737,101894139138080768,101893975931551744,101894134845997056,101894147729522688,101894117665406976,101894130549522432,101894152025669632,101894598725795841,101894121959325696,101894164909981696,101894182113771520,101894143433179136,101894508505333761,101893984521158656,102175777349828608,102457110582067202,102457093402198018,102457278085791746,102457050452525058,102457308150562818,102457286675726338,102457127761936386,102457106287099906,102457265200889858,102457132056903682,102456917308538882,102457299560628226,102457183596511234,102457101992132610,102457071927361538,102457187891478530,102456908718604290,102457136351870978,102457080517296130,102456938783375362,102457097697165314,102457123466969090,102456900128669698,102457252315987970,102456921603506178,102457282380759042,102456904423636994,102457076222328834,102456943078342658,102457046157557762,102457119172001794,102457144941805570,102456955963244546,102456925898473474,102457063337426946,102457084812263426,102457054747492354,102457175006576642,102457303855595522,102457166416642050,102457196481413122,102457153531740162,102457041862590466,102457290970693634,102457067632394242,102456895833702402,102457140646838274,102457222251216898,102457157826707458,102457273790824450,102457170711609346,102456934488408066,102457295265660930,102457162121674754,102456947373309954,102456913013571586,102456930193440770,102457149236772866,102457114877034498,102457089107230722,102456960258211842,102457192186445826,102457059042459650,102738864721756161,102739006456659969,102738821772541953,102738435224764416,102738387981500416,102738667152867328,102738890495033345,102738658560507904,102738430931566592,102738611321765888,102738405162090496,102739264156139521,102738894789869569,102738886200590337,102739015046135809,102738843247116289,102738619911831552,102738808888754177,102738602730979328,102738607027388416,102738753053261824,102738830361559041,102738774529212416,102738649976995840,102738834657902593,102738800300982273,102738628501569536,102738697219211264,102738899085033473,102738645680783360,102738826066919425,102738907674312705,102738838952738817,102738903380393985,102738778824310784,102738817479671809,102738770235228160,102738804612726785,102738516829536256,102738869019344897,102738632796930048,102738856132673537,102738813182083073,102738748758687744,102738757349277696,102738624206405632,102738791709278209,102738847541690369,102738370800582656,102738641386405888,102738783117967360,102739002162020353,102738727293157378,102738765937770496,102738873315491841,102739105243070465,102738671449866240,102738851838099457,102738740168032256,102738860427182081,102738881904312321,102738637090979840,103020481433370625,103020309634613249,103020331109384193,103020142129577984,103020258094678016,103020356881022977,103020245211217920,103020249505923072,103020240914481152,103020172195921920,103020490022846465,103019862958211072,103020348292202497,103020343996055553,103020275294535681,103020326814810113,103020232325988352,103020228029972480,103020580219781121,103020477138731009,103020283865464833,103019880138801152,103020292456382465,103019845777293312,103020305338269697,103020253801021440,103019991806246912,103020215144742912,103020313929449473,103020301043630081,103020296749252609,103020288158793729,103020339698466817,103020322518401025,103019910201475072,103020223735398400,103019905908277248,103020146426576896,103020335403892737,103020266685988865,103020318223826945,103301806086094849,103301728777732096,103301569865252864,103301591339827200,103301733071388672,103301552684400640,103301595634204672,103301466782957568,103301741662699521,103301647172632576,103301690121453568,103301707302699008,103302055196491777,103301320754003968,103301621403287552,103301771725963265,103301385178185728,103301956410081281,103301599930417152,103301587044401152,103301823268913153,103301840448454657,103301574159826944,103301849038454785,103301617106288640,103301857627734017,103301677246578690,103301724482633728,103301337934921728,103301720188649472,103301814675177473,103301810380603393,103301784611323905,103301836154011649,103301715891191808,103301831857733633,103301578454990848,103301844743290881,103301793200537601,103301608513929216,103301355115511808,103301776020340737,103301582750351360,103302214109560833,103301780314980353,103301797495111681,103301952115441665,103301750254403585,103301556980809728,103301801791520769,103301561275187200,103301754566279169,103301788906160129,103301380884987904,103301763135504385,103301698712109056,103301758842175489,103301703006683136,103301964999557121,103301853333815297,103301818972766209,103301767433093121,103583530173202433,103583285357314049,103583031957520384,103583053431701504,103583328310525953,103582795730714624,103583225231114241,103583027661111296,103582860154896384,103583066316537856,103583431386791937,103583092082999296,103583293949476865,103583203754442752,103583062021111808,103583208048099328,103583315425165313,103583096379998208,103583190867902464,103583074907127808,103583255291691009,103583332604444673,103582812911632384,103583238112215041,103583246702673921,103583242409803777,103583259588034561,103583324015165441,103583250997051393,103583177983393792,103583036251897856,103583276768231425,103583182279409664,103583289651888129,103583268177248257,103582830092222464,103583199459344384,103583152223289346,103583263882870785,103583216639410177,103583229543055361,103583272471822337,103583044841963520,103582855861698560,103583281062805505,103583319720001537,103583057727062016,103583233818886145,103583070610915328,103583689086271489,103583083490639872,103583311130722305,103583298245623809,103583195165360128,103583165098164224,103583439976267777,103583122149343232,103583427092152321,103583173688819712,103583306834444289,103583049136537600,103582941759668224,103864305068933120,103864738859581441,103864906363502593,103864691616120833,103864781811154945,103864567059709952,103864287888343040,103864571356708864,103865164081332225,103864717386514433,103864678731153408,103864713088925697,103864665844613120,103864335131607040,103864416736378880,103864330838409216,103864760334024705,103864768926187521,103864640074874880,103864747448532993,103864270707425280,103864648665530368,103864902068862977,103864644379869186,103865005149913089,103864734564745217,103864708795596801,103864914952978433,103864670141349888,103864597126053888,103864725973762049,103864674436055040,103864751744942081,103864657256120320,103864652960104448,103864700207824897,103864721679384577,103864756039516161,103864764628598785,103864683024809984,103864773222334465,103864743153958913,103864730268401665,104146235310735361,104146072102764544,104146200950472705,104146381340213249,104145780045643776,104146145118060544,104146149412765696,104145891713089536,104146188065636353,104145745684135936,104146153707864064,104146166592831489,104146243902898177,104146192363225089,104146226721652737,104146377045573633,104145762865053696,104146222425243649,104146158001520640,104146132232830976,104145810108317696,104146256787865601,104146119356579842,104146196656095233,104146218130669569,104146639058108417,104146183772307457,104146231016226817,104146042036420608,104146239605309441,104146205245112321,104146248199045121,104146123642241024,104146127936815104,104146175184535553,104146140821323776,104146115051585536,104146046333419520,104146213836292097,104146389929689089,104145805815119872,104146209541455873,104146480126623745,104427667339935745,104427285085028352,104427632978231296,104427705992937473,104427615798034432,104427684518166529,104427856316923905,104427864906399745,104427663042347009,104427280791830528,104427517013131264,104427602913525760,104427675927183361,104427701698363393,104427620094771200,104427624389476352,104427220660846592,104427693107380225,104427723192860673,104427590028296192,104427658749018113,104427718879608833,104427688813002753,104427714582020097,104427607209541632,104427255022354432,104427547079475200,104427852022284289,104427366689800192,104427710287446017,104427641569542145,104427598618951680,104427697401954305,104427521310130176,104427680221822977,104427671632805889,104427237841764352,104427628684574720,104709013473722370,104709056423395330,104709017768689666,104709069308297218,104709065013329922,104990535692255234,104990170620035074,104990187799904258,104990578641928194,104990230749577218,104990548577157122,104990539987222530,104990466972778498,104990565757026306,104990316648923138,104990557167091714,104990376778465282,104990570051993602,104990574346960898,104990204979773442,104990471267745794,104990497037549570,104990381073432578,104990179209969666,104990235044544514,104990552872124418,104990192094871554,104990582936895490,104990329533825026,105272006376620034,105271963426947074,105272019261521922,105272014966554626,105271967721914370,105553584425009153,105553601605206017,105553756223766529,105553421216972800,105553751929126913,105553541476384769,105553528591417344,105553331016237056,105553154929197056,105553129153691648,105553614488862721,105553588719845377,105553532885073920,105553498525794304,105553416919973888,105553618786451457,105553120567689216,105553137748606976,105553571539648513,105553524296318976,105553764813242369,105553520001613824,105553326722908160,105553708983058433,105553515704877056,105553575834025985,105553567246778369,105553623099768833,105553593014222849,105553558655860737,105553502820368384,105553507116384256,105553489935138816,105553610194288641,105553605899780097,105553562949189633,105553180698673152,105553184991870976,105553266596642816,105553580128665601,105553597308796929,105553142047506432,105553446986317824,105834969214812162,105834956329910274,105834964919844866,105834913380237314,105834917675204610,106116388356096002,106116444190670850,106397906285035520,106398258472288257,106397944928731136,106398262756245505,106398421680979969,106397914885980160,106398245576507393,106679338309582850,106679394144157698,106960869121720322,106960856236818434,106960817582112770,106960864826753026,106960813287145474,107242331213070338,107242344097972226,107242288263397378,107242292558364674,107242339803004930,107242842327351297,107524132596350977,107523466873470976,107523625788964864,107523668739555328,107523595722948608,107524033810137089,107523836242821120,107523642967392256,107523630083735552,107524055311187969,107523673032294400,107523608607457280,107524025222103041,107524003744972801,107523471170863104,107524115413401601,107524119710269441,107523600018178048,107523612904194048,107523484055371776,107523664444194816,107523617199620096,107523647263735808,107524008039546881,107523458285436928,107523488351059968,107523999450071041,107524012334841857,107523475465764864,107523651559882752,107523449696092160,107523638672293888,107524197038948353,107523728893607936,107523655853211648,107523604314390528,107523660148047872,107523453990666240,107523634380210176,107523621493538816,107524111119876097,107523496939683840,107805294050869250,108086769027514370,108368188165914626,108368226820620290,108649663142166530,108649701796872194,108930841768034304,108931288440373249,108931455944294401,108930854649724928,108931030736764928,108930880419201024,108930837469134848,108931309914816513,108931408716955649,108930820288217088,108931275554553857,108931232605601792,108931189655666688,108931224016846848,108931116640501760,108931271260176385,108931258376388609,108931026443436032,108931301325733889,108930884712398848,108931314209390593,108931284145537025,108931322820624385,108931464533770241,108931305620307969,108931297029324801,108931120937500672,108931292734750721,108931241196912641,108931318506979329,108931266967306241,108931219722141696,108931202540896256,108931451649654785,108931198246322176,108931206836912128,108931228311945216,108931262669717505,108931146706845696,108930966317170688,108931279849193473,108931215425404928,108930828874219520,109212660358447104,109494221213597697,109494169675563008,109494152494317568,109493916270592000,109493834665820160,109494246982746113,109494238393794561,109493770241638400,109494182559023104,109494148199743488,109494259868237825,109493787422556160,109494070890921984,109494405897715713,109494268460400641,109493830372622336,109494225507975169,109494191150333953,109494178265366528,109494096660267008,109494229802614785,109494401603076097,109494212623138817,109494173970268160,109494139609088000,109494156790333440,109494251279155201,109494234098958337,109494216920727553,109494208329809921,109494414487191553,109493804603146240,109494165378826240,109494066593923072,109494272774176769,109494264162811905,109494242688172033,109494255573729281,109775610296664066,110057085288710144,110338560265486336,110619863427448834,110619713103593474,110619992276467714,110619708808626178,110620030931173378,110619889197252610,110619850542546946,110619691628756994,110619880607318018,110619897787187202,110619859132481538,110619876312350722,110619846247579650,110619837657645058,110620039521107970,110620060995944450,110619824772743170,110619872017383426,110619717398560770,110619678743855106,110619829067710466,110619683038822402,110619695923724290,110619854837514242,110619957916729346,110619833362677762,110619867722416130,110619893492219906,110619987981500418,110619884902285314,110619820477775874,110620043816075266,110619841952612354,110619721693528066,110619700218691586,110620026636206082,110619674448887810,110620018046271490,110901544578711552,111182783317213186,111182937936035842,111182774727278594,111182826266886146,111182770432311298,111182650173227010,111182847741722626,111182632993357826,111182839151788034,111183010950479874,111182624403423234,111182968000806914,111182645878259714,111182779022245890,111182809087016962,111182976590741506,111182907871264770,111182834856820738,111182817676951554,111182993770610690,111182671648063490,111182641583292418,111182658763161602,111182787612180482,111182813381984258,111182821971918850,111182980885708802,111182796202115074,111182843446755330,111182800497082370,111182667353096194,111182791907147778,111182804792049666,111182942231003138,111182663058128898,111182628698390530,111182830561853442,111182989475643394,111464103674773506,111464318423138306,111464296948301826,111464262588563458,111464253998628866,111464125149609986,111464382847647746,111464288358367234,111464271178498050,111464442977189890,111464245408694274,111464258293596162,111464284063399938,111464116559675394,111464417207386114,111464266883530754,111464451567124482,111464133739544578,111464485926862850,111464279768432642,111464455862091778,111464099379806210,111464107969740802,111464146624446466,111464468746993666,111464309833203714,111464314128171010,111464138034511874,111464322718105602,111464142329479170,111464305538236418,111464275473465346,111464301243269122,111464120854642690,111464249703661570,111464464452026370,111464412912418818,111464292653334530,111745917956849666,111745930841751554,111745883597111298,112027337085353986,112027362855157762,112308812075237378,112308837845041154,112308876499746818,112590351466430466,112590368646299650,112590312811724802,112590360056365058,112590287041921026,112590317106692098,112871762015551490,112871787806523392,112872217308102657,113153267083116544,113434737764990976,113434793599500288,113716217036734464,113997743525593090,113997687691018242,114278999473848322,114279231402082306,114279093963128834,114279098258096130,114279051013455874,114278849149992962,114279033833586690,114279020948684802,114278883509731330,114278862034894850,114278853444960258,114279029538619394,114279252876918786,114279046718488578,114278879214764034,114278874919796738,114279261466853378,114279012358750210,114279072488292354,114279055308423170,114278990883913730,114279042423521282,114279106848030722,114279038128553986,114279081078226946,114279068193325058,114279025243652098,114279111142998018,114278887804698626,114278904984567810,114278896394633218,114279132617834498,114279008063782914,114279201337311234,114279145502736386,114278870624829442,114279102553063426,114279171272540162,114278866329862146,114279076783259650,114279124027899906,114279003768815618,114279248581951490,114278844855025666,114279016653717506,114279085373194242,114279063898357762,114279119732932610,114279214222213122,114279755388092418,114278909279535106,114279222812147714,114279115437965314,114279257171886082,114279141207769090,114278995178881026,114279235697049602,114279239992016898,114279227107115010,114279136912801794,114279244286984194,114278892099665922,114279059603390466,114278857739927554,114560568941215746,114560328423047170,114560491631804418,114560599005986818,114560521696575490,114560702085201922,114560616185856002,114560500221739010,114560478746902530,114560560351281154,114560354192850946,114560345602916354,114560573236183042,114560332718014466,114560581826117634,114560367077752834,114560504516706306,114560483041869826,114560465862000642,114560714970103810,114560590416052226,114560319833112578,114560324128079874,114560611890888706,114560487336837122,114560547466379266,114560697790234626,114560341307949058,114560710675136514,114560337012981762,114560676315398146,114560379962654722,114560719265071106,114560534581477378,114560689200300034,114560732149972994,114560646250627074,114560723560038402,114560371372720130,114560525991542786,114560594711019522,114560474451935234,114560556056313858,114560530286510082,114560358487818242,114560543171411970,114560513106640898,114560495926771714,114560620480823298,114560577531150338,114560538876444674,114560551761346562,114560384257622018,114560706380169218,114560349897883650,114560607595921410,114560508811673602,114560586121084930,114560564646248450,114560470156967938,114560362782785538,114560517401608194,114560727855005698,114842168483250176,115123656333393922,115123437290061826,115123523189407746,115123652038426626,115123536074309634,115123463059865602,115123269786337282,115123596203851778,115123450174963714,115123626268622850,115123566139080706,115123291261173762,115123415815225346,115123304146075650,115123561844113410,115123669218295810,115123475944767490,115123570434048002,115123518894440450,115123334210846722,115123467354832898,115123432995094530,115123501714571266,115123484534702082,115123458764898306,115123510304505858,115123493124636674,115123274081304578,115123424405159938,115123420110192642,115123445879996418,115123527484375042,115123471649800194,115123660628361218,115123497419603970,115123454469931010,115123673513263106,115123544664244226,115123647743459330,115123540369276930,115123548959211522,115123441585029122,115123664923328514,115123282671239170,115123278376271874,115123506009538562,115123329915879426,115123299851108354,115123557549146114,115123514611007488,115123488829669378,115123308441042946,115123295556141058,115123428700127234,115123312736010242,115123480239734786,115123677808230402,115123317030977538,115123531779342338,115123286966206466,115123682103197698,115123639153524738,115123321325944834,115404993871282178,115404955216576514,115404890792067074,115404920856838146,115404912266903554,115404925151805442,115404972396445698,115404929446772738,115405015346118658,115404963806511106,115405011051151362,115404744763179010,115404989576314882,115405127015268354,115405032525987842,115404985281347586,115405148490104834,115404950921609218,115405041115922434,115404942331674626,115405036820955138,115404933741740034,115405006756184066,115404998166249474,115404899382001666,115405152785072130,115404907971936258,115405045410889730,115404761943048194,115404774827950082,115405122720301058,115404916561870850,115405131310235650,115405114130366466,115404770532982786,115405071180693506,115404980986380290,115405157080039426,115404804892721154,115404809187688450,115404938036707330,115405135605202946,115404976691412994,115404753353113602,115405101245464578,115405019641085954,115404959511543810,115404968101478402,115405144195137538,115404787712851970,115404792007819266,115405139900170242,115404783417884674,115404749058146306,115405002461216770,115404766238015490,115404757648080898,115404903676968962,115404779122917378,115405023936053250,115404796302786562,115404946626641922,115404895087034370,115686593413513216,115968068390289408,116249534777131008,116531009753907200,116812510474272768,116812342971006976,116812480418349058,116812682270998529,116812806827802625,116812729536544769,116812712345665537,116812304315187200,116812287135645696,116812347263746048,116812789644853249,116812295724990464,116812278545842176,116812974349877249,116812145402314752,116812686566293505,116812338675646464,116812871270400001,116812334379499520,116812708041588737,116812699453554689,116812317198843904,116812149697216512,116812673681522689,116812312903745536,116812141104922624,116812128222117888,116812931403481089,116812325791334400,116812828310765569,116812321495187456,116812519073054722,116812330084663296,116812446051139584,116812269954400256,116812725241643009,116812291431071744,116812274249629696,116812793941721089,116812677976424449,116812132516888576,116812489008283650,116812123927543808,116812785351327745,116812282838908928,116812300020416512,116812308611661824,116812162582511616,116812171171135488,116812158286823424,116812738126610433,117093968282976258,117093955400040448,117093916743368706,117094307599745025,117093963994562560,117093912448401410,117375443258834946,117656918235480066,117656862400905218,117938384637591552,118219657734062082,118219863892492290,118219816647852034,118219855302557698,118219782288113666,118219885367328770,118219546064912386,118219498820272130,118219692093800450,118219704978702338,118219662029029378,118219524590075906,118219679208898562,118219683503865858,118219713568636930,118219503115239426,118219670618963970,118219507410206722,118219520295108610,118219868187459586,118219666323996674,118219533180010498,118219851007590402,118219700683735042,118219644849160194,118219717863604226,118219674913931266,118219516000141314,118219541769945090,118219649144127490,118219687798833154,118219696388767746,118219842417655810,118219653439094786,118219812352884738,118219537474977794,118219722158571522,118219709273669634,118501334574563330,118782667817549826,118782448774217730,118782633457811458,118782792371601410,118782487428923394,118782594803105794,118782470249054210,118782453069185026,118782607688007682,118782457364152322,118782491723890690,118782813846437890,118782672112517122,118782629162844162,118782603393040386,118782599098073090,118782654932647938,118782642047746050,118782663522582530,118782483133956098,118782732242059266,118782818141405186,118782637752778754,118782659227615234,118782646342713346,118782474544021506,118782496018857986,118782611982974978,118782620572909570,118782835321274370,118782805256503298,118782800961536002,118782762306830338,118782766601797634,118782616277942274,118782624867876866,118782465954086914,118782650637680642,119064091254325250,119064069779488770,119064108434194434,119064074074456066,119064147088900098,119064310297657346,119064099844259842,119063958110339074,119064280232886274,119063932340535298,119064134203998210,119064117024129026,119064125614063618,119063962405306370,119064121319096322,119064241578180610,119064288822820866,119064267347984386,119063966700273666,119064142793932802,119064078369423362,119063949520404482,119063928045568002,119064095549292546,119064082664390658,119064104139227138,119064129909030914,119063970995240962,119064138498965506,119063945225437186,119063940930469890,119064207218442242,119063923750600706,119064237283213314,119064275937918978,119064293117788162,119064112729161730,119064086959357954,119345768095023106,119345712260448258,119627161483476992,119908816826466305,119908782468104193,119908361560850432,119908803940909057,119908808237252609,119908743813857280,119908975741370369,119908722338037760,119908825417449473,119908795351891969,119908490408886272,119908713747382272,119908378741440512,119908791059021825,119908748108562432,119908408804114432,119908739517120512,119908726632611840,119908834006532097,119908645029216256,119908640732217344,119908838301106177,119908730928627712,119908980036009985,119908812532088833,119908988625485825,119908670798561280,119908765288628225,119908821121040385,119908344379932672,119908786761433089,119908404510916608,119908756697317376,119908752403660800,119908829712023553,119908846913650689,119908799646269441,119908842598694913,120189875185778690,120190128588849154,120189956790157314,120189935315320834,120190171538522114,120189888070680578,120189922430418946,120189879480745986,120189896660615170,120190180128456706,120189939610288130,120189931020353538,120190124293881858,120189926725386242,120189952495190018,120190158653620226,120189905250549762,120190193013358594,120189918135451650,120190132883816450,120189892365647874,120190111408979970,120189909545517058,120190141473751042,120189913840484354,120190150063685634,120189883775713282,120190201603293186,120190115703947266,120190188718391298,120189961085124610,120190145768718338,120190175833489410,120190162948587522,120189948200222722,120189943905255426,120190184423424002,120190167243554818,120190197308325890,120190154358652930,120189900955582466,120190137178783746,120471861263532033,120471685171511296,120471521960984576,120472071720796161,120471882742169601,120471483308900352,120471852677595137,120471302919356416,120471517668245504,120471487600984064,120471496192425984,120471968638959617,120471332984061952,120471856968237057,120471513372884992,120471466128310272,120471474717655040,120471530576674816,120471504781901824,120471874150793217,120471491896082432,120471500488572928,120471470422228992,120471320099553280,120471324394455040,120471509076738048,120471947190992897,120471985821646849,120471908533927937,120471479012425728,120471315802161152,120752769310064640,120752786490982400,120753224576401409,120753095728693248,120753190218760193,120753237462220801,120752915339018240,120753263231238145,120753228871041025,120753413555617793,120752829441048576,120753400671502337,120753138677514240,120753254642155521,120753151562743808,120753246051172353,120753233167384577,120753258936664065,120753147268169728,120752833734246400,120753065662349312,120753173038694400,120753250347581441,120753404966141953,120753181627449344,120753267528826881,120753155858759680,120753168743989248,120753220282023937,120753271843913729,120753177333792768,120753207398236161,120752803671572480,120753241756598273,120753215989153793,120753069959348224,120753211691565057,120753164447252480,121034600791801856,121315736444403712,121316101516165120,121315998439899136,121316153077989377,121316196004593665,121316204595576833,121316161644986369,121316140172181505,121316453705973761,121315753624993792,121315981259833344,121315985553883136,121316256137216001,121316019912769536,121316350624923649,121316230367215617,121315972669308928,121316234663493633,121315976964472832,121315994143686656,121315719263485952,121316097221591040,121316208890085377,121315989849309184,121316174529822721,121316170235445249,121315959784669184,121316088630935552,121316238957936641,121315865292439552,121315968374734848,121316191710019585,121316122992115712,121316165942575105,121316187415642113,121316243252772865,121315783687667712,121316105812180992,121316217482248193,121316045682114560,121316131580870656,121316354919563265,121316213184659457,121316114400673792,121316251843297281,121316221778395137,121316178824462337,121315951193882624,121315779394469888,121316183120805889,121316612619042817,121315955490291712,121316363509039105,121316007023411200,121316075756060674,121316015615770624,121316200301002753,121316157351657473,121316127287214080,121316118698131456,121316148763885569,121316247547936769,121597550732771330,121597645212155905,121597928682684417,121597718229483521,121597494889480192,121598087595753473,121597670981304321,121597653801172993,121597572198301696,121597456236544000,121597464826019840,121597675277713409,121597829896273921,121597426170593280,121597593674842112,121597606557581312,121597628054765569,121597713934647297,121597460530593792,121597580788891648,121597696755105793,121597602263924736,121597688161370113,121597649506533377,121597443351445504,121597666686730241,121597430467002368,121597597968826368,121597473416609792,121597726820007937,121597563607646208,121597520658825216,121597722524647425,121597228601704448,121597615148892161,121597340269150208,121597731113926657,121597451941183488,121597589377384448,121597469120397312,121597662392352769,121597490592481280,121597447646019584,121597709640204289,121597692458958849,121597434761379840,121597194240196608,121597623740596225,121597636621697025,121597254371180544,121597258664378368,121597838485749761,121597576492875776,121597640919285761,121597705343926273,121597211421114368,121597658097516545,121597632328368129,121597679572287489,121597683866796033,121597482000121856,121597825601634305,121879068651552768,121879562572464129,121879064354095104,121879090125602817,121878909738090496,121879107305078785,121879128777883649,121878703578415104,121879124483244033,121878669216907264,121878686397825024,121879201796718593,121879193206194177,121878922622730240,121878969866190848,121879133074227201,121879150254424065,121878918328156160,121878944097107968,121879313462460417,121879184616914945,121879047175012352,121879051469586432,121878931213254656,121879038584356864,121878901147303936,121879141663440897,121878733641089024,121879111598407681,121879077240635392,121879171731816449,121879137369063425,121879055765602304,121879188911357953,121878815245860864,121879103031541761,121879081534291968,121878948393320448,121879072945537024,121878965569191936,121879206090637313,121878729347891200,121879158843506689,121878939802730496,121879120188866561,121879300578344961,121879163138080769,121879197501358081,121879304872984577,121879115895996417,121879403659395073,121878935507304448,121879167435669505,121879025709481986,121879154548998145,121879145958014977,121879180320636929,121878995635535872,121878956976832512,121878926917894144,121878905443713024,121879098717306881,122160462029717506,122160513569325058,122160504979390466,122160517864292354,122160466324684802,122441941301329922,122441992840937474,122441937006362626,122441988545970178,122441979956035586,122723411982548994,122723416277516290,122723454932221954,122723467817123842,122723463522156546,123004891252195330,123004723748470786,123004775288078338,123004779583045634,123004766698143746,123004728043438082,123004745223307266,123004788172980226,123004736633372674,123004594899451906,123004753813241858,123004886957228034,123004942791802882,123004607784353794,123004856892456962,123004599194419202,123004616374288386,123004929906900994,123004573424615426,123004620669255682,123004749518274562,123004740928339970,123004582014550018,123004758108209154,123004938496835586,123004959971672066,123004762403176450,123004732338405378,123004590604484610,123004719453503490,123004925611933698,123004792467947522,123004577719582722,123004612079321090,123004783878012930,123004917021999106,123004770993111042,123004796762914818,123286164355284994,123286142880448514,123286379103649794,123286185830121474,123286117110644738,123286349038878722,123286361923780610,123286370513715202,123286125700579330,123286383398617090,123286404873453570,123286099930775554,123286366218747906,123286129995546626,123286396283518978,123286134290513922,123286400578486274,123286108520710146,123286391988551682,123286374808682498,123286121405612034,123286357628813314,123286387693584386,123286104225742850,123286160060317698,123286181535154178,123286426348290050,123286409168420866,123286417758355458,123286353333846018,123286151470383106,123286147175415810,123286336153976834,123286422053322754,123286172945219586,123286155765350402,123286177240186882,123286413463388162,123286112815677442,123286168650252290,123286138585481218,123286340448944130,123567836899442690,123567892734017538,123849367710531586,123849311875956738,124130842687373314,124130786852798466,124411986967724034,124412107226808322,124412321975173122,124412339155042306,124412111521775618,124412184536219650,124412244665761794,124412132996612098,124412090046939138,124412214600990722,124411978377789442,124412141586546690,124412158766415874,124412145881513986,124412004147593218,124412193126154242,124412330565107714,124411982672756738,124412175946285058,124412128701644802,124412352039944194,124412210306023426,124412223190925314,124411995557658626,124411956902952962,124412236075827202,124412334860075010,124412120111710210,124412240370794498,124411991262691330,124412094341906434,124411969787854850,124412171651317762,124412218895958018,124411944018051074,124411948313018370,124412197421121538,124412167356350466,124412206011056130,124412008442560514,124411965492887554,124412150176481282,124412356334911490,124412313385238530,124412098636873730,124412137291579394,124412188831186946,124412115816742914,124411961197920258,124412231780859906,124412201716088834,124412343450009602,124412154471448578,124412163061383170,124411952607985666,124412326270140418,124412270435565570,124412300500336642,124412180241252354,124412347744976898,124412124406677506,124412102931841026,124411974082822146,124693483419074562,124693595088224258,124693822721490946,124693814131556354,124693479124107266,124693650922799106,124693582203322370,124693646627831810,124693698167439362,124693642332864514,124693655217766402,124693457649270786,124693427584499714,124693805541621762,124693620858028034,124693676692602882,124693715347308546,124693577908355074,124693569318420482,124693711052341250,124693461944238082,124693680987570178,124693719642275842,124693706757373954,124693775476850690,124693466239205378,124693818426523650,124693590793256962,124693831311425538,124693638037897218,124693672397635586,124693436174434306,124693745412079618,124693423289532418,124693449059336194,124693607973126146,124693599383191554,124693659512733698,124693573613387778,124693453354303490,124693801246654466,124693586498289666,124693693872472066,124693444764368898,124693668102668290,124693603678158850,124693689577504770,124693685282537474,124693629447962626,124693796951687170,124693827016458242,124693663807700994,124693788361752578,124693633742929922,124693565023453186,124693612268093442,124693431879467010,124693809836589058,124693470534172674,124693625152995330,124693440469401602,124693616563060738,124693418994565122,124975181734346754,124975121604804610,124975108719902722,124974932626243586,124975104424935426,124975091540033538,124975293403496450,124975276223627266,124975271928659970,124974915446374402,124975074360164354,124975160259510274,124975220389052418,124975173144412162,124974919741341698,124975078655131650,124975155964542978,124975052885327874,124974945511145474,124975065770229762,124975057180295170,124975301993431042,124974898266505218,124975143079641090,124974906856439810,124974941216178178,124975130194739202,124974911151407106,124975263338725378,124974893971537922,124975040000425986,124975168849444866,124975087245066242,124975070065197058,124975095835000834,124975151669575682,124975044295393282,124975061475262466,124975164554477570,124975284813561858,124975280518594562,124974936921210882,124975250453823490,124975190324281346,124975117309837314,124975134489706498,124974924036308994,124975194619248642,124975048590360578,124975186029314050,124974958396047362,124975082950098946,124975125899771906,124975297698463746,124974954101080066,124975138784673794,124974928331276290,124975113014870018,124975100129968130,124975147374608386,124974902561472514,124975289108529154,124975306288398338,125256665301057538,125256781265174530,125256407603019778,125256669596024834,125256755495370754,125256605171515394,125256725430599682,125256764085305346,125256656711122946,125256768380272642,125256411897987074,125256416192954370,125256399013085186,125256592286613506,125256523567136770,125256545041973250,125256368948314114,125256390423150594,125256429077856258,125256575106744322,125256630941319170,125256776970207234,125256394718117890,125256622351384578,125256381833216002,125256596581580802,125256751200403458,125256553631907842,125256549336940546,125256746905436162,125256519272169474,125256579401711618,125256570811777026,125256695365828610,125256626646351874,125256562221842434,125256566516809730,125256532157071362,125256609466482690,125256639531253762,125256738315501570,125256557926875138,125256613761449986,125256433372823554,125256420487921666,125256759790338050,125256583696678914,125256386128183298,125256587991646210,125256377538248706,125256373243281410,125256772675239938,125256540747005954,125256635236286466,125256514977202178,125256661006090242,125256403308052482,125256536452038658,125256600876548098,125256527862104066,125256643826221058,125256648121188354,125256618056417282,];


fn _semaction_rule_0_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  expression::Var(_item0_) }

fn _semaction_rule_1_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  expression::primary_expression_1(parser.lbx(1,_item1_)) }

fn _semaction_rule_2_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_139(_x_139)=parser.popstack().value { _x_139 } else {<Constant<'lt>>::default()};  expression::Constant(_item0_) }

fn _semaction_rule_3_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_120(_x_120)=parser.popstack().value { _x_120 } else {<Stringlit<'lt>>::default()};  expression::Stringlit(_item0_) }

fn _semaction_rule_4_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_121(_x_121)=parser.popstack().value { _x_121 } else {<generic_selection<'lt>>::default()};  expression::Generic(parser.lbx(0,_item0_)) }

fn _semaction_rule_5_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Constant<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_6(_x_6)=parser.popstack().value { _x_6 } else {<i32>::default()};  Constant::I_CONSTANT(_item0_) }

fn _semaction_rule_6_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Constant<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_7(_x_7)=parser.popstack().value { _x_7 } else {<f64>::default()};  Constant::F_CONSTANT(_item0_) }

fn _semaction_rule_7_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Constant<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  Constant::ENUMERATION_CONSTANT(_item0_) }

fn _semaction_rule_8_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Stringlit<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  Stringlit::STRING_LITERAL(_item0_) }

fn _semaction_rule_9_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Stringlit<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  Stringlit::FUNC_NAME }

fn _semaction_rule_10_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<generic_association<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_205(_x_205)=parser.popstack().value { _x_205 } else {<generic_association<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_11_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<generic_association<'lt>>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_205(_x_205)=parser.popstack().value { _x_205 } else {<generic_association<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_206(_x_206)=parser.popstack().value { _x_206 } else {<Vec<LBox<generic_association<'lt>>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_12_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> generic_selection<'lt> {
let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_206(_x_206)=parser.popstack().value { _x_206 } else {<Vec<LBox<generic_association<'lt>>>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  generic_selection(parser.lbx(2,_item2_),_item4_,) }

fn _semaction_rule_13_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> generic_association<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_204(_x_204)=parser.popstack().value { _x_204 } else {<type_name<'lt>>::default()};  generic_association::by_type(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_14_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> generic_association<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  generic_association::by_default(parser.lbx(2,_item2_)) }

fn _semaction_rule_15_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_16_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Indexing(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_17_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<expression<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_18_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<expression<'lt>>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_169(_x_169)=parser.popstack().value { _x_169 } else {<Vec<LBox<expression<'lt>>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_19_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<expression<'lt>>> {
 vec![] }

fn _semaction_rule_20_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<expression<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_169(_x_169)=parser.popstack().value { _x_169 } else {<Vec<LBox<expression<'lt>>>>::default()}; _item0_ }

fn _semaction_rule_21_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_169(_x_169)=parser.popstack().value { _x_169 } else {<Vec<LBox<expression<'lt>>>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Function_call(parser.lbx(0,_item0_),_item2_) }

fn _semaction_rule_22_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Dotaccess(parser.lbx(0,_item0_),_item2_) }

fn _semaction_rule_23_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Ptraccess(parser.lbx(0,_item0_),_item2_) }

fn _semaction_rule_24_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::PlusPlus(parser.lbx(0,_item0_)) }

fn _semaction_rule_25_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::MinusMinus(parser.lbx(0,_item0_)) }

fn _semaction_rule_26_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<initializer_designation<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_158(_x_158)=parser.popstack().value { _x_158 } else {<initializer_designation<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_27_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<initializer_designation<'lt>>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_158(_x_158)=parser.popstack().value { _x_158 } else {<initializer_designation<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_170(_x_170)=parser.popstack().value { _x_170 } else {<Vec<LBox<initializer_designation<'lt>>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_28_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> () {
<()>::default()}

fn _semaction_rule_29_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> () {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; <()>::default()}

fn _semaction_rule_30_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item6_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_170(_x_170)=parser.popstack().value { _x_170 } else {<Vec<LBox<initializer_designation<'lt>>>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_204(_x_204)=parser.popstack().value { _x_204 } else {<type_name<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  expression::dont_know_what_this_is(parser.lbx(1,_item1_),_item4_) }

fn _semaction_rule_31_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_32_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_214(_x_214)=parser.popstack().value { _x_214 } else {<unary_operator>::default()};  expression::Unaryop(_item0_,parser.lbx(1,_item1_)) }

fn _semaction_rule_33_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  _item1_ }

fn _semaction_rule_34_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  _item1_ }

fn _semaction_rule_35_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  _item1_ }

fn _semaction_rule_36_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_204(_x_204)=parser.popstack().value { _x_204 } else {<type_name<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  expression::SIZEOF_36(parser.lbx(2,_item2_)) }

fn _semaction_rule_37_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_204(_x_204)=parser.popstack().value { _x_204 } else {<type_name<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  expression::ALIGNOF_37(parser.lbx(2,_item2_)) }

fn _semaction_rule_38_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> unary_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  unary_operator::Amp }

fn _semaction_rule_39_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> unary_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  unary_operator::Star }

fn _semaction_rule_40_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> unary_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  unary_operator::UniPlus }

fn _semaction_rule_41_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> unary_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  unary_operator::Neg }

fn _semaction_rule_42_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> unary_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  unary_operator::BinComp }

fn _semaction_rule_43_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> unary_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  unary_operator::Not }

fn _semaction_rule_44_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_45_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_204(_x_204)=parser.popstack().value { _x_204 } else {<type_name<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  expression::Typecast(parser.lbx(1,_item1_),parser.lbx(3,_item3_)) }

fn _semaction_rule_46_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_47_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Times(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_48_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Divide(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_49_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Mod(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_50_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_51_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Plus(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_52_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Minus(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_53_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_54_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Lshift(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_55_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Rshift(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_56_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_57_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Lt(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_58_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Gt(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_59_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Leq(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_60_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Geq(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_61_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_62_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Equals(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_63_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::NotEquals(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_64_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_65_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::BitAnd(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_66_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_67_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::BitXor(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_68_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_69_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::BitOr(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_70_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_71_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::And(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_72_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_73_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Or(parser.lbx(0,_item0_),parser.lbx(2,_item2_)) }

fn _semaction_rule_74_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_75_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Quest(parser.lbx(0,_item0_),parser.lbx(2,_item2_),parser.lbx(4,_item4_)) }

fn _semaction_rule_76_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  _item0_ }

fn _semaction_rule_77_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_150(_x_150)=parser.popstack().value { _x_150 } else {<assignment_operator>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::Assignment(parser.lbx(0,_item0_),_item1_,parser.lbx(2,_item2_)) }

fn _semaction_rule_78_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::ASSIGN }

fn _semaction_rule_79_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::MUL_ASSIGN }

fn _semaction_rule_80_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::DIV_ASSIGN }

fn _semaction_rule_81_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::MOD_ASSIGN }

fn _semaction_rule_82_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::ADD_ASSIGN }

fn _semaction_rule_83_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::SUB_ASSIGN }

fn _semaction_rule_84_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::LEFT_ASSIGN }

fn _semaction_rule_85_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::RIGHT_ASSIGN }

fn _semaction_rule_86_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::AND_ASSIGN }

fn _semaction_rule_87_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::XOR_ASSIGN }

fn _semaction_rule_88_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> assignment_operator {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  assignment_operator::OR_ASSIGN }

fn _semaction_rule_89_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_189(_x_189)=parser.popstack().value { _x_189 } else {<expressions<'lt>>::default()};  expression::expr_list(parser.lbx(0,_item0_)) }

fn _semaction_rule_90_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expressions<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_169(_x_169)=parser.popstack().value { _x_169 } else {<Vec<LBox<expression<'lt>>>>::default()};  expressions(_item0_,) }

fn _semaction_rule_91_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  expression::const_expr(parser.lbx(0,_item0_)) }

fn _semaction_rule_92_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<declaration_specifier<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_197(_x_197)=parser.popstack().value { _x_197 } else {<declaration_specifier<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_93_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<declaration_specifier<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_197(_x_197)=parser.popstack().value { _x_197 } else {<declaration_specifier<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_161(_x_161)=parser.popstack().value { _x_161 } else {<Vec<LBox<declaration_specifier<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_94_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_161(_x_161)=parser.popstack().value { _x_161 } else {<Vec<LBox<declaration_specifier<'lt>>>>::default()};  declaration::DecSpec(_item0_) }

fn _semaction_rule_95_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_196(_x_196)=parser.popstack().value { _x_196 } else {<static_assert_declaration<'lt>>::default()};  declaration::Statassert(_item0_) }

fn _semaction_rule_96_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_177(_x_177)=parser.popstack().value { _x_177 } else {<external_declaration<'lt>>::default()};  declaration::fundef(parser.lbx(0,_item0_)) }

fn _semaction_rule_97_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<init_declarator<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_183(_x_183)=parser.popstack().value { _x_183 } else {<init_declarator<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_98_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<init_declarator<'lt>>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_183(_x_183)=parser.popstack().value { _x_183 } else {<init_declarator<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_113(_x_113)=parser.popstack().value { _x_113 } else {<Vec<LBox<init_declarator<'lt>>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_99_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut initdc = if let RetTypeEnum::Enumvariant_113(_x_113)=parser.popstack().value { _x_113 } else {<Vec<LBox<init_declarator<'lt>>>>::default()}; let mut dsl = if let RetTypeEnum::Enumvariant_161(_x_161)=parser.popstack().value { _x_161 } else {<Vec<LBox<declaration_specifier<'lt>>>>::default()};  declaration::DecSpecList{dsl:dsl,initdc:initdc} }

fn _semaction_rule_100_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_168(_x_168)=parser.popstack().value { _x_168 } else {<storage_class_specifier>::default()};  declaration_specifier::storage(_item0_) }

fn _semaction_rule_101_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_163(_x_163)=parser.popstack().value { _x_163 } else {<type_specifier<'lt>>::default()};  declaration_specifier::typespec(parser.lbx(0,_item0_)) }

fn _semaction_rule_102_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_131(_x_131)=parser.popstack().value { _x_131 } else {<type_qualifier>::default()};  declaration_specifier::typequal(_item0_) }

fn _semaction_rule_103_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_187(_x_187)=parser.popstack().value { _x_187 } else {<function_specifier>::default()};  declaration_specifier::funcspec(_item0_) }

fn _semaction_rule_104_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declaration_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_137(_x_137)=parser.popstack().value { _x_137 } else {<alignment_specifier<'lt>>::default()};  declaration_specifier::alignspec(parser.lbx(0,_item0_)) }

fn _semaction_rule_105_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> initializer<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_202(_x_202)=parser.popstack().value { _x_202 } else {<initializer<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  _item1_ }

fn _semaction_rule_106_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<initializer<'lt>>> {
 None }

fn _semaction_rule_107_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<initializer<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_202(_x_202)=parser.popstack().value { _x_202 } else {<initializer<'lt>>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_108_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> init_declarator<'lt> {
let mut initializer = if let RetTypeEnum::Enumvariant_172(_x_172)=parser.popstack().value { _x_172 } else {<Option<LBox<initializer<'lt>>>>::default()}; let mut decl = if let RetTypeEnum::Enumvariant_212(_x_212)=parser.popstack().value { _x_212 } else {<declarator<'lt>>::default()};  init_declarator {decl:decl, initializer:initializer, } }

fn _semaction_rule_109_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> storage_class_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  storage_class_specifier::EXTERN }

fn _semaction_rule_110_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> storage_class_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  storage_class_specifier::STATIC }

fn _semaction_rule_111_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> storage_class_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  storage_class_specifier::AUTO }

fn _semaction_rule_112_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> storage_class_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  storage_class_specifier::REGISTER }

fn _semaction_rule_113_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> storage_class_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  storage_class_specifier::THREAD_LOCAL }

fn _semaction_rule_114_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> storage_class_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; parser.shared_state.borrow_mut().anticipate_typedef=true;   storage_class_specifier::TYPEDEF }

fn _semaction_rule_115_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  type_specifier::Typename(_item0_) }

fn _semaction_rule_116_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::VOID }

fn _semaction_rule_117_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::CHAR }

fn _semaction_rule_118_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::SHORT }

fn _semaction_rule_119_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::INT }

fn _semaction_rule_120_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::LONG }

fn _semaction_rule_121_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::FLOAT }

fn _semaction_rule_122_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::DOUBLE }

fn _semaction_rule_123_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::SIGNED }

fn _semaction_rule_124_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::UNSIGNED }

fn _semaction_rule_125_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::BOOL }

fn _semaction_rule_126_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::COMPLEX }

fn _semaction_rule_127_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_specifier::IMAGINARY }

fn _semaction_rule_128_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_188(_x_188)=parser.popstack().value { _x_188 } else {<struct_or_union_specifier<'lt>>::default()};  type_specifier::type_specifier_128(parser.lbx(0,_item0_)) }

fn _semaction_rule_129_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_133(_x_133)=parser.popstack().value { _x_133 } else {<enum_specifier<'lt>>::default()};  type_specifier::type_specifier_129(parser.lbx(0,_item0_)) }

fn _semaction_rule_130_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_specifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_122(_x_122)=parser.popstack().value { _x_122 } else {<atomic_type_specifier<'lt>>::default()};  type_specifier::type_specifier_130(parser.lbx(0,_item0_)) }

fn _semaction_rule_131_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<&'lt str>> {
 None }

fn _semaction_rule_132_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<&'lt str>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_133_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<struct_declaration<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_127(_x_127)=parser.popstack().value { _x_127 } else {<struct_declaration<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_134_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<struct_declaration<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_127(_x_127)=parser.popstack().value { _x_127 } else {<struct_declaration<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_164(_x_164)=parser.popstack().value { _x_164 } else {<Vec<LBox<struct_declaration<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_135_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_or_union_specifier<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_164(_x_164)=parser.popstack().value { _x_164 } else {<Vec<LBox<struct_declaration<'lt>>>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_148(_x_148)=parser.popstack().value { _x_148 } else {<Option<LBox<&'lt str>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_192(_x_192)=parser.popstack().value { _x_192 } else {<struct_or_union>::default()};  struct_or_union_specifier::struct_or_union_specifier_135(_item0_,_item1_,_item3_) }

fn _semaction_rule_136_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_or_union_specifier<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_192(_x_192)=parser.popstack().value { _x_192 } else {<struct_or_union>::default()};  struct_or_union_specifier::struct_or_union_specifier_136(_item0_,_item1_) }

fn _semaction_rule_137_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_or_union {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  struct_or_union::STRUCT }

fn _semaction_rule_138_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_or_union {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  struct_or_union::UNION }

fn _semaction_rule_139_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<specifier_qualifier<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_107(_x_107)=parser.popstack().value { _x_107 } else {<specifier_qualifier<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_140_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<specifier_qualifier<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_107(_x_107)=parser.popstack().value { _x_107 } else {<specifier_qualifier<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_151(_x_151)=parser.popstack().value { _x_151 } else {<Vec<LBox<specifier_qualifier<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_141_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<struct_declarator<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_104(_x_104)=parser.popstack().value { _x_104 } else {<struct_declarator<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_142_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<struct_declarator<'lt>>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_104(_x_104)=parser.popstack().value { _x_104 } else {<struct_declarator<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_203(_x_203)=parser.popstack().value { _x_203 } else {<Vec<LBox<struct_declarator<'lt>>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_143_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<struct_declarator<'lt>>> {
 vec![] }

fn _semaction_rule_144_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<struct_declarator<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_203(_x_203)=parser.popstack().value { _x_203 } else {<Vec<LBox<struct_declarator<'lt>>>>::default()}; _item0_ }

fn _semaction_rule_145_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_declaration<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_203(_x_203)=parser.popstack().value { _x_203 } else {<Vec<LBox<struct_declarator<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_151(_x_151)=parser.popstack().value { _x_151 } else {<Vec<LBox<specifier_qualifier<'lt>>>>::default()};  struct_declaration::struct_declaration_145(_item0_,_item1_) }

fn _semaction_rule_146_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_declaration<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_196(_x_196)=parser.popstack().value { _x_196 } else {<static_assert_declaration<'lt>>::default()};  struct_declaration::struct_declaration_146(parser.lbx(0,_item0_)) }

fn _semaction_rule_147_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> specifier_qualifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_163(_x_163)=parser.popstack().value { _x_163 } else {<type_specifier<'lt>>::default()};  specifier_qualifier::specifier_qualifier_147(parser.lbx(0,_item0_)) }

fn _semaction_rule_148_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> specifier_qualifier<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_131(_x_131)=parser.popstack().value { _x_131 } else {<type_qualifier>::default()};  specifier_qualifier::specifier_qualifier_148(_item0_) }

fn _semaction_rule_149_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  _item1_ }

fn _semaction_rule_150_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
 None }

fn _semaction_rule_151_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_152_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_declarator<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_185(_x_185)=parser.popstack().value { _x_185 } else {<Option<LBox<expression<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_212(_x_212)=parser.popstack().value { _x_212 } else {<declarator<'lt>>::default()};  struct_declarator::declare(parser.lbx(0,_item0_),_item1_) }

fn _semaction_rule_153_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> struct_declarator<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  struct_declarator::nodeclare(parser.lbx(1,_item1_)) }

fn _semaction_rule_154_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<enumerator<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_112(_x_112)=parser.popstack().value { _x_112 } else {<enumerator<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_155_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<enumerator<'lt>>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_112(_x_112)=parser.popstack().value { _x_112 } else {<enumerator<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_130(_x_130)=parser.popstack().value { _x_130 } else {<Vec<LBox<enumerator<'lt>>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_156_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> enum_specifier<'lt> {
let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_130(_x_130)=parser.popstack().value { _x_130 } else {<Vec<LBox<enumerator<'lt>>>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_148(_x_148)=parser.popstack().value { _x_148 } else {<Option<LBox<&'lt str>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  enum_specifier::ENUM_156(_item1_,_item3_) }

fn _semaction_rule_157_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> enum_specifier<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  enum_specifier::ENUM_157(_item1_) }

fn _semaction_rule_158_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  _item1_ }

fn _semaction_rule_159_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
 None }

fn _semaction_rule_160_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_161_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> enumerator<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_185(_x_185)=parser.popstack().value { _x_185 } else {<Option<LBox<expression<'lt>>>>::default()}; let mut id = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; parser.shared_state.borrow_mut().enum_ids.insert(id); 
    enumerator {id:id, _item1_:_item1_, } }

fn _semaction_rule_162_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> atomic_type_specifier<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_204(_x_204)=parser.popstack().value { _x_204 } else {<type_name<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  atomic_type_specifier(parser.lbx(2,_item2_),) }

fn _semaction_rule_163_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_qualifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_qualifier::CONST }

fn _semaction_rule_164_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_qualifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_qualifier::VOLATILE }

fn _semaction_rule_165_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_qualifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_qualifier::ATOMIC }

fn _semaction_rule_166_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_qualifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  type_qualifier::RESTRICT }

fn _semaction_rule_167_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> function_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  function_specifier::INLINE }

fn _semaction_rule_168_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> function_specifier {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  function_specifier::NORETURN }

fn _semaction_rule_169_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> alignment_specifier<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_204(_x_204)=parser.popstack().value { _x_204 } else {<type_name<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  alignment_specifier::ALIGNAS_169(parser.lbx(2,_item2_)) }

fn _semaction_rule_170_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> alignment_specifier<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  alignment_specifier::ALIGNAS_170(parser.lbx(2,_item2_)) }

fn _semaction_rule_171_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<pointer>> {
 None }

fn _semaction_rule_172_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<pointer>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_135(_x_135)=parser.popstack().value { _x_135 } else {<pointer>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_173_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> declarator<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_173(_x_173)=parser.popstack().value { _x_173 } else {<direct_declarator<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_199(_x_199)=parser.popstack().value { _x_199 } else {<Option<LBox<pointer>>>::default()};  declarator(_item0_,_item1_.0,_item1_.1,) }

fn _semaction_rule_174_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_base<'lt> {
let mut id = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut table = parser.shared_state.borrow_mut();
 if table.anticipate_typedef {
    table.typedefs.insert(id);
    table.anticipate_typedef = false;
 }
   direct_base::IDENTIFIER{id:id} }

fn _semaction_rule_175_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_base<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_212(_x_212)=parser.popstack().value { _x_212 } else {<declarator<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_base::DEC(parser.lbx(1,_item1_)) }

fn _semaction_rule_176_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<()> {
 None }

fn _semaction_rule_177_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<()> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  Some(_item0_) }

fn _semaction_rule_178_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_contents<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut star = if let RetTypeEnum::Enumvariant_184(_x_184)=parser.popstack().value { _x_184 } else {<Option<()>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_contents::direct_contents_178{star:star} }

fn _semaction_rule_179_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<()> {
 None }

fn _semaction_rule_180_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<()> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  Some(_item0_) }

fn _semaction_rule_181_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_contents<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut is_static = if let RetTypeEnum::Enumvariant_184(_x_184)=parser.popstack().value { _x_184 } else {<Option<()>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_contents::direct_contents_181{is_static:is_static,_item2_:parser.lbx(2,_item2_)} }

fn _semaction_rule_182_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<type_qualifier>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_131(_x_131)=parser.popstack().value { _x_131 } else {<type_qualifier>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_183_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<type_qualifier>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_131(_x_131)=parser.popstack().value { _x_131 } else {<type_qualifier>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_184_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_contents<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_contents::direct_contents_184(_item1_) }

fn _semaction_rule_185_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_contents<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()}; let mut is_static = if let RetTypeEnum::Enumvariant_184(_x_184)=parser.popstack().value { _x_184 } else {<Option<()>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_contents::direct_contents_185{is_static:is_static,_item2_:_item2_,_item3_:parser.lbx(3,_item3_)} }

fn _semaction_rule_186_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> expression<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  _item1_ }

fn _semaction_rule_187_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
 None }

fn _semaction_rule_188_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_189_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_contents<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_185(_x_185)=parser.popstack().value { _x_185 } else {<Option<LBox<expression<'lt>>>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_contents::direct_contents_189(_item1_,_item2_) }

fn _semaction_rule_190_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_contents<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_215(_x_215)=parser.popstack().value { _x_215 } else {<parameter_type_list<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_contents::direct_contents_190(parser.lbx(1,_item1_)) }

fn _semaction_rule_191_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<&'lt str>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_192_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<&'lt str>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_178(_x_178)=parser.popstack().value { _x_178 } else {<Vec<LBox<&'lt str>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_193_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<&'lt str>> {
 vec![] }

fn _semaction_rule_194_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<&'lt str>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_178(_x_178)=parser.popstack().value { _x_178 } else {<Vec<LBox<&'lt str>>>::default()}; _item0_ }

fn _semaction_rule_195_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_contents<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_178(_x_178)=parser.popstack().value { _x_178 } else {<Vec<LBox<&'lt str>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  direct_contents::direct_contents_195(_item1_) }

fn _semaction_rule_196_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<direct_contents<'lt>>> {
 Vec::new() }

fn _semaction_rule_197_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<direct_contents<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_110(_x_110)=parser.popstack().value { _x_110 } else {<direct_contents<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_157(_x_157)=parser.popstack().value { _x_157 } else {<Vec<LBox<direct_contents<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_198_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> direct_declarator<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_157(_x_157)=parser.popstack().value { _x_157 } else {<Vec<LBox<direct_contents<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_124(_x_124)=parser.popstack().value { _x_124 } else {<direct_base<'lt>>::default()};  direct_declarator(parser.lbx(0,_item0_),_item1_,) }

fn _semaction_rule_199_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<type_qualifier>> {
 Vec::new() }

fn _semaction_rule_200_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<type_qualifier>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_131(_x_131)=parser.popstack().value { _x_131 } else {<type_qualifier>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_201_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> pointer {
let mut ptr = if let RetTypeEnum::Enumvariant_199(_x_199)=parser.popstack().value { _x_199 } else {<Option<LBox<pointer>>>::default()}; let mut tql = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  pointer {tql:tql, ptr:ptr, } }

fn _semaction_rule_202_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<parameter_declaration<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_114(_x_114)=parser.popstack().value { _x_114 } else {<parameter_declaration<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_203_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<parameter_declaration<'lt>>> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_114(_x_114)=parser.popstack().value { _x_114 } else {<parameter_declaration<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_129(_x_129)=parser.popstack().value { _x_129 } else {<Vec<LBox<parameter_declaration<'lt>>>>::default()};  _item0_.push(parser.lbx(2,_item2_)); _item0_ }

fn _semaction_rule_204_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> NEWSEQNT_204_1 {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  NEWSEQNT_204_1() }

fn _semaction_rule_205_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<NEWSEQNT_204_1>> {
 None }

fn _semaction_rule_206_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<NEWSEQNT_204_1>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_194(_x_194)=parser.popstack().value { _x_194 } else {<NEWSEQNT_204_1>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_207_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> parameter_type_list<'lt> {
let mut ellipsis = if let RetTypeEnum::Enumvariant_213(_x_213)=parser.popstack().value { _x_213 } else {<Option<LBox<NEWSEQNT_204_1>>>::default()}; let mut parameters = if let RetTypeEnum::Enumvariant_129(_x_129)=parser.popstack().value { _x_129 } else {<Vec<LBox<parameter_declaration<'lt>>>>::default()};  parameter_type_list {parameters:parameters, ellipsis:ellipsis, } }

fn _semaction_rule_208_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> parameter_declaration<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_212(_x_212)=parser.popstack().value { _x_212 } else {<declarator<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_161(_x_161)=parser.popstack().value { _x_161 } else {<Vec<LBox<declaration_specifier<'lt>>>>::default()};  parameter_declaration::parameter_declaration_208(_item0_,parser.lbx(1,_item1_)) }

fn _semaction_rule_209_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> parameter_declaration<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_149(_x_149)=parser.popstack().value { _x_149 } else {<abstract_declarator<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_161(_x_161)=parser.popstack().value { _x_161 } else {<Vec<LBox<declaration_specifier<'lt>>>>::default()};  parameter_declaration::parameter_declaration_209(_item0_,parser.lbx(1,_item1_)) }

fn _semaction_rule_210_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> parameter_declaration<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_161(_x_161)=parser.popstack().value { _x_161 } else {<Vec<LBox<declaration_specifier<'lt>>>>::default()};  parameter_declaration::parameter_declaration_210(_item0_) }

fn _semaction_rule_211_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<abstract_declarator<'lt>>> {
 None }

fn _semaction_rule_212_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<abstract_declarator<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_149(_x_149)=parser.popstack().value { _x_149 } else {<abstract_declarator<'lt>>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_213_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> type_name<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_125(_x_125)=parser.popstack().value { _x_125 } else {<Option<LBox<abstract_declarator<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_151(_x_151)=parser.popstack().value { _x_151 } else {<Vec<LBox<specifier_qualifier<'lt>>>>::default()};  type_name(_item0_,_item1_,) }

fn _semaction_rule_214_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> abstract_declarator<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_135(_x_135)=parser.popstack().value { _x_135 } else {<pointer>::default()};  abstract_declarator::abstract_declarator_214(_item0_) }

fn _semaction_rule_215_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<da_base<'lt>>> {
 Vec::new() }

fn _semaction_rule_216_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<da_base<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_207(_x_207)=parser.popstack().value { _x_207 } else {<da_base<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_191(_x_191)=parser.popstack().value { _x_191 } else {<Vec<LBox<da_base<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_217_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> abstract_declarator<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_191(_x_191)=parser.popstack().value { _x_191 } else {<Vec<LBox<da_base<'lt>>>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_149(_x_149)=parser.popstack().value { _x_149 } else {<abstract_declarator<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_199(_x_199)=parser.popstack().value { _x_199 } else {<Option<LBox<pointer>>>::default()};  abstract_declarator::abstract_declarator_217(_item0_,parser.lbx(2,_item2_),_item4_) }

fn _semaction_rule_218_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<da_base<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_207(_x_207)=parser.popstack().value { _x_207 } else {<da_base<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_219_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<da_base<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_207(_x_207)=parser.popstack().value { _x_207 } else {<da_base<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_191(_x_191)=parser.popstack().value { _x_191 } else {<Vec<LBox<da_base<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_220_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> abstract_declarator<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_191(_x_191)=parser.popstack().value { _x_191 } else {<Vec<LBox<da_base<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_199(_x_199)=parser.popstack().value { _x_199 } else {<Option<LBox<pointer>>>::default()};  abstract_declarator::abstract_declarator_220(_item0_,_item1_) }

fn _semaction_rule_221_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> da_base<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut star = if let RetTypeEnum::Enumvariant_184(_x_184)=parser.popstack().value { _x_184 } else {<Option<()>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  da_base::da_base_221{star:star} }

fn _semaction_rule_222_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> da_base<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_215(_x_215)=parser.popstack().value { _x_215 } else {<parameter_type_list<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  da_base::da_base_222(parser.lbx(1,_item1_)) }

fn _semaction_rule_223_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> da_base<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  da_base::da_base_223(parser.lbx(1,_item1_)) }

fn _semaction_rule_224_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> da_base<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  da_base::da_base_224(_item2_,parser.lbx(3,_item3_)) }

fn _semaction_rule_225_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> da_base<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut is_static = if let RetTypeEnum::Enumvariant_184(_x_184)=parser.popstack().value { _x_184 } else {<Option<()>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  da_base::da_base_225{_item1_:_item1_,is_static:is_static,_item3_:parser.lbx(3,_item3_)} }

fn _semaction_rule_226_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> da_base<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_144(_x_144)=parser.popstack().value { _x_144 } else {<Vec<LBox<type_qualifier>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  da_base::da_base_226(_item1_) }

fn _semaction_rule_227_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> initializer<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  initializer::expr(parser.lbx(0,_item0_)) }

fn _semaction_rule_228_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> initializer<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_170(_x_170)=parser.popstack().value { _x_170 } else {<Vec<LBox<initializer_designation<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  initializer::values(_item1_) }

fn _semaction_rule_229_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<designation<'lt>>> {
 None }

fn _semaction_rule_230_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<designation<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_108(_x_108)=parser.popstack().value { _x_108 } else {<designation<'lt>>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_231_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> initializer_designation<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_202(_x_202)=parser.popstack().value { _x_202 } else {<initializer<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_193(_x_193)=parser.popstack().value { _x_193 } else {<Option<LBox<designation<'lt>>>>::default()};  initializer_designation(_item0_,parser.lbx(1,_item1_),) }

fn _semaction_rule_232_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<designator<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_211(_x_211)=parser.popstack().value { _x_211 } else {<designator<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_233_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<designator<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_211(_x_211)=parser.popstack().value { _x_211 } else {<designator<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_143(_x_143)=parser.popstack().value { _x_143 } else {<Vec<LBox<designator<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_234_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> designation<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_143(_x_143)=parser.popstack().value { _x_143 } else {<Vec<LBox<designator<'lt>>>>::default()};  designation(_item0_,) }

fn _semaction_rule_235_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> designator<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  designator::brackexpr(parser.lbx(1,_item1_)) }

fn _semaction_rule_236_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> designator<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  designator::dotid(_item1_) }

fn _semaction_rule_237_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> static_assert_declaration<'lt> {
let mut _item6_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  static_assert_declaration(parser.lbx(2,_item2_),_item4_,) }

fn _semaction_rule_238_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()};  _item0_ }

fn _semaction_rule_239_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()};  _item0_ }

fn _semaction_rule_240_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()};  _item0_ }

fn _semaction_rule_241_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()};  _item0_ }

fn _semaction_rule_242_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()};  _item0_ }

fn _semaction_rule_243_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()};  _item0_ }

fn _semaction_rule_244_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  statement::Labelstat(_item0_,parser.lbx(2,_item2_)) }

fn _semaction_rule_245_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item3_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Casestat(_item1_,parser.lbx(3,_item3_)) }

fn _semaction_rule_246_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Defaultcase(parser.lbx(2,_item2_)) }

fn _semaction_rule_247_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<block_item<'lt>>> {
 Vec::new() }

fn _semaction_rule_248_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<block_item<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_201(_x_201)=parser.popstack().value { _x_201 } else {<block_item<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_132(_x_132)=parser.popstack().value { _x_132 } else {<Vec<LBox<block_item<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_249_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_132(_x_132)=parser.popstack().value { _x_132 } else {<Vec<LBox<block_item<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Blockstat(_item1_) }

fn _semaction_rule_250_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> block_item<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_210(_x_210)=parser.popstack().value { _x_210 } else {<declaration<'lt>>::default()};  block_item::Declaration(parser.lbx(0,_item0_)) }

fn _semaction_rule_251_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> block_item<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()};  block_item::Statement(parser.lbx(0,_item0_)) }

fn _semaction_rule_252_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
 None }

fn _semaction_rule_253_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Option<LBox<expression<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()};  Some(parser.lbx(0,_item0_)) }

fn _semaction_rule_254_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_185(_x_185)=parser.popstack().value { _x_185 } else {<Option<LBox<expression<'lt>>>>::default()};  statement::Expr_list(_item0_) }

fn _semaction_rule_255_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Ifstat(_item2_,parser.lbx(4,_item4_)) }

fn _semaction_rule_256_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item6_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Ifelse(_item2_,parser.lbx(4,_item4_),parser.lbx(6,_item6_)) }

fn _semaction_rule_257_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Switchstat(_item2_,parser.lbx(4,_item4_)) }

fn _semaction_rule_258_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item4_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Whileloop(_item2_,parser.lbx(4,_item4_)) }

fn _semaction_rule_259_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item6_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_216(_x_216)=parser.popstack().value { _x_216 } else {<expression<'lt>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Dowhileloop(parser.lbx(1,_item1_),_item4_) }

fn _semaction_rule_260_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item6_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_185(_x_185)=parser.popstack().value { _x_185 } else {<Option<LBox<expression<'lt>>>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Forloop(parser.lbx(2,_item2_),parser.lbx(3,_item3_),_item4_,parser.lbx(6,_item6_)) }

fn _semaction_rule_261_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item6_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item5_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item4_ = if let RetTypeEnum::Enumvariant_185(_x_185)=parser.popstack().value { _x_185 } else {<Option<LBox<expression<'lt>>>>::default()}; let mut _item3_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item2_ = if let RetTypeEnum::Enumvariant_210(_x_210)=parser.popstack().value { _x_210 } else {<declaration<'lt>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::ForDecloop(parser.lbx(2,_item2_),parser.lbx(3,_item3_),_item4_,parser.lbx(6,_item6_)) }

fn _semaction_rule_262_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Goto_oh_no(_item1_) }

fn _semaction_rule_263_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Continuestat }

fn _semaction_rule_264_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Breakstat }

fn _semaction_rule_265_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> statement<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_169(_x_169)=parser.popstack().value { _x_169 } else {<Vec<LBox<expression<'lt>>>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_171(_x_171)=parser.popstack().value { _x_171 } else {<()>::default()};  statement::Returnstat(_item1_) }

fn _semaction_rule_266_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<external_declaration<'lt>>> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_177(_x_177)=parser.popstack().value { _x_177 } else {<external_declaration<'lt>>::default()};  vec![parser.lbx(0,_item0_)] }

fn _semaction_rule_267_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<external_declaration<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_177(_x_177)=parser.popstack().value { _x_177 } else {<external_declaration<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_200(_x_200)=parser.popstack().value { _x_200 } else {<Vec<LBox<external_declaration<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_268_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> translation_unit<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_200(_x_200)=parser.popstack().value { _x_200 } else {<Vec<LBox<external_declaration<'lt>>>>::default()};  translation_unit(_item0_,) }

fn _semaction_rule_269_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> external_declaration<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_210(_x_210)=parser.popstack().value { _x_210 } else {<declaration<'lt>>::default()};  external_declaration::declaration(parser.lbx(0,_item0_)) }

fn _semaction_rule_270_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> external_declaration<'lt> {
let mut _item0_ = if let RetTypeEnum::Enumvariant_9(_x_9)=parser.popstack().value { _x_9 } else {<&'lt str>::default()};  external_declaration::directive(_item0_) }

fn _semaction_rule_271_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<declaration<'lt>>> {
 Vec::new() }

fn _semaction_rule_272_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> Vec<LBox<declaration<'lt>>> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_210(_x_210)=parser.popstack().value { _x_210 } else {<declaration<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_167(_x_167)=parser.popstack().value { _x_167 } else {<Vec<LBox<declaration<'lt>>>>::default()};  _item0_.push(parser.lbx(1,_item1_)); _item0_ }

fn _semaction_rule_273_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> function_header<'lt> {
let mut _item2_ = if let RetTypeEnum::Enumvariant_167(_x_167)=parser.popstack().value { _x_167 } else {<Vec<LBox<declaration<'lt>>>>::default()}; let mut _item1_ = if let RetTypeEnum::Enumvariant_212(_x_212)=parser.popstack().value { _x_212 } else {<declarator<'lt>>::default()}; let mut _ds_ = if let RetTypeEnum::Enumvariant_161(_x_161)=parser.popstack().value { _x_161 } else {<Vec<LBox<declaration_specifier<'lt>>>>::default()};  let mut ds = parser.lbx(0,_ds_);  let mut table=parser.shared_state.borrow_mut();
  let mut report = String::new();
  if table.in_function {
     println!("WARNING: NESTED FUNCTION DEFINITIONS ARE NOT TECHNICALLY ALLOWED IN ANSI C, line {}, column {}",ds.line,ds.column);
     table.warnings_issued=true;
  } else { table.in_function=true; }
    function_header {ds:ds, _item1_:_item1_, _item2_:_item2_, } }

fn _semaction_rule_274_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> external_declaration<'lt> {
let mut _item1_ = if let RetTypeEnum::Enumvariant_179(_x_179)=parser.popstack().value { _x_179 } else {<statement<'lt>>::default()}; let mut _item0_ = if let RetTypeEnum::Enumvariant_174(_x_174)=parser.popstack().value { _x_174 } else {<function_header<'lt>>::default()}; parser.shared_state.borrow_mut().in_function=false;
    external_declaration::functiondef(parser.lbx(0,_item0_),parser.lbx(1,_item1_)) }

fn _semaction_rule_275_<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>) -> () {
let mut _item0_ = if let RetTypeEnum::Enumvariant_0(_x_0)=parser.popstack().value { _x_0 } else {<translation_unit<'lt>>::default()}; <()>::default()}

pub fn make_parser<'lt>() -> ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>
{
 let mut parser1:ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>> = ZCParser::new(276,446);
 let mut rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("start");
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_0_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_1_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_2_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_3_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_4_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("Constant");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_139(_semaction_rule_5_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("Constant");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_139(_semaction_rule_6_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("Constant");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_139(_semaction_rule_7_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("Stringlit");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_120(_semaction_rule_8_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("Stringlit");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_120(_semaction_rule_9_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_10_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_206(_semaction_rule_10_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_10_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_206(_semaction_rule_11_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("generic_selection");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_121(_semaction_rule_12_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("generic_association");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_205(_semaction_rule_13_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("generic_association");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_205(_semaction_rule_14_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_15_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_16_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_17_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_169(_semaction_rule_17_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_17_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_169(_semaction_rule_18_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT2_19_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_169(_semaction_rule_19_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT2_19_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_169(_semaction_rule_20_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_21_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_22_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_23_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_24_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_25_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_26_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_170(_semaction_rule_26_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_26_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_170(_semaction_rule_27_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_28_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_171(_semaction_rule_28_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_28_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_171(_semaction_rule_29_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_30_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_31_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_32_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_33_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_34_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_35_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_36_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_37_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_214(_semaction_rule_38_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_214(_semaction_rule_39_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_214(_semaction_rule_40_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_214(_semaction_rule_41_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_214(_semaction_rule_42_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_214(_semaction_rule_43_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("cast_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_44_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("cast_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_45_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_46_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_47_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_48_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_49_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("additive_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_50_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("additive_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_51_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("additive_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_52_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("shift_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_53_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("shift_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_54_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("shift_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_55_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_56_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_57_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_58_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_59_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_60_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("equality_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_61_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("equality_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_62_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("equality_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_63_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("and_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_64_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("and_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_65_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("exclusive_or_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_66_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("exclusive_or_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_67_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("inclusive_or_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_68_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("inclusive_or_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_69_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("logical_and_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_70_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("logical_and_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_71_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("logical_or_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_72_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("logical_or_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_73_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("conditional_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_74_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("conditional_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_75_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_76_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_77_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_78_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_79_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_80_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_81_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_82_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_83_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_84_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_85_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_86_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_87_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_150(_semaction_rule_88_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_89_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("expressions");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_189(_semaction_rule_90_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("constant_expression");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_91_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_92_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_161(_semaction_rule_92_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_92_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_161(_semaction_rule_93_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_210(_semaction_rule_94_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_210(_semaction_rule_95_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_210(_semaction_rule_96_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_97_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_113(_semaction_rule_97_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_97_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_113(_semaction_rule_98_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_210(_semaction_rule_99_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_197(_semaction_rule_100_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_197(_semaction_rule_101_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_197(_semaction_rule_102_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_197(_semaction_rule_103_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declaration_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_197(_semaction_rule_104_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEQNT_105_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_202(_semaction_rule_105_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_106_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_172(_semaction_rule_106_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_106_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_172(_semaction_rule_107_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("init_declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_183(_semaction_rule_108_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_168(_semaction_rule_109_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_168(_semaction_rule_110_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_168(_semaction_rule_111_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_168(_semaction_rule_112_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_168(_semaction_rule_113_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_168(_semaction_rule_114_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_115_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_116_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_117_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_118_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_119_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_120_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_121_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_122_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_123_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_124_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_125_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_126_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_127_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_128_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_129_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_163(_semaction_rule_130_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_131_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_148(_semaction_rule_131_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_131_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_148(_semaction_rule_132_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_133_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_164(_semaction_rule_133_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_133_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_164(_semaction_rule_134_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_or_union_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_188(_semaction_rule_135_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_or_union_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_188(_semaction_rule_136_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_or_union");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_192(_semaction_rule_137_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_or_union");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_192(_semaction_rule_138_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_139_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_151(_semaction_rule_139_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_139_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_151(_semaction_rule_140_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_141_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_203(_semaction_rule_141_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_141_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_203(_semaction_rule_142_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT2_143_2");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_203(_semaction_rule_143_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT2_143_2");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_203(_semaction_rule_144_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_127(_semaction_rule_145_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_127(_semaction_rule_146_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("specifier_qualifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_107(_semaction_rule_147_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("specifier_qualifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_107(_semaction_rule_148_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEQNT_149_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_149_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_150_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_150_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_150_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_151_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_104(_semaction_rule_152_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("struct_declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_104(_semaction_rule_153_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_154_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_130(_semaction_rule_154_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_154_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_130(_semaction_rule_155_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("enum_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_133(_semaction_rule_156_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("enum_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_133(_semaction_rule_157_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEQNT_158_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_158_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_159_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_159_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_159_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_160_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("enumerator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_112(_semaction_rule_161_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("atomic_type_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_122(_semaction_rule_162_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_qualifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_131(_semaction_rule_163_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_qualifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_131(_semaction_rule_164_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_qualifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_131(_semaction_rule_165_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_qualifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_131(_semaction_rule_166_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("function_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_187(_semaction_rule_167_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("function_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_187(_semaction_rule_168_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("alignment_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_137(_semaction_rule_169_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("alignment_specifier");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_137(_semaction_rule_170_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_171_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_199(_semaction_rule_171_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_171_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_199(_semaction_rule_172_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_212(_semaction_rule_173_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_124(_semaction_rule_174_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_124(_semaction_rule_175_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_176_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_184(_semaction_rule_176_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_176_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_184(_semaction_rule_177_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_contents");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_110(_semaction_rule_178_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_179_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_184(_semaction_rule_179_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_179_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_184(_semaction_rule_180_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_contents");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_110(_semaction_rule_181_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_182_2");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_144(_semaction_rule_182_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_182_2");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_144(_semaction_rule_183_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_contents");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_110(_semaction_rule_184_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_contents");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_110(_semaction_rule_185_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEQNT_186_3");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_216(_semaction_rule_186_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_187_4");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_187_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_187_4");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_188_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_contents");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_110(_semaction_rule_189_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_contents");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_110(_semaction_rule_190_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_191_5");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_178(_semaction_rule_191_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_191_5");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_178(_semaction_rule_192_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT2_193_6");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_178(_semaction_rule_193_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT2_193_6");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_178(_semaction_rule_194_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_contents");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_110(_semaction_rule_195_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_196_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_157(_semaction_rule_196_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_196_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_157(_semaction_rule_197_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_173(_semaction_rule_198_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_199_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_144(_semaction_rule_199_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_199_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_144(_semaction_rule_200_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("pointer");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_135(_semaction_rule_201_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_202_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_129(_semaction_rule_202_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEPNT_202_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_129(_semaction_rule_203_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWSEQNT_204_1");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_194(_semaction_rule_204_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_205_2");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_213(_semaction_rule_205_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_205_2");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_213(_semaction_rule_206_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("parameter_type_list");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_215(_semaction_rule_207_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("parameter_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_114(_semaction_rule_208_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("parameter_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_114(_semaction_rule_209_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("parameter_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_114(_semaction_rule_210_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_211_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_125(_semaction_rule_211_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_211_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_125(_semaction_rule_212_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("type_name");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_204(_semaction_rule_213_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("abstract_declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_149(_semaction_rule_214_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_215_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_191(_semaction_rule_215_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_215_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_191(_semaction_rule_216_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("abstract_declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_149(_semaction_rule_217_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_218_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_191(_semaction_rule_218_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_218_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_191(_semaction_rule_219_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("abstract_declarator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_149(_semaction_rule_220_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("da_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_207(_semaction_rule_221_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("da_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_207(_semaction_rule_222_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("da_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_207(_semaction_rule_223_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("da_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_207(_semaction_rule_224_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("da_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_207(_semaction_rule_225_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("da_base");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_207(_semaction_rule_226_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("initializer");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_202(_semaction_rule_227_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("initializer");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_202(_semaction_rule_228_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_229_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_193(_semaction_rule_229_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_229_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_193(_semaction_rule_230_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("initializer_designation");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_158(_semaction_rule_231_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_232_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_143(_semaction_rule_232_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_232_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_143(_semaction_rule_233_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("designation");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_108(_semaction_rule_234_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("designator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_211(_semaction_rule_235_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("designator");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_211(_semaction_rule_236_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("static_assert_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_196(_semaction_rule_237_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_238_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_239_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_240_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_241_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_242_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_243_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("labeled_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_244_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("labeled_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_245_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("labeled_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_246_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_247_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_132(_semaction_rule_247_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_247_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_132(_semaction_rule_248_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("compound_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_249_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("block_item");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_201(_semaction_rule_250_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("block_item");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_201(_semaction_rule_251_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_252_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_252_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_252_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_185(_semaction_rule_253_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("expression_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_254_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("selection_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_255_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("selection_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_256_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("selection_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_257_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_258_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_259_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_260_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_261_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_262_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_263_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_264_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_179(_semaction_rule_265_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_266_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_200(_semaction_rule_266_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_266_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_200(_semaction_rule_267_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("translation_unit");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_0(_semaction_rule_268_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("external_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_177(_semaction_rule_269_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("external_declaration");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_177(_semaction_rule_270_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_271_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_167(_semaction_rule_271_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("NEWRENT_271_0");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_167(_semaction_rule_272_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("function_header");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_174(_semaction_rule_273_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("function_definition");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_177(_semaction_rule_274_(parser)) };
 parser1.Rules.push(rule);
 rule = ZCRProduction::<RetTypeEnum<'lt>,defined_id_table<'lt>>::new_skeleton("START");
 rule.Ruleaction = |parser|{  RetTypeEnum::Enumvariant_171(_semaction_rule_275_(parser)) };
 parser1.Rules.push(rule);
 parser1.Errsym = "errorterm";
 parser1.resynch.insert("SEMICOLON");
 parser1.resynch.insert(")");

 for i in 0..11053 {
   let symi = ((TABLE[i] & 0x0000ffff00000000) >> 32) as usize;
   let sti = ((TABLE[i] & 0xffff000000000000) >> 48) as usize;
   parser1.RSM[sti].insert(SYMBOLS[symi],decode_action(TABLE[i]));
 }

 for s in SYMBOLS { parser1.Symset.insert(s); }

 load_extras(&mut parser1);
 return parser1;
} //make_parser

pub fn parse_with<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>, lexer:&mut c11lexer<'lt>) -> Result<translation_unit<'lt>,translation_unit<'lt>>
{
  lexer.shared_state = Rc::clone(&parser.shared_state);
  if let RetTypeEnum::Enumvariant_0(_xres_) = parser.parse(lexer) {
     if !parser.error_occurred() {Ok(_xres_)} else {Err(_xres_)}
  } else { Err(<translation_unit<'lt>>::default())}
}//parse_with public function

pub fn parse_train_with<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>, lexer:&mut c11lexer<'lt>, parserpath:&str) -> Result<translation_unit<'lt>,translation_unit<'lt>>
{
  lexer.shared_state = Rc::clone(&parser.shared_state);
  if let RetTypeEnum::Enumvariant_0(_xres_) = parser.parse_train(lexer,parserpath) {
     if !parser.error_occurred() {Ok(_xres_)} else {Err(_xres_)}
  } else { Err(<translation_unit<'lt>>::default())}
}//parse_train_with public function

//Enum for return values 
pub enum RetTypeEnum<'lt> {
  Enumvariant_104(struct_declarator<'lt>),
  Enumvariant_204(type_name<'lt>),
  Enumvariant_194(NEWSEQNT_204_1),
  Enumvariant_169(Vec<LBox<expression<'lt>>>),
  Enumvariant_163(type_specifier<'lt>),
  Enumvariant_184(Option<()>),
  Enumvariant_203(Vec<LBox<struct_declarator<'lt>>>),
  Enumvariant_127(struct_declaration<'lt>),
  Enumvariant_210(declaration<'lt>),
  Enumvariant_118(elseopt),
  Enumvariant_200(Vec<LBox<external_declaration<'lt>>>),
  Enumvariant_140(declaration_specifiers),
  Enumvariant_216(expression<'lt>),
  Enumvariant_149(abstract_declarator<'lt>),
  Enumvariant_205(generic_association<'lt>),
  Enumvariant_132(Vec<LBox<block_item<'lt>>>),
  Enumvariant_7(f64),
  Enumvariant_120(Stringlit<'lt>),
  Enumvariant_143(Vec<LBox<designator<'lt>>>),
  Enumvariant_108(designation<'lt>),
  Enumvariant_110(direct_contents<'lt>),
  Enumvariant_9(&'lt str),
  Enumvariant_214(unary_operator),
  Enumvariant_171(()),
  Enumvariant_125(Option<LBox<abstract_declarator<'lt>>>),
  Enumvariant_170(Vec<LBox<initializer_designation<'lt>>>),
  Enumvariant_135(pointer),
  Enumvariant_151(Vec<LBox<specifier_qualifier<'lt>>>),
  Enumvariant_2((usize,usize)),
  Enumvariant_107(specifier_qualifier<'lt>),
  Enumvariant_113(Vec<LBox<init_declarator<'lt>>>),
  Enumvariant_129(Vec<LBox<parameter_declaration<'lt>>>),
  Enumvariant_161(Vec<LBox<declaration_specifier<'lt>>>),
  Enumvariant_191(Vec<LBox<da_base<'lt>>>),
  Enumvariant_148(Option<LBox<&'lt str>>),
  Enumvariant_187(function_specifier),
  Enumvariant_131(type_qualifier),
  Enumvariant_185(Option<LBox<expression<'lt>>>),
  Enumvariant_201(block_item<'lt>),
  Enumvariant_215(parameter_type_list<'lt>),
  Enumvariant_196(static_assert_declaration<'lt>),
  Enumvariant_183(init_declarator<'lt>),
  Enumvariant_0(translation_unit<'lt>),
  Enumvariant_189(expressions<'lt>),
  Enumvariant_197(declaration_specifier<'lt>),
  Enumvariant_114(parameter_declaration<'lt>),
  Enumvariant_133(enum_specifier<'lt>),
  Enumvariant_213(Option<LBox<NEWSEQNT_204_1>>),
  Enumvariant_137(alignment_specifier<'lt>),
  Enumvariant_174(function_header<'lt>),
  Enumvariant_172(Option<LBox<initializer<'lt>>>),
  Enumvariant_6(i32),
  Enumvariant_212(declarator<'lt>),
  Enumvariant_139(Constant<'lt>),
  Enumvariant_164(Vec<LBox<struct_declaration<'lt>>>),
  Enumvariant_193(Option<LBox<designation<'lt>>>),
  Enumvariant_188(struct_or_union_specifier<'lt>),
  Enumvariant_206(Vec<LBox<generic_association<'lt>>>),
  Enumvariant_199(Option<LBox<pointer>>),
  Enumvariant_168(storage_class_specifier),
  Enumvariant_179(statement<'lt>),
  Enumvariant_150(assignment_operator),
  Enumvariant_162(direct_abstract_declarator),
  Enumvariant_173(direct_declarator<'lt>),
  Enumvariant_211(designator<'lt>),
  Enumvariant_121(generic_selection<'lt>),
  Enumvariant_122(atomic_type_specifier<'lt>),
  Enumvariant_177(external_declaration<'lt>),
  Enumvariant_207(da_base<'lt>),
  Enumvariant_144(Vec<LBox<type_qualifier>>),
  Enumvariant_124(direct_base<'lt>),
  Enumvariant_192(struct_or_union),
  Enumvariant_202(initializer<'lt>),
  Enumvariant_130(Vec<LBox<enumerator<'lt>>>),
  Enumvariant_157(Vec<LBox<direct_contents<'lt>>>),
  Enumvariant_112(enumerator<'lt>),
  Enumvariant_158(initializer_designation<'lt>),
  Enumvariant_167(Vec<LBox<declaration<'lt>>>),
  Enumvariant_178(Vec<LBox<&'lt str>>),
}
impl<'lt> Default for RetTypeEnum<'lt> { fn default()->Self {RetTypeEnum::Enumvariant_0(<translation_unit<'lt>>::default())} }


// Lexical Scanner using RawToken and StrTokenizer
pub struct c11lexer<'lt> {
   stk: StrTokenizer<'lt>,
   keywords: HashSet<&'static str>,
   lexnames: HashMap<&'static str,&'static str>,
   shared_state: Rc<RefCell<defined_id_table<'lt>>>,
}
impl<'lt> c11lexer<'lt> 
{
  pub fn from_str(s:&'lt str) -> c11lexer<'lt>  {
    Self::new(StrTokenizer::from_str(s))
  }
  pub fn from_source(s:&'lt LexSource<'lt>) -> c11lexer<'lt>  {
    Self::new(StrTokenizer::from_source(s))
  }
  pub fn new(mut stk:StrTokenizer<'lt>) -> c11lexer<'lt> {
    let mut lexnames = HashMap::with_capacity(64);
    let mut keywords = HashSet::with_capacity(64);
    let shared_state = Rc::new(RefCell::new(<defined_id_table<'lt>>::default()));
    for kw in ["_Imaginary","union","auto","sizeof","_Bool","_Alignof","while","goto","double","void","short","_Atomic","__func__","enum","restrict","typedef","_Noreturn","else","for","long","unsigned","volatile","case","continue","static","errorterm","int","_Thread_local","do","if","register","float","_Static_assert","break","char","extern","const","_Complex","inline","struct","_Alignas","default","return","switch","signed","_Generic","_WILDCARD_TOKEN_",] {keywords.insert(kw);}
    for c in ['[',']','(',')','+','-','~','|','}','&','.','<','?',';','!','{','*','^','>','/',',',':','%','=',] {stk.add_single(c);}
    for d in ["*=","/=","++","||",">=","&&","|=","!=",">>","--","==","-=","&=","+=","<<","%=","->","<=","^=",] {stk.add_double(d);}
    for d in [">>=","...","<<=",] {stk.add_triple(d);}
    for (k,v) in [(r"*=","MUL_ASSIGN"),(r"/=","DIV_ASSIGN"),(r"_Thread_local","THREAD_LOCAL"),(r"enum","ENUM"),(r"while","WHILE"),(r"return","RETURN"),(r"char","CHAR"),(r"_Static_assert","STATIC_ASSERT"),(r"inline","INLINE"),(r"|","Bar"),(r"}","Rbrace"),(r"__func__","FUNC_NAME"),(r"_Alignof","ALIGNOF"),(r"++","INC_OP"),(r"switch","SWITCH"),(r"short","SHORT"),(r"default","DEFAULT"),(r"signed","SIGNED"),(r"else","ELSE"),(r"goto","GOTO"),(r"&","Amp"),(r"_Atomic","ATOMIC"),(r"break","BREAK"),(r".","Dot"),(r"||","OR_OP"),(r">=","GE_OP"),(r"&&","AND_OP"),(r"|=","OR_ASSIGN"),(r"_Generic","GENERIC"),(r">>=","RIGHT_ASSIGN"),(r"volatile","VOLATILE"),(r"sizeof","SIZEOF"),(r"struct","STRUCT"),(r"<","Lt"),(r"?","Quest"),(r";","SEMICOLON"),(r"!","Bang"),(r"_Alignas","ALIGNAS"),(r"!=","NE_OP"),(r"do","DO"),(r"if","IF"),(r"case","CASE"),(r"for","FOR"),(r"extern","EXTERN"),(r">>","RIGHT_OP"),(r"long","LONG"),(r"{","Lbrace"),(r"*","Star"),(r"continue","CONTINUE"),(r"double","DOUBLE"),(r"_Imaginary","IMAGINARY"),(r"const","CONST"),(r"restrict","RESTRICT"),(r"--","DEC_OP"),(r"==","EQ_OP"),(r"-=","SUB_ASSIGN"),(r"&=","AND_ASSIGN"),(r"^","Hat"),(r"_Noreturn","NORETURN"),(r"+=","ADD_ASSIGN"),(r"union","UNION"),(r"...","ELLIPSIS"),(r"int","INT"),(r"typedef","TYPEDEF"),(r">","Gt"),(r"/","Div"),(r",","Comma"),(r"auto","AUTO"),(r"register","REGISTER"),(r"unsigned","UNSIGNED"),(r"_Bool","BOOL"),(r"<<","LEFT_OP"),(r":","Colon"),(r"_Complex","COMPLEX"),(r"%=","MOD_ASSIGN"),(r"->","PTR_OP"),(r"static","STATIC"),(r"void","VOID"),(r"<=","LE_OP"),(r"^=","XOR_ASSIGN"),(r"%","Percent"),(r"float","FLOAT"),(r"<<=","LEFT_ASSIGN"),(r"=","ASSIGN"),] {lexnames.insert(k,v);}
    stk.add_custom("directive",r"^(?m)^#.*$");
    c11lexer {stk,keywords,lexnames,shared_state,}
  }
}
impl<'lt> Tokenizer<'lt,RetTypeEnum<'lt>> for c11lexer<'lt>
{
   fn nextsym(&mut self) -> Option<TerminalToken<'lt,RetTypeEnum<'lt>>> {
    let tokopt = self.stk.next_token();
    if let None = tokopt {return None;}
    let token = tokopt.unwrap();
    match token.0 {
      RawToken::Alphanum(sym) if self.keywords.contains(sym) => {
        let truesym = self.lexnames.get(sym).unwrap_or(&sym);
        Some(TerminalToken::from_raw(token,truesym,<RetTypeEnum<'lt>>::default()))
      },
      RawToken:: Alphanum(n) if self.shared_state.borrow().typedefs.contains(n) => Some(TerminalToken::from_raw(token,"TYPEDEF_NAME",RetTypeEnum::Enumvariant_9( n
))),
      RawToken:: Alphanum(n) if self.shared_state.borrow().enum_ids.contains(n)  => Some(TerminalToken::from_raw(token,"ENUMERATION_CONSTANT",RetTypeEnum::Enumvariant_9( n
))),
      RawToken:: Alphanum(n) => Some(TerminalToken::from_raw(token,"IDENTIFIER",RetTypeEnum::Enumvariant_9( n
))),
      RawToken:: Num(n) => Some(TerminalToken::from_raw(token,"I_CONSTANT",RetTypeEnum::Enumvariant_6( (n as i32)
))),
      RawToken:: Float(n) => Some(TerminalToken::from_raw(token,"F_CONSTANT",RetTypeEnum::Enumvariant_7( n
))),
      RawToken:: Strlit(s) => Some(TerminalToken::from_raw(token,"STRING_LITERAL",RetTypeEnum::Enumvariant_9( s
))),
      RawToken:: Custom("directive",d) => Some(TerminalToken::from_raw(token,"COMPILER_DIRECTIVE",RetTypeEnum::Enumvariant_9( d
))),
      RawToken::Symbol(s) if self.lexnames.contains_key(s) => {
        let tname = self.lexnames.get(s).unwrap();
        Some(TerminalToken::from_raw(token,tname,<RetTypeEnum<'lt>>::default()))
      },
      RawToken::Symbol(s) => Some(TerminalToken::from_raw(token,s,<RetTypeEnum<'lt>>::default())),
      RawToken::Alphanum(s) => Some(TerminalToken::from_raw(token,s,<RetTypeEnum<'lt>>::default())),
      _ => Some(TerminalToken::from_raw(token,"<LexicalError>",<RetTypeEnum<'lt>>::default())),
    }
  }
   fn linenum(&self) -> usize {self.stk.line()}
   fn column(&self) -> usize {self.stk.column()}
   fn position(&self) -> usize {self.stk.current_position()}
   fn current_line(&self) -> &str {self.stk.current_line()}
   fn get_line(&self,i:usize) -> Option<&str> {self.stk.get_line(i)}
   fn get_slice(&self,s:usize,l:usize) -> &str {self.stk.get_slice(s,l)}
   fn transform_wildcard(&self,t:TerminalToken<'lt,RetTypeEnum<'lt>>) -> TerminalToken<'lt,RetTypeEnum<'lt>> { TerminalToken::new(t.sym,RetTypeEnum::Enumvariant_2((self.stk.previous_position(),self.stk.current_position())),t.line,t.column) }
}//impl Tokenizer

fn load_extras<'lt>(parser:&mut ZCParser<RetTypeEnum<'lt>,defined_id_table<'lt>>)
{
}//end of load_extras: don't change this line as it affects augmentation