porffor 0.2.0-c7b7423 → 0.2.0-cb647c8

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,69 +1,1248 @@
1
+ #ifdef _WIN32
2
+ #include <windows.h>
3
+ #else
4
+ #include <time.h>
5
+ #endif
1
6
 
7
+ #include <stdint.h>
8
+ #include <string.h>
9
+ #include <stdlib.h>
2
10
  #include <stdio.h>
3
11
 
12
+ typedef uint8_t i8;
13
+ typedef uint16_t i16;
14
+ typedef int32_t i32;
15
+ typedef uint32_t u32;
16
+ typedef int64_t i64;
17
+ typedef uint64_t u64;
18
+ typedef float f32;
19
+ typedef double f64;
20
+
21
+ f64 NAN = 0e+0/0e+0;
22
+
4
23
  struct ReturnValue {
5
- double value;
6
- long type;
24
+ f64 value;
25
+ i32 type;
7
26
  };
8
27
 
9
- double sum = 0;
10
- long sumdtype = 0;
11
- double counter = 0;
12
- long counterdtype = 0;
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
+ }
33
+
34
+ i32 i32_load(i32 align, i32 offset, i32 pointer) {
35
+ i32 out;
36
+ memcpy(&out, _memory + offset + pointer, sizeof(out));
37
+ return out;
38
+ }
39
+
40
+ void f64_store(i32 align, i32 offset, i32 pointer, f64 value) {
41
+ memcpy(_memory + offset + pointer, &value, sizeof(value));
42
+ }
43
+
44
+ i32 i32_load16_u(i32 align, i32 offset, i32 pointer) {
45
+ i16 out;
46
+ memcpy(&out, _memory + offset + pointer, sizeof(out));
47
+ return out;
48
+ }
49
+
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
+ }
13
55
 
14
- double inline f64_f(double x, double y) {
15
- return (x - ((int)(x / y) * y));
56
+ void i32_store16(i32 align, i32 offset, i32 pointer, i16 value) {
57
+ memcpy(_memory + offset + pointer, &value, sizeof(value));
16
58
  }
17
59
 
18
- struct ReturnValue isPrime(double number, long numberdtype) {
19
- double i = 0;
20
- long idtype = 0;
21
- double __tmpop_left = 0;
22
- double __tmpop_right = 0;
23
- long compare_left_pointer = 0;
24
- long compare_left_length = 0;
25
- long compare_right_pointer = 0;
26
- long compare_right_length = 0;
27
- long compare_index = 0;
28
- long compare_index_end = 0;
29
-
30
- if (number < 2e+0) {
31
- return (struct ReturnValue){ 1, 0e+0 };
32
- }
33
- i = 2e+0;
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;
34
145
  idtype = 0;
35
- while (i < number) {
36
- if (f64_f(number, i) == 0e+0) {
37
- return (struct ReturnValue){ 1, 0e+0 };
38
- }
39
- i = i + 1e+0;
40
- }
41
- return (struct ReturnValue){ 1, 1e+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;
42
1098
  }
43
1099
 
44
- double inline __console_log(double x) {
45
- printf("%f\n", x);
1100
+ void inline __console_log(f64 x, i32 y) {
1101
+ i32 a = 0;
1102
+ i32 b = 0;
1103
+ i32 dtypeswitch_tmp = 0;
1104
+
1105
+ dtypeswitch_tmp = y;
1106
+ // block
1107
+ // if
1108
+ if (dtypeswitch_tmp == 0) {
1109
+ printf("%g\n", x);
1110
+ goto j127;
1111
+ }
1112
+ // end
1113
+ j128:;
1114
+ // if
1115
+ if (dtypeswitch_tmp == 1) {
1116
+ // if
1117
+ if (((u32)x) != 0) {
1118
+ printf("%c", (int)(1.16e+2));
1119
+ printf("%c", (int)(1.14e+2));
1120
+ printf("%c", (int)(1.17e+2));
1121
+ printf("%c", (int)(1.01e+2));
1122
+ } else {
1123
+ printf("%c", (int)(1.02e+2));
1124
+ printf("%c", (int)(9.7e+1));
1125
+ printf("%c", (int)(1.08e+2));
1126
+ printf("%c", (int)(1.15e+2));
1127
+ printf("%c", (int)(1.01e+2));
1128
+ }
1129
+ // end
1130
+ j130:;
1131
+ goto j127;
1132
+ }
1133
+ // end
1134
+ j129:;
1135
+ // if
1136
+ if (dtypeswitch_tmp == 2) {
1137
+ a = (u32)x;
1138
+ b = (i32_load(1, 0, a) * 2) + a;
1139
+ // loop
1140
+ j132:;
1141
+ printf("%c", (int)((f64)(i32_load16_u(0, 4, a))));
1142
+ a = a + 2;
1143
+ if (a != b) {
1144
+ goto j132;
1145
+ }
1146
+ // end
1147
+ goto j127;
1148
+ }
1149
+ // end
1150
+ j131:;
1151
+ // if
1152
+ if (dtypeswitch_tmp == 3) {
1153
+ printf("%c", (int)(1.17e+2));
1154
+ printf("%c", (int)(1.1e+2));
1155
+ printf("%c", (int)(1e+2));
1156
+ printf("%c", (int)(1.01e+2));
1157
+ printf("%c", (int)(1.02e+2));
1158
+ printf("%c", (int)(1.05e+2));
1159
+ printf("%c", (int)(1.1e+2));
1160
+ printf("%c", (int)(1.01e+2));
1161
+ printf("%c", (int)(1e+2));
1162
+ goto j127;
1163
+ }
1164
+ // end
1165
+ j133:;
1166
+ // if
1167
+ if (dtypeswitch_tmp == 4) {
1168
+ // if
1169
+ if (((u32)x) != 0) {
1170
+ printf("%c", (int)(1.23e+2));
1171
+ printf("%c", (int)(1.25e+2));
1172
+ } else {
1173
+ printf("%c", (int)(1.1e+2));
1174
+ printf("%c", (int)(1.17e+2));
1175
+ printf("%c", (int)(1.08e+2));
1176
+ printf("%c", (int)(1.08e+2));
1177
+ }
1178
+ // end
1179
+ j135:;
1180
+ goto j127;
1181
+ }
1182
+ // end
1183
+ j134:;
1184
+ // if
1185
+ if (dtypeswitch_tmp == 5) {
1186
+ printf("%c", (int)(1.02e+2));
1187
+ printf("%c", (int)(1.17e+2));
1188
+ printf("%c", (int)(1.1e+2));
1189
+ printf("%c", (int)(9.9e+1));
1190
+ printf("%c", (int)(1.16e+2));
1191
+ printf("%c", (int)(1.05e+2));
1192
+ printf("%c", (int)(1.11e+2));
1193
+ printf("%c", (int)(1.1e+2));
1194
+ printf("%c", (int)(3.2e+1));
1195
+ printf("%c", (int)(4e+1));
1196
+ printf("%c", (int)(4.1e+1));
1197
+ printf("%c", (int)(3.2e+1));
1198
+ printf("%c", (int)(1.23e+2));
1199
+ 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;
1226
+ }
1227
+ // end
1228
+ j137:;
1229
+ printf("%g\n", x);
1230
+ // end
1231
+ j127:;
46
1232
  printf("%c", (int)(1e+1));
47
1233
  }
48
1234
 
49
1235
  int main() {
50
- long dlast_type = 0;
51
- double elogicinner_tmp = 0;
52
- long dtypeswitch_tmp = 0;
53
-
54
- sum = 0e+0;
55
- sumdtype = 0;
56
- counter = 0e+0;
57
- counterdtype = 0;
58
- while (counter <= 1e+5) {
59
- const struct ReturnValue _ = isPrime(counter, counterdtype);
60
- dlast_type = _.type;
61
- if ((unsigned long)(elogicinner_tmp = _.value) == 1e+0) {
62
- sum = sum + counter;
63
- sumdtype = 0;
64
- }
65
- counter = counter + 1e+0;
66
- }
67
- __console_log(sum);
68
- }
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;
1240
+
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);
69
1246
 
1247
+ return 0;
1248
+ }