rustlr 0.4.12

Bottom-Up 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
//Parser generated by rustlr for grammar ansic

#![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(irrefutable_let_patterns)]
#![allow(unreachable_patterns)]
extern crate rustlr;
use rustlr::{Tokenizer,TerminalToken,ZCParser,ZCRProduction,Stateaction,decode_action};

static SYMBOLS:[&'static str;148] = ["_WILDCARD_TOKEN_","IDENTIFIER","CONSTANT","STRING_LITERAL","SIZEOF","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","TYPE_NAME","TYPEDEF","EXTERN","STATIC","AUTO","REGISTER","CHAR","SHORT","INT","LONG","SIGNED","UNSIGNED","FLOAT","DOUBLE","CONST","VOLATILE","VOID","STRUCT","UNION","ENUM","ELLIPSIS","CASE","DEFAULT","IF","ELSE","SWITCH","WHILE","DO","FOR","GOTO","CONTINUE","BREAK","RETURN","[","]","(",")","Lbrace","Rbrace","Amp","+","-","~","Bang","Bar","Hat",";","Dot","Comma","Colon","Star","Div","Percent","Lt","Gt","Eq1","Quest","primary_expression","postfix_expression","argument_expression_list","unary_expression","unary_operator","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","assignment_operator","expression","constant_expression","declaration","declaration_specifiers","init_declarator_list","init_declarator","storage_class_specifier","type_specifier","struct_or_union_specifier","struct_or_union","struct_declaration_list","struct_declaration","specifier_qualifier_list","struct_declarator_list","struct_declarator","enum_specifier","enumerator_list","enumerator","type_qualifier","declarator","direct_declarator","pointer","type_qualifier_list","parameter_type_list","parameter_list","parameter_declaration","identifier_list","type_name","abstract_declarator","direct_abstract_declarator","initializer","initializer_list","statement","labeled_statement","compound_statement","declaration_list","statement_list","expression_statement","selection_statement","iteration_statement","jump_statement","translation_unit","external_declaration","function_definition","START","EOF"];

static TABLE:[u64;7041] = [120260067328,150325886976,450972024833,167505100800,463858827265,176093855744,326418169856,133145624576,111670657024,618476404737,622771044353,515398041601,476741959681,446678040577,180389019648,261994184704,146030788608,154620985344,4296015872,468153532417,128850722816,188980985856,614181568513,137439084544,115964641280,124555362304,523986337793,528282746881,158913855488,184685887488,502512091137,171799543808,193274249216,472447975425,141736148992,519691304961,163210592256,281616717119490,281633896988674,281479278166018,281792810778626,281629602021378,281608127184898,281595242283010,281797105745922,281784220844034,281646781890562,281621012086786,281655371825154,281741271171074,281638191955970,281728386269186,281801400713218,281659666792450,281603832217602,281625307054082,281663961759746,281586652348418,281668256727042,281612422152194,281642486923266,281590947315714,281599537250306,281651076857858,281736976203778,563083103436802,563130348077058,563211952455682,563267787030530,563121758142466,563272081997826,563078808469506,563276376965122,563138938011650,563126053109762,563100283305986,563117463175170,563216247422978,563203362521090,563074513502210,563061628600322,563091693371394,563143232978946,563104578273282,563113168207874,563259197095938,563095988338690,563070218534914,563108873240578,562954254417922,563134643044354,563087398404098,563065923567618,844540902637570,844747061067778,844751356035074,844536607670274,844429233487874,844686931525634,844575262375938,844545197604866,844691226492930,844549492572162,844734176165890,844583852310530,844592442245122,844613917081602,844605327147010,844579557343234,844609622114306,844570967408642,844618212048898,844558082506754,844742766100482,844588147277826,844596737212418,844553787539458,844566672441346,844678341591042,844562377474050,844601032179714,1126415304884225,1126488319852545,1126011577499648,1126028757565440,1126037345927168,1126050232729600,1126402418933761,1126033052467200,1126024462204928,1126015871483904,1126088887828480,1126063117434880,1126071706386432,1126067411943424,1126020166909952,1126058820698112,1126080295862272,1126045937631232,1126346586193921,1126363765669889,1126170492469248,1126368060375041,1126372354818049,1126093181091840,1126084592730112,1126054527827968,1126484024950785,1126350881030145,1126041642991616,1126376648802305,1126076000698368,1407555280699394,1407512331026434,1407636879441920,1407722784423938,1407503741091842,1407495151157250,1407508036059138,1407490856189954,1407525215928322,1407542395797506,1407697014620162,1407563870633986,1407546690764802,1407692719652866,1407499446124546,1407684129718274,1407628289441792,1407641180045314,1407533805862914,1407486561222658,1407645475012610,1407538100830210,1407516625993730,1407550985732098,1407559575666690,1407529510895618,1407520920961026,1407568165601282,1689116154200066,1689008780017666,1688854161195010,1689004485050370,1688965830344706,1689111859232770,1689034549821442,1689000190083074,1689167693807618,1689021664919554,1689171988774914,1688995895115778,1689013074984962,1689038844788738,1688970125312002,1689176283742210,1688983010213890,1689043139756034,1689159103873026,1688987305181186,1689025959886850,1688978715246594,1689017369952258,1688974420279298,1689030254854146,1689103269298178,1688991600148482,1688961535377410,1970784401489921,1970848823312385,1970586831159296,1970634077765632,1970853119721473,1970651255144448,1970844530966529,1970329132990464,1970780106588161,2252117646901250,2251980207947778,2251915783438338,2251928668340226,2251988797882370,2251941553242114,2251993092849666,2251963028078594,2252061812326402,2251945848209410,2251984502915074,2251920078405634,2251911488471042,2252126236835842,2252053222391810,2252066107293698,2251958733111298,2251954438144002,2251971618013186,2251924373372930,2251932963307522,2251950143176706,2252109056966658,2251975912980482,2251804114288642,2251937258274818,2251967323045890,2533545376612352,2533279088574464,2815278051426305,2815003179220994,2814925860962304,2814754071117826,2815076185276416,2815016064122882,2815265166589953,2815067603730434,2815011769155586,2814921566650368,2815282346524673,3096229042323456,3096495330361344,3377819993047042,3377884417556482,3377828582981634,3377893007491074,3377850057818114,3377858647752706,3377875827621890,3377862942720002,3377880122589186,3377811403112450,3377704028930050,3378026151477250,3377832877948930,3377841467883522,3377845762850818,3377961726967810,3377867237687298,3377871532654594,3378331094155266,3377888712523778,3377815698079746,3377824288014338,3377854352785410,3377837172916226,3659320734449666,3659303554580482,3659299259613186,3659316439482370,3659307849547778,3659312144515074,3659363684122626,3659367979089922,3659342209286146,3659355094188034,3659179000528898,3659325029416962,3659346504253442,3659483943206914,3659337914318850,3659440993533954,3659436698566658,3659286374711298,3659333619351554,3659350799220738,3659329324384258,3659501123076098,3659496828108802,3659290669678594,3659428108632066,3659492533141506,3659359389155330,3659294964645890,3940791414489090,3940967508148226,3940782824554498,3940830069194754,3940915968540674,3940787119521794,3940958918213634,3940971803115522,3940774234619906,3940795709456386,3940653975535618,3940903083638786,3940812889325570,3940804299390978,3940825774227458,3940911673573378,3940817184292866,3940761349718018,3940842954096642,3940976098082818,3940800004423682,3940821479260162,3940765644685314,3940838659129346,3940808594358274,3940778529587202,3940769939652610,3940834364162050,4222317929889794,4222296455053314,4222279275184130,4222240620478466,4222386649366530,4222274980216834,4222442483941378,4222257800347650,4222244915445762,4222287865118722,4222309339955202,4222451073875970,4222236325511170,4222300750020610,4222253505380354,4222390944333826,4222270685249538,4222378059431938,4222313634922498,4222262095314946,4222249210413058,4222305044987906,4222128951328770,4222283570151426,4222433894006786,4222266390282242,4222292160086018,4503908873601026,4503711305105410,4503775729614850,4503737074909186,4503861628960770,4503732779941890,4503853039026178,4503762844712962,4503745664843778,4503767139680258,4503788614516738,4503741369876482,4503947528306690,4503758549745666,4503719895040002,4503715600072706,4503728484974594,4503870218895362,4503784319549442,4503724190007298,4503749959811074,4503792909484034,4503917463535618,4503865923928066,4503754254778370,4503921758502914,4503771434647554,4503780024582146,4785233531174914,4785267890913282,4785207761371138,4785237826142210,4785203466403842,4785229236207618,4785220646273026,4785190581501954,4785212056338434,4785250711044098,4785242121109506,4785078912352258,4785336610390018,4785216351305730,4785224941240322,4785194876469250,4785263595945986,4785401034899458,4785199171436546,4785705977577474,4785246416076802,4785186286534658,4785255006011394,4785259300978690,5066875998961664,5067073567129601,5066553876807680,5066811574976512,5067077863538689,5067069275504641,5348501299462145,5348140522143744,5348187768094720,5348527069593601,5348488416329729,5348200651358208,5348166293651456,5348350975672320,5348028853518336,5348196357046272,5348655917694979,5348170588291072,5348497005477889,5348643036528641,5348209243389952,5348149112864768,5348157703127040,5348647328546817,5348544248807425,5348183471357952,5348204946522112,5348548543840257,5348492711034881,5348286551687168,5348144817569792,5348153408225280,5348136228159488,5348539955544065,5348217831751680,5348174883389440,5348471235543041,5348213538488320,5348179178487808,5348552840249345,5348161996587008,5348475529527297,5348192062603264,5629675633639426,5629808777625602,5629641273901058,5629611209129986,5629667043704834,5629765827952642,5629636978933762,5629632683966466,5629624094031874,5629684223574018,5629615504097282,5629692813508610,5629671338672130,5629654158802946,5629662748737538,5629761532985346,5629752943050754,5629658453770242,5629817367560194,5629503834947586,5629628388999170,5629645568868354,5629825957494786,5629679928606722,5629619799064578,5629688518541314,5629649863835650,5911086186430466,5911142021005314,5911154905907202,5911146315972610,5911090481397762,5911120546168834,5910978812248066,5911107661266946,5911150610939906,5911124841136130,5911227920351234,5911159200874498,5911163495841794,5911292344860674,5911129136103426,5911137726038018,5911167790809090,5911111956234242,5911094776365058,5911116251201538,5911103366299650,5911240805253122,5911133431070722,5911300934795266,5911283754926082,5911236510285826,5911099071332354,5911296639827970,6192711494139906,6192582645121026,6192586940088322,6192604119957506,6192617004859394,6192642774663170,6192625594793986,6192638479695874,6192578350153730,6193080861327362,6192595530022914,6192612709892098,6192599824990210,6192629889761282,6192574055186434,6192561170284546,6192569760219138,6192565465251842,6192621299826690,6192775918649346,6192608414924802,6192591235055618,6192453796102146,6192634184728578,6474044730114050,6474057615015938,6474113449590786,6474190759002114,6474104859656194,6474079089852418,6473928765997058,6474061909983234,6474087679787010,6474109154623490,6474066204950530,6474083384819714,6474186464034818,6474070499917826,6474242298609666,6474250888544258,6474036140179458,6474177874100226,6474053320048642,6474117744558082,6474091974754306,6474100564688898,6474049025081346,6474233708675074,6474074794885122,6474096269721602,6474246593576962,6474040435146754,6755511116759042,6755717275189250,6755579836235778,6755536886562818,6755721570156546,6755588426170370,6755528296628226,6755665735581698,6755652850679810,6755519706693634,6755592721137666,6755575541268482,6755545476497410,6755515411726338,6755524001660930,6755541181530114,6755558361399298,6755566951333890,6755549771464706,6755562656366594,6755661440614402,6755571246301186,6755725865123842,6755554066432002,6755403742576642,6755708685254658,6755584131203074,6755532591595522,7037192251244546,7037200841179138,7037063402225666,7037020452552706,7037183661309954,7037016157585410,7037007567650818,7037037632421890,7036986092814338,7037011862618114,7037140711636994,7037050517323778,7037029042487298,7037127826735106,7037041927389186,7037024747520002,7036990387781634,7037033337454594,7037136416669698,7037067697192962,7036994682748930,7036878718631938,7036998977716226,7037046222356482,7037003272683522,7037054812291074,7037059107258370,7318473954361346,7318491134230530,7318521199001602,7318465364426754,7318516904034306,7318469659394050,7318486839263234,7318499724165122,7318602803380226,7318512609067010,7318478249328642,7318667227889666,7318525493968898,7318675817824258,7318495429197826,7318504019132418,7318658637955074,7318508314099714,7318482544295938,7318542673838082,7318538378870786,7318611393314818,7318615688282114,7318353695277058,7318529788936194,7318534083903490,7318461069459458,7600348360998913,7599828667203584,7600086365372416,7881436793143298,7881303649157122,7881625771704322,7881445383077890,7881565642162178,7881411023339522,7881441088110594,7881453973012482,7881466857914370,7881552757260290,7881415318306818,7881608591835138,7881432498176002,7881475447848962,7881428203208706,7881484037783554,7881617181769730,7881561347194882,7881621476737026,7881488332750850,7881479742816258,7881419613274114,7881458267979778,7881471152881666,7881462562947074,7881492627718146,7881423908241410,7881449678045186,8162903179788290,8162911769722882,8162963309330434,8163083568414722,8162894589853698,8162933244559362,8162950424428546,8162907474755586,8162946129461250,8162916064690178,8163040618741762,8162959014363138,8163092158349314,8163096453316610,8162778625736706,8162920359657474,8163100748283906,8163027733839874,8162937539526658,8162890294886402,8162924654624770,8162898884820994,8162885999919106,8162954719395842,8162928949592066,8162967604297730,8163036323774466,8162941834493954,8444382446944256,8444575724077058,8444438282305536,8444511299567618,8444360971976704,8444408215175168,8444373856681984,8444515594534914,8444558544207874,8444726043279361,8444365265960960,8444395332108288,8444253601529858,8444751813410817,8444399627206656,8444425395175424,8444412511911936,8444502709633026,8444442575568896,8444721749295105,8444416806420480,8444421100863488,8444700276752385,8444378152042496,8444403922305024,8444717454852097,8444429690339328,8444369561387008,8444433987207168,8444713160146945,8444391037468672,8444386740404224,8444567134142466,8444764699361281,8725857428242434,8725728579223554,8725896082948098,8725835953405954,8725891787980802,8726033521901570,8725900377915394,8725917557784578,8725878903078914,8726046406803458,8725861723209730,8725883198046210,8726050701770754,8725908967849986,8725904672882690,8725990572228610,8725848838307842,8726042111836162,8725913262817282,8725853133275138,8725887493013506,8725874608111618,8725844543340546,8725977687326722,8725840248373250,8725866018177026,8725870313144322,8725986277261314,9007310925398016,9007383940628480,9007319514808320,9007353875726336,9007388235726848,9007452662923266,9007465547825154,9007371054284800,9007517087432706,9007667408273409,9007375348596736,9007336693825536,9007345285529600,9007714652782593,9007650230239233,9007525677367298,9007379643760640,9007461252857858,9007671702716417,9007675996700673,9007508497498114,9007366759841792,9007362465333248,9007332400365568,9007349580627968,9007340990889984,9007701766832129,9007203554820098,9007392528990208,9007663113568257,9007315219382272,9007328105463808,9007358168596480,9007323810103296,9288794496958466,9288785907023874,9288846036566018,9288824561729538,9288936230879234,9288833151664130,9288996360421378,9288850331533314,9288841741598722,9288858921467906,9288837446631426,9288811676827650,9288867511402498,9289000655388674,9288803086893058,9288807381860354,9288815971794946,9288790201991170,9288940525846530,9288863216435202,9288927640944642,9288828856696834,9288983475519490,9288820266762242,9288992065454082,9288678532841474,9288854626500610,9288798791925762,9570338192818178,9570458451902466,9570411207262210,9570475631771650,9570303833079810,9570316717981698,9570471336804354,9570295243145218,9570402617327618,9570415502229506,9570290948177922,9570467041837058,9570333897850882,9570265178374146,9570342487785474,9570278063276034,9570321012948994,9570299538112514,9570308128047106,9570269473341442,9570273768308738,9570260883406850,9570325307916290,9570153509224450,9570312423014402,9570286653210626,9570329602883586,9570282358243330,9851894774759426,9851628486787074,10133601673674753,10133232307208192,10133352569634818,10133228012306432,10133288142569472,10133210832240640,10133223716945920,10133258075439104,10133103461531650,10133219421650944,10133575903543297,10133262372175872,10133253782568960,10133550137147393,10133408404209666,10133361159569410,10133425584078850,10133249487470592,10133240897732608,10133275255439360,10133571609559041,10133292435832832,10133563020410881,10133283847471104,10133236600668160,10133266666684416,10133614559625217,10133270961127424,10133416994144258,10133279550603264,10133365454536706,10133245192372224,10133567315116033,10133215126224896,10414844728246274,10414578440273922,10696160785661952,10696517268537345,10696208028860416,10696564513046529,10696233800892416,10696182260629504,10696177965727744,10696169375072256,10696165079646208,10696512973832193,10696319700631552,10696551627096065,10696173670367232,10696212325597184,10696242389254144,10696229504024576,10696633234620417,10696216620105728,10696203735990272,10696238095990784,10696186554089472,10696220914548736,10696500089192449,10696225208860672,10696521562980353,10696195145793536,10696525856964609,10696199440891904,10696495795732481,10696190851153920,10977678724300802,10977670134366210,10977786098483202,10977683019268098,10977657249464322,10977652954497026,10977700199137282,10977717379006466,10977528400445442,10977644364562434,10977635774627842,10978155465670658,10977661544431618,10977648659529730,10977687314235394,10977640069595138,10977665839398914,10977695904169986,10977691609202690,10977674429333506,10977713084039170,10977708789071874,10977704494104578,10977850522992642,11259308309217280,11259458632941569,11259454338039809,11259527351173121,11259518763663361,11259261062610944,11259523054764033,11259003364442112,11259325486596096,11540736042532864,11540766109204480,11540912137568257,11540925019324417,11540693094629376,11540744630763520,11540950787096577,11540989443178497,11540886368026625,11540615781285888,11540637255729152,11540667319386112,11540860598157313,11540869189140481,11540937903964161,11541053873127425,11540903549534209,11541075346915329,11541083935997953,11540920724488193,11540684504432640,11540894959140865,11540486935019520,11540761812860928,11540611484221440,11540710275612672,11540718863843328,11540976557228033,11540607190761472,11540482642411520,11540658731024384,11540632958992384,11541066757308417,11540800469598208,11540834827108353,11540585715793920,11540856301486081,11540628666122240,11540491231232000,11540624371023872,11540748928352256,11540873481879553,11541062460506113,11540598600499200,11540783289204736,11540890663780353,11540942198669313,11540714570776576,11540504116527104,11540499821494272,11540882073780225,11540843419860993,11540650138992640,11540675914432512,11540701685481472,11540753223122944,11540641550237696,11541079639851009,11540663026122752,11540830532665345,11540723157893120,11540620075925504,11540478345150464,11541071051030529,11540852007895041,11541049577242625,11540757520121856,11540946493112321,11540705977827328,11540594305204224,11540864892338177,11540847711813633,11541058166063105,11540645844680704,11540697389531136,11540899254501377,11540877778944001,11540770402467840,11540654434156544,11540680209268736,11540602895859712,11540590009778176,11822275451486210,11822112242728962,11822142307500034,11822241091747842,11822125127630850,11822172372271106,11822185257172994,11822198142074882,11822155192401922,11822095062859778,11821957623906306,11822103652794370,11822258271617026,11822116537696258,11822168077303810,11821953328939010,11822245386715138,11822086472925186,11822138012532738,11822073588023298,11822176667238402,11822082177957890,11822133717565442,11822120832663554,11821966213840898,11822228206845954,11822193847107586,11822232501813250,11822077882990594,11822223911878658,11822189552140290,11822180962205698,11822069293056002,11822219616911362,11821961918873602,11822150897434626,11822060703121410,11822236796780546,11822129422598146,11821979098742786,11822064998088706,11822099357827074,11822107947761666,11822211026976770,11822090767892482,11822159487369218,11821974803775490,12103827732365313,12103832027201537,12103793373609985,12103806254907393,12103784780529665,12103801961316353,12103814845759489,12103750423019520,12103449774915584,12103703176544256,12103836321447937,12103716062625792,12103840617201665,12103797665234945,12103441184653312,12103720355889152,12103849208315905,12103844912562177,12103823435300865,12103436888440832,12103707473543168,12103681704525824,12103432595832832,12103711766282240,12103685995954176,12103428301324288,12103866387922945,12103819142561793,12103810551578625,12103454069948416,12103780486086657,12385362834096129,12385092249518080,12385014939910144,12385165271433216,12385036414353408,12385435854307329,12385401487360001,12385444444438529,12385053596254208,12385375717228545,12385049301155840,12385079364288512,12385070774812672,12385448739143681,12385027825991680,12385371423244289,12385062185861120,12385087956254720,12385019235336192,12384903278690304,12385075069124608,12385066480369664,12385045006057472,12385040711417856,12385057889124352,12385440149405697,12385367128801281,12385010645925888,12385023530631168,12385349955223553,12385414373310465,12385083661156352,12385032120893440,12666683195129858,12666489916620800,12666507097604096,12666876464070657,12666958076116993,12666889350021121,12666485622636544,12666820631330817,12666558637867008,12666528572964864,12666524277866496,12666691785064450,12666837810806785,12666842105511937,12666498507341824,12666850693939201,12666567226228736,12666545751523328,12666515688128512,12666721852981248,12666494212046848,12666962371018753,12666562932965376,12666644537606144,12666846399954945,12666532865835008,12666511391064064,12666824926167041,12666537162571776,12666502802702336,12666550045835264,12666554340999168,12666541457080320,12666519982768128,12948158171709442,12948166761644034,13229641741762560,13229633151762432,13510936325914626,13510824656764930,13510932030947330,13510987865522178,13511047995064322,13510944915849218,13510962095718402,13511060879966210,13510927735980034,13510910556110850,13511069469900802,13511030815195138,13511095239704578,13510953505783810,13511005045391362,13511026520227842,13511073764868098,13511017930293250,13510807476895746,13511035110162434,13511022225260546,13510992160489474,13510923441012738,13511000750424066,13510957800751106,13510974980620290,13510816066830338,13510949210816514,13511125304475650,13510828951732226,13511043700097026,13510914851078146,13510803181928450,13511082354802690,13510966390685698,13511039405129730,13510979275587586,13510970685652994,13510983570554882,13511086649769986,13511090944737282,13511108124606466,13511430247153666,13511078059835394,13510940620881922,13511009340358658,13510919146045442,13510811771863042,13792462844264450,13792591693283330,13792424189558786,13792600283217922,13792595988250626,13792402714722306,13792407009689602,13792398419755010,13792432779493378,13792428484526082,13792445664395266,13792441369427970,13792385534853122,13792527268773890,13792419894591490,13792389829820418,13792467139231746,13792415599624194,13792458549297154,13792535858708482,13792449959362562,13792540153675778,13792411304656898,13792394124787714,13792278160670722,13792437074460674,13792454254329858,13792583103348738,13792544450609152,14074234175815681,14073912046125056,14073899161419776,14074221283508225,14073929224552448,14073886274617344,14073890571681792,14073907749388288,14074229880913921,14074251347623937,14073894866321408,14073916340633600,14073920635076608,14074216996143105,14074238470717441,14073942109782016,14073903456518144,14074225577492481,14074264240717825,14073860506189824,14073924929388544,14073933521420288,14073937816518656,14355490109390850,14355477224488962,14355485814423554,14355541648998402,14355228116385794,14636703093227522,14637016625840130,14636874891919362,14637025215774722,14636870596952066,14636952201330690,14636960791265282,14636965086232578,14918702055882753,14918435767779330,14918440062746626,14918491602354178,14918178069741570,14918689171046401,14918349859520512,14918427177844738,14918345565208576,14918500183834624,15199794779258882,15199803369193474,15199769009455106,15199915038343170,15199786189324290,15199764714487810,15199773304422402,15199957988016130,15199799074226178,15199777599389698,15199790484291586,15199842023899138,15199902153441282,15199919334686720,15199816254095362,15199811959128066,15199820549062658,15199975167885314,15199653045338114,15199970872918018,15199966577950722,15199824844029954,15199829138997250,15199781894356994,15199837728931842,15199910743375874,15199807664160770,15199833433964546,15199760419520514,15481128023621632,15481634829697025,15481630534664193,15762864993402880,16044077980844034,16044262664437762,16044705046069250,16044232599666690,16044219714764802,16044241189601282,16044249779535874,16044266959405058,16044228304699394,16044189649993730,16044185355026434,16044335678881794,16044206829862914,16044400103391234,16044193944961026,16044202534895618,16044198239928322,16044236894633986,16044254074503170,16044215419797506,16044224009732098,16044211124830210,16044245484568578,16044258369470466,16325724751331330,16325711866429442,16325720456364034,16325810645106688,16325716161396738,16325870780219394,16325673211723778,16325694686560258,16325664621789186,16325737636233218,16325729046298626,16325857895317506,16325814945644546,16325703276494850,16325698981527554,16325733341265922,16325681801658370,16325802055106560,16325819240611842,16325896550023170,16325707571462146,16325668916756482,16325677506691074,16325660326821890,16325866485252098,16325741931200514,16325690391592962,16325686096625666,16607350048751618,16607341458817026,16607289919209474,16607277034307586,16607027926204418,16607285624242178,16607332868882434,16888764895789058,16888807845462018,16888502902784002,16888752010887170,16888816435396610,16888760600821762,16888825025331202,17170239872368642,17170291411976194,17170226987466754,17170235577401346,17170300001910786,17169977879363586,17170282822041602,17452079929950210,17451573123809282,17451598893613058,17451603188580354,17451590303678466,17451774987272194,17451624663416834,17451586008711170,17451641843286018,17451564533874690,17451568828841986,17451594598645762,17451452864724994,17451611778514946,17451616073482242,17451628958384130,17451637548318722,17451560238907394,17451633253351426,17451577418776578,17451607483547650,17451620368449538,17451710562762754,17451581713743874,17733082458750978,17733043804045314,17733086753718274,17733207012802562,17733249962475522,17732953609732098,17733219897704450,17733168358096898,17733155473195010,17733060983914498,17733151178227714,17732936429862914,17733202717835266,17733159768162306,17733069573849090,17733048099012610,17733232782606338,17733103933587458,17733215602737154,17733172653064194,17733073868816386,17733211307769858,17733078163783682,17733125408423938,17733133998358530,17733116818489346,17733099638620162,17733112523522050,17732932134895618,17733129703391234,17733056688947202,17733164063129602,17732940724830210,17733142588293122,17733052393979906,17733035214110722,17733146883260418,17733065278881794,17733185537966082,17732927839928322,17733039509078018,17732949314764802,17733194127900674,17733108228554754,17733095343652866,17733091048685570,17733198422867970,18014716342566914,18014746410483712,18014707752632322,18296191315869698,18295907848028162,18296156956131330,18296148366196738,18296152661164034,18296174136000514,18295920732930050,18296217085673474,18295933617831938,18296161251098626,18296139776262146,18296182725935106,18296225675608066,18295925027897346,18295916437962754,18296212790706178,18296199913472000,18296208503341056,18296204208504832,18295912142995458,18296195610836994,18295929322864642,18296131186327554,18295937912799234,18296178430967810,18577352769404930,18577623352344578,18577580402671618,18577571812737026,18577374244241410,18577567517769730,18577361359339522,18577550337900546,18577357064372226,18577610467442690,18577593287573506,18577636237246466,18577631942279170,18577627647311874,18577588992606210,18577584697638914,18577378539208706,18577644827181058,18577674891952130,18577619057377282,18577563222802434,18577554632867842,18577558927835138,18577365654306818,18577657712082946,18577597582540802,18577640532213762,18577576107704322,18859244353617921,18859295887589377,18859016713863168,18859085437009920,18859300181573633,18859338844798977,18859205695963137,18859231468257281,18859235762503681,18859209992634369,18858836329496576,18859377500356609,18859106914598912,18859003828633600,18859313075912705,18859261536174081,18859218583617537,18859291600224257,18859192814338049,18858990944714752,18858965175762944,18858986650206208,18858935110270976,18859227173421057,18859222876356609,18859184221585409,18859102617600000,18858978060599296,18858982353469440,18859179927142401,18859012420599808,18859325951705089,18858969470402560,18859115503681536,18859119796944896,18858960878698496,18859201402372097,18858995239157760,18859149864075264,18858999533469696,18859252944011265,18859240058257409,18858849215971328,18858832036888576,18859197106290689,18859111207337984,18859008125501440,18858853511004160,18859214286815233,18859248648978433,18858973765500928,18858827742380032,18858840625709056,19140560419422208,19422035390431232,19421799169392640,19422129880563713,19422134175006721,19422061160759296,19421786282917888,19421781990309888,19421790579130368,19422069750366208,19422142768087041,19422147059712001,19422099817496576,19422052571021312,19422065457102848,19422056868020224,19421803464425472,19421777695801344,19422151360315393,19703256961318914,19703527544258562,19703278436155394,19703510364389378,19703252666351618,19703531839225858,19703574788898818,19703261256286210,19703540429160450,19703544724127746,19703265551253506,19703536134193154,19703274141188098,19984753417846784,19985049770917888,19985097013133313,19984731943731200,19985101309214721,19985152850853889,19985105602805761,19985144260460545,19985092721180673,19985122783199233,19985131375099905,19984749122813952,19985114193657857,19985015410524160,19985002524442624,19985161443409921,19985011114180608,19985006821441536,19985084128428033,19985135669346305,19984985343852544,19985079833985025,19985148555821057,19984740532551680,19984736236339200,19985127080263681,19985019703787520,19985139965100033,19984727649222656,19985032594325504,19985118490460161,19985109899476993,20266301403299842,20266245568724994,20266305698267138,20266477496958978,20266550511403010,20266541921468418,20266292813365250,20266516151664642,20266219808620544,20266267043561474,20266224103456768,20266241273757698,20266498971795458,20266486086893570,20266249863692290,20266254158659586,20266262748594178,20266297108332546,20266288518397954,20266529036566530,20266537626501122,20266520446631938,20266546216435714,20266533331533826,20266232683823106,20266271338528770,20266236978790402,20266507561730050,20266275633496066,20266279928463362,20266464612057090,20266503266762754,20266228398358528,20266511866331136,20266481791926274,20266451736592384,20266524741599234,20266284223430658,20266456022122498,20266473201991682,20266258453626882,20266460326854656,20547973950603266,20547952475766786,20547982540537858,20547729145200640,20547939590864898,20547724850298880,20547733432434690,20547931000930306,20547978245570562,20547995425439746,20547948180799490,20547737727401986,20547991130472450,20548025490210818,20829620724563969,20829547713331201,20829564895232001,20829350145884160,20829663674630145,20829539123789825,20829517651312641,20829375916933120,20829152576602112,20829388802228224,20829281422213120,20829543420592129,20829504764116993,20829586369019905,20829616430120961,20829277127311360,20829156873863168,20829526239346689,20829745282482177,20829423165440000,20829311487180800,20829723808694273,20829332962476032,20829165462683648,20829749578366977,20829556305231873,20829264241229824,20829569190592513,20829354440720384,20829427454574592,20829530532937729,20829650788679681,20829534829608961,20829307190444032,20829474701049856,20829268536655872,20829444633919488,20829612135415809,20829315781689344,20829161166471168,20829285715673088,20829431751573504,20829328665608192,20829174052945920,20829594957316097,20829259947245568,20829298602475520,20829384507064320,20829393095294976,20829758167449601,20829740992954369,20829625018548225,20829560599478273,20829341550837760,20829577780985857,20829302897573888,20829732397514753,20829367326081024,20829753871302657,20829728104579073,20829371620982784,20829272831950848,20829410273984512,20829418862215168,20829457520656384,20829290012737536,20829521943265281,20829573485953025,20829337257574400,20829397389344768,20829324370444288,20829509058560001,20829380209278976,20829440340656128,20829320076132352,20829294307377152,20829599250776065,20829358735884288,20829178347978752,20829552010395649,20829436044312576,21110885247811586,21110949672321026,21110627549773826,21110636139708418,21110915312582658,21110906722648066,21110902427680770,21110653319577602,21110649024610306,21110911017615362,21110631844741122,21110640434675714,21110919607549954,21392420352688130,21392446122491906,21392158359683074,21392136884846594,21392403172818946,21392437532557314,21392179834519554,21392192719421442,21392373108047874,21392407467786242,21392381697982466,21392428942622722,21392364518113282,21392398877851650,21392424647655426,21392205604323330,21392128294912002,21392154064715778,21392355928178690,21392351633211394,21392441827524610,21392385992949762,21392175539552258,21392132589879298,21392416057720834,21392141179813890,21392162654650370,21392433237590018,21392119704977410,21392411762753538,21392184129486850,21392197014388738,21392201309356034,21392149769748482,21392145474781186,21392377403015170,21392360223145986,21392123999944706,21392166949617666,21392171244584962,21392188424454146,21392450417459202,21673611861426178,21673607566458882,21673663401033730,21673603271491586,21673895340277760,21673921099071490,21673856674562050,21673637631229954,21673835199725570,21673680580902914,21673852379594754,21673826609790978,21673671990968322,21673886739333122,21673620451360770,21673616156393474,21673882444365826,21673633336262658,21673903919202306,21673667696001026,21673860969529346,21673624746328066,21673650516131842,21673641926197250,21673654811099138,21673646221164546,21673659106066434,21673598976524290,21673629041295362,21673916804104194,21673925394038786,21673676285935618,21673873854431234,21673878149398530,21673594681556994,21673908214169602,21673899624235010,21673912509136898,21673891034300418,21955374602256386,21955344537485314,21955340242518018,21955327357616130,21955078249512962,21955310177746946,21955073954545666,21955061069643778,21955335947550722,21955056774676482,21955052479709186,21955065364611074,21955331652583426,22236587587141634,22236574702239746,22236578997207042,22236566112305154,22236875349950466,22236557530955776,22236802335506434,22236798040539138,22236828105310210,22236823810342914,22236780860669954,22236789450604546,22236845285179394,22236583292174338,22236862465048578,22236561825988608,22236840990212098,22236866760015874,22236832400277506,22236570407272450,22518298784825346,22518311669727234,22518041086787586,22518062561624066,22518075446525954,22518333144563714,22518096921362434,22518285899923458,22518273015021570,22518105511297026,22518084036460546,22518023906918402,22518303079792642,22518337439531010,22518320259661826,22518053971689474,22518079741493250,22518324554629122,22518032496852994,22518341734498306,22518315964694530,22518101216329730,22518281604956162,22518028201885698,22518328849596418,22518251540185090,22518264425086978,22518260130119682,22518092626395138,22518036791820290,22518049676722178,22518045381754882,22518277309988866,22518066856591362,22518019611951106,22518307374759938,22518071151558658,22518255835152386,22518058266656770,22518088331427842,22518350324432898,22518346029465602,22799782363070466,22799765183201282,22799748003332098,22799717938561026,22799735118430210,22800104485617666,22799477420392450,22799649219084290,22799666398953474,22799705053659138,22799614859345922,22799722233528322,22799593384509442,22799683578822658,22799713643593730,22799692168757250,22799610564378626,22799498895228930,22799653514051586,22799589089542146,22799606269411330,22799687873789954,22799481715359746,22799700758691842,22799619154313218,22799597679476738,22799769478168578,22799627744247810,22799636334182402,22799760888233986,22799623449280514,22799679283855362,22799584794574850,22799503190196226,22799486010327042,22799709348626434,22799640629149698,22799662103986178,22799490305294338,22799601974444034,22799756593266690,22799632039215106,22799696463724546,22799752298299394,22799644924116994,22799674988888066,22799799542939650,22799743708364802,22799657809018882,23081210094616578,23081218684551170,23081240159387650,23081274519126018,23080965281480706,23081167144943618,23081149965074434,23081154260041730,23081184324812802,23080952396578818,23081235864420354,23081171439910914,23080956691546114,23081175734878210,23081188619780098,23080960986513410,23081192914747394,23081180029845506,23081257339256834,23081222979518466,23080978166382594,23081162849976322,23081158555009026,23081244454354946,23080973871415298,23081231569453058,23081197209714690,23081227274485762,23362706546229250,23362448848191490,23362650711654402,23362732316033026,23362440258256898,23362624941850626,23362659301588994,23362642121719810,23362672186490882,23362702251261954,23362646416687106,23362667891523586,23362629236817922,23362697956294658,23362633531785218,23362749495902210,23362693661327362,23362431668322306,23362715136163842,23362685071392770,23362663596556290,23362427373355010,23362435963289602,23362719431131138,23362637826752514,23362710841196546,23362453143158786,23362655006621698,23644168638234626,23644134278496258,23644185818103810,23644129983528962,23644224472809474,23644099918757890,23644112803659778,23643915235164162,23644172933201922,23644194408038402,23644207292940290,23643902350262274,23643923825098754,23644104213725186,23643928120066050,23644121393594370,23644108508692482,23644160048300034,23643906645229570,23644138573463554,23644181523136514,23644190113071106,23644142868430850,23644177228169218,23644147163398146,23643910940196866,23644125688561666,23644117098627074,23925682269257728,24206895243591682,24207157236596738,24207127171825666,24207122876858370,24207105696989186,24207187301367810,24207152941629442,24206912423460866,24206882358689794,24206908128493570,24207114286923778,24207131466792962,24206886653657090,24206899538558978,24207148646662146,24207191596335106,24207170121498626,24207183006400514,24207178711433218,24207135761760258,24206890948624386,24207165826531330,24206903833526274,24207200186269698,24207174416465922,24488645107646464,24770107199520768,24770115789520896,25051659480268801,25051552105234432,25051693841252353,25051685250138113,25051277230014464,25051672363991041,25051534924644352,25051668071251969,25051629414776833,25051298703605760,25051650890006529,25051560694972416,25051663774449665,25051290113343488,25051599351709696,25051646593925121,25051715320348673,25051642302300161,25051680955891713,25051698137006081,25051569284579328,25051633709219841,25051556402233344,25051676661055489,25051302998638592,25051689545891841,25051281524523008,25051285817131008,25051655183597569,25051564991315968,25333009908498432,25614283012505602,25614506360111104,25614527825641474,25614562185379842,25614480581001218,25614545005510658,25614575070281730,25614523530674178,25614532120608770,25614497760870402,25614270127603714,25614540710543362,25614287307472898,25614257242701826,25614278717538306,25614502055837698,25614261537669122,25614265832636418,25614489170935810,25614566480347138,25614510655143936,25614274422571010,25896015688368130,25896007098433538,25895955558825986,25895998516822016,25895757990330370,25895972738695170,25895964148760578,25895762285297666,25896050048106498,25896019983335426,26177434838892544,26458909815668736,26740479275040769,26740152858902528,26740139973607424,26740135677394944,26740419144843264,26740414851579904,26740131384786944,26740496454189057,26740384792444928,26740492166692865,26740483569483777,26740148563869696,26740410555236352,26740449211973632,26740127090278400,26740406262497280,26740401965498368,27021885528604674,27021894118539266,27021614945665026,27021627830566914,27021889823571970,27021924183310338,27021881233637378,27021610650697730,27021602060763138,27021606355730434,27021876938670082,27021623535599618,27021859758800898,27303077047369730,27303343335342082,27303085637304322,27303308975603714,27303381990047746,27303283205799938,27303300385669122,27303081342337026,27303278910832642,27303364810178562,27303369105145858,27303274615865346,27303347630309378,27303287500767234,27303317565538306,27303399169916930,27303360515211266,27303089932271618,27303098522206210,27303356220243970,27303296090701826,27303334745407490,27303313270571010,27303321860505602,27303291795734530,27303304680636418,27303102817173506,27303351925276674,27584758183428098,27584753888460802,27584556319965186,27584844082774018,27584814018002946,27584818312970242,27584839787806722,27584856967675906,27584822607937538,27584779658264578,27584564909899778,27584775363297282,27584788248199170,27584577794801666,27584831197872130,27584762478395394,27584771068329986,27584766773362690,27584552024997890,27584783953231874,27584809723035650,27584573499834370,27584560614932482,27584749593493506,27584826902904834,27584796838133762,27584874147545090,27584792543166466,27584835492839426,27866284699615234,27866224570073090,27866319059353602,27866314764386306,27866331944255490,27866293289549826,27866301879484418,27866271814713346,27866035591512066,27866254634844162,27866048476413954,27866250339876866,27866297584517122,27866027001577474,27866306174451714,27866258929811458,27866039886479362,27866228865040386,27866233160007682,27866310469419010,27866031296544770,27866349124124674,27866246044909570,27866263224778754,27866052771381250,27866267519746050,27866241749942274,28147785438789632,28147759676129280,28147501973831680,28147858453037057,28147824095526912,28147794028396544,28147867050377217,28147510560948224,28147854158594049,28147527742455808,28147523447422976,28147506268340224,28147871337742337,28147781146050560,28147776849051648,28147514857160704,28147789735133184,28429002719166464,28428989833871360,28429234652839936,28428976950542336,28429299072237568,28428981245050880,28429260415500288,28428985537658880,28429333429747713,28429329135304705,28429251825762304,28429342027153409,28429346314452993,28428998424133632,28429264711843840,28429256122761216,28429269005107200,28710885716918273,28710451924500480,28711053219201025,28710709621882880,28710464810582016,28711023162425345,28710696737243136,28710456221761536,28710877128884225,28710859947376641,28710821291163649,28710718210113536,28710658083782656,28710847061229569,28710477695877120,28711027452477441,28710829880836097,28710868538490881,28710834177507329,28710838471688193,28711057515347969,28710816999211009,28710473400844288,28710808406458369,28711031745413121,28711044630380545,28710855653130241,28710756868554752,28710649493782528,28710675264831488,28710735392210944,28710679557177344,28710670968881152,28710825587245057,28710851358294017,28710804112015361,28710864243130369,28710731099471872,28710739688554496,28710872833851393,28710743981817856,28710688150126592,28710692443193344,28710722514649088,28710726802472960,28710460514369536,28711048926265345,28710666673979392,28710653788618752,28710774048948224,28710842768490497,28710683854962688,28992227556261888,28992180302512130,28992197482381314,28992240432054274,28992223252185090,28992188892446722,28992244727021570,28991987028983810,28992231842119682,28991982734016514,28992274791792642,29273663869419522,29273457719902208,29273706819092482,29273719703994370,29273715409027074,29273462005956610,29273655279484930,29273749768765442,29273672459354114,29555194680311810,29555130255802370,29555190385344514,29554932687306754,29555173205475330,29555177500442626,29555151740010496,29555138845736962,29555224745082882,29555147435671554,29555181795409922,29554936982274050,29836631000547330,29836360417607682,29836626705580034,29836373302509570,29836356122640386,29836377597476866,29836364712574978,29836639590481922,29836673950220290,29836635295514626,29836609525710850,29836351827673090,29836643885449218,30118088798830594,30118080208896002,30118127453536258,30117882640400386,30118097388765186,30117874050465794,30117886935367682,30117878345433090,30117869765394432,30118144633405442,30117865470361600,30118140338438146,30118174698176514,30118161823039488,30118123158568962,30118131748503554,30118101683732482,30118166118203392,30399310374633472,30399696921493505,30399881605677057,30399873023213569,30399323261108224,30399705513394177,30399709807640577,30399503648882688,30399529417441280,30399688331952129,30399898786529281,30399735577182209,30399701218557953,30399658266722305,30399499354046464,30399301784764416,30399684037771265,30399580959735808,30399568070377472,30399671151427585,30399559482146816,30399714103394305,30399525125095424,30399314670845952,30399589548818432,30399666859474945,30399306082025472,30399726989148161,30399903079464961,30399533715226624,30399623909212160,30399653972279297,30399593842081792,30399507944046592,30399520829145088,30399679741100033,30399692628754433,30399546597507072,30399516534243328,30399327556141056,30399606728818688,30399538010390528,30399585252474880,30399907375611905,30399576662736896,30399877312741377,30399894490644481,30399675447508993,30399542303457280,30399722694115329,30399718398754817,30681060225712130,30680802527674370,30680781052837890,30681055930744834,30680798232707074,30681064520679426,30681098880417794,30680785347805186,30681068815646722,30681034455908354,30680789642772482,30681051635777538,30680776757870594,30962569564389378,30962505139879938,30962311875657728,30962556679487490,30962522319749122,30962565269422082,30962599638401024,30962513729814530,31243726722891776,31525287585972226,31525480859500546,31525536694075394,31525231751397378,31525523809173506,31525244636299266,31525519514206210,31525274701070338,31525304765841410,31525545284009986,31525455089696770,31525549578977282,31525291880939522,31525459384664066,31525472269565954,31525510924271618,31525266111135746,31525223161462786,31525283291004930,31525506629304322,31525498039369730,31525236046364674,31525270406103042,31525502334337026,31525261816168450,31525540989042690,31525515219238914,31525240341331970,31525463679631362,31525528104140802,31525218866495490,31525296175906818,31525485154467842,31525300470874114,31525476564533250,31525450794729474,31525278996037634,31525253226233858,31525248931266562,31525532399108098,31525257521201154,31525227456430082,31806702444347394,31806998797090818,31806964437352450,31806981617221634,31806917192712194,31806960142385154,31806908602777602,31806895717875714,31806921487679490,31806955847417858,31806878538006530,31806934372581378,31806887127941122,31806676674543618,31806968732319746,31806689559445506,31806698149380098,31806680969510914,31806947257483266,31806882832973826,31806912897744898,31806900012843010,31806904307810306,31806951552450562,31806891422908418,31806874243039234,31806685264478210,31806942962515970,32088456595767296,32369708234244096,32369695349407744,32369669568069634,32369673863036930,32369922971140098,32369678158004226,32369948740943874,32369897201336322,32369686747938818,32369940151009282,32369729709277184,32369961625845762,32369905791270914,32369691054505984,32369953035911170,32369656683167746,32369660978135042,32369957330878466,32369725414768640,32369965920813058,32369699644899328,32369901496303618,32369888611401730,32369880021467138,32369721119473664,32369944445976578,32369931561074690,32369682452971522,32369910086238210,32369970227970048,32369716824571904,32369703939735552,32369712529473536,32369665273102338,32369974510747650,32369927266107394,32370056127119361,32651355000274946,32651406539882498,32651419424784386,32651372180144130,32651415129817090,32651363590209538,32932890107379714,32932881517445122,32932829977837570,32932894402347010,32932838567772162,33214304963854336,33495788516540418,33495552293339138,33495827171246082,33495865825951746,33495569473208322,33495565178241026,33495599537979394,33495775631638530,33495870120919042,33495844351115266,33495595243012098,33495543703404546,33495822876278786,33495616717848578,33495801401442306,33495857236017154,33495578063142914,33495590948044802,33495848646082562,33495547998371842,33495809991376898,33495797106475010,33495784221573122,33495629602750466,33495586653077506,33495852941049858,33495560883273730,33495573768175618,33495582358110210,33495556588306434,33495861530984450,33495835761180674,33495621012815874,33495625307783170,33495874415886338,33495612422881282,33495840056147970,33495608127913986,33495805696409602,33495831466213378,33495779926605826,33495603832946690,33777053041557506,33777323624497154,33777302149660674,33777332214431746,33777315034562562,33777044451622914,33777336509399042,33777340804366338,33777297854693378,33777087401295874,33777100286197762,33777104581165058,33777035861688322,33777276379856898,33777319329529858,33777083106328578,33777070221426690,33777349394300930,33777040156655618,33777091696263170,33777031566721026,33777078811361282,33777254905020418,33777284969791490,33777057336524802,33777263494955010,33777074516393986,33777272084889602,33777306444627970,33777327919464450,33777048746590210,33777280674824194,33777095991230466,33777345099333634,33777065926459394,33777061631492098,34058609629724674,34058725593841666,34058626809593858,34058622514626562,34058596744822786,34058734183776258,34058613924691970,34058631104561154,34058661169332226,34058643989463042,34058601039790082,34058738478743554,34058648284430338,34058635399528450,34058656874364930,34058588154888194,34058820083122178,34058605334757378,34058652579397634,34058781428416514,34058742773710850,34058592449855490,34058639694495746,34058583859920898,34058665464299522,34058790018351106,34058794313318402,34058618219659266,34340256401129474,34340269286031362,34340204861521922,34340222041391106,34340264991064066,34621739977080832,34621688437407744,34903163414249472,35184543896502274,35184689925390338,35184565371338754,35184634090815490,35184513831731202,35184625500880898,35184505241796610,35184535306567682,35184526716633090,35184642680750082,35184483766960130,35184561076371458,35184556781404162,35184492356894722,35184548191469570,35184552486436866,35184539601534978,35184531011600386,35184694220357634,35184681335455746,35184719990161410,35184500946829314,35184638385782786,35184509536763906,35184488061927426,35184496651862018,35184522421665794,35184518126698498,35466113362952194,35466164907343872,35747639879401474,35747588339793922,36029325314359297,36029123437133824,36029059026452480,36028801314979840,36029316724621313,36029063316766722,36029321005301761,36029050436321280,36029114856374274,36029355379261441,36029359674032129,36310589833150466,36310538293542914,36591940246634496,36591914477486080,36592331102617601,36592262370426881,36591888708534272,36592215125917697,36591862937026560,36591923066241024,36592219420360705,36591931658272768,36592210831212545,36591910182977536,36591897298272256,36591918771929088,36591875823108096,36591867232452608,36591884411469824,36592017558011904,36591935953371136,36591893003173888,36592193653112833,36591901593370624,36591880118009856,36592197946572801,36591927361404928,36592249484476417,36592223714344961,36591871527747584,36591905886240768,36591858643042304,36873367991615490,36873376581550082,36873333631877122,36873406646321154,36873410941288450,36873350811746306,36873483955732482,36873853322919938,36873337926844418,36873548380241922,36873398056386562,36873363696648194,36873226257694722,36873346516779010,36873402351353858,36873389466451970,36873342221811714,36873359401680898,36873380876517378,36873372286582786,36873355106713602,36873385171484674,36873415236255746,36873393761419266,37155126437412865,37154993283137536,37155109248696321,37154976103792640,37155057707778049,37155070592483329,37155066300530689,37155117839810561,37155083478827009,37155053413335041,37155074888564737,37154988989874176,37154709815689216,37154958923202560,37155122135171073,37154701228572672,37155104954449921,37155087773007873,37155100659613697,37154984693530624,37155113544450049,37155092069810177,37155263876300801,37154980400791552,37155079182155777,37154722702163968,37154705523081216,37155023350267904,37155096362549249,37154967523491840,37154714111901696,37154726997196800,37436322231287810,37436197677236226,37436335116189698,37436296461484034,37436378065862658,37436412425601026,37436313641353218,37436184792334338,37436382360829954,37436305051418626,37436481145077762,37436463965208578,37436360885993474,37436446785339394,37436395245731842,37436180497367042,37436399540699138,37436803267624962,37436451080306690,37436201972203522,37436287871549442,37436468260175874,37436498324946946,37436356591026178,37436421015535618,37436416720568322,37436373770895362,37436343706124290,37436390950764546,37436348001091586,37436455375273986,37436176202399746,37436283576582146,37436339411156994,37436352296058882,37436330821222402,37436403835666434,37436326526255106,37436408130633730,37436442490372098,37436459670241282,37436309346385922,37436189087301634,37436433900437506,37436292166516738,37436365180960770,37436317936320514,37436300756451330,37717651175243776,37718170865565697,37717908873412608,37717973297397760,37718175161974785,37718166574465025,37718106455670785,37999598597898241,37999607196221441,37999293655482368,37999285066530816,37999280769794048,37999315130187776,37999263592087552,37999302244958208,37999306541826048,37999602907283457,37999297949794304,37999594303913985,37999637261123585,37999267886727168,37999272181825536,37999259295023104,37999624368029697,37999611491123201,37999276476923904,37999310836924416,37999233526595584,37999590016548865,37999289361039360,38281116538896385,38281125115396097,38281120818987009,38280923250819072,38281095063928833,38280601128665088,38280858826833920,38281090769027073,38280918970466304,38562256500031490,38562239320162306,38562213550358530,38562346694344706,38562209255391234,38562226435260418,38562235025195010,38562183485587458,38562252205064194,38562222140293122,38562217845325826,38562247910096898,38562265089966082,38562260794998786,38562230730227714,38562243615129602,38843722879926272,38844032132775937,38843701407055872,38843740060319744,38843714291171328,38844014946680833,38843692816859136,38843718585614336,38843697111957504,38844049298161665,38843684225155072,38843658456727552,38843705699926016,38843735767056384,38843821679312896,38844023528030209,38843709996662784,38844036421255169,38843731471958016,38844019234045953,38843688522219520,38844062191255553,38843727175090176,39125202151800832,39125489923391489,39125159201865728,39125180676636672,39125026065219586,39125184973373440,39125193562324992,39125283763257346,39125275173322754,39125348187766786,39125206448668672,39125288058224642,39125210743767040,39125133433438208,39125498504740865,39125343892799490,39125189267881984,39125524274872321,39125494210756609,39125215037030400,39125197856636928,39125167793569792,39125163498930176,39125176383766528,39125537167966209,39125511404519425,39125172088668160,39406973481451521,39406681425379328,39406763034804226,39406638475640832,39406969187467265,39406664244592640,39406677128511488,39406672833347584,39406659950084096,39406964900102145,39406758739836930,39406608410148864,39406823164346370,39406668539035648,39406634178576384,39406750149902338,39406690013741056,39406685720477696,39406655653347328,39406999251582977,39406651360477184,39406642770280448,39406818869379074,39407012144676865,39406501041799170,39406647065378816,39406986381295617,39687976020410370,39688238013415426,39688225128513538,39688289553022978,39688233718448130,39969618500976642,39969700105355266,39969450997252098,39969622795943938,39969712990257154,39969773119799298,39969708695289858,39969764529864706,40251428491362305,40250925974159360,40251432780234753,40532671539904512,40532714489643008,40814146509012994,40814189458685954,41095694507900928,41095664435527682,41095621485854722,41377087873089538,41376959024070658,41376967614005250,41376946139168770,41376954729103362,41376984793874434,41377169477468162,41377139412697090,41376976203939842,41377074988187650,41376937549234178,41377010563678210,41377143707664386,41376963319037954,41377006268710914,41376989088841730,41377092168056834,41376993383809026,41376941844201474,41376997678776322,41377014858645506,41376933254266882,41376950434136066,41377083578122242,41377130822762498,41376980498907138,41377001973743618,41376971908972546,41658326624567296,41658313739272192,41658653040705537,41658588617244672,41658558550573056,41658305150451712,41658592910508032,41658657335148545,41658580028162048,41658300855943168,41658674526158849,41658309443059712,41658584320901120,41658665928228865,41658322329534464,41658622977638400,41658670219853825,41658575731163136,41939784419770368,41940055004872704,41940145196564481,41940059297611776,41939797306245120,41940128017416193,41940140904939521,41939775832653824,41940050707873792,41939788715982848,41940132311859201,41939780127162368,41940063593955328,41940097954349056,41940033527283712,41939801601277952,41940149502935041,41940067887218688,42221508503994368,42221624479711233,42221259396481024,42221255103873024,42221250809364480,42221276577988608,42221529981583360,42221615881650177,42221602994126849,42221263692693504,42221542863929344,42221538570665984,42221572931059712,42221534274322432,42221272282955776,42221607288569857,42221525684584448,42221620173275137,42502987787337728,42503039322292224,42784462764113920,43066234091798529,43065997854900224,43065933445922816,43065937734729730,43065924854087680,43066199733960705,43066229798797313,43347558736330753,43347567327444993,43347159303323648,43347472837902336,43347515788165121,43347507195412481,43347408410836992,43347575917838337,43347502900969473,43347155010715648,43347150716207104,43347176484831232,43347541557444609,43347429888425984,43347537260642305,43347584505872385,43347524376199169,43347554442084353,43347172189798400,43347434181165056,43347550147248129,43347438477508608,43347425591427072,43347520080117761,43347455657508864,43347163599536128,43347528669790209,43347563032084481,43347571622805505,43347442770771968,43347545850183681,43347532966461441,43347743430279169,43628702995644418,43628896269172738,43628720175513602,43628956398714882,43628690110742530,43628887679238146,43628724470480898,43628900564140034,43628698700677122,43628904859107330,43628909154074626,43628964988649474,43628660045971458,43628926333943810,43628728765448194,43628685815775234,43628668635906050,43628952103747586,43628715880546306,43628960693682178,43628655751004162,43628879089303554,43628947808780290,43628973578584066,43628681520807938,43628711585579010,43628939218845698,43628664340938754,43628707290611714,43628930628911106,43628943513812994,43628694405709826,43628969283616770,43628677225840642,43628922038976514,43628672930873346,43910422797549570,43910328308269058,43910405617680386,43910302538465282,43910126444806146,43910100675002370,43910366962974722,43910298243497986,43910109264936962,43910104969969666,43910345488138242,43910306833432578,43910371257942018,43910392732778498,43910341193170946,43910358373040130,43910122149838850,43910332603236354,43910384142843906,43910388437811202,43910319718334466,43910311128399874,43910336898203650,43910379847876610,43910375552909314,43910315423367170,43910324013301762,43910113559904258,44191889182556160,44191880597667840,44473441464287233,44473471529648129,44473432873304065,44473407102255105,44473063506378752,44473437167484929,44473072096641024,44473329795268608,44473484423462913,44473445757026305,44473059210166272,44473424283041793,44473338384351232,44473402807812097,44473372744744960,44473325498269696,44473308317679616,44473428576632833,44473475824680961,44473454348926977,44473450054090753,44473458643173377,44473419986960385,44473050623049728,44473076391673856,44473054917558272,44473342677614592,44473467234287617,44473462938927105,44473334088007680,44473415695007745,44754826240393218,44754796175622146,44754559952420866,44754572837322754,44754577132290050,44754778995752962,44754783290720258,44754864895098882,44754843420262402,44754564247388162,44754615786995714,44754834830327810,44754624376930306,44754602902093826,44754620081963010,44754804765556738,44754628671897602,44754847715229698,44754598607126530,44754839125295106,44754852010196994,44754542772551682,44754607197061122,44754585722224642,44754590017191938,44754856305164290,44754581427257346,44754774700785666,44754611492028418,44754547067518978,44754787585687554,44754594312159234,44754821945425922,44754869190066178,44754860600131586,44754873485033474,44754551362486274,44754830535360514,44754800470589442,44754555657453570,44754809060524034,44754568542355458,45036335576776706,45036043519000578,45036052108935170,45036073583771650,45036339871744002,45036271152267266,45036064993837058,45036249677430786,45036022044164098,45036275447234562,45036344166711298,45036301217038338,45036348461678594,45036331281809410,45036103648542722,45036056403902466,45036322691874818,45036026339131394,45036099353575426,45036060698869762,45036318396907522,45036262562332674,45036039224033282,45036279742201858,45036086468673538,45036077878738946,45036034929065986,45036253972398082,45036326986842114,45036047813967874,45036069288804354,45036296922071042,45036082173706242,45036258267365378,45036095058608130,45036017749196802,45036090763640834,45036305512005634,45036030634098690,45036314101940226,45036309806972930,45036284037169154,45317475561963520,45598950538739712,45880687508520960,45880846413201409,45880794870513665,45880807756857345,45880833526726657,45880790578561025,45880829232480257,45880812051038209,45880717561167872,45880803460186113,45880781985808385,45880446980194304,45880438389932032,45880842117840897,45880704678821888,45880799166595073,45880451275227136,45880708971560960,45880700381822976,45880850717409281,45880747628298240,45880824937644033,45880786292834305,45880434093719552,45880683201232896,45880837822480385,45880820640579585,45880777691365377,45880816347840513,45880429801111552,45880713267904512,45880425506603008,46162222605008896,46162278436896769,46162252668076033,46162282733568001,46161900483313664,46161904777822208,46162192537878528,46161913366642688,46161926251937792,46162287027748865,46162265555599361,46162274143305729,46162158177943552,46162291334447105,46162175358533632,46161921956904960,46162179655532544,46161909070430208,46162269847224321,46162188244615168,46162183948271616,46162256962519041,46443731939229697,46443749120016385,46443667514589184,46443384047140864,46443388343353344,46443633154654208,46443757710278657,46443396933615616,46443727644786689,46443753413607425,46443762004459521,46443740532310017,46443744823934977,46443375460024320,46443766311223297,46443654632243200,46443379754532864,46443401228648448,46443697581719552,46443658924982272,46443663221325824,46443650335244288,46725082364444672,46725430254895105,46725451728683009,46725065183461376,46725215508692993,46725421671907329,46725078066659328,46725249867776001,46725254162612225,46725069478363136,46725258456858625,46725425961959425,46725228390318081,46724859023851520,46725284226400257,46724863320064000,46725129608953856,46725275638366209,46725456024829953,46725048003264512,46725202621497345,46725056593264640,46725443139862529,46724876205359104,46725133901692928,46725142491299840,46725236981170177,46725138198036480,46725086659608576,46725219800645633,46725172558430208,46725155378036736,46725125311954944,46725090952675328,46725052298100736,46725241277972481,46724854731243520,46725073774313472,46725121028915200,46725447435747329,46725267047972865,46725232686989313,46725224096727041,46725262752612353,46724850433982464,46725245570711553,46724871910326272,46725271343333377,46725095246725120,46725206915940353,46725116719595520,46725108131364864,47006510101233666,47006630360317954,47006600295546882,47006462856593410,47006501511299074,47006334007574530,47006561640841218,47006548755939330,47006458561626114,47006596000579586,47006346892476418,47006492921364482,47006514396200962,47006570230775810,47006484331429890,47006604590514178,47006441381756930,47006467151560706,47006338302541826,47006583115677698,47006613180448770,47006647540187138,47006553050906626,47006475741495298,47006535871037442,47006497216331778,47006437086789634,47006449971691522,47006591705612290,47006952482865154,47006329712607234,47006445676724226,47006351187443714,47006505806266370,47006480036462594,47006608885481474,47006488626397186,47006325417639938,47006522986135554,47006617475416066,47006540166004738,47006454266658818,47006531576070146,47006527281102850,47006557345873922,47006471446528002,47006432791822338,47006544460972034,47006565935808514,47288088151457792,47288380208316417,47288105331458048,47288156869361665,47287997956685824,47288401682104321,47288405978251265,47288002251522048,47287808977272832,47288066673016832,47287821863747584,47288375915380737,47287800387403776,47288019431784448,47287826158780416,47288217001394177,47288006546685952,47288092444721152,47288208410279937,47287804684664832,47288169754066945,47287813273485312,47288036613029888,47288058084786176,47288182640410625,47288040906096640,47288199821197313,47288079562375168,47288045200146432,47288234179821569,47288204116033537,47288221296754689,47288015136882688,47288212706033665,47288083855114240,47288032317865984,47288397389168641,47288075265376256,47288174050148353,47288191231393793,47288122511851520,47288225591787521,47288393093283841,47288152574918657,47288371630112769,47288178343739393,47288186934591489,47288023727734784,47288195524132865,47288028020080640,47288165462114305,47569558831824896,47569657628327937,47569631846072321,47569567421431808,47569644730777601,47569563128168448,47569533061496832,47569627551629313,47569296840458240,47569275366866944,47569288250195968,47569649026859009,47569550242086912,47569653320450049,47569301135491072,47569283953983488,47569554539085824,47569279661375488,47569597488562176,47569640439152641,47851106822782977,47851102528339969,47851072465272832,47850763226906624,47851025218797568,47851132605104129,47850758930694144,47850754638086144,47851008038207488,47850776112201728,47850750343577600,47850771817168896,47851042398142464,47851115415863297,47851124003569665,47851033808535552,47851029515796480,47851119707488257,47851038104879104,47851128297160705,48132440073961474,48132444368928770,48132465843765250,48132251095400450,48132435778994178,48132547448143874,48132238210498562,48132470138732546,48132513088405506,48132461548797954,48132508793438210,48132452958863362,48132431484026882,48132448663896066,48132530268274690,48132233915531266,48132483023634434,48132229620563970,48132457253830658,48132225325596674,48132500203503618,48132246800433154,48132422894092290,48132517383372802,48132491613569026,48132504498470914,48132427189059586,48132495908536322,48414104022876161,48414005238300672,48414073956990977,48413700294246400,48413704591507456,48413708884115456,48414086841434113,48413988058300416,48414078250582017,48413919338627072,48413932224708608,48413923634577408,48413975172218880,48414065368956929,48413940812939264,48414069660909569,48414125498630145,48413979469217792,48414112612876289,48413902158364672,48414052481761281,48413945106989056,48413713180327936,48413927926923264,48413915043725312,48413992351563776,48413726065623040,48414056776204289,48414099728039937,48414095430975489,48413897863528448,48413906453528576,48413721770590208,48414275822223361,48414305885093889,48414082547253249,48414121203597313,48413957991628800,48414134086664193,48414280115159041,48414271537152001,48414022418694144,48414297296011265,48414116908236801,48413966579859456,48413936519872512,48414108317122561,48414091138236417,48414301588946945,48413983761956864,48414293000126465,48695450156269570,48695196753199106,48695467336138754,48695179573329922,48695441566334978,48695458746204162,48695381436792834,48695188163264514,48695480221040642,48695463041171458,48695415796531202,48695497400909826,48695402911629314,48695407206596610,48695201048166402,48695377141825538,48695432976400386,48695183868297218,48695398616662018,48695175278362626,48695420091498498,48695411501563906,48695454451236866,48695394321694722,48695372846858242,48695385731760130,48695445861302274,48695390026727426,48695437271367682,48977006729625601,48977066861658113,48977019614330881,48976650250420224,48976929422639104,48976671724011520,48977075461750785,48977045384396801,48976925125640192,48976938011721728,48976942304985088,48977049681461249,48977032500674561,48976676019044352,48977062566297601,48977015322378241,48976663133749248,48977053976297473,48976972372115456,48977036794855425,48977041091657729,48976933715378176,48977028204003329,48977002435182593,48976907945050112,48976654544928768,48977023910412289,48977058270543873,48977071157018625,48976658837536768,49258443064344576,49539887965143040,49539625972465664,49539613087170560,49539879376060416,49539621677432832,49539973863833601,49539600203841536,49539922325536768,49539995337818113,49539991045079041,49540016815079425,49539956683046913,49539999634882561,49539883668799488,49539875079061504,49540003929718785,49539978157424641,49540034005237761,49540025405472769,49540021110439937,49539604498350080,49539965275799553,49539608790958080,49540012519718913,49540008223965185,49539969567752193,49539986748276737,49539952388603905,49539982454095873,49539857898471424,49539892258406400,49821350055772160,49821440252837889,49821431659757569,49821444544462849,49821358645510144,49821096654143488,49821448840544257,49821354352771072,49821083767668736,49821075180552192,49821079475060736,49821367235117056,49821397302247424,49821088063881216,49821427365314561,49821362941853696,49821332875182080,49821453147439105,49821100949176320,50102837918564352,50102923817254913,50102563040591872,50102928124215297,50102550157262848,50102842211827712,50102558744379392,50102807851892736,50102571630854144,50102575925886976,50102825032482816,50102919521173505,50102902342025217,50102872278958080,50102906636468225,50102915229548545,50102829329481728,50102554451771392,50102833622220800,50384029428482048,50384038017302528,50384377318735873,50384381613178881,50384415975211009,50384050902597632,50384282828603392,50384304306192384,50384390206259201,50384308598931456,50384428870795265,50384403087556609,50384398793965569,50384033721090048,50384420267950081,50384046607564800,50384407384227841,50384300009193472,50384411678408705,50384424565014529,50384347255668736,50384317188538368,50384394497884161,50384312895275008,50384025133973504,50665933912342529,50665521584275456,50665886655119361,50665869474594817,50665925312315393,50665895244660737,50665508697800704,50665774985904128,50665792165249024,50665757805314048,50665873770676225,50665882360938497,50665865182642177,50665878064267265,50665525879308288,50665916721922049,50665500110684160,50665856589889537,50665822232379392,50665912426561537,50665899541725185,50665783575642112,50665921017282561,50665779282903040,50665903836561409,50665787871985664,50665890951921665,50665852295446529,50665512994013184,50665504405192704,50665908130807809,50947000856018944,50947267141959680,50947357337649153,50947365928632321,50947340159352833,50947408889118721,50947232782024704,50947254259613696,50946979381903360,50947370221371393,50947344451305473,50947374518435841,50947395993993217,50947400289026049,50946987970723840,50947262848696320,50946975087394816,50947249962614784,50947383107518465,50947378813272065,50947391698632705,50946996560986112,50947258552352768,50947348747386881,50947297209090048,50947387403272193,50947353040977921,50947361631830017,50946983674511360,50947327272157185,50947331566600193,51228729236324352,51228742118670336,51228819428016129,51228591792128000,51228600382324736,51228828017688577,51228737825406976,51228772185800704,51228948273430529,51228823724097537,51228621855195136,51228935397638145,51228707758735360,51228802248867841,51228845198082049,51228836608540673,51228815136063489,51228853789982721,51228961166524417,51228454358614016,51228858084229121,51228999830011905,51228883857899521,51228604675194880,51228918209314817,51228832314359809,51228634742325248,51228613266440192,51228870970703873,51228639035588608,51228596087226368,51228587497488384,51228840905342977,51228724939325440,51228806543310849,51228583200423936,51228608971931648,51228617560883200,51228557431996416,51228475832729600,51228471537696768,51228913921949697,51228849495146497,51228458651222016,51228922503299073,51228866675343361,51228862379982849,51228733529063424,51228462947434496,51228630447226880,51228450064105472,51228875265736705,51228626150359040,51510264336613378,51510272926547970,51510178437267458,51509963688902658,51510225681907714,51510015228510210,51509955098968066,51510208502038530,51510251451711490,51510195617136642,51510238566809602,51510247156744194,51510023818444802,51510221386940418,51509985163739138,51509959393935362,51510028113412098,51509989458706434,51509967983869954,51509998048641026,51510268631580674,51509976573804546,51510199912103938,51510002343608322,51509980868771842,51509993753673730,51510006638575618,51510229976875010,51510019523477506,51510242861776898,51510010933542914,51510204207071234,51509972278837250,51510255746678786,51510260041646082,51510187027202050,51791674892746752,51791421491118080,51791773677518849,51791782267781121,51791412900855808,51791790858764289,51791816628764673,51791786561961985,51791408604643328,51791820924125185,51791765089484801,51791722139222016,51791777971109889,51791756496732161,51791799448567809,51791404312035328,51791425786150912,51791687778828288,51791692072091648,51791812333404161,51791657712156672,51791679189745664,51791833811320833,51791752202289153,51791769381437441,51791803743404033,51791683482484736,51791795151503361,51791400017526784,51791825219158017,51791808037650433,52073214289838082,52072978066636802,52073158455263234,52072952296833026,52072917937094658,52073149865328642,52073171340165122,52072960886767618,52073128390492162,52072922232061954,52072926527029250,52073209994870786,52072939411931138,52072909347160066,52073197109968898,52072913642127362,52073205699903490,52073201404936194,52073175635132418,52072965181734914,52072969476702210,52073192815001602,52073222879772674,52073218584805378,52073188520034306,52072935116963842,52073136980426754,52072973771669506,52073179930099714,52072943706898434,52072905052192770,52073145570361346,52073154160295938,52072956591800322,52072930821996546,52072948001865730,52354448748445698,52354680676679682,52354410093740034,52354397208838146,52354453043412994,52354624842104834,52354384323936258,52354629137072130,52354646316941314,52354418683674626,52354431568576514,52354693561581570,52354620547137538,52354611957202946,52354684971646978,52354672086745090,52354440158511106,52354663496810498,52354427273609218,52354444453478402,52354392913870850,52354650611908610,52354654906875906,52354422978641922,52354676381712386,52354689266614274,52354697856548866,52354603367268354,52354405798772738,52354388618903554,52354401503805442,52354380028968962,52354414388707330,52354435863543810,52354633432039426,52354667791777794,52636091239759874,52635949505839106,52635996750479362,52635945210871810,52636061174988802,52636082649825282,52636065469956098,52636147074334722,52635824951787522,52636104124661762,52635979570610178,52636112714596354,52636009635381250,52635983865577474,52635837836689410,52636117009563650,52635966685708290,52636099829694466,52635958095773698,52635846426624002,52636108419629058,52635850721591298,52635932325969922,52636069764923394,52636056880021506,52636022520283138,52635992455512066,52636095534727170,52636129894465538,52636048290086914,52636005340413954,52635833541722114,52635936620937218,52636039700152322,52635940915904514,52636001045446658,52636035405185026,52635953800806402,52636052585054210,52635988160544770,52635970980675586,52636013930348546,52636031110217730,52635829246754818,52635962390740994,52636026815250434,52636452017012738,52636043995119618,52635975275642882,52917566216863746,52917591986667522,52917497497387010,52917540447059970,52917501792354306,52917527562158082,52917557626929154,52917321403727874,52917531857125378,52917622051438594,52917570511831042,52917579101765634,52917506087321602,52917544742027266,52917325698695170,52917574806798338,52917518972223490,52917514677256194,52917304223858690,52917604871569410,52917523267190786,52917312813793282,52917587691700226,52917583396732930,52917536152092674,52917299928891394,52917308518825986,53198774901080064,53199032595709952,53199152854663169,53199062662381568,53198783488196608,53199066955644928,53198800669704192,53198779195588608,53199161445515265,53199144264990721,53199148561072129,53199165742317569,53199054073298944,53199058366038016,53199157151334401,53199131380285441,53198787784409088,53199174343196673,53199127085842433,53199097022775296,53199139973365761,53198796374671360,53199170035056641,53199049776300032,53480524753010688,53480249877790720,53480632128045057,53480627831373825,53480606356996097,53480657909907457,53480649308831745,53480602062553089,53480254172299264,53480623537782785,53480275646414848,53480636422225921,53480258464907264,53480614950076417,53480533342748672,53480529050009600,53480645011767297,53480640719028225,53480507572420608,53480653603667969,53480619241701377,53480262761119744,53480541932355584,53480537639092224,53480271351382016,53480571999485952,53761746328092672,53761999729721344,53762077039263745,53762004026720256,53762115695738881,53762120001781761,53762012615802880,53762107104755713,53762089926787073,53761737737830400,53761724854501376,53761982549131264,53762008319459328,53762046976196608,53762094218412033,53762098514493441,53762111398936577,53761733441617920,53761750623125504,53762102808084481,53762016909066240,53762081333706753,53761729149009920,54043474706432000,54043521952907264,54043487592513536,54043556310417409,54043225599836160,54043491885776896,54043199831212032,54043564903497729,54043552015974401,54043457525841920,54043212714541056,54043582081466369,54043577784795137,54043483296169984,54043569195122689,54043479003430912,54043204125720576,54043573491204097,54043586388623361,54043208418328576,54043221304803328,54325052761505793,54325057058177025,54325048467914753,54324687691251712,54324683395039232,54324674807922688,54324996929617920,54324679102431232,54324932502552576,54325044171833345,54325061365399553,54324958272880640,54325026992685057,54324953980141568,54324700576546816,54324962569224192,54324949683142656,54325039880208385,54324696281513984,54325031287128065,54324966862487552,54606407479263232,54606424659853312,54606437545934848,54606441839198208,54606523444625409,54606536342175745,54606154079141888,54606501969395713,54606506263838721,54606532034887681,54606162667962368,54606428956852224,54606514856919041,54606175553257472,54606519148544001,54606171258224640,54606149784633344,54606158371749888,54606471906328576,54606527738216449,54606433249591296,54887646234935296,54887637644673024,54887916815908864,54887989833629697,54887903933562880,54887946883039232,54887882455973888,54888007011598337,54887633348460544,54887994125254657,54887981240549377,54887976946106369,54887908226301952,54887650529968128,54887912522645504,54888011318951937,54887624761344000,54887998421336065,54887899636563968,54887629055852544,54888002714927105,55169318792003584,55450944078675969,55450995621363713,55450956965019649,55450991326003201,55450600483389440,55450583301881856,55450939786723329,55450931193970689,55450587598094336,55450896836460544,55450853886984192,55450926899527681,55450961259200513,55450574714765312,55450858179723264,55450974145806337,55450999916396545,55450982734888961,55450579009273856,55450952668348417,55450948374757377,55450862476066816,55450596188356608,55450849589985280,55451008517144577,55450965556002817,55450969848741889,55450866769330176,55450832409395200,55450987030642689,55450978440642561,55732049691475968,55732337452777472,55732406170681345,55732436235911169,55732341746040832,55732449122516993,55732440532713473,55732431941730305,55732062574804992,55732414763761665,55732401876238337,55732075460100096,55732333156433920,55732453417353217,55732371813171200,55732427645059073,55732307386105856,55732071165067264,55732053985984512,55732419055386625,55732457711599617,55732324566695936,55732058278592512,55732328863694848,55732444825452545,55732462019084289,55732423351468033,56013829621678080,56295274528047106,56295283117981698,56295197218635778,56295201513603074,56295257348177922,56295218693472258,56295287412948994,56295003945107458,56295214398504962,56295025419943938,56295012535042050,56295291707916290,56295210103537666,56295021124976642,56295240168308738,56295008240074754,56295222988439554,56295265938112514,56294999650140162,56295321772687362,56295244463276034,56295278823014402,56295227283406850,56295304592818178,56295205808570370,56295270233079810,56295231578374146,56295235873341442,56576474618068994,56576762380877826,56576758085910530,56576496092905474,56576796740616194,56576732316106754,56576478913036290,56576487502970882,56576766675845122,56576500387872770,56576753790943234,56576749495975938,56576483208003586,56858271717130242,56857949594583042,56858224472489986,56858207292620802,56858233062424578,56858237357391874,56857962479484930,56857971069419522,56857975364386818,56858241652359170,56857953889550338,56857958184517634,56858228767457282,57139746693775362,57139716629004290,57139437456130050,57139450341031938,57139428866195458,57139708039069698,57139446046064642,57139424571228162,57139699449135106,57139712334036994,57139703744102402,57139682269265922,57139433161162754,57421178721402882,57421191606304770,57420903843495938,57421183016370178,57421221671075842,57420925318332418,57420921023365122,57420912433430530,57421157246566402,57420899548528642,57421174426435586,57421187311337474,57420908138463234,57702374524977154,57702632223014914,57702387409879042,57702395999813634,57702400294780930,57702696647524354,57702649402884098,57702653697851394,57702657992818690,57702383114911746,57702666582753282,57702378819944450,57702662287785986,57984137264627714,57983853796786178,57983862386720770,57984141559595010,57983858091753474,57983870976655362,57984124379725826,57984132969660418,57984107199856642,57984171624366082,57983849501818882,57984128674693122,57983875271622658,58265612241272834,58265350248267778,58265345953300482,58265607946305538,58265328773431298,58265333068398594,58265337363365890,58265616536240130,58265603651338242,58265646601011202,58265324478464002,58265599356370946,58265582176501762,58546803749945346,58547078627852290,58546825224781826,58547121577525250,58546812339879938,58547057153015810,58547074332884994,58546808044912642,58546799454978050,58546820929814530,58547091512754178,58547082922819586,58547087217786882,58828553607512064,58828682455416833,58828557900251136,58828274435293184,58828278729801728,58828656685547521,58828665276530689,58828532129923072,58828626620055553,58828562196594688,58828660979728385,58828643799203841,58828639507251201,58828283022409728,58828648095285249,58828596556988416,58828549310513152,58828686751170561,58828566489858048,58828652388876289,58828673866334209,58828287318622208,58828699647934465,58828691046531073,58828295908884480,58828669569269761,58828678161170433,58828695341891585,58828630914498561,58828300203917312,59109775178137602,59109762293235714,59110007106371586,59109749408333826,59109753703301122,59110037171142658,59110028581208066,59110032876175362,59110041466109954,59110024286240770,59109770883170306,59109757998268418,59110071530881026,59391503558311938,59391237270339586,59391507853279234,59391546507984898,59391512148246530,59391232975372290,59391245860274178,59391482083475458,59391224385437698,59391499263344642,59391516443213826,59391228680404994,59391250155241474,59672707951493122,59672987124367362,59672957059596290,59672712246460418,59672720836395010,59673021484105730,59672991419334658,59672982829400066,59672725131362306,59672978534432770,59672974239465474,59672699361558530,59672703656525826,59954316076974082,59954328961875970,59954432041091074,59954324666908674,59954492170633218,59954333256843266,59954303192072194,59954436336058370,59954346141745154,59954311782006786,59954363321614338,59954320371941378,59954517940436994,59954423451156482,59954354731679746,59954337551810562,59954359026647042,59954479285731330,59954440631025666,59954281717235714,59954294602137602,59954307487039490,59954350436712450,59954298897104898,59954341846777858,59954487875665922,59954286012203010,59954290307170306,60235954262638594,60235756694142978,60235962852573186,60235911312965634,60235915607932930,60235816823685122,60235825413619714,60235791053881346,60235786758914050,60235812528717826,60235967147540482,60235778168979458,60235907017998338,60235765284077570,60235829708587010,60235795348848642,60235992917344258,60235799643815938,60235838298521602,60235808233750530,60235803938783234,60235769579044866,60235773874012162,60235834003554306,60235782463946754,60235760989110274,60235898428063746,60235821118652418,60517124306501632,60798783956910082,60798728122335234,60798856971354114,60798766777040898,60798865561288706,60798732417302530,60798719532400642,60798723827367938,60798771072008194,60798736712269826,60798710942466050,60798904215994370,60798942870700034,60798706647498754,60798741007237122,60798912805928962,60798917100896258,60798753892139010,60798715237433346,60798749597171714,60798745302204418,60798861266321410,60798762482073602,60798848381419522,60798775366975490,60798788251877378,60798758187106306,60798779661942786,61080198796935168,61080546688172033,61080203091836928,61080246040068096,61080224567197696,61080254632099840,61080211682361344,61080228860067840,61080241745756160,61080237451313152,61080615425867777,61080267533582336,61080233156804608,61080538099744769,61080215977000960,61080190206279680,61080520926167041,61080542394187777,61080585344253953,61080207385296896,61080181616869376,61080572458303489,61080263220461568,61080250335232000,61080194501574656,61080185910853632,61080533805039617,61080258927198208,61080220272099328,61361961541566465,61361557812805632,61361570699280384,61361824100909056,61361832690647040,61361806920318976,61361914297974785,61361931475943425,61361549225689088,61361553520197632,61361871347384320,61361948656730113,61361918589599745,61361952951566337,61361957245812737,61361905704894465,61361935770124289,61361841280253952,61361944359665665,61361574994313216,61361828397907968,61361970132680705,61361927179272193,61361922885681153,61361901410451457,61361802639900672,61361987323559937,61361562109018112,61361836986990592,61361965836926977,61361940066926593,61643281911775232,61643337737437186,61643286197829634,61643273321775104,61924812714082306,61924748293701632,61924499172360192,61924761174474754,61925057536262145,61924756883832832,61925018866155521,62206223270412288,62206107292139520,62206446595014657,62206296271224832,62206528218071041,62206145946910720,62206515322224641,62206485251096577,62206438006587393,62206433711882241,62206128766910464,62206081523712000,62206472365146113,62206102998679552,62206137358155776,62206115883843584,62206493839392769,62206133063647232,62205974149070848,62206532508123137,62206236160360448,62206489547767809,62206141652598784,62206163127304192,62206231860543488,62206506743365633,62206511027191809,62206111589203968,62206420833009665,62206154538942464,62206498148450305,62206085817696256,62206442301030401,62206120178941952,62206090113122304,62206124474040320,62206098703777792,62206094408417280,62206158834040832,62206150242074624,62487762667110402,62487711127502850,62769186104147970,62769237643755522,63050545120608258,63050570890412034,63050721214267394,63050510760869890,63050553710542850,63050656789757954,63050515055837186,63050536530673666,63050575185379330,63050519350804482,63050583775313922,63050523645771778,63050399091720194,63051026156945410,63050566595444738,63050532235706370,63050506465902594,63050562300477442,63050579480346626,63050540825640962,63050588070281218,63050549415575554,63050558005510146,63050527940739074,63332294969262081,63332140357582848,63332131757293568,63332286378541057,63332436715110401,63332282082787329,63332290673901569,63332161823965184,63332239134621697,63332157527621632,63331899831287808,63332264903901185,63332269196640257,63331886945992704,63332252016246785,63332226247426049,63332148937883648,63332277788540929,63332299271503873,63332243426574337,63332256312918017,63332260607098881,63332166117228544,63332441010012161,63332247722655745,63332153234882560,63331895536254976,63331882649780224,63332273493704705,63332196184358912,63332230541869057,63331874062663680,63331878357172224,63613653979824130,63613662569758722,63895128961908738,63895137551843330,63895094602170370,64176612523048962,64176603933114370,64458237827350529,64457932877332480,64458255013445633,64458259301924865,64458242114715649,64458246408699905,64457881337397248,64458272178831361,64457962940989440,64457954352627712,64457907105824768,64458044564242432,64457928580595712,64457941466284032,64457911402889216,64457945760595968,64457937171841024,64458285071925249,64457958647726080,64457950055759872,64457919992627200,64457924287725568,64457915697528832,64739553888632834,64739562478567426,65021028877467648,65021037467467776,65302503842185218,65302516739211264,65302512432119810,65583965930913792,65584043240259585,65583931570978816,65584047536340993,65584111975071745,65583957341306880,65584030355554305,65584060420784129,65584064717586433,65584077602226177,65584086192226305,65583678170857472,65583673876348928,65584094783340545,65583686759677952,65583695349940224,65584051829932033,65584069010325505,65584038948634625,65584081896472577,65583961637650432,65584090487586817,65584056126603265,65583682463465472,65583948751568896,65583953048567808,65583699644973056,65584073307389953,65584026061111297,65583995998044160,65865312060833794,65865324945735682,65865294880964610,65865273406128130,65865307765866498,65865290585997314,65865337830637570,65865329240702978,65865397960179714,65865299175931906,65865410845081602,65865406550114306,65865260521226242,65865281996062722,65865453794754562,65865286291030018,65865303470899202,65865264816193538,65865256226258946,65865333535670274,65865277701095426,65865269111160834,65865470974623746,65865148852076546,65865462384689154,65865320650768386,65865316355801090,65865466679656450,66146761268068354,66146804217741314,66146769858002946,66146782742904834,66146787037872130,66146808512708610,66146799922774018,66146731203297282,66146778447937538,66146795627806722,66146812807675906,66146765563035650,66146894412054530,66146791332839426,66146756973101058,66146774152970242,66428098806087682,66428356504125442,66428420928634882,66428360799092738,66428347914190850,66428416633667586,66709831480705026,66709895905214466,66709891610247170,66709835775672322,66709822890770434,66709573782667266,66991319354966016,66991362300444672,67272695535370242,67272686945435650,67272712715239426,67272631110860802,67272674060533762,67272841564258306,67272781434716162,67272678355501058,67272652585697282,67272785729683458,67272837269291010,67272772844781570,67272845859225602,67272704125304834,67272643995762690,67272708420272130,67272661175631874,67272656880664578,67272635405828098,67272665470599170,67272682650468354,67272699830337538,67272523736678402,67272828679356418,67272669765566466,67272691240402946,67272639700795394,67272648290729986,67553998715092992,67554505531654145,67835851643617281,67835765744599040,67835757154992128,67835838762319873,67835761451335680,67835495163625472,67835873121075201,67835499458658304,67835731384664064,67835825874796545,67835843053944833,67835830169239553,67835864531271681,67835482277150720,67835894597025793,67835477984542720,67835748565254144,67835890301272065,67835795811729408,67835881710157825,67835877415911425,67835847350026241,67835886005911553,67835911788953601,67835486573363200,67835860234469377,67835752862253056,67835868824010753,67835473690034176,67835855940288513,68117227833851906,68117253603655682,68116978725748738,68117266488557570,68117202064048130,68117219243917314,68117287963394050,68117232128819202,68117004495552514,68117008790519810,68117210653982722,68117000200585218,68116987315683330,68117283668426754,68116991610650626,68116983020716034,68117296553328642,68117279373459458,68117275078492162,68117245013721090,68116995905617922,68117223538884610,68117270783524866,68117249308688386,68117262193590274,68398754350039042,68398758645006338,68398719990300674,68398466587230210,68398707105398786,68398724285267970,68398483767099394,68398750055071746,68398685630562306,68398694220496898,68398741465137154,68398470882197506,68398462292262914,68398728580235266,68398771529908226,68398745760104450,68398737170169858,68398457997295618,68398453702328322,68398475177164802,68398762939973634,68398479472132098,68398698515464194,68398702810431490,68398677040627714,68679937269039106,68680173492240386,68679928679104514,68680246506684418,68679950153940994,68680233621782530,68680220736880642,68680229326815234,68680160607338498,68680225031847938,68680203557011458,68680237916749826,68680199262044162,68680152017403906,68679941564006402,68679958743875586,68680216441913346,68680177787207682,68679932974071810,68680212146946050,68679945858973698,68679954448908290,68680194967076866,68680182082174978,68680169197273090,68961390769143810,68961438013784066,68961442308751362,68961476668489730,68961455193653250,68961635582279682,68961468078555138,68961433718816770,68961695711821826,68961420833914882,68961403654045698,68961463783587842,68961657057116162,68961429423849474,68961691416854530,68961395064111106,68961416538947586,68961712891691010,68961721481625602,68961631287312386,68961446603718658,68961472373522434,68961669942018050,68961412243980290,68961717186658306,68961622697377794,68961626992345090,68961459488620546,68961687121887234,68961652762148866,68961704301756418,68961648467181570,68961678531952642,68961425128882178,68961674236985346,68961399359078402,68961682826919938,68961700006789122,68961644172214274,68961407949012994,68961450898685954,68961708596723714,69243127745806336,69243222248062977,69243140628152320,69243106268217344,69242870047178752,69242852868096000,69242874342211584,69243170695282688,69243136334888960,69243213645873153,69242848573587456,69243200758349825,69242861456916480,69243132038545408,69243123448807424,69242857160704000,69243205052792833,69243217937498113,69524439507599360,69524430918189056,69524503933419520,69524585554837504,69524864716701697,69524860421668865,69524783106359297,69524512521781248,69524877612548097,69524478161387520,69524499636551680,69524456686616576,69524443802894336,69524572664889344,69524881902600193,69524856137842689,69524847544762369,69524469573419008,69524791695507457,69524834645573633,69524787401064449,69524465278320640,69524508228517888,69524473868517376,69524581256724480,69524491047075840,69524435212173312,69524452393156608,69524448098254848,69524821759623169,69524770227486721,69524795989491713,69524460983681024,69524495341387776,69524486752632832,69524645665701888,69524482458124288,69806060522373122,69806047641600000,69806056233435136,69806356884160513,70087535499018242,70369135024865281,70369070602125312,70369139321667585,70369173682061313,70369104959635457,70368769954021376,70369023355650048,70369117844340737,70368774249054208,70369122140422145,70369152206307329,70369113552388097,70369143614406657,70369156500553729,70369165091667969,70369147911471105,70368752774938624,70369036241731584,70369100665192449,70369169387028481,70369182270095361,70368761363759104,70369040534994944,70369126434013185,70368748480430080,70369006175059968,70368757067546624,70369031945388032,70369160796307457,70369341198303233,70369130730684417,70369053421731840,70369027652648960,70650489750552578,70650433915977730,70650244937416706,70650494045519874,70650446800879618,70650468275716098,70650455390814210,70650223462580226,70650498340487170,70650528405258242,70650227757547522,70650481160617986,70650515520356354,70650463980748802,70650511225389058,70650429621010434,70650506930421762,70650459685781506,70650249232384002,70650236347482114,70650502635454466,70650438210945026,70650442505912322,70650451095846914,70650545585127426,70650421031075842,70650425326043138,70650232052514818,70932011970068480,70931951849373696,71213499820802050,71213216352960514,71213250712698882,71213259302633474,71213456871129090,71213422511390722,71213443986227202,71213478345965570,71213491230867458,71213203468058626,71213495525834754,71213263597600770,71213242122764290,71213199173091330,71213255007666178,71213517000671234,71213435396292610,71213452576161794,71213224942895106,71213233532829698,71213194878124034,71213474050998274,71213469756030978,71213426806358018,71213229237862402,71213486935900162,71213512705703938,71213267892568066,71213431101325314,71213220647927810,71213508410736642,71213190583156738,71213521295638530,71213237827796994,71213482640932866,71213448281194498,71213276482502658,71213272187535362,71213212057993218,71213246417731586,71213207763025922,71213504115769346,71494979092545538,71494729984442370,71494987682480130,71494974797578242,71494669854900226,71494923257970690,71494944732807170,71494682739802114,71494970502610946,71494927552937986,71494674149867522,71494704214638594,71494897488166914,71494953322741762,71494983387512834,71494751459278850,71494725689475074,71494691329736706,71494931847905282,71494734279409666,71494906078101506,71494665559932930,71494708509605890,71494957617709058,71494717099540482,71494742869344258,71494721394507778,71494991977447426,71494996272414722,71494910373068802,71494901783134210,71494699919671298,71494687034769410,71494678444834818,71494966207643650,71494949027774466,71494918963003394,71494695624704002,71494738574376962,71494961912676354,71494712804573186,71494747164311554,71776192076054530,71776204960956418,71776174896185346,71776462658994178,71776381054615554,71776441184157698,71776393939517442,71776183486119938,71776466953961474,71776406824419330,71776209255923714,71776398234484738,71776419709321218,71776170601218050,71776179191152642,71776445479124994,71776149126381570,71776157716316162,71776213550891010,71776449774092290,71776458364026882,71776222140825602,71776153421348866,71776436889190402,71776471248928770,71776432594223106,71776144831414274,71776187781087234,71776226435792898,71776372464680962,71776402529452034,71776200665989122,71776424004288514,71776140536446978,71776217845858306,71776454069059586,71776196371021826,71776385349582850,71776166306250754,71776376759648258,71776428299255810,71776162011283458,72057911885889536,72057860346216448,72339386843004930,72339335303397378,72620586953670656,72620887601512448,72620591248703488,72620896181616642,72620823167172610,72620866116845570,72620608418807810,72620818872205314,72620844642009090,72620861821878274,72620810282270722,72620801692336130,72620848936976386,72620599828873218,72620604123840514,72620883306348544,72620853231943682,72620595533905922,72902285258915842,72902362578223104,72902293848850434,72902061930381312,72902336798523394,72902298143817730,72902276668981250,72902358283059200,72902341093490690,72902079100485634,72902319618654210,72902083395452930,72902323913621506,72902070510551042,72902371158261762,72902074805518338,72902066225414144,72902328208588802,73183764539768834,73183657165586434,73183506841731074,73183790309572610,73183777424670722,73183627100815362,73183687230357506,73183755949834242,73183511136698370,73183670050488322,73183725885063170,73183682935390210,73183700115259394,73184125317021698,73183773129703426,73183665755521026,73183695820292098,73183820374343682,73183635690749954,73183708705193986,73183498251796482,73183674345455618,73183609920946178,73183786014605314,73183803194474498,73183743064932354,73183717295128578,73183661460553730,73183644280684546,73183730180030466,73183622805848066,73183519726632962,73183631395782658,73183704410226690,73183781719638018,73183648575651842,73183678640422914,73183605625978882,73183652870619138,73183618510880770,73183524021600258,73183639985717250,73183768834736130,73183721590095874,73183502546763778,73183738769965058,73183734474997762,73183713000161282,73183614215913474,73465170796609538,73465179386544130,73464973228113922,73465200861380610,73464981818048514,73464977523081218,73465230926151682,73464998997917698,73465239516086274,73465248106020866,73465278170791938,73465187976478722,73465265285890050,73465218041249794,73465209451315202,73465175091576834,73464994702950402,73465183681511426,73465196566413314,73465205156347906,73465192271446018,73465256695955458,73465213746282498,73465252400988162,73465243811053570,73464986113015810,73465295350661122,73465260990922754,73746796087869442,73746486850224130,73746723073425410,73746478260289538,73746508325060610,73746710188523522,73746482555256834,73746491145191426,73746744548261890,73746748843229186,73746766023098370,73746495440158722,73746718778458114,73746499735126018,73746701598588930,73746753138196482,73746504030093314,73746787497934850,73746727377633280,73746783202967554,73746731672666112,73746761728131074,74027966121967618,74028258179743746,74028202354343936,74028185165299714,74027957532033026,74028223820005378,74028228114972674,74028271064645634,74027970416934914,74028240999874562,74027983301836802,74028262474711042,74027974711902210,74027953237065730,74028219525038082,74028206649376768,74028193755234306,74027979006869506,74028198050201602,74027961827000322,74028176575365122,74028236704907266,74309625791643650,74309419633213442,74309664446349314,74309642971512834,74309634381578242,74309630086610946,74309608611774466,74309690216153090,74309638676545538,74309411043278850,74309402453344258,74309677331251202,74309668741316610,74309720280924162,74309398158376962,74309423928180738,74309617201709058,74309681626218498,74309685921185794,74309406748311554,74309595726872578,74309655856414722,74309703101054978,74309612906741762,74309604316807170,74309600021839874,74309621496676354,74309673036283906,74591190955589634,74591178070687746,74591126531080194,74591186660622338,74591135121014786,74872631572758528,74872554264330240,74872953695895553,74872713179758593,74872721767792641,74872773309431809,74872549969166336,74872635869102080,74872640162365440,74872622983020544,74872764719038465,74872700292562945,74872756127924225,74872614390661120,74872717471711233,74872369581391872,74872653049102336,74872923633025025,74872545674330112,74872945106812929,74872360991129600,74872940810928129,74872605802430464,74872726061383681,74872704587005953,74872927925960705,74872747538841601,74872734652235777,74872584330674176,74872919351099393,74872781897465857,74872769014398977,74872567149428736,74872760423677953,74872352402309120,74872670229495808,74872580035510272,74872373876424704,74872575737724928,74872356694917120,74872348105048064,74872730358054913,74872738949038081,74872751833677825,74872588623740928,74872627280019456,74872592917790720,74872562854526976,74872571445379072,74872743241777153,74872949399748609,75154085090230272,75154136620728320,75435628775604224,75435611588198402,75435358185127938,75435345300226050,75435349595193346,75435594408329218,75435615883165698,75435624480768000,75435645947936770,75435551458656258,75435602998263810,75435332415324162,75435633063034882,75435560048590850,75435577228460034,75435341005258754,75435637358002178,75435572933492738,75435598703296514,75435328120356866,75435581523427330,75435336710291458,75435568638525442,75435620185735168,75435353890160642,75717026435432450,75716824571969538,75717056500203522,75717047910268930,75717086564974594,75716833161904130,75716828866936834,75717052205236226,75717077975040002,75716803097133058,75716815982034946,75717112334778370,75717120924712962,75716820277002242,75717043615301634,75717108039811074,75717103752314880,75717035025367042,75717095162445824,75717099457478656,75716807392100354,75716811687067650,75717069385105410,75717073680072706,75717090859941890,75998510003191810,75998548666941440,75998518593126402,75998544362930178,75998308139728898,75998501413257218,75998552952864770,75998561542799362,75998565837766658,75998303844761602,75998595902537730,76280036527570944,76279984997138432,76561511504281600,76561459973914624,76842934950690816,77124465744478210,77124444269641730,77124448564609026,77124461449510914,77124203751473154,77124422804111360,77124208046440450,77124409909903362,77124418499837954,77124401319968770,77124495809249282,77124452859576322,77405970786222082,77405919254872064,77405927836549122,77405884886876162,77405678728445954,77405876296941570,77405940721451010,77405683023413250,77405893476810754,77405936426483714,77687394222931970,77687149417463808,77687368453128194,77687398517899266,77687445762539522,77687351273259010,77687372748095490,77687402812866562,77687359863193602,77687415697768450,77687411402801154,77687157999730690,77687145122562048,77687153704763394,77968607214698496,77968886378987522,77968602919665664,77968620091015170,77968920738725890,77968912148791298,77968624385982466,77968847724281858,77968628680949762,77968826249445378,77968907853824002,77968869199118338,77968615796047874,77968873494085634,77968890673954818,77968632975917058,77968877789052930,77968611501080578,77968834839379970,77968843429314562,78250395715567618,78250090772889602,78250382830665730,78250352765894658,78250348470927362,78250309816221698,78250086477922306,78250077896376320,78250361355829250,78250095067856898,78250344175960066,78250387125633026,78250082191409152,78250107952758786,78250318406156290,78250322701123586,78250103657791490,78250365650796546,78250099362824194,78250301226287106,78531793382932482,78531836332605442,78531797677899778,78531561454698498,78531552873086976,78531870692343810,78531574339600386,78531570044633090,78531862102409218,78531827742670850,78531840627572738,78531784792997890,78531565749665794,78531857807441922,78531776203063298,78531578634567682,78531582929534978,78531557168119808,78531823447703554,78531819152736258,78813315604152322,78813036431278082,78813027849797632,78813053611147266,78813302719250434,78813345668923394,78813032144830464,78813294129315842,78813049316179970,78813311309185026,78813251179642882,78813040726245378,78813268359512066,78813045021212674,78813298424283138,78813272654479362,78813057906114562,78813337078988802,78813332784021506,78813259769577474,79094730469474304,79376265575792640,79376261271388160,79657478551109632,79657736240300034,79657740535267330,79657482837229570,79657684700692482,79657727650365442,79657770600038402,79657693290627074,79657676110757890,79938901988737026,79939125327036418,79939103852199938,79938919168606210,79939112442134530,79938897693769730,79939129622003714,79939202636447746,79938906283704322,79939138211938306,79939099557232642,79939121032069122,79938910578671618,79939116737101826,79938923463573506,79939155391807490,79939142506905602,79939181161611266,79939219816316930,79939176866643970,79939189751545858,79939168276709378,79939163981742082,79939133916971010,79939108147167234,79939172571676674,79939095262265346,79939185456578562,80220643244310530,80220677604048898,80220634654375938,80220690488950786,80220626064441346,80220686193983490,80502109637181442,80502161176788994,80783584613564418,80783636153171970,81065059590144002,81346534567772162,81346530272804866,81346586107379714,81346521682870274,81628000965033984,81909660625403905,81909231112683520,81909505990524928,81909626251444225,81909591889477633,81909248294191104,81909514580131840,81909544647262208,81909587597852673,81909574710329345,81909630545690625,81909480220196864,81909222525566976,81909639136804865,81909600479150081,81909243999158272,81909609070002177,81909579004772353,81909235408896000,81909643432558593,81909604775821313,81909497400786944,81909617659543553,81909613366804481,81909510286868480,81909475941875712,81909501697785856,81909621956608001,81909596185559041,81909226820075520,81909634841444353,82191157058338817,82191208597553153,82191144179466241,82190817754873856,82191234373648385,82190869293367296,82190826345136128,82190959508586496,82190822050234368,82190839230300160,82190804870168576,82190860704612352,82191169941471233,82190886473760768,82190847820496896,82190813459578880,82190877885399040,82191161353043969,82190873588531200,82190852113367040,82190830638596096,82191165647486977,82191238668681217,82191195711602689,82190856410103808,82190809164152832,82190834935660544,82191230091591681,82190864999055360,82190843525398528,82190882180497408,82472486014091266,82472434474483714,82472430188363776,82472421598363648,82753909462138880,83035380133330946,83035371543396354,83035435967905794,83035384428298242,83316859415625728,83598342982336512,83598385932075008,83879817948823554,83879860898496514,84161181251993602,84161168367091714,84161327280881666,84161211316764674,84161280036241410,84161134007353346,84161146892255234,84161142597287938,84161335870816258,84161176957026306,84161340165783554,84161344460750850,84161284331208706,84161129712386050,84161271446306818,84161194136895490,84161155482189826,84161151187222530,84161022338203650,84161189841928194,84161198431862786,84161185546960898,84161138302320642,84161164072124418,84161159777157122,84161207021797378,84161202726830082,84161172662059010,84442681998966786,84442647639228418,84442630459359234,84442664819097602,84442669114064898,84442639049293826,84442677703999490,84442673409032194,84442660524130306,84442767898312706,84442656229163010,84442686293934082,84442643344261122,84442604689555458,84442634754326530,84442651934195714,84724466227609601,84724496272654337,84723972285923328,84724491976245249,84724294408077312,84724290127724544,84724487696154625,84724229984092160,85005812341669889,85005726441603072,85005735030685696,85005838110621697,85005846700425217,85005859585261569,85005473038008320,85005704964014080,85005829519638529,85005799454146561,85005451563892736,85005863880622081,85005855289507841,85005803748589569,85005820929376257,85005769391079424,85005455856500736,85005816633294849,85005885369810945,85005468742975488,85005739323949056,85005460152713216,85005850995261441,85005722144604160,85005842403360769,85005730734342144,85005825222967297,85005447269384192,85005833813819393,85005868176375809,85287227188707330,85287235778641922,85568513187053570,85568534661890050,85568504597118978,85568646331039746,85568586201497602,85568702165614594,85568543251824642,85568659215941634,85568581906530306,85568715050516482,85568710755549186,85568530366922754,85568719345483778,85568556136726530,85568564726661122,85568526071955458,85568560431693826,85568551841759234,85568547546791938,85568508892086274,85568538956857346,85568573316595714,85568569021628418,85568397222936578,85568577611563010,85568521776988162,85568654920974338,85568517482020866,85850142782783490,85850185732456450,86131617759625218,86131660709298178,86413152859389954,86412873686515714,86412925226123266,86412920931155970,86413170039259138,86413127089586178,86412912341221378,86413122794618882,86412856506646530,86412895161352194,86412882276450306,86413105614749698,86413084139913218,86412916636188674,86413157154357250,86413161449324546,86413101319782402,86412903751286786,86413148564422658,86413075549978626,86412860801613826,86412899456319490,86413165744291842,86412886571417602,86413118499651586,86413144269455362,86413097024815106,86413139974488066,86413092729847810,86412908046254082,86412890866384898,86412877981483010,86412869391548418,86412852211679234,86412865096581122,86413135679520770,86694572004868096,86694675083231233,86694687970885633,86694653608853505,86694730935238657,86694305716764672,86694666493558785,86694310012977152,86694576301867008,86694679379902465,86694297129648128,86694301424156672,86694705149771777,86694554824278016,86694700855525377,86694559136481280,86694580594606080,86694683674083329,86694662201606145,86694713740886017,86694318603239424,86694696560689153,86694709445525505,86694649314410497,86694692263624705,86694322898272256,86694718036246529,86694670789640193,86694722331279361,86694589184212992,86694619251343360,86694584890949632,86976085631500290,86975789278756866,86975797868691458,86976089926467586,86975836523397122,86976021206990850,86976042681827330,86975857998233602,86975819343527938,86975806458626050,86976068451631106,86976094221434882,86975793573724162,86975823638495234,86976115696271362,86975832228429826,86975853703266306,86976098516402178,86976081336532994,86975840818364418,86975870883135490,86976025501958146,86975866588168194,86976077041565698,86975845113331714,86975827933462530,86975810753593346,86976119991238658,86976055566729218,86976102811369474,86976034091892738,86976046976794626,86975849408299010,86976029796925442,86975862293200898,86975815048560642,86976111401304066,86975875178102786,86975802163658754,86976072746598402,86976051271761922,86976107106336770,87257552018407426,87257547723440130,87257320090173442,87257509068734466,87257324385140738,87257268550565890,87257281435467778,87257500478799874,87257277140500482,87257294320369666,87257556313374722,87257345859977218,87257573493243906,87257311500238850,87257328680108034,87257496183832578,87257290025402370,87257504773767170,87257594968080386,87257530543570946,87257298615336962,87257517658669058,87257332975075330,87257582083178498,87257307205271554,87257302910304258,87257569198276610,87257341565009922,87257350154944514,87257315795206146,87257285730435074,87257543428472834,87257586378145794,87257577788211202,87257264255598594,87257526248603650,87257560608342018,87257564903309314,87257590673113090,87257272845533186,87257521953636354,87257337270042626,87538743533371392,87539112901017601,87539117193756673,87538979754409984,87538730646896640,87539100013363201,87538996935000064,87539087131738113,87539134375657473,87538722059780096,87539104310034433,87539078538985473,87538726354288640,87539121490821121,87539147275501569,87539074244542465,87539138671017985,87539009821081600,87539125785657345,87539014114344960,87539091423690753,87539142966378497,87538747828404224,87539001231998976,87539108604215297,87539044181475328,87539095719772161,87539130079903745,87539005524738048,87538734943109120,87820197040422914,87820441853558786,87820437558591490,87820205630357506,87820416083755010,87820454738460674,87820433263624194,87820403198853122,87820467623362562,87820428968656898,87820519162970114,87820424673689602,87820398903885826,87820489098199042,87820471918329858,87820411788787714,87820201335390210,87820484803231746,87820222810226690,87820420378722306,87820480508264450,87820209925324802,87820501983100930,87820463328395266,87820394608918530,87820407493820418,87820218515259394,87820476213297154,88102105802866689,88101873874567168,88102071444242433,88102251831361537,88101886759927808,88101895350779904,88101672010448896,88102045673193473,88101878169731072,88102041377112065,88102264716328961,88102097214832641,88102067147177985,88102080033325057,88102075739078657,88101955478159360,88102088624439297,88101976954503168,88102277601296385,88102049966784513,88101908236075008,88101916823191552,88101964067766272,88101697781825536,88101912529141760,88101946888421376,88101869579730944,88101938296061952,88101951185420288,88101903940911104,88101891054829568,88101994134896640,88101959774502912,88102037085159425,88102062854438913,88102269012213761,88101680600317952,88102054263455745,88102058557636609,88101676307709952,88101693486792704,88102273305149441,88101929707831296,88102028492406785,88102024197963777,88102247538425857,88102092919799809,88102243257876481,88101684896530432,88101899643125760,88102084329078785,88383529240166401,88383151284420608,88383374619836416,88383348851277824,88383434751213568,88383743988924417,88383546420953089,88383726808072193,88383172758536192,88383542123888641,88383159873241088,88383426162130944,88383361736638464,88383421865132032,88383353146441728,88383550715789313,88383451931213824,88383439044476928,88383344556441600,88383752578007041,88383559305789441,88383499174674433,88383572191543297,88383512061870081,88383748281860097,88383503469117441,88383383212785664,88383516353822721,88383430454870016,88383537831149569,88383563601149953,88383520649904129,88383722515136513,88383524943495169,88383168463503360,88383555010035713,88383739693039617,88383366031540224,88383146987159552,88383404684541952,88383580779577345,88383378917621760,88383413272772608,88383387505852416,88383155577028608,88383718234652673,88383391799902208,88383370327490560,88383567896510465,88383533534347265,88383469111607296,88665227554717697,88664858189496320,88665201784782849,88665193211428865,88664823827988480,88665197491847169,88664828123152384,88664836713349120,88664634849951744,88664879661252608,88664901138841600,88664888249483264,88664914021187584,88664647735246848,88664621963870208,88664944088317952,88665042873221121,88664926907924480,88665038577860609,88665223258570753,88664999920205825,88664866776612864,88664905431580672,88665008511057921,88665004216877057,88664974151385089,88664626261131264,88665017100599297,88664909727924224,88665012807860225,88665025692499969,88665029986746369,88664995626614785,88664841008250880,88664853894332416,88665047168253953,88665218965635073,88664630553739264,88665021397663745,88664991330533377,88664845304201216,88664896841842688,88664987038580737,88664978445828097,88664643440214016,88664819533152256,88665214669750273,88664849596547072,88665034282500097,88665055756288001,88664862482563072,88946195721027586,88946131296518146,88946440534163458,88946165656256514,88946161361289218,88946157066321922,88946169951223810,88946431944228866,88946187131092994,88946423354294274,88946152771354626,88946191426060290,88946397584490498,88946436239196162,88946182836125698,88946148476387330,88946127001550850,88946376109654018,88946393289523202,88946367519719426,88946410469392386,88946144181420034,88946401879457794,88946139886452738,88946358929784834,88946135591485442,88946178541158402,88946371814686722,88946419059326978,88946444829130754,88946380404621314,88946200015994882,88946174246191106,88946427649261570,88946414764359682,88946350339850242,89228005725962241,89227855385001984,89227984235921409,89227962761281537,89227979940167681,89227971351085057,89227829614673920,89227941283954689,89227894041739264,89227846795264000,89227924104806401,89227584803373056,89227975645921281,89227863974608896,89227945580036097,89227851092262912,89227580507160576,89227936992002049,89227859681345536,89227593393635328,89227967054020609,89227571920044032,89227958464479233,89227954170298369,89227928399249409,89227576214552576,89227992826642433,89227949873627137,89227988531281921,89227597688668160,89227997121675265,89509411969040385,89509334658056192,89509420556746753,89509051191263232,89509450622631937,89509442030731265,89509433441189889,89509463507992577,89509338951319552,89509055483871232,89509454916878337,89509321771974656,89509399081517057,89509326068973568,89509059780083712,89509403375960065,89509424850337793,89509046896754688,89509072665378816,89509446327795713,89509304591384576,89509467817836545,89509369018449920,89509416260665345,89509068370345984,89509330361712640,89509429147009025,89509459212632065,89509437737992193,89790783869157378,89790770984255490,89790779574190082,89790835408764930,90072250267598848,90353720937742338,90353729527676930,90353785362251778,90353733822644226,90635260339224578,90635204504649730,90635208799617026,90635195914715138,90916683787730944,91198145867677698,91198158752579586,91198154457612290,91198210292187138,91479620844781570,91479633729683458,91479685269291010,91479629434716162,91761151656329218,91761117296590850,91761160246263810,92042325981659136,92042686759108609,92042673871912961,92042746895990785,92042579381780480,92042321687150592,92042600859369472,92042330274267136,92042334570479616,92042884342349825,92042721118191617,92042596562370560,92042703937404929,92042699640733697,92042742593748993,92042712528388097,92042592284639232,92042734003027969,92042716821127169,92042725413027841,92042691051061249,92042587982069760,92042643808845824,92042613741715456,92042738298388481,92042678166355969,92042347455774720,92042708231585793,92042695347142657,92042609448452096,92042605152108544,92042343160741888,92042729707274241,92324101606342658,92324110196277250,92605576583249922,92605585173184514,92887326435442689,92886961364008960,92887339320410113,92887115981193217,92887163228520449,92887120277274625,92887098802044929,92887343616294913,92887021492502528,92887051558584320,92886772385906688,92887322142507009,92886969954861056,92886755204399104,92887103096487937,92887167523880961,92887141751259137,92886948478648320,92886982840156160,92887158933159937,92886952773812224,92886759500611584,92887154637406209,92887124570865665,92887180406947841,92886974247206912,92886746614530048,92887317862547457,92887030082240512,92886944183812096,92886768090873856,92887352205377537,92886978544992256,92887347909230593,92887133161717761,92887068738977792,92886750911791104,92887137458520065,92886991427272704,92886965658910720,92887150343159809,92887128867536897,92887171818913793,92887111689240577,92886987133222912,92887025789501440,92887004311912448,92887034378584064,92887038671847424,92887012900143104,92887146048323585,93168483601678336,93168535130210304,93449958556762114,93450010096369666,93731386300497922,93731184437035010,93731429250170882,93731175847100418,93731180142067714,93731369120628738,93731394890432514,93731171552133122,93731455019974658,93731412070301698,93731442135072770,93731459314941954,93731193026969602,93731450725007362,93731377710563330,93731416365268994,93731403480367106,93731437840105474,93731382015557632,93731446430040066,93731399185399810,93731197321936898,93731373415596034,93731493674680322,93731463609909250,93731476494811138,93731407775334402,93731390595465218,94012925701914626,94012844097536002,94012852687470594,94012921406947330,94012917111980034,94012878457274370,94012904227078146,94012882752241666,94012874162307074,94012968651587586,94012934291849218,94012951471718402,94012865572372482,94012861277405186,94012856982437890,94012848392503298,94012938586816514,94012869867339778,94012668003876866,94012891342176258,94012672298844162,94012912817012738,94012646529040386,94012887047208962,94012655118974978,94012659413942274,94012650824007682,94012929996881922,94294125800652802,94294443628232706,94294404973527042,94294387793657858,94294353433919490,94294323369148418,94294336254050306,94294121505685506,94294344843984898,94294409268494338,94294379203723266,94294134390587394,94294357728886786,94294331959083010,94294142980521986,94294426448363522,94294400678559746,94294362023854082,94294319074181122,94294396383592450,94294147275489282,94294130095620098,94294413563461634,94294340549017602,94294349138952194,94294392088625154,94294327664115714,94294366318821378,94575858485362688,94575910013763584,94857324853264386,94857342033133570,94857333443198978,94857389277773826,94857376392871938,94857384982806530,95138808426790914,95138859966398466,95138795541889026,95138804131823618,95420270518861826,95420279108796418,95420283403763714,95420334943371266,95701766970736642,95701809920409602,95983284896989186,95983276307054594,95983241947316226,96264656796254210,96264661091221506,96264669681156098,96264467817693186,96264673976123394,96264725515730946,96264768465403906,96264682566057986,96264716925796354,96264450637824002,96264652501286914,96264648206319618,96264454932791298,96264712630829058,96264738400632834,96264729810698242,96264472112660482,96264704040894466,96264721220763650,96264734105665538,96264686861025282,96264643911352322,96264678271090690,96264459227758594,96264691155992578,96264751285534722,96264446342856706,96264665386188802,96546342221119489,96546144652099584,96546273499283457,96546299268104193,96546496839745537,96546179009150976,96546337925758977,96546200486739968,96545942788112384,96545925609029632,96545947083145216,96545921311768576,96546243436216320,96546492560048129,96546526902616065,96546522606469121,96546157537394688,96546316448497665,96546346516152321,96546209075822592,96546286386479105,96546290678431745,96546213369085952,96546329334644737,96546226255822848,96546518313533441,96546514017648641,96546161830461440,96546320745562113,96546136061247488,96545934197850112,96546333630398465,96545929901637632,96546148944445440,96546277793726465,96546140356149248,96546307858956289,96546325040398337,96546294974513153,96546501132681217,96546127471050752,96546303564775425,96546204779479040,96546118881050624,96546123175886848,96546196189741056,96546153242230784,96546187597381632,96546355104186369,96546166124511232,96546312155758593,96827791425208321,96827967536824321,96827808607109121,96827662574092288,96827769951223809,96827623921156096,96827409174560768,96827782835666945,96827619628810240,96827988994359297,96827422059855872,96827688345796608,96827684052533248,96827417764823040,96827679756189696,96827778541486081,96827701232533504,96827400585740288,96827396288479232,96827632514105344,96827795722272769,96827675463450624,96827636807172096,96827812902469633,96827787132469249,96827404878348288,96827997583179777,96827593857761280,96827671166451712,96827615332859904,96827653985861632,96827774244814849,96827641101221888,96827804311355393,96827800017108993,96827821492862977,96827976109391873,96827993290244097,96827748475994113,96827830080897025,96827718412926976,96827817197830145,96828001879326721,96827761363189761,96827765655142401,96827611037958144,96827602447761408,96827971816456193,96827598152597504,96827628218941440,96827752770437121,97109176225628160,97390548113227778,97390634012573698,97390586767933442,97390638307540994,97390591062900738,97390573883031554,97390565293096962,97390367724601346,97390612537737218,97390359134666754,97390668372312066,97390372019568642,97390569588064258,97390603947802626,97390651192442882,97390578177998850,97390543818260482,97390616832704514,97390350544732162,97390556703162370,97390629717606402,97390621127671810,97390582472966146,97390354839699458,97390552408195074,97390346249764866,97390625422639106,97390560998129666,97672066039283714,97672078924185602,97672023089610754,97672143348695042,97672100399022082,97672040269479938,97671825521115138,97672108988956674,97672018794643458,97672031679545346,97672027384578050,97671834111049730,97672104693989378,97671842700984322,97672061744316418,97672091809087490,97672048859414530,97672053154381826,97672087514120194,97672057449349122,97671829816082434,97672096104054786,97671846995951618,97672113283923970,97672044564447234,97671821226147842,97672035974512642,97672126168825858,97953498066518018,97953575375929346,97953519541354498,97953588260831234,97953510951419906,97953618325602306,97953296203055106,97953321972858882,97953304792989698,97953566785994754,97953536721223682,97953493771550722,97953309087956994,97953502361485314,97953579670896642,97953528131289090,97953532426256386,97953300498022402,97953506656452610,97953601145733122,97953523836321794,97953317677891586,97953562491027458,97953583965863938,97953571080962050,97953553901092866,97953515246387202,97953541016190978,];

pub fn make_parser() -> ZCParser<(),()>
{
 let mut parser1:ZCParser<(),()> = ZCParser::new(212,349);
 let mut rule = ZCRProduction::<(),()>::new_skeleton("start");
 rule = ZCRProduction::<(),()>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("primary_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("postfix_expression");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("argument_expression_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("argument_expression_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_expression");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("unary_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("cast_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("cast_expression");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("multiplicative_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("additive_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("additive_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("additive_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("shift_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("shift_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("shift_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("relational_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("equality_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("equality_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("equality_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("and_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("and_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("exclusive_or_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("exclusive_or_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("inclusive_or_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("inclusive_or_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("logical_and_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("logical_and_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("logical_or_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("logical_or_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("conditional_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("conditional_expression");
 rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("assignment_operator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("expression");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("constant_expression");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_specifiers");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_specifiers");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_specifiers");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_specifiers");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_specifiers");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_specifiers");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("init_declarator_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("init_declarator_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("init_declarator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("init_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("storage_class_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_specifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_or_union_specifier");
 rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_or_union_specifier");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_or_union_specifier");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_or_union");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_or_union");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declaration_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declaration_list");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declaration");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("specifier_qualifier_list");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("specifier_qualifier_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("specifier_qualifier_list");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("specifier_qualifier_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declarator_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declarator_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declarator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declarator");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("struct_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("enum_specifier");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("enum_specifier");
 rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("enum_specifier");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("enumerator_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("enumerator_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("enumerator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("enumerator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_qualifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_qualifier");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declarator");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declarator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("pointer");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("pointer");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("pointer");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("pointer");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_qualifier_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_qualifier_list");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("parameter_type_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("parameter_type_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("parameter_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("parameter_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("parameter_declaration");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("parameter_declaration");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("parameter_declaration");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("identifier_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("identifier_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_name");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("type_name");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("direct_abstract_declarator");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("initializer");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("initializer");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("initializer");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("initializer_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("initializer_list");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("labeled_statement");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("labeled_statement");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("labeled_statement");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("compound_statement");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("compound_statement");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("compound_statement");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("compound_statement");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("declaration_list");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement_list");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("statement_list");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("expression_statement");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("expression_statement");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("selection_statement");
 rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("selection_statement");
 rule.Ruleaction = |parser|{ let mut _item6_ = parser.popstack(); let mut _item5_ = parser.popstack(); let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("selection_statement");
 rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{ let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{ let mut _item6_ = parser.popstack(); let mut _item5_ = parser.popstack(); let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{ let mut _item5_ = parser.popstack(); let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("iteration_statement");
 rule.Ruleaction = |parser|{ let mut _item6_ = parser.popstack(); let mut _item5_ = parser.popstack(); let mut _item4_ = parser.popstack(); let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("jump_statement");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("translation_unit");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("translation_unit");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("external_declaration");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("external_declaration");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("function_definition");
 rule.Ruleaction = |parser|{ let mut _item3_ = parser.popstack(); let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("function_definition");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("function_definition");
 rule.Ruleaction = |parser|{ let mut _item2_ = parser.popstack(); let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("function_definition");
 rule.Ruleaction = |parser|{ let mut _item1_ = parser.popstack(); let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 rule = ZCRProduction::<(),()>::new_skeleton("START");
 rule.Ruleaction = |parser|{ let mut _item0_ = parser.popstack(); <()>::default()};
 parser1.Rules.push(rule);
 parser1.Errsym = "";

 for i in 0..7041 {
   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<'t>(parser:&mut ZCParser<(),()>, lexer:&mut ansiclexer<'t>) -> Result<(),()>
{
  let _xres_ = parser.parse(lexer);  if !parser.error_occurred() {Ok(_xres_)} else {Err(_xres_)}
}//parse_with public function

pub fn parse_train_with<'t>(parser:&mut ZCParser<(),()>, lexer:&mut ansiclexer<'t>, parserpath:&str) -> Result<(),()>
{
  let _xres_ = parser.parse_train(lexer,parserpath);  if !parser.error_occurred() {Ok(_xres_)} else {Err(_xres_)}
}//parse_train_with public function
fn load_extras(parser:&mut ZCParser<(),()>)
{
}//end of load_extras: don't change this line as it affects augmentation