porffor 0.2.0-cb647c8 → 0.2.0-dcc06c8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/tmp.c CHANGED
@@ -1,12 +1,5 @@
1
- #ifdef _WIN32
2
- #include <windows.h>
3
- #else
4
- #include <time.h>
5
- #endif
6
-
7
1
  #include <stdint.h>
8
2
  #include <string.h>
9
- #include <stdlib.h>
10
3
  #include <stdio.h>
11
4
 
12
5
  typedef uint8_t i8;
@@ -25,11 +18,7 @@ struct ReturnValue {
25
18
  i32 type;
26
19
  };
27
20
 
28
- char _memory[196608];
29
-
30
- void i32_store(i32 align, i32 offset, i32 pointer, i32 value) {
31
- memcpy(_memory + offset + pointer, &value, sizeof(value));
32
- }
21
+ char _memory[65536];
33
22
 
34
23
  i32 i32_load(i32 align, i32 offset, i32 pointer) {
35
24
  i32 out;
@@ -37,1065 +26,12 @@ i32 i32_load(i32 align, i32 offset, i32 pointer) {
37
26
  return out;
38
27
  }
39
28
 
40
- void f64_store(i32 align, i32 offset, i32 pointer, f64 value) {
41
- memcpy(_memory + offset + pointer, &value, sizeof(value));
42
- }
43
-
44
29
  i32 i32_load16_u(i32 align, i32 offset, i32 pointer) {
45
30
  i16 out;
46
31
  memcpy(&out, _memory + offset + pointer, sizeof(out));
47
32
  return out;
48
33
  }
49
34
 
50
- f64 f64_load(i32 align, i32 offset, i32 pointer) {
51
- f64 out;
52
- memcpy(&out, _memory + offset + pointer, sizeof(out));
53
- return out;
54
- }
55
-
56
- void i32_store16(i32 align, i32 offset, i32 pointer, i16 value) {
57
- memcpy(_memory + offset + pointer, &value, sizeof(value));
58
- }
59
-
60
-
61
- f64 t = 0;
62
- i32 tdtype = 0;
63
-
64
- struct ReturnValue interpret(f64 str, i32 strdtype) {
65
- f64 ptr = 0;
66
- i32 ptrdtype = 0;
67
- f64 memory = 0;
68
- i32 memorydtype = 0;
69
- i32 __proto_length_cache = 0;
70
- i32 __proto_pointer_cache = 0;
71
- f64 __fill_tmp = 0;
72
- i32 dlast_type = 0;
73
- i32 dtypeswitch_tmp = 0;
74
- f64 starts = 0;
75
- i32 startsdtype = 0;
76
- f64 i = 0;
77
- i32 idtype = 0;
78
- f64 c = 0;
79
- i32 cdtype = 0;
80
- i32 __charCodeAt_tmp = 0;
81
- f64 __tmpop_left = 0;
82
- f64 __tmpop_right = 0;
83
- i32 compare_left_pointer = 0;
84
- i32 compare_left_length = 0;
85
- i32 compare_right_pointer = 0;
86
- i32 compare_right_length = 0;
87
- i32 compare_index = 0;
88
- i32 compare_index_end = 0;
89
- f64 __member_setter_val_tmp = 0;
90
- i32 __member_setter_ptr_tmp = 0;
91
- f64 elogicinner_tmp = 0;
92
- f64 depth = 0;
93
- i32 depthdtype = 0;
94
- f64 c2 = 0;
95
- i32 c2dtype = 0;
96
-
97
- ptr = 0e+0;
98
- ptrdtype = 0;
99
- i32_store(1, 0, 0, 8000);
100
- memory = 0e+0;
101
- memorydtype = 16;
102
- __proto_pointer_cache = (u32)memory;
103
- __proto_length_cache = i32_load(1, 0, __proto_pointer_cache);
104
- dtypeswitch_tmp = memorydtype;
105
- // block f64
106
- f64 _r0;
107
- // if
108
- if (dtypeswitch_tmp == 16) {
109
- // block f64
110
- f64 _r2;
111
- __fill_tmp = 0e+0;
112
- __proto_length_cache = (__proto_length_cache - 1) * 8;
113
- // if
114
- if (__proto_length_cache < 0) {
115
- _r2 = (f64)__proto_pointer_cache;
116
- goto j2;
117
- }
118
- // end
119
- j3:;
120
- // loop
121
- j4:;
122
- f64_store(2, 4, __proto_length_cache + __proto_pointer_cache, __fill_tmp);
123
- __proto_length_cache = __proto_length_cache - 8;
124
- if (__proto_length_cache >= 0) {
125
- goto j4;
126
- }
127
- // end
128
- dlast_type = 16;
129
- _r2 = (f64)__proto_pointer_cache;
130
- // end
131
- j2:;
132
- _r0 = _r2;
133
- goto j0;
134
- }
135
- // end
136
- j1:;
137
- printf("Uncaught TypeError: 'fill' proto func tried to be called on a type without an impl\n");
138
- exit(1);
139
- // end
140
- j0:;
141
- i32_store(1, 65536, 0, 0);
142
- starts = 6.5536e+4;
143
- startsdtype = 16;
144
- i = 0e+0;
145
- idtype = 0;
146
- // loop
147
- j5:;
148
- // if
149
- if (i < (f64)(i32_load(1, 0, (u32)str))) {
150
- // block
151
- __proto_pointer_cache = (u32)str;
152
- __proto_length_cache = i32_load(1, 0, __proto_pointer_cache);
153
- dtypeswitch_tmp = strdtype;
154
- // block f64
155
- f64 _r8;
156
- // if
157
- if (dtypeswitch_tmp == 2) {
158
- // block f64
159
- f64 _r10;
160
- __charCodeAt_tmp = (i32)i;
161
- // if
162
- if (((__charCodeAt_tmp < 0) | (__charCodeAt_tmp >= __proto_length_cache)) != 0) {
163
- _r10 = NAN;
164
- goto j10;
165
- }
166
- // end
167
- j11:;
168
- dlast_type = 0;
169
- _r10 = (f64)i32_load16_u(0, 4, (__charCodeAt_tmp * 2) + __proto_pointer_cache);
170
- // end
171
- j10:;
172
- _r8 = _r10;
173
- goto j8;
174
- }
175
- // end
176
- j9:;
177
- printf("Uncaught TypeError: 'charCodeAt' proto func tried to be called on a type without an impl\n");
178
- exit(1);
179
- // end
180
- j8:;
181
- c = _r8;
182
- cdtype = 0;
183
- // block i32
184
- i32 _r12;
185
- __tmpop_left = c;
186
- __tmpop_right = 6.2e+1;
187
- // if
188
- if (((cdtype == 2) | (0 == 2)) != 0) {
189
- // if
190
- if (((cdtype != 2) | (0 != 2)) != 0) {
191
- _r12 = 0;
192
- goto j12;
193
- }
194
- // end
195
- j14:;
196
- compare_left_pointer = (u32)__tmpop_left;
197
- compare_right_pointer = (u32)__tmpop_right;
198
- // if i32
199
- i32 _r15;
200
- if (compare_left_pointer != compare_right_pointer) {
201
- compare_left_length = i32_load(2, 0, compare_left_pointer);
202
- compare_right_length = i32_load(2, 0, compare_right_pointer);
203
- // if
204
- if (compare_left_length != compare_right_length) {
205
- _r15 = 0;
206
- goto j15;
207
- }
208
- // end
209
- j16:;
210
- compare_index = 0;
211
- compare_index_end = compare_left_length * 2;
212
- // loop
213
- j17:;
214
- // if
215
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
216
- _r15 = 0;
217
- goto j15;
218
- }
219
- // end
220
- j18:;
221
- compare_index = compare_index + 2;
222
- if (compare_index != compare_index_end) {
223
- goto j17;
224
- }
225
- // end
226
- _r15 = 1;
227
- } else {
228
- _r15 = 1;
229
- }
230
- // end
231
- j15:;
232
- _r12 = _r15;
233
- goto j12;
234
- }
235
- // end
236
- j13:;
237
- _r12 = __tmpop_left == __tmpop_right;
238
- // end
239
- j12:;
240
- // if
241
- if ((_r12) != 0) {
242
- ptr = ptr + 1e+0;
243
- }
244
- // end
245
- j19:;
246
- // block i32
247
- i32 _r20;
248
- __tmpop_left = c;
249
- __tmpop_right = 6e+1;
250
- // if
251
- if (((cdtype == 2) | (0 == 2)) != 0) {
252
- // if
253
- if (((cdtype != 2) | (0 != 2)) != 0) {
254
- _r20 = 0;
255
- goto j20;
256
- }
257
- // end
258
- j22:;
259
- compare_left_pointer = (u32)__tmpop_left;
260
- compare_right_pointer = (u32)__tmpop_right;
261
- // if i32
262
- i32 _r23;
263
- if (compare_left_pointer != compare_right_pointer) {
264
- compare_left_length = i32_load(2, 0, compare_left_pointer);
265
- compare_right_length = i32_load(2, 0, compare_right_pointer);
266
- // if
267
- if (compare_left_length != compare_right_length) {
268
- _r23 = 0;
269
- goto j23;
270
- }
271
- // end
272
- j24:;
273
- compare_index = 0;
274
- compare_index_end = compare_left_length * 2;
275
- // loop
276
- j25:;
277
- // if
278
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
279
- _r23 = 0;
280
- goto j23;
281
- }
282
- // end
283
- j26:;
284
- compare_index = compare_index + 2;
285
- if (compare_index != compare_index_end) {
286
- goto j25;
287
- }
288
- // end
289
- _r23 = 1;
290
- } else {
291
- _r23 = 1;
292
- }
293
- // end
294
- j23:;
295
- _r20 = _r23;
296
- goto j20;
297
- }
298
- // end
299
- j21:;
300
- _r20 = __tmpop_left == __tmpop_right;
301
- // end
302
- j20:;
303
- // if
304
- if ((_r20) != 0) {
305
- ptr = ptr - 1e+0;
306
- }
307
- // end
308
- j27:;
309
- // block i32
310
- i32 _r28;
311
- __tmpop_left = c;
312
- __tmpop_right = 4.3e+1;
313
- // if
314
- if (((cdtype == 2) | (0 == 2)) != 0) {
315
- // if
316
- if (((cdtype != 2) | (0 != 2)) != 0) {
317
- _r28 = 0;
318
- goto j28;
319
- }
320
- // end
321
- j30:;
322
- compare_left_pointer = (u32)__tmpop_left;
323
- compare_right_pointer = (u32)__tmpop_right;
324
- // if i32
325
- i32 _r31;
326
- if (compare_left_pointer != compare_right_pointer) {
327
- compare_left_length = i32_load(2, 0, compare_left_pointer);
328
- compare_right_length = i32_load(2, 0, compare_right_pointer);
329
- // if
330
- if (compare_left_length != compare_right_length) {
331
- _r31 = 0;
332
- goto j31;
333
- }
334
- // end
335
- j32:;
336
- compare_index = 0;
337
- compare_index_end = compare_left_length * 2;
338
- // loop
339
- j33:;
340
- // if
341
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
342
- _r31 = 0;
343
- goto j31;
344
- }
345
- // end
346
- j34:;
347
- compare_index = compare_index + 2;
348
- if (compare_index != compare_index_end) {
349
- goto j33;
350
- }
351
- // end
352
- _r31 = 1;
353
- } else {
354
- _r31 = 1;
355
- }
356
- // end
357
- j31:;
358
- _r28 = _r31;
359
- goto j28;
360
- }
361
- // end
362
- j29:;
363
- _r28 = __tmpop_left == __tmpop_right;
364
- // end
365
- j28:;
366
- // if
367
- if ((_r28) != 0) {
368
- dtypeswitch_tmp = memorydtype;
369
- // block
370
- // if
371
- if (dtypeswitch_tmp == 16) {
372
- __member_setter_ptr_tmp = (u32)(ptr) * 8;
373
- __member_setter_val_tmp = f64_load(2, 4, __member_setter_ptr_tmp) + 1e+0;
374
- f64_store(2, 4, __member_setter_ptr_tmp, __member_setter_val_tmp);
375
- goto j36;
376
- }
377
- // end
378
- j37:;
379
- printf("Uncaught TypeError: Cannot assign member with non-array\n");
380
- exit(1);
381
- // end
382
- j36:;
383
- }
384
- // end
385
- j35:;
386
- // block i32
387
- i32 _r38;
388
- __tmpop_left = c;
389
- __tmpop_right = 4.5e+1;
390
- // if
391
- if (((cdtype == 2) | (0 == 2)) != 0) {
392
- // if
393
- if (((cdtype != 2) | (0 != 2)) != 0) {
394
- _r38 = 0;
395
- goto j38;
396
- }
397
- // end
398
- j40:;
399
- compare_left_pointer = (u32)__tmpop_left;
400
- compare_right_pointer = (u32)__tmpop_right;
401
- // if i32
402
- i32 _r41;
403
- if (compare_left_pointer != compare_right_pointer) {
404
- compare_left_length = i32_load(2, 0, compare_left_pointer);
405
- compare_right_length = i32_load(2, 0, compare_right_pointer);
406
- // if
407
- if (compare_left_length != compare_right_length) {
408
- _r41 = 0;
409
- goto j41;
410
- }
411
- // end
412
- j42:;
413
- compare_index = 0;
414
- compare_index_end = compare_left_length * 2;
415
- // loop
416
- j43:;
417
- // if
418
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
419
- _r41 = 0;
420
- goto j41;
421
- }
422
- // end
423
- j44:;
424
- compare_index = compare_index + 2;
425
- if (compare_index != compare_index_end) {
426
- goto j43;
427
- }
428
- // end
429
- _r41 = 1;
430
- } else {
431
- _r41 = 1;
432
- }
433
- // end
434
- j41:;
435
- _r38 = _r41;
436
- goto j38;
437
- }
438
- // end
439
- j39:;
440
- _r38 = __tmpop_left == __tmpop_right;
441
- // end
442
- j38:;
443
- // if
444
- if ((_r38) != 0) {
445
- dtypeswitch_tmp = memorydtype;
446
- // block
447
- // if
448
- if (dtypeswitch_tmp == 16) {
449
- __member_setter_ptr_tmp = (u32)(ptr) * 8;
450
- __member_setter_val_tmp = f64_load(2, 4, __member_setter_ptr_tmp) - 1e+0;
451
- f64_store(2, 4, __member_setter_ptr_tmp, __member_setter_val_tmp);
452
- goto j46;
453
- }
454
- // end
455
- j47:;
456
- printf("Uncaught TypeError: Cannot assign member with non-array\n");
457
- exit(1);
458
- // end
459
- j46:;
460
- }
461
- // end
462
- j45:;
463
- // block i32
464
- i32 _r48;
465
- __tmpop_left = c;
466
- __tmpop_right = 4.6e+1;
467
- // if
468
- if (((cdtype == 2) | (0 == 2)) != 0) {
469
- // if
470
- if (((cdtype != 2) | (0 != 2)) != 0) {
471
- _r48 = 0;
472
- goto j48;
473
- }
474
- // end
475
- j50:;
476
- compare_left_pointer = (u32)__tmpop_left;
477
- compare_right_pointer = (u32)__tmpop_right;
478
- // if i32
479
- i32 _r51;
480
- if (compare_left_pointer != compare_right_pointer) {
481
- compare_left_length = i32_load(2, 0, compare_left_pointer);
482
- compare_right_length = i32_load(2, 0, compare_right_pointer);
483
- // if
484
- if (compare_left_length != compare_right_length) {
485
- _r51 = 0;
486
- goto j51;
487
- }
488
- // end
489
- j52:;
490
- compare_index = 0;
491
- compare_index_end = compare_left_length * 2;
492
- // loop
493
- j53:;
494
- // if
495
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
496
- _r51 = 0;
497
- goto j51;
498
- }
499
- // end
500
- j54:;
501
- compare_index = compare_index + 2;
502
- if (compare_index != compare_index_end) {
503
- goto j53;
504
- }
505
- // end
506
- _r51 = 1;
507
- } else {
508
- _r51 = 1;
509
- }
510
- // end
511
- j51:;
512
- _r48 = _r51;
513
- goto j48;
514
- }
515
- // end
516
- j49:;
517
- _r48 = __tmpop_left == __tmpop_right;
518
- // end
519
- j48:;
520
- // if
521
- if ((_r48) != 0) {
522
- dtypeswitch_tmp = memorydtype;
523
- // block f64
524
- f64 _r56;
525
- // if
526
- if (dtypeswitch_tmp == 2) {
527
- i32_store16(0, 3, 0, i32_load16_u(0, 4, (u32)(ptr) * 2));
528
- dlast_type = 2;
529
- _r56 = -1e+0;
530
- goto j56;
531
- }
532
- // end
533
- j57:;
534
- // if
535
- if (dtypeswitch_tmp == 16) {
536
- dlast_type = 0;
537
- _r56 = f64_load(2, 4, (u32)(ptr) * 8);
538
- goto j56;
539
- }
540
- // end
541
- j58:;
542
- printf("Uncaught TypeError: Member expression is not supported for non-string non-array yet\n");
543
- exit(1);
544
- // end
545
- j56:;
546
- printf("%c", (int)(_r56));
547
- }
548
- // end
549
- j55:;
550
- // block i32
551
- i32 _r59;
552
- __tmpop_left = c;
553
- __tmpop_right = 9.1e+1;
554
- // if
555
- if (((cdtype == 2) | (0 == 2)) != 0) {
556
- // if
557
- if (((cdtype != 2) | (0 != 2)) != 0) {
558
- _r59 = 0;
559
- goto j59;
560
- }
561
- // end
562
- j61:;
563
- compare_left_pointer = (u32)__tmpop_left;
564
- compare_right_pointer = (u32)__tmpop_right;
565
- // if i32
566
- i32 _r62;
567
- if (compare_left_pointer != compare_right_pointer) {
568
- compare_left_length = i32_load(2, 0, compare_left_pointer);
569
- compare_right_length = i32_load(2, 0, compare_right_pointer);
570
- // if
571
- if (compare_left_length != compare_right_length) {
572
- _r62 = 0;
573
- goto j62;
574
- }
575
- // end
576
- j63:;
577
- compare_index = 0;
578
- compare_index_end = compare_left_length * 2;
579
- // loop
580
- j64:;
581
- // if
582
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
583
- _r62 = 0;
584
- goto j62;
585
- }
586
- // end
587
- j65:;
588
- compare_index = compare_index + 2;
589
- if (compare_index != compare_index_end) {
590
- goto j64;
591
- }
592
- // end
593
- _r62 = 1;
594
- } else {
595
- _r62 = 1;
596
- }
597
- // end
598
- j62:;
599
- _r59 = _r62;
600
- goto j59;
601
- }
602
- // end
603
- j60:;
604
- _r59 = __tmpop_left == __tmpop_right;
605
- // end
606
- j59:;
607
- // if
608
- if ((_r59) != 0) {
609
- __proto_pointer_cache = (u32)starts;
610
- __proto_length_cache = i32_load(1, 0, __proto_pointer_cache);
611
- dtypeswitch_tmp = startsdtype;
612
- // block
613
- // if
614
- if (dtypeswitch_tmp == 16) {
615
- f64_store(2, 4, (__proto_length_cache * 8) + __proto_pointer_cache, i);
616
- i32_store(1, 0, __proto_pointer_cache, __proto_length_cache + 1);
617
- dlast_type = 0;
618
- goto j67;
619
- }
620
- // end
621
- j68:;
622
- printf("Uncaught TypeError: 'push' proto func tried to be called on a type without an impl\n");
623
- exit(1);
624
- // end
625
- j67:;
626
- dtypeswitch_tmp = memorydtype;
627
- // block f64
628
- f64 _r69;
629
- // if
630
- if (dtypeswitch_tmp == 2) {
631
- i32_store16(0, 3, 0, i32_load16_u(0, 4, (u32)(ptr) * 2));
632
- dlast_type = 2;
633
- _r69 = -1e+0;
634
- goto j69;
635
- }
636
- // end
637
- j70:;
638
- // if
639
- if (dtypeswitch_tmp == 16) {
640
- dlast_type = 0;
641
- _r69 = f64_load(2, 4, (u32)(ptr) * 8);
642
- goto j69;
643
- }
644
- // end
645
- j71:;
646
- printf("Uncaught TypeError: Member expression is not supported for non-string non-array yet\n");
647
- exit(1);
648
- // end
649
- j69:;
650
- elogicinner_tmp = _r69;
651
- dtypeswitch_tmp = dlast_type;
652
- // block f64
653
- f64 _r72;
654
- // if
655
- if (dtypeswitch_tmp == 2) {
656
- _r72 = (f64)(i32_load(1, 0, (u32)elogicinner_tmp)) == 0;
657
- goto j72;
658
- }
659
- // end
660
- j73:;
661
- // if
662
- if (dtypeswitch_tmp == 16) {
663
- _r72 = 0e+0;
664
- goto j72;
665
- }
666
- // end
667
- j74:;
668
- _r72 = (f64)elogicinner_tmp == 0e+0;
669
- // end
670
- j72:;
671
- elogicinner_tmp = _r72;
672
- // if
673
- if (((u32)elogicinner_tmp) != 0) {
674
- depth = 1e+0;
675
- depthdtype = 0;
676
- // loop
677
- j76:;
678
- // block i32
679
- i32 _r77;
680
- __tmpop_left = depth;
681
- __tmpop_right = 0e+0;
682
- // if
683
- if (((depthdtype == 2) | (0 == 2)) != 0) {
684
- // if
685
- if (((depthdtype != 2) | (0 != 2)) != 0) {
686
- _r77 = 0;
687
- goto j77;
688
- }
689
- // end
690
- j79:;
691
- compare_left_pointer = (u32)__tmpop_left;
692
- compare_right_pointer = (u32)__tmpop_right;
693
- // if i32
694
- i32 _r80;
695
- if (compare_left_pointer != compare_right_pointer) {
696
- compare_left_length = i32_load(2, 0, compare_left_pointer);
697
- compare_right_length = i32_load(2, 0, compare_right_pointer);
698
- // if
699
- if (compare_left_length != compare_right_length) {
700
- _r80 = 0;
701
- goto j80;
702
- }
703
- // end
704
- j81:;
705
- compare_index = 0;
706
- compare_index_end = compare_left_length * 2;
707
- // loop
708
- j82:;
709
- // if
710
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
711
- _r80 = 0;
712
- goto j80;
713
- }
714
- // end
715
- j83:;
716
- compare_index = compare_index + 2;
717
- if (compare_index != compare_index_end) {
718
- goto j82;
719
- }
720
- // end
721
- _r80 = 1;
722
- } else {
723
- _r80 = 1;
724
- }
725
- // end
726
- j80:;
727
- _r77 = (_r80) == 0;
728
- goto j77;
729
- }
730
- // end
731
- j78:;
732
- _r77 = __tmpop_left != __tmpop_right;
733
- // end
734
- j77:;
735
- // if
736
- if ((_r77) != 0) {
737
- __proto_pointer_cache = (u32)str;
738
- __proto_length_cache = i32_load(1, 0, __proto_pointer_cache);
739
- dtypeswitch_tmp = strdtype;
740
- // block f64
741
- f64 _r85;
742
- // if
743
- if (dtypeswitch_tmp == 2) {
744
- // block f64
745
- f64 _r87;
746
- i = i + 1e+0;
747
- __charCodeAt_tmp = (i32)i;
748
- // if
749
- if (((__charCodeAt_tmp < 0) | (__charCodeAt_tmp >= __proto_length_cache)) != 0) {
750
- _r87 = NAN;
751
- goto j87;
752
- }
753
- // end
754
- j88:;
755
- dlast_type = 0;
756
- _r87 = (f64)i32_load16_u(0, 4, (__charCodeAt_tmp * 2) + __proto_pointer_cache);
757
- // end
758
- j87:;
759
- _r85 = _r87;
760
- goto j85;
761
- }
762
- // end
763
- j86:;
764
- printf("Uncaught TypeError: 'charCodeAt' proto func tried to be called on a type without an impl\n");
765
- exit(1);
766
- // end
767
- j85:;
768
- c2 = _r85;
769
- c2dtype = 0;
770
- // block i32
771
- i32 _r89;
772
- __tmpop_left = c2;
773
- __tmpop_right = 9.1e+1;
774
- // if
775
- if (((c2dtype == 2) | (0 == 2)) != 0) {
776
- // if
777
- if (((c2dtype != 2) | (0 != 2)) != 0) {
778
- _r89 = 0;
779
- goto j89;
780
- }
781
- // end
782
- j91:;
783
- compare_left_pointer = (u32)__tmpop_left;
784
- compare_right_pointer = (u32)__tmpop_right;
785
- // if i32
786
- i32 _r92;
787
- if (compare_left_pointer != compare_right_pointer) {
788
- compare_left_length = i32_load(2, 0, compare_left_pointer);
789
- compare_right_length = i32_load(2, 0, compare_right_pointer);
790
- // if
791
- if (compare_left_length != compare_right_length) {
792
- _r92 = 0;
793
- goto j92;
794
- }
795
- // end
796
- j93:;
797
- compare_index = 0;
798
- compare_index_end = compare_left_length * 2;
799
- // loop
800
- j94:;
801
- // if
802
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
803
- _r92 = 0;
804
- goto j92;
805
- }
806
- // end
807
- j95:;
808
- compare_index = compare_index + 2;
809
- if (compare_index != compare_index_end) {
810
- goto j94;
811
- }
812
- // end
813
- _r92 = 1;
814
- } else {
815
- _r92 = 1;
816
- }
817
- // end
818
- j92:;
819
- _r89 = _r92;
820
- goto j89;
821
- }
822
- // end
823
- j90:;
824
- _r89 = __tmpop_left == __tmpop_right;
825
- // end
826
- j89:;
827
- // if
828
- if ((_r89) != 0) {
829
- depth = depth + 1e+0;
830
- }
831
- // end
832
- j96:;
833
- // block i32
834
- i32 _r97;
835
- __tmpop_left = c2;
836
- __tmpop_right = 9.3e+1;
837
- // if
838
- if (((c2dtype == 2) | (0 == 2)) != 0) {
839
- // if
840
- if (((c2dtype != 2) | (0 != 2)) != 0) {
841
- _r97 = 0;
842
- goto j97;
843
- }
844
- // end
845
- j99:;
846
- compare_left_pointer = (u32)__tmpop_left;
847
- compare_right_pointer = (u32)__tmpop_right;
848
- // if i32
849
- i32 _r100;
850
- if (compare_left_pointer != compare_right_pointer) {
851
- compare_left_length = i32_load(2, 0, compare_left_pointer);
852
- compare_right_length = i32_load(2, 0, compare_right_pointer);
853
- // if
854
- if (compare_left_length != compare_right_length) {
855
- _r100 = 0;
856
- goto j100;
857
- }
858
- // end
859
- j101:;
860
- compare_index = 0;
861
- compare_index_end = compare_left_length * 2;
862
- // loop
863
- j102:;
864
- // if
865
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
866
- _r100 = 0;
867
- goto j100;
868
- }
869
- // end
870
- j103:;
871
- compare_index = compare_index + 2;
872
- if (compare_index != compare_index_end) {
873
- goto j102;
874
- }
875
- // end
876
- _r100 = 1;
877
- } else {
878
- _r100 = 1;
879
- }
880
- // end
881
- j100:;
882
- _r97 = _r100;
883
- goto j97;
884
- }
885
- // end
886
- j98:;
887
- _r97 = __tmpop_left == __tmpop_right;
888
- // end
889
- j97:;
890
- // if
891
- if ((_r97) != 0) {
892
- depth = depth - 1e+0;
893
- }
894
- // end
895
- j104:;
896
- goto j76;
897
- }
898
- // end
899
- j84:;
900
- // end
901
- i = i - 1e+0;
902
- goto j7;
903
- }
904
- // end
905
- j75:;
906
- }
907
- // end
908
- j66:;
909
- // block i32
910
- i32 _r105;
911
- __tmpop_left = c;
912
- __tmpop_right = 9.3e+1;
913
- // if
914
- if (((cdtype == 2) | (0 == 2)) != 0) {
915
- // if
916
- if (((cdtype != 2) | (0 != 2)) != 0) {
917
- _r105 = 0;
918
- goto j105;
919
- }
920
- // end
921
- j107:;
922
- compare_left_pointer = (u32)__tmpop_left;
923
- compare_right_pointer = (u32)__tmpop_right;
924
- // if i32
925
- i32 _r108;
926
- if (compare_left_pointer != compare_right_pointer) {
927
- compare_left_length = i32_load(2, 0, compare_left_pointer);
928
- compare_right_length = i32_load(2, 0, compare_right_pointer);
929
- // if
930
- if (compare_left_length != compare_right_length) {
931
- _r108 = 0;
932
- goto j108;
933
- }
934
- // end
935
- j109:;
936
- compare_index = 0;
937
- compare_index_end = compare_left_length * 2;
938
- // loop
939
- j110:;
940
- // if
941
- if (i32_load16_u(0, 4, compare_index + compare_left_pointer) != i32_load16_u(0, 4, compare_index + compare_right_pointer)) {
942
- _r108 = 0;
943
- goto j108;
944
- }
945
- // end
946
- j111:;
947
- compare_index = compare_index + 2;
948
- if (compare_index != compare_index_end) {
949
- goto j110;
950
- }
951
- // end
952
- _r108 = 1;
953
- } else {
954
- _r108 = 1;
955
- }
956
- // end
957
- j108:;
958
- _r105 = _r108;
959
- goto j105;
960
- }
961
- // end
962
- j106:;
963
- _r105 = __tmpop_left == __tmpop_right;
964
- // end
965
- j105:;
966
- // if
967
- if ((_r105) != 0) {
968
- dtypeswitch_tmp = memorydtype;
969
- // block f64
970
- f64 _r113;
971
- // if
972
- if (dtypeswitch_tmp == 2) {
973
- i32_store16(0, 3, 0, i32_load16_u(0, 4, (u32)(ptr) * 2));
974
- dlast_type = 2;
975
- _r113 = -1e+0;
976
- goto j113;
977
- }
978
- // end
979
- j114:;
980
- // if
981
- if (dtypeswitch_tmp == 16) {
982
- dlast_type = 0;
983
- _r113 = f64_load(2, 4, (u32)(ptr) * 8);
984
- goto j113;
985
- }
986
- // end
987
- j115:;
988
- printf("Uncaught TypeError: Member expression is not supported for non-string non-array yet\n");
989
- exit(1);
990
- // end
991
- j113:;
992
- elogicinner_tmp = _r113;
993
- dtypeswitch_tmp = dlast_type;
994
- // block f64
995
- f64 _r116;
996
- // if
997
- if (dtypeswitch_tmp == 2) {
998
- _r116 = (f64)(i32_load(1, 0, (u32)elogicinner_tmp)) == 0;
999
- goto j116;
1000
- }
1001
- // end
1002
- j117:;
1003
- // if
1004
- if (dtypeswitch_tmp == 16) {
1005
- _r116 = 0e+0;
1006
- goto j116;
1007
- }
1008
- // end
1009
- j118:;
1010
- _r116 = (f64)elogicinner_tmp == 0e+0;
1011
- // end
1012
- j116:;
1013
- elogicinner_tmp = _r116;
1014
- // if
1015
- if (((u32)elogicinner_tmp) != 0) {
1016
- __proto_pointer_cache = (u32)starts;
1017
- __proto_length_cache = i32_load(1, 0, __proto_pointer_cache);
1018
- dtypeswitch_tmp = startsdtype;
1019
- // block
1020
- // if
1021
- if (dtypeswitch_tmp == 16) {
1022
- // block
1023
- // if
1024
- if ((__proto_length_cache) == 0) {
1025
- goto j122;
1026
- }
1027
- // end
1028
- j123:;
1029
- i32_store(1, 0, __proto_pointer_cache, __proto_length_cache - 1);
1030
- dlast_type = 0;
1031
- // end
1032
- j122:;
1033
- goto j120;
1034
- }
1035
- // end
1036
- j121:;
1037
- printf("Uncaught TypeError: 'pop' proto func tried to be called on a type without an impl\n");
1038
- exit(1);
1039
- // end
1040
- j120:;
1041
- goto j7;
1042
- }
1043
- // end
1044
- j119:;
1045
- dtypeswitch_tmp = startsdtype;
1046
- // block f64
1047
- f64 _r124;
1048
- // if
1049
- if (dtypeswitch_tmp == 2) {
1050
- i32_store16(0, 3, 0, i32_load16_u(0, 65540, (u32)(((f64)(i32_load(1, 65536, 0)) - 1e+0)) * 2));
1051
- dlast_type = 2;
1052
- _r124 = -1e+0;
1053
- goto j124;
1054
- }
1055
- // end
1056
- j125:;
1057
- // if
1058
- if (dtypeswitch_tmp == 16) {
1059
- dlast_type = 0;
1060
- _r124 = f64_load(2, 65540, (u32)(((f64)(i32_load(1, 65536, 0)) - 1e+0)) * 8);
1061
- goto j124;
1062
- }
1063
- // end
1064
- j126:;
1065
- printf("Uncaught TypeError: Member expression is not supported for non-string non-array yet\n");
1066
- exit(1);
1067
- // end
1068
- j124:;
1069
- i = _r124;
1070
- idtype = dlast_type;
1071
- }
1072
- // end
1073
- j112:;
1074
- // end
1075
- j7:;
1076
- i = i + 1e+0;
1077
- goto j5;
1078
- }
1079
- // end
1080
- j6:;
1081
- // end
1082
- return (struct ReturnValue){ 3, 0e+0 };
1083
- }
1084
-
1085
- f64 inline __performance_now() {
1086
- double _time_out;
1087
- #ifdef _WIN32
1088
- LARGE_INTEGER _time_freq, _time_t;
1089
- QueryPerformanceFrequency(&_time_freq);
1090
- QueryPerformanceCounter(&_time_t);
1091
- _time_out = ((double)_time_t.QuadPart / _time_freq.QuadPart) * 1000.;
1092
- #else
1093
- struct timespec _time;
1094
- clock_gettime(CLOCK_MONOTONIC, &_time);
1095
- _time_out = _time.tv_nsec / 1000000. + _time.tv_sec * 1000.;
1096
- #endif
1097
- return _time_out;
1098
- }
1099
35
 
1100
36
  void inline __console_log(f64 x, i32 y) {
1101
37
  i32 a = 0;
@@ -1107,10 +43,10 @@ void inline __console_log(f64 x, i32 y) {
1107
43
  // if
1108
44
  if (dtypeswitch_tmp == 0) {
1109
45
  printf("%g\n", x);
1110
- goto j127;
46
+ goto j0;
1111
47
  }
1112
48
  // end
1113
- j128:;
49
+ j1:;
1114
50
  // if
1115
51
  if (dtypeswitch_tmp == 1) {
1116
52
  // if
@@ -1127,27 +63,27 @@ void inline __console_log(f64 x, i32 y) {
1127
63
  printf("%c", (int)(1.01e+2));
1128
64
  }
1129
65
  // end
1130
- j130:;
1131
- goto j127;
66
+ j3:;
67
+ goto j0;
1132
68
  }
1133
69
  // end
1134
- j129:;
70
+ j2:;
1135
71
  // if
1136
72
  if (dtypeswitch_tmp == 2) {
1137
73
  a = (u32)x;
1138
74
  b = (i32_load(1, 0, a) * 2) + a;
1139
75
  // loop
1140
- j132:;
76
+ j5:;
1141
77
  printf("%c", (int)((f64)(i32_load16_u(0, 4, a))));
1142
78
  a = a + 2;
1143
79
  if (a != b) {
1144
- goto j132;
80
+ goto j5;
1145
81
  }
1146
82
  // end
1147
- goto j127;
83
+ goto j0;
1148
84
  }
1149
85
  // end
1150
- j131:;
86
+ j4:;
1151
87
  // if
1152
88
  if (dtypeswitch_tmp == 3) {
1153
89
  printf("%c", (int)(1.17e+2));
@@ -1159,10 +95,10 @@ void inline __console_log(f64 x, i32 y) {
1159
95
  printf("%c", (int)(1.1e+2));
1160
96
  printf("%c", (int)(1.01e+2));
1161
97
  printf("%c", (int)(1e+2));
1162
- goto j127;
98
+ goto j0;
1163
99
  }
1164
100
  // end
1165
- j133:;
101
+ j6:;
1166
102
  // if
1167
103
  if (dtypeswitch_tmp == 4) {
1168
104
  // if
@@ -1176,11 +112,11 @@ void inline __console_log(f64 x, i32 y) {
1176
112
  printf("%c", (int)(1.08e+2));
1177
113
  }
1178
114
  // end
1179
- j135:;
1180
- goto j127;
115
+ j8:;
116
+ goto j0;
1181
117
  }
1182
118
  // end
1183
- j134:;
119
+ j7:;
1184
120
  // if
1185
121
  if (dtypeswitch_tmp == 5) {
1186
122
  printf("%c", (int)(1.02e+2));
@@ -1197,52 +133,20 @@ void inline __console_log(f64 x, i32 y) {
1197
133
  printf("%c", (int)(3.2e+1));
1198
134
  printf("%c", (int)(1.23e+2));
1199
135
  printf("%c", (int)(1.25e+2));
1200
- goto j127;
1201
- }
1202
- // end
1203
- j136:;
1204
- // if
1205
- if (dtypeswitch_tmp == 16) {
1206
- printf("%c", (int)(9.1e+1));
1207
- printf("%c", (int)(3.2e+1));
1208
- a = (u32)x;
1209
- b = (i32_load(1, 0, a) * 8) + a;
1210
- // loop
1211
- j138:;
1212
- printf("%g\n", f64_load(0, 4, a));
1213
- a = a + 8;
1214
- // if
1215
- if (a != b) {
1216
- printf("%c", (int)(4.4e+1));
1217
- printf("%c", (int)(3.2e+1));
1218
- goto j138;
1219
- }
1220
- // end
1221
- j139:;
1222
- // end
1223
- printf("%c", (int)(3.2e+1));
1224
- printf("%c", (int)(9.3e+1));
1225
- goto j127;
136
+ goto j0;
1226
137
  }
1227
138
  // end
1228
- j137:;
139
+ j9:;
1229
140
  printf("%g\n", x);
1230
141
  // end
1231
- j127:;
142
+ j0:;
1232
143
  printf("%c", (int)(1e+1));
1233
144
  }
1234
145
 
1235
146
  int main() {
1236
- memcpy(_memory + 0, (unsigned char[]){0,0,0,0}, 4);
1237
- memcpy(_memory + 131072, (unsigned char[]){187,44,0,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,62,0,43,0,43,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,62,0,43,0,43,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,62,0,45,0,45,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,43,0,60,0,60,0,60,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,43,0,60,0,60,0,60,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,45,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,43,0,60,0,93,0,93,0,43,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,93,0,43,0,60,0,93,0,93,0,43,0,62,0,91,0,45,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,43,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,91,0,45,0,93,0,60,0,60,0,93,0,62,0,62,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,91,0,45,0,60,0,43,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,91,0,45,0,93,0,93,0,62,0,91,0,45,0,60,0,60,0,91,0,45,0,62,0,43,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,45,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,62,0,43,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,45,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,43,0,62,0,91,0,45,0,60,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,43,0,43,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,45,0,62,0,43,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,91,0,45,0,60,0,60,0,45,0,62,0,62,0,93,0,43,0,60,0,60,0,91,0,45,0,62,0,62,0,45,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,43,0,60,0,93,0,93,0,43,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,93,0,43,0,60,0,93,0,93,0,43,0,62,0,91,0,45,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,91,0,45,0,60,0,60,0,45,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,91,0,45,0,60,0,45,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,62,0,93,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,93,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,93,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,62,0,43,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,91,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,43,0,60,0,93,0,93,0,43,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,93,0,43,0,60,0,93,0,93,0,43,0,62,0,91,0,45,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,91,0,62,0,91,0,45,0,62,0,43,0,62,0,91,0,45,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,93,0,62,0,91,0,45,0,60,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,93,0,62,0,62,0,91,0,45,0,60,0,43,0,62,0,62,0,91,0,45,0,60,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,93,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,91,0,45,0,60,0,60,0,45,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,91,0,62,0,91,0,45,0,62,0,43,0,62,0,62,0,91,0,45,0,60,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,43,0,62,0,93,0,62,0,93,0,60,0,91,0,45,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,91,0,45,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,93,0,60,0,91,0,45,0,60,0,43,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,43,0,62,0,91,0,45,0,60,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,43,0,43,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,45,0,62,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,43,0,60,0,93,0,93,0,43,0,62,0,62,0,91,0,45,0,60,0,60,0,45,0,62,0,62,0,93,0,43,0,60,0,60,0,91,0,45,0,62,0,62,0,45,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,93,0,43,0,60,0,93,0,93,0,43,0,62,0,91,0,45,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,91,0,45,0,60,0,45,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,91,0,45,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,62,0,93,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,93,0,62,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,93,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,91,0,45,0,60,0,60,0,45,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,91,0,45,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,62,0,91,0,45,0,93,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,91,0,45,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,60,0,91,0,45,0,62,0,62,0,43,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,45,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,45,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,43,0,60,0,93,0,93,0,43,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,91,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,93,0,43,0,60,0,93,0,93,0,43,0,62,0,91,0,45,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,91,0,45,0,93,0,60,0,60,0,93,0,62,0,62,0,93,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,46,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,46,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,91,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,91,0,45,0,93,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,91,0,45,0,93,0,43,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,43,0,60,0,93,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,93,0,43,0,60,0,93,0,93,0,43,0,62,0,91,0,45,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,46,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,91,0,45,0,93,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,62,0,91,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,93,0,43,0,60,0,60,0,60,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,62,0,62,0,43,0,60,0,60,0,93,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,62,0,91,0,45,0,93,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,91,0,60,0,45,0,62,0,45,0,60,0,60,0,43,0,62,0,62,0,93,0,60,0,91,0,45,0,62,0,43,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,60,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,43,0,60,0,93,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,91,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,91,0,45,0,93,0,43,0,62,0,62,0,62,0,62,0,62,0,62,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,91,0,45,0,93,0,43,0,60,0,93,0,93,0,43,0,62,0,91,0,45,0,60,0,91,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,91,0,45,0,93,0,60,0,60,0,60,0,43,0,43,0,43,0,43,0,43,0,91,0,45,0,91,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,43,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,93,0,62,0,62,0,62,0,62,0,62,0,45,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,62,0,45,0,60,0,60,0,60,0,60,0,60,0,60,0,91,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,60,0,93,0,93,0,62,0,62,0,62,0,93,0}, 22906);
1238
-
1239
- i32 dlast_type = 0;
147
+ memcpy(_memory + 0, (unsigned char[]){13,0,0,0,72,0,101,0,108,0,108,0,111,0,44,0,32,0,87,0,111,0,114,0,108,0,100,0,33,0}, 30);
1240
148
 
1241
- t = __performance_now();
1242
- tdtype = 0;
1243
- const struct ReturnValue _ = interpret(1.31072e+5, 2);
1244
- printf("%c", (int)(1e+1));
1245
- __console_log(__performance_now() - t, 0);
149
+ __console_log(0e+0, 2);
1246
150
 
1247
151
  return 0;
1248
152
  }