-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.c
1252 lines (1252 loc) · 194 KB
/
main.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void timestamp(char* ts){const time_t tt=time(0);strftime(ts,16,"%H:%M:%S",localtime(&tt));}
#include <SDL2/SDL.h>
#include <SDL2/SDL_opengles2.h>
#define uint GLuint
#define sint GLint
#define MAX_MODELS 79
#define VERTEX_SHADE
#include "esLuma.h"
#include "wall.h"
#include "floor.h"
#include "hand.h"
#include "gun.h"
#include "blast.h"
#include "prot.h"
#include "brain.h"
#include "blood.h"
#include "dead.h"
#include "c1.h"
#include "c2.h"
#include "c3.h"
#include "c4.h"
#include "c5.h"
#include "c6.h"
#include "c7.h"
#include "c8.h"
#include "c9.h"
#include "c10.h"
#include "c11.h"
#include "c12.h"
#include "c13.h"
#include "c14.h"
#include "c15.h"
#include "c16.h"
#include "c17.h"
#include "c18.h"
#include "c19.h"
#include "c20.h"
#include "c21.h"
#include "c22.h"
#include "c23.h"
#include "c24.h"
#include "b1.h"
#include "b2.h"
#include "b3.h"
#include "b4.h"
#include "b5.h"
#include "b6.h"
#include "b7.h"
#include "b8.h"
#include "b9.h"
#include "b10.h"
#include "b11.h"
#include "b12.h"
#include "b13.h"
#include "b14.h"
#include "b15.h"
#include "h1.h"
#include "h2.h"
#include "h3.h"
#include "h4.h"
#include "h5.h"
#include "h6.h"
#include "h7.h"
#include "h8.h"
#include "h9.h"
#include "h10.h"
#include "h11.h"
#include "h12.h"
#include "h13.h"
#include "h14.h"
#include "h15.h"
#include "f1.h"
#include "f2.h"
#include "f3.h"
#include "f4.h"
#include "f5.h"
#include "f6.h"
#include "w1.h"
#include "w2.h"
#include "w3.h"
#include "w4.h"
#include "w5.h"
#include "w6.h"
#include "fire.h"
#include "c25.h"
#include "c26.h"
#include "b16.h"
const unsigned char icon[]="\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000,),\036\065/\064_)$(@-'*E\070\061\065`-&*\040\000\000\000\001\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\071\061\067\061cT]\214uak\325\226\177\214\365aMT\345XHO\350\223{\211\367\205my\330jWa\225I;@<\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000C<@`wdn\360\224y\205\377\210ku\377\254\220\235\377jTX\377RBH\377\251\213\232\377\244\200\212\377\226{\210\377\215v\177\370m[]t\000\000\000\001\377\377\377\000\377\377\377\000\070/\063>hV^\372\213ox\377\231\200\213\377\207pz\377\223x\203\377o[_\377VIO\377\245\206\221\377\226w\177\377\244\207\221\377\252\213\224\377\220v|\377M=@U\377\377\377\000\014\010\011\005TEJ\234pZc\377sX`\377\207lv\377\241\206\221\377\236}\206\377x_b\377^MR\377\244\206\220\377\242\210\224\377\242\201\206\377\250\205\211\377\242\200\206\377t_c\266.\060.\011,$&\025bMS\321kSY\377{bk\377\205hq\377\210q{\377\260\222\234\377wWY\377VAE\377\246\210\222\377\245\204\214\377\214jl\377\252\212\213\377\242\201\201\377\217op\345C:<--'-(`KQ\332gMR\377cLR\377\200fo\377\177dl\377\243\177\211\377mLL\377F\064\067\377\233z\202\377\236uz\377\231z}\377\242\202\203\377\203aa\377y[]\343\066-\060\067\064,\062QfQX\355\\EH\377tX_\377wT\\\377\212bj\377\241y\200\377pSU\377P?E\377\227qw\377\232rw\377\240|\177\377\253\204\205\377\227np\377\200ci\357\071\062\066U(##\060^KP\342^EH\377[=>\377oNR\377qPU\377{UZ\377[??\377E//\377wQT\377\177]`\377\201]_\377sKK\377\214aa\377\212km\343<\066\066\064\014\011\005\017WCG\310kPU\377XGG\377ebh\377mkr\377xeg\377,!\037\377\035\023\022\377]OR\377dbi\377urv\377jQP\377\206_^\377y\\\\\305\033\025\024\015\000\000\000\003O>C\226nQW\377]UW\377_mu\377epw\377\207\202\204\377O?<\377/#\"\377dfj\377dqz\377gpu\377\201sr\377\217oo\377hRV\204\000\000\000\001\377\377\377\000\065*\062\040E\061\063\270WJJ\377^]a\377PQW\377j[[\377N\070\065\375>-,\373d[[\377XZ_\377SQU\377gUR\377_IH\267;.\061\030\377\377\377\000\377\377\377\000\377\377\377\000\000\000\000\011A\066\066dG:\067\330J:\066\372R><\317\064%\"P%\035\035=F\071\067\275H:\067\370K:\067\341Q?=r\000\000\000\011\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000!\031\024()\040\033W\032\025\024\034\377\377\377\000\377\377\377\000\002\000\000\017%\035\032P/&!/\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000\377\377\377\000";
const char appTitle[]="Hypergolia";
SDL_Window* wnd;
SDL_GLContext glc;
SDL_Surface* s_icon = NULL;
uint winw=1024, winh=768, ks[6]={0};
float t=0.f, dt=0.f, lt=0.f, fc=0.f, lfct=0.f, aspect, ww, wh, rww, rwh;
float tsx=0, tsy=0, tdx=0, tdy=0;
SDL_Joystick* js = NULL;
float jsc = 0.f;
uint jspause = 0;
uint json = 0;
#define YESINPUT lock_mouse == 1 && jspause == 0
#define NOINPUT lock_mouse == 0 || jspause == 1
#define PAUSE_CHECK ((json == 0 && lock_mouse == 1) || (json == 1 && jspause == 0 && lock_mouse == 1))
#define FAR_DISTANCE 100.f
float DRAW_DISTANCE = 36.f;
uint lock_mouse = 0;
float sens = 0.003f;
int xd=0, yd=0;
float xrot = PI;
vec lookx, looky, lookz;
float sv = d2PI;
const float level_floor[] = {42,-16,46,-16,46,5,42,5,-2,28,-2,26,-2,25,-1,25,-2,29,-1,29,-4,26,-4,29,-4,28,-4,31,-6,31,-4,25,-7,26,-5,25,-6,25,-7,25,-2,24,-2,23,-3,24,-3,23,-4,24,-4,23,-2,27,-1,27,-3,27,-5,27,-4,27,-2,30,-3,30,-4,30,-5,30,-6,30,-6,29,-6,28,-6,27,-7,27,-7,28,-7,29,-7,30,-5,24,-6,24,-7,24,-5,23,-6,23,-7,23,-7,22,-5,22,-4,22,-3,22,-2,22,-1,22,-1,21,-2,21,-3,21,-4,21,-5,21,-6,21,-6,20,-7,20,-7,21,-8,20,-9,20,-10,21,-9,21,-8,21,-9,22,-8,22,-9,23,-8,23,-10,24,-9,24,-8,24,-8,25,-9,25,-9,26,-8,26,-8,27,-9,27,-10,27,-10,28,-9,28,-8,28,-9,29,-8,29,-8,30,-9,30,-9,31,-9,32,-10,31,-11,31,-12,30,-12,31,-12,32,-13,32,-14,32,-15,32,-15,31,-15,30,-14,30,-13,30,-14,29,-11,29,-16,32,-17,32,-18,32,-16,30,-17,30,-18,30,-18,29,-19,29,-19,30,-19,31,-20,29,-20,30,-20,31,-21,29,-21,30,-21,31,-5,32,-6,32,-7,32,-8,32,-7,33,-10,33,-11,33,-16,33,-9,34,-8,34,-7,34,-6,34,-5,33,-5,34,-4,33,-3,32,-2,32,-3,33,-2,34,-3,34,-3,35,-4,35,-5,35,-7,35,-7,36,-6,36,-5,36,-3,36,-2,36,-7,37,-5,37,-4,37,-3,37,-7,38,-6,38,-5,38,-4,38,-3,38,-2,38,0,23,0,24,0,25,1,25,1,24,1,23,1,26,2,26,0,27,1,27,1,28,2,28,0,29,1,29,0,30,1,30,-1,31,0,31,1,31,2,31,-1,32,0,32,1,32,2,32,1,33,0,33,-1,33,-1,34,0,34,1,34,-1,35,0,35,1,35,2,35,2,36,1,36,0,36,-1,36,-1,37,1,37,-1,38,0,38,1,38,2,39,1,39,1,40,0,40,-1,39,-1,40,-3,39,-2,40,-3,40,-5,39,-4,40,-5,40,-7,39,-6,40,-7,40,-9,35,-11,34,-10,35,-11,35,-12,34,-11,37,-11,36,-5,41,-1,41,-8,38,-9,36,-10,36,-9,40,-9,39,-9,38,-10,38,-10,39,-10,40,-11,38,-12,38,-11,39,-12,39,-11,40,-12,40,-13,38,-13,39,-13,40,-13,36,-13,37,-13,35,-13,34,-14,34,-14,35,-14,36,-15,36,-16,36,-16,35,-15,35,-15,34,-16,34,-16,37,-15,37,-15,38,-16,38,-15,39,-16,39,-16,40,-15,40,-15,41,-16,41,-17,39,-17,36,-17,34,-11,28,-11,21,-11,24,-14,28,-18,34,-19,33,-19,34,-20,33,-20,34,-21,33,-21,34,-21,35,-21,36,-21,37,-22,36,-22,34,-22,32,-23,37,-23,36,-23,35,-23,34,-23,33,-23,32,-23,31,-23,30,-23,29,-23,28,-23,27,-22,27,-21,27,-20,27,-19,27,-20,26,-18,27,-17,27,-16,27,-15,27,-14,27,-13,27,-12,27,-12,26,-12,25,-12,24,-14,26,-15,26,-16,26,-17,26,-17,24,-17,25,-18,25,-19,25,-20,25,-21,25,-21,24,-20,24,-19,24,-18,24,-12,23,-12,22,-12,21,-12,20,-17,23,-17,22,-23,25,-23,24,-23,23,-22,23,-21,23,-20,23,-19,23,-18,23,-18,22,-19,22,-21,22,-20,22,-21,21,-20,21,-19,21,-18,21,-17,21,-23,22,-24,22,-25,22,-26,22,-27,22,-24,21,-25,21,-26,21,-27,21,-24,25,-25,24,-26,24,-25,25,-26,25,-25,26,-26,26,-25,27,-26,27,-25,28,-26,28,-25,29,-26,29,-16,25,-15,25,-14,25,-13,26,-13,25,-13,24,-13,22,-13,23,-13,21,-13,20,-15,22,-14,24,-15,24,-16,24,-16,22,-15,21,-16,21,-14,20,-15,20,-16,20,-17,20,-18,20,-19,20,-20,20,-21,20,-18,36,-19,36,-19,37,-18,37,-18,38,-19,38,-18,39,-19,39,-20,39,-21,39,-21,40,-20,40,-19,40,-18,40,-18,41,-19,41,-20,41,-21,41,-22,41,-23,41,-23,40,-23,39,-23,38,-24,39,-13,41,-12,42,-13,42,-14,42,-12,43,-13,43,-14,43,-15,43,-16,42,-16,43,-17,43,-18,43,-20,43,-19,43,-20,44,-19,44,-18,44,-17,44,-16,44,-14,44,-13,44,-14,45,-15,45,-15,46,-16,46,-17,46,-18,45,-18,46,-20,45,-20,46,-19,46,-21,46,-18,47,-20,47,-20,48,-19,48,-18,48,-18,49,-17,49,-18,50,-18,51,-20,51,-19,50,-20,50,-20,49,-21,50,3,29,3,28,3,27,3,26,3,25,3,24,4,27,3,31,3,32,3,33,4,33,4,32,4,31,4,30,3,36,3,35,4,36,4,35,5,24,4,24,2,23,4,23,5,23,6,23,5,22,4,22,5,21,2,22,1,22,0,22,0,21,1,21,2,21,0,20,2,20,3,20,4,20,5,20,5,19,3,19,4,19,2,19,2,18,2,17,1,17,0,17,-1,17,3,16,2,15,2,16,1,16,1,15,3,15,4,17,4,16,4,15,5,16,5,17,6,18,7,20,7,19,7,18,6,17,6,16,6,15,6,14,1,13,2,13,3,13,4,13,5,13,6,13,6,12,1,12,0,19,-1,19,-2,19,-3,19,-4,19,-5,19,-2,18,-2,17,-2,16,-1,15,-1,14,-1,13,-1,12,-2,12,-2,13,-2,14,-2,15,-3,11,-3,12,-3,13,-3,14,-3,15,-3,16,-3,18,-3,17,-4,15,-4,18,-5,18,-5,17,-5,16,-5,15,-5,14,-4,13,-4,12,-5,12,-5,13,-6,12,-6,13,-6,18,-6,17,-6,16,-6,15,-6,14,-7,18,-7,17,-7,13,-7,16,-8,18,-8,16,-8,17,-9,18,-9,17,-9,16,-8,14,-8,13,-9,14,-9,13,5,26,6,26,5,27,6,27,5,28,6,28,5,29,6,29,5,30,6,30,7,30,8,30,8,31,9,30,10,30,11,30,12,30,12,29,12,28,12,27,12,26,11,26,10,26,9,26,8,26,8,27,8,28,9,28,9,27,10,27,10,28,9,25,13,29,9,24,7,24,8,24,7,23,7,22,8,22,9,23,8,23,9,22,10,24,10,23,10,22,11,23,8,20,9,20,10,20,11,20,11,19,11,18,11,17,11,16,10,16,9,16,8,16,8,17,8,18,8,19,9,15,10,15,8,14,9,14,10,14,11,14,8,13,8,12,9,13,10,13,11,13,9,12,10,12,11,12,12,18,12,19,13,18,13,19,14,18,14,19,14,20,15,19,15,20,15,21,16,20,16,21,16,22,17,21,17,22,12,21,13,21,12,22,12,23,12,24,13,24,13,23,13,22,14,22,14,23,15,23,14,24,15,24,14,25,15,25,14,26,15,26,14,27,15,27,14,28,15,28,14,29,15,29,14,30,15,30,16,26,17,26,17,25,17,24,17,28,17,29,17,30,18,26,18,27,18,28,18,29,19,29,19,28,18,25,18,24,-27,29,-25,30,-26,30,-27,30,-25,31,-26,31,-27,31,-25,32,-26,32,-27,32,-25,33,-25,34,-25,35,-27,33,-27,34,-27,35,-25,36,-25,37,-25,38,-27,36,-27,37,-27,38,-26,36,-26,37,-26,38,-25,39,-25,40,-25,41,-26,39,-26,40,-26,41,-27,39,-27,40,-27,41,-25,42,-25,43,-25,44,-26,42,-26,43,-26,44,-27,42,-27,43,-27,44,-24,43,-24,44,-24,45,-23,43,-23,44,-23,45,-22,43,-22,44,-22,45,-22,46,-22,47,-22,48,-23,46,-23,47,-23,48,-24,46,-24,47,-24,48,-26,45,-26,46,-26,47,-28,46,-28,47,-28,48,-29,46,-29,47,-29,48,-30,48,-30,49,-30,50,-31,48,-31,49,-31,50,-26,48,-26,49,-26,50,-24,49,-24,50,-24,51,-22,49,-22,50,-22,51,-23,50,-23,51,-23,52,-22,52,-22,53,-22,54,-23,53,-23,54,-23,55,-21,53,-21,54,-21,55,-25,53,-25,54,-25,55,-28,53,-28,54,-28,55,-19,52,-19,53,-19,54,-19,55,-19,56,-19,57,-22,56,-22,57,-22,58,-25,56,-25,57,-25,58,-27,56,-27,57,-27,58,-29,56,-29,57,-29,58,-30,53,-30,54,-30,55,-30,56,-30,57,-30,58,-32,56,-32,57,-32,58,-33,53,-33,54,-33,55,-35,53,-35,54,-35,55,-35,50,-35,51,-35,52,-36,50,-36,51,-36,52,-38,50,-38,51,-38,52,-39,48,-39,49,-39,50,-36,55,-36,56,-36,57,-38,55,-38,56,-38,57,-39,53,-39,54,-39,55,-40,51,-40,52,-40,53,-41,51,-41,52,-41,53,-42,51,-42,52,-42,53,-43,51,-43,52,-43,53,-40,54,-40,55,-40,56,-40,57,-40,58,-40,59,-39,59,-39,60,-39,61,-40,60,-40,61,-40,62,-38,62,-38,63,-38,64,-37,60,-37,61,-37,62,-38,58,-38,59,-38,60,-33,62,-33,63,-33,64,-32,62,-32,63,-32,64,-33,59,-33,60,-33,61,-34,58,-34,59,-34,60,-35,59,-35,60,-35,61,-35,56,-35,57,-35,58,-44,52,-45,52,-46,52,-39,51,-37,52,-39,56,-39,57,-37,55,-37,54,-36,58,-38,61,-39,63,-39,64,-40,64,-40,63,-37,64,-36,64,-35,63,-35,64,-34,64,-34,63,-32,61,-36,61,-33,58,-34,57,-34,56,-33,56,-34,53,-32,53,-32,54,-31,54,-31,53,-29,54,-29,53,-31,56,-31,58,-32,59,-31,59,-30,59,-30,60,-29,60,-29,59,-28,58,-28,56,-26,58,-26,56,-27,54,-26,54,-27,53,-24,54,-24,53,-24,56,-23,56,-24,58,-23,58,-21,56,-20,58,-21,58,-19,58,-20,52,-18,52,-25,51,-25,50,-25,48,-25,46,-27,45,-27,46,-27,48,-27,50,-27,51,-26,51,-28,50,-28,49,-29,50,-30,51,-29,51,-34,51,-34,50,-33,50,-33,51,-32,50,-32,51,-31,51,-35,49,-38,48,-37,48,-36,48,-35,48,-34,48,-33,48,-35,47,-34,47,-33,47,-38,47,-24,59,-32,65,-29,27,-28,27,-30,27,-31,27,-32,27,-30,28,-29,29,-30,29,-31,29,-29,30,-30,30,-31,30,-32,29,-33,29,-34,29,-32,30,-33,30,-34,30,-32,31,-33,31,-34,31,-32,32,-33,32,-34,32,-32,33,-33,33,-34,33,-32,34,-33,34,-34,34,-29,23,-31,23,-29,24,-30,24,-31,24,-29,25,-30,25,-31,25,-32,23,-33,23,-34,23,-33,24,-34,24,-32,25,-33,25,-34,25,-30,20,-31,20,-32,20,-30,21,-31,21,-32,21,-30,22,-31,22,-32,22,-31,17,-32,17,-33,17,-31,18,-32,18,-33,18,-31,19,-32,19,-33,19,-33,14,-34,14,-35,14,-33,15,-34,15,-35,15,-33,16,-34,16,-35,16,-36,13,-37,13,-38,13,-36,14,-37,14,-38,14,-36,15,-37,15,-38,15,-33,20,-34,20,-35,20,-33,21,-34,21,-35,21,-33,22,-34,22,-35,22,-34,17,-35,17,-36,17,-34,18,-35,18,-36,18,-34,19,-35,19,-36,19,-36,20,-37,20,-38,20,-36,21,-37,21,-38,21,-36,22,-37,22,-38,22,-35,23,-36,23,-37,23,-35,24,-36,24,-37,24,-35,25,-36,25,-37,25,-38,23,-39,23,-40,23,-38,24,-39,24,-40,24,-38,25,-39,25,-40,25,-37,17,-38,17,-39,17,-37,18,-38,18,-39,18,-37,19,-38,19,-39,19,-31,16,-30,18,-30,19,-29,21,-29,22,-28,23,-28,25,-33,27,-33,26,-34,27,-34,28,-32,28,-28,32,-29,31,-30,31,-29,32,-30,32,-31,32,-29,33,-30,33,-31,33,-29,34,-30,34,-31,34,-29,35,-30,35,-31,35,-29,36,-30,36,-31,36,-29,37,-30,37,-31,37,-29,38,-30,38,-31,38,-31,39,-32,39,-33,39,-31,40,-32,40,-33,40,-31,41,-32,41,-33,41,-34,40,-35,40,-36,40,-34,41,-35,41,-36,41,-34,42,-35,42,-36,42,-37,31,-38,31,-39,31,-37,32,-38,32,-39,32,-37,33,-38,33,-39,33,-40,34,-41,34,-42,34,-40,35,-41,35,-42,35,-40,36,-41,36,-42,36,-40,31,-41,31,-42,31,-40,32,-41,32,-42,32,-40,33,-41,33,-42,33,-38,28,-39,28,-40,28,-38,29,-39,29,-40,29,-38,30,-39,30,-40,30,-35,27,-36,27,-37,27,-35,28,-36,28,-37,28,-35,29,-36,29,-37,29,-41,26,-42,26,-43,26,-41,27,-42,27,-43,27,-41,28,-42,28,-43,28,-32,35,-33,35,-34,35,-32,36,-33,36,-34,36,-32,37,-33,37,-34,37,-40,15,-41,15,-42,15,-40,16,-41,16,-42,16,-40,17,-41,17,-42,17,-40,12,-41,12,-42,12,-40,13,-41,13,-42,13,-40,14,-41,14,-42,14,-43,15,-44,15,-45,15,-43,16,-44,16,-45,16,-43,17,-44,17,-45,17,-43,19,-44,19,-45,19,-43,20,-44,20,-45,20,-43,21,-44,21,-45,21,-44,24,-45,24,-46,24,-44,25,-45,25,-46,25,-44,26,-45,26,-46,26,-32,38,-33,38,-29,39,-28,37,-28,40,-30,39,-29,40,-29,41,-30,41,-34,39,-31,42,-29,42,-29,43,-29,44,-30,44,-31,46,-31,45,-31,44,-32,46,-32,44,-32,42,-33,42,-33,46,-33,45,-33,44,-33,43,-34,43,-34,44,-35,44,-34,46,-35,46,-35,45,-36,46,-36,44,-36,43,-37,46,-37,45,-37,44,-37,43,-38,43,-39,43,-40,43,-40,42,-40,41,-40,40,-41,40,-41,39,-41,38,-41,37,-40,37,-39,34,-38,34,-37,34,-36,33,-35,26,-36,26,-35,31,-35,30,-35,32,-35,33,-35,34,-36,34,-36,35,-35,35,-35,36,-37,35,-38,35,-39,42,-38,42,-37,42,-40,27,-40,26,-39,26,-39,27,-38,27,-38,41,-37,41,-36,39,-37,39,-37,40,-38,40,-38,39,-39,39,-39,38,-39,37,-39,36,-37,36,-37,37,-38,38,-38,37,-38,36,-43,34,-43,33,-43,32,-43,31,-44,31,-41,30,-41,29,-42,30,-42,29,-43,30,-43,29,-44,28,-44,30,-44,29,-45,27,-45,29,-45,28,-44,27,-43,23,-43,24,-43,25,-42,23,-42,24,-42,25,-40,19,-40,20,-40,21,-46,16,-46,17,-46,18,-46,19,-46,20,-46,21,-41,22,-42,22,-43,22,-46,23,-46,22,-45,23,-45,22,-47,23,-47,22,-47,21,-47,20,-45,18,-43,18,-42,18,-39,16,-39,14,-39,12,-43,14,-44,14,-44,13,-43,13,-36,30,-42,20,-41,20,-41,19,-48,21,-48,23,-49,23,-48,20,-49,20,-50,24,-50,23,-50,20,-50,21,-50,22,-51,23,-51,20,-52,20,-52,23,-53,23,-53,22,-53,21,-53,20,-54,20,-54,23,-27,27,-22,29,-12,35,-55,23,-55,24,-55,25,-52,25,-53,25,-54,25,-50,25,-48,25,-48,26,-49,26,-50,26,-50,27,-51,27,-52,27,-53,27,-53,28,-53,29,-52,29,-51,29,-50,29,-49,29,-48,29,-48,28,-48,27,-46,30,-49,30,-53,30,-53,31,-52,31,-50,31,-49,31,-48,31,-47,31,-46,31,-55,26,-55,27,-55,28,-55,29,-55,30,-56,30,-57,30,-57,31,-55,31,-55,32,-55,33,-54,33,-57,32,-57,33,-57,34,-54,34,-54,35,-54,36,-55,36,-56,36,-57,36,-58,34,-59,34,-59,35,-58,36,-59,36,-58,32,-59,32,-60,32,-59,37,-58,37,-57,37,-58,38,-57,38,-56,38,-57,39,-56,40,-56,39,-55,39,-54,39,-54,37,-54,38,-52,32,-52,33,-52,34,-52,35,-52,36,-50,32,-50,33,-50,34,-48,32,-48,33,-48,34,-46,32,-46,33,-46,34,-48,35,-48,36,-48,37,-50,35,-50,36,-50,37,-52,37,-52,38,-52,39,-52,40,-52,41,-52,42,-50,41,-50,42,-50,43,-48,38,-48,39,-48,40,-46,38,-46,39,-46,40,-44,36,-44,37,-44,38,-44,39,-44,40,-44,41,-43,39,-43,40,-43,41,-41,44,-41,45,-41,46,-42,44,-42,45,-42,46,-40,45,-40,46,-40,47,-41,47,-41,48,-41,49,-42,47,-42,48,-42,49,-44,42,-44,43,-44,44,-44,45,-44,46,-44,47,-44,48,-44,49,-44,50,-45,48,-45,49,-45,50,-46,48,-46,49,-46,50,-47,48,-47,49,-47,50,-47,45,-47,46,-47,47,-48,42,-48,43,-48,44,-45,42,-45,43,-45,44,-49,44,-49,45,-49,46,-50,44,-50,45,-50,46,-51,44,-51,45,-51,46,-52,44,-52,45,-52,46,-53,45,-53,46,-53,47,-48,45,-48,46,-48,47,-49,47,-49,48,-49,49,-48,48,-48,49,-48,50,-47,51,-47,52,-47,53,-54,46,-52,47,-51,47,-51,48,-50,48,-50,49,-46,45,-45,45,-45,46,-43,46,-43,48,-43,49,-46,42,-47,42,-47,43,-42,41,-42,42,-43,42,-49,42,-51,41,-51,42,-47,40,-47,38,-45,36,-46,35,-46,36,-50,38,-49,37,-51,37,-49,39,-50,39,-51,39,-49,35,-51,35,-51,33,-49,33,-39,45,-39,46,-49,50,-49,51,-48,51,-48,52,-54,41,-55,41,-56,41,-54,42,-55,42,-56,42,-54,43,-55,43,-56,43,-55,44,-55,45,-55,46,-56,44,-56,45,-56,46,-58,40,-58,41,-58,42,-59,39,-59,40,-59,41,-60,38,-60,39,-60,40,-61,39,-61,40,-61,41,-62,40,-62,41,-62,42,-62,43,-62,44,-62,45,-60,43,-60,44,-60,45,-58,43,-58,44,-58,45,-57,45,-57,43,-57,41,-60,41,-60,42,-59,42,-61,43,-61,45,-59,44,-59,45,-63,43,-58,46,-55,47,-24,60,-24,61,-24,62,-24,63,-25,63,-24,64,-25,64,-26,64,-25,65,-26,65,-27,65,-26,66,-27,66,-28,66,-27,67,-28,67,-29,67,-30,67,-31,67,-32,67,-32,66,-29,65,-29,64,-29,63,-28,65,-28,63,-27,63,-27,62,-26,62,-26,61,-6,42,-5,42,-3,42,-4,42,-2,42,-1,42,0,42,-6,43,-5,43,-3,43,-4,43,-2,43,-1,43,0,43,-6,44,-5,44,-3,44,-4,44,-2,44,-1,44,0,44,-6,45,-5,45,-3,45,-4,45,-2,45,-1,45,0,45,-6,46,-5,46,-3,46,-4,46,-2,46,-1,46,0,46,-6,47,-5,47,-3,47,-4,47,-2,47,-1,47,0,47,-5,48,-3,48,-4,48,-2,48,-1,48,-3,49,-4,49,-2,49,-3,50,-3,51,-3,52,-3,53,-3,54,-3,55,-3,56,-3,57,-3,64,-3,65,-3,66,-4,66,-5,66,-6,66,-7,66,-8,66,-9,66,-10,66,-11,66,-12,66,-13,66,-14,66,-15,66,-16,66,-17,66,-18,66,-19,66,-20,66,-21,66,-22,66,-23,66,-24,66,-25,66,-3,63,-3,62,-3,61,-3,60,-3,59,-3,58,-16,48,-15,48,-16,49,-15,49,-14,49,-13,49,-12,49,-11,49,-13,47,-12,47,-11,47,-16,51,-15,51,-14,51,-13,51,-12,51,-11,51,-17,53,-16,53,-15,53,-14,53,-13,53,-12,53,-17,55,-16,55,-15,55,-14,55,-13,55,-12,55,-17,57,-16,57,-15,57,-14,57,-13,57,-12,57,-12,45,-11,45,-10,45,-13,46,-13,48,-15,50,-13,50,-15,52,-13,52,-11,50,-11,48,-11,46,-10,47,-11,44,-10,49,-10,51,-17,54,-15,54,-13,54,-17,56,-15,56,-13,56,-17,58,-15,58,-13,58,-11,58,-10,57,-10,55,-10,53,-11,52,-11,53,-11,54,-11,55,-11,56,-11,57,-10,43,-10,42,-8,42,-9,42,-9,43,-9,44,-8,43,-8,44,-8,45,-9,45,-9,46,-8,46,-8,47,-9,47,-9,49,-9,51,-9,50,-9,52,-19,60,-20,60,-21,60,-22,60,-22,61,-21,61,-20,61,-19,61,-22,62,-21,62,-20,62,-22,63,-21,63,-20,63,-22,64,-21,64,-20,64,-19,62,-19,63,-19,64,-23,60,-17,59,-16,59,-15,59,-14,59,-13,59,-12,59,-11,59,-10,59,-9,59,-9,54,-9,53,-9,55,-9,57,-9,56,-9,58,-7,55,-8,55,-6,55,-5,55,-4,55,-4,62,-5,62,-5,63,-5,64,-5,59,-5,60,-7,59,-7,58,-7,57,-6,57,-5,57,-5,58,-6,58,-11,61,-12,61,-13,61,-14,61,-15,61,-16,61,-13,63,-14,63,-15,64,-16,64,-17,64,-18,64,-15,63,-15,62,-14,62,-17,61,-17,62,-17,63,-14,60,-11,62,-13,64,-12,64,-11,64,-10,61,-10,62,-10,63,-10,64,-9,64,-8,64,-7,64,-7,63,-6,63,-6,62,-7,61,-8,61,-8,62,-9,62,-9,63,-6,61,-6,60,22,44,22,45,22,46,23,44,23,45,23,46,24,44,24,45,24,46,25,44,25,45,25,46,26,44,26,45,26,46,26,47,26,48,26,49,25,47,25,48,25,49,26,50,26,51,26,52,25,50,25,51,25,52,24,49,24,50,24,51,22,47,22,48,22,49,22,50,22,51,22,52,23,47,23,48,23,49,23,50,23,51,23,52,24,52,24,47,-1,54,-1,53,-1,55,-1,51,-1,50,0,49,0,50,0,51,0,52,0,54,0,56,0,57,0,58,-1,57,-1,58,-1,59,-1,60,-1,61,-1,62,3,59,3,60,3,61,2,59,2,60,2,61,4,59,4,60,4,61,-1,63,-1,64,-1,65,0,65,0,66,0,67,1,65,1,66,1,67,3,62,3,63,3,64,4,63,4,64,4,65,5,63,5,64,5,65,6,65,6,66,6,67,3,65,3,66,3,67,7,59,7,60,7,61,2,53,2,54,2,55,3,53,3,54,3,55,4,53,4,54,4,55,3,56,3,57,3,58,1,56,1,57,1,58,5,56,5,57,5,58,6,56,6,57,6,58,8,56,8,57,8,58,8,59,8,60,8,61,7,63,7,64,7,65,7,66,7,67,7,68,8,65,8,66,8,67,-1,66,-1,67,-1,68,2,42,2,43,2,44,2,45,2,46,2,47,2,48,2,49,2,50,3,50,3,51,3,52,3,47,3,48,3,49,4,47,4,48,4,49,5,50,5,51,5,52,6,50,6,51,6,52,7,53,7,54,7,55,8,53,8,54,8,55,9,53,9,54,9,55,11,50,11,51,11,52,10,50,10,51,10,52,3,44,3,45,3,46,3,42,3,43,5,44,5,45,5,46,6,44,6,45,6,46,7,47,7,48,7,49,8,47,8,48,8,49,8,50,8,51,8,52,7,44,7,45,7,46,12,50,12,51,12,52,10,44,10,45,10,46,10,56,10,57,10,58,11,56,11,57,11,58,12,56,12,57,12,58,14,56,14,57,14,58,13,56,13,57,13,58,15,56,15,57,15,58,9,59,9,60,9,61,10,60,10,61,10,62,11,60,11,61,11,62,13,60,13,61,13,62,14,60,14,61,14,62,16,60,16,61,16,62,15,59,15,60,15,61,13,65,13,66,13,67,14,65,14,66,14,67,16,63,16,64,16,65,20,63,20,64,20,65,18,60,18,61,18,62,19,59,19,60,19,61,20,59,20,60,20,61,21,59,21,60,21,61,17,56,17,57,17,58,18,56,18,57,18,58,23,56,23,57,23,58,22,56,22,57,22,58,20,56,20,57,20,58,21,53,21,54,21,55,20,53,20,54,20,55,19,53,19,54,19,55,15,53,15,54,15,55,14,52,14,53,14,54,12,63,12,64,12,65,9,63,9,64,9,65,10,66,10,67,10,68,11,66,11,67,11,68,18,65,18,66,18,67,22,62,22,63,22,64,24,59,24,60,24,61,25,59,25,60,25,61,28,58,28,59,28,60,27,58,27,59,27,60,27,62,27,63,27,64,24,62,24,63,24,64,24,65,24,66,24,67,25,65,25,66,25,67,27,65,27,66,27,67,29,65,29,66,29,67,29,61,29,62,29,63,25,56,25,57,25,58,25,53,25,54,25,55,27,53,27,54,27,55,28,53,28,54,28,55,29,52,29,53,29,54,19,50,19,51,19,52,20,50,20,51,20,52,19,47,19,48,19,49,20,47,20,48,20,49,19,44,19,45,19,46,20,44,20,45,20,46,16,46,16,47,16,48,17,46,17,47,17,48,12,47,12,48,12,49,13,46,13,47,13,48,14,46,14,47,14,48,14,49,14,50,14,51,16,50,16,51,16,52,17,50,17,51,17,52,8,42,8,43,8,44,12,42,12,43,12,44,13,43,13,44,13,45,14,43,14,44,14,45,15,43,15,44,15,45,17,43,17,44,17,45,18,43,18,44,18,45,28,49,28,50,28,51,29,49,29,50,29,51,28,46,28,47,28,48,29,46,29,47,29,48,28,43,28,44,28,45,29,43,29,44,29,45,26,54,28,52,23,53,22,54,23,54,24,54,24,55,29,56,29,57,29,59,28,56,27,56,26,56,26,59,26,57,24,57,28,62,26,61,26,62,25,62,25,63,26,66,26,67,28,66,28,67,23,67,23,61,23,60,22,60,21,62,21,64,22,65,21,66,22,66,19,67,20,67,21,67,15,67,16,67,17,67,16,66,15,65,17,65,19,65,19,63,18,63,17,63,15,63,14,63,13,63,11,64,10,64,12,67,9,67,9,68,8,63,8,62,6,63,6,62,5,62,4,67,5,67,2,68,2,66,3,68,4,68,5,68,13,68,14,68,12,68,16,68,17,68,15,68,20,68,21,68,19,68,18,68,23,68,24,68,22,68,26,68,27,68,25,68,29,68,28,68,2,64,2,63,1,62,0,62,0,63,1,63,0,60,1,60,5,60,6,60,2,57,4,57,7,57,1,54,5,54,6,54,1,52,1,51,2,51,1,48,1,49,4,51,7,51,9,51,6,48,5,48,4,44,4,42,5,43,6,43,7,43,9,43,10,42,9,42,11,42,10,48,9,48,11,48,10,54,11,54,12,54,16,43,16,44,10,43,11,43,11,45,11,46,9,45,9,46,10,47,9,49,12,53,13,52,13,50,15,51,15,48,15,49,18,48,18,49,18,53,18,54,16,55,16,54,17,54,13,54,13,55,13,59,11,59,9,57,11,55,12,60,12,61,16,59,17,60,17,61,21,48,27,48,19,43,27,43,25,43,23,43,21,43,20,43,15,42,13,42,14,42,18,42,16,42,17,42,21,42,19,42,20,42,24,42,22,42,23,42,27,42,25,42,26,42,28,42,29,42,21,57,19,57,26,64,28,64,18,51,60,54,60,55,59,54,59,56,59,57,59,58,60,57,60,58,60,59,60,60,60,61,60,62,56,59,56,60,56,61,57,59,57,60,57,61,55,59,55,60,55,61,60,63,60,64,60,65,59,65,59,66,59,67,58,65,58,66,58,67,56,62,56,63,56,64,55,63,55,64,55,65,54,63,54,64,54,65,53,65,53,66,53,67,56,65,56,66,56,67,52,59,52,60,52,61,57,54,57,55,56,54,56,55,55,54,55,55,56,56,56,57,56,58,58,56,58,57,58,58,54,56,54,57,54,58,53,56,53,57,53,58,51,56,51,57,51,58,51,59,51,60,51,61,52,63,52,64,52,65,52,66,52,67,52,68,51,65,51,66,51,67,60,66,60,67,60,68,52,54,52,55,51,54,51,55,50,54,50,55,49,56,49,57,49,58,48,56,48,57,48,58,47,56,47,57,47,58,45,56,45,57,45,58,46,56,46,57,46,58,44,56,44,57,44,58,50,59,50,60,50,61,49,60,49,61,49,62,48,60,48,61,48,62,46,60,46,61,46,62,45,60,45,61,45,62,43,60,43,61,43,62,44,59,44,60,44,61,46,65,46,66,46,67,45,65,45,66,45,67,43,63,43,64,43,65,39,63,39,64,39,65,41,60,41,61,41,62,40,59,40,60,40,61,39,59,39,60,39,61,38,59,38,60,38,61,42,56,42,57,42,58,41,56,41,57,41,58,36,56,36,57,36,58,37,56,37,57,37,58,39,56,39,57,39,58,38,54,38,55,39,54,39,55,40,54,40,55,44,54,44,55,45,54,47,63,47,64,47,65,50,63,50,64,50,65,49,66,49,67,49,68,48,66,48,67,48,68,41,65,41,66,41,67,37,62,37,63,37,64,35,59,35,60,35,61,34,59,34,60,34,61,31,58,31,59,31,60,32,58,32,59,32,60,32,62,32,63,32,64,35,62,35,63,35,64,35,65,35,66,35,67,34,65,34,66,34,67,32,65,32,66,32,67,30,65,30,66,30,67,30,61,30,62,30,63,34,56,34,57,34,58,34,54,34,55,32,54,32,55,31,54,31,55,30,54,33,54,37,54,36,54,35,54,35,55,30,56,30,57,30,59,31,56,32,56,33,56,33,59,33,57,35,57,31,62,33,61,33,62,34,62,34,63,33,66,33,67,31,66,31,67,36,67,36,61,36,60,37,60,38,62,38,64,37,65,38,66,37,66,40,67,39,67,38,67,44,67,43,67,42,67,43,66,44,65,42,65,40,65,40,63,41,63,42,63,44,63,45,63,46,63,48,64,49,64,47,67,50,67,50,68,51,63,51,62,53,63,53,62,54,62,55,67,54,67,57,68,57,66,56,68,55,68,54,68,46,68,45,68,47,68,43,68,42,68,44,68,39,68,38,68,40,68,41,68,36,68,35,68,37,68,33,68,32,68,34,68,30,68,31,68,57,64,57,63,58,62,59,62,59,63,58,63,59,60,58,60,54,60,53,60,57,57,55,57,52,57,58,54,54,54,53,54,49,54,48,54,47,54,41,54,43,55,43,54,42,54,46,54,46,55,46,59,48,59,50,57,48,55,47,60,47,61,43,59,42,60,42,61,38,57,40,57,33,64,31,64,60,53,60,52,59,53,59,51,59,50,59,49,60,50,60,49,60,48,60,47,60,46,60,45,56,48,56,47,56,46,57,48,57,47,57,46,55,48,55,47,55,46,60,44,60,43,60,42,59,42,59,41,59,40,58,42,58,41,58,40,56,45,56,44,56,43,55,44,55,43,55,42,54,44,54,43,54,42,53,42,53,41,53,40,56,42,56,41,56,40,52,48,52,47,52,46,57,53,57,52,56,53,56,52,55,53,55,52,56,51,56,50,56,49,58,51,58,50,58,49,54,51,54,50,54,49,53,51,53,50,53,49,51,51,51,50,51,49,51,48,51,47,51,46,52,44,52,43,52,42,52,41,52,40,52,39,51,42,51,41,51,40,60,41,60,40,60,39,52,53,52,52,51,53,51,52,50,53,50,52,49,51,49,50,49,49,48,51,48,50,48,49,47,51,47,50,47,49,45,51,45,50,45,49,46,51,46,50,46,49,44,51,44,50,44,49,50,48,50,47,50,46,49,47,49,46,49,45,48,47,48,46,48,45,46,47,46,46,46,45,45,47,45,46,45,45,43,47,43,46,43,45,44,48,44,47,44,46,46,42,46,41,46,40,45,42,45,41,45,40,43,44,43,43,43,42,39,44,39,43,39,42,41,47,41,46,41,45,40,48,40,47,40,46,39,48,39,47,39,46,38,48,38,47,38,46,42,51,42,50,42,49,41,51,41,50,41,49,36,51,36,50,36,49,37,51,37,50,37,49,39,51,39,50,39,49,38,53,38,52,39,53,39,52,40,53,40,52,44,53,44,52,45,53,47,44,47,43,47,42,50,44,50,43,50,42,49,41,49,40,49,39,48,41,48,40,48,39,41,42,41,41,41,40,37,45,37,44,37,43,35,48,35,47,35,46,34,48,34,47,34,46,31,49,31,48,31,47,32,49,32,48,32,47,32,45,32,44,32,43,35,45,35,44,35,43,35,42,35,41,35,40,34,42,34,41,34,40,32,42,32,41,32,40,30,42,30,41,30,40,30,46,30,45,30,44,34,51,34,50,34,49,34,53,34,52,32,53,32,52,31,53,31,52,30,53,33,53,37,53,36,53,35,53,35,52,30,51,30,50,30,48,31,51,32,51,33,51,33,48,33,50,35,50,31,45,33,46,33,45,34,45,34,44,33,41,33,40,31,41,31,40,36,40,36,46,36,47,37,47,38,45,38,43,37,42,38,41,37,41,40,40,39,40,38,40,44,40,43,40,42,40,43,41,44,42,42,42,40,42,40,44,41,44,42,44,44,44,45,44,46,44,48,43,49,43,47,40,50,40,50,39,51,44,51,45,53,44,53,45,54,45,55,40,54,40,57,39,57,41,56,39,55,39,54,39,46,39,45,39,47,39,43,39,42,39,44,39,39,39,38,39,40,39,41,39,36,39,35,39,37,39,33,39,32,39,34,39,30,39,31,39,57,43,57,44,58,45,59,45,59,44,58,44,59,47,58,47,54,47,53,47,57,50,55,50,52,50,58,53,54,53,53,53,49,53,48,53,47,53,41,53,43,52,43,53,42,53,46,53,46,52,46,48,48,48,50,50,48,52,47,47,47,46,43,48,42,47,42,46,38,50,40,50,33,43,31,43,29,12,29,11,29,10,29,16,29,15,29,14,29,25,29,24,29,23,29,28,29,27,29,26,29,31,29,30,29,29,29,34,29,33,29,32,29,21,29,20,29,18,29,9,29,35,60,23,60,22,59,23,59,21,59,20,59,19,60,20,60,19,60,18,60,17,60,16,60,15,56,18,56,17,56,16,57,18,57,17,57,16,55,18,55,17,55,16,60,14,60,13,60,12,59,12,59,11,59,10,58,12,58,11,58,10,56,15,56,14,56,13,55,14,55,13,55,12,54,14,54,13,54,12,53,12,53,11,53,10,56,12,56,11,56,10,52,18,52,17,52,16,57,23,57,22,56,23,56,22,55,23,55,22,56,21,56,20,56,19,58,21,58,20,58,19,54,21,54,20,54,19,53,21,53,20,53,19,51,21,51,20,51,19,51,18,51,17,51,16,52,14,52,13,52,12,52,11,52,10,52,9,51,12,51,11,51,10,60,11,60,10,60,9,52,23,52,22,51,23,51,22,50,23,50,22,49,21,49,20,49,19,48,21,48,20,48,19,47,21,47,20,47,19,45,21,45,20,45,19,46,21,46,20,46,19,44,21,44,20,44,19,50,18,50,17,50,16,49,17,49,16,49,15,48,17,48,16,48,15,46,17,46,16,46,15,45,17,45,16,45,15,43,17,43,16,43,15,44,18,44,17,44,16,46,12,46,11,46,10,45,12,45,11,45,10,43,14,43,13,43,12,39,14,39,13,39,12,41,17,41,16,41,15,40,18,40,17,40,16,39,18,39,17,39,16,38,18,38,17,38,16,42,21,42,20,42,19,41,21,41,20,41,19,36,21,36,20,36,19,37,21,37,20,37,19,39,21,39,20,39,19,38,23,38,22,39,23,39,22,40,23,40,22,44,23,44,22,45,23,47,14,47,13,47,12,50,14,50,13,50,12,49,11,49,10,49,9,48,11,48,10,48,9,41,12,41,11,41,10,37,15,37,14,37,13,35,18,35,17,35,16,34,18,34,17,34,16,31,19,31,18,31,17,32,19,32,18,32,17,32,15,32,14,32,13,35,15,35,14,35,13,35,12,35,11,35,10,34,12,34,11,34,10,32,12,32,11,32,10,30,12,30,11,30,10,30,16,30,15,30,14,34,21,34,20,34,19,34,23,34,22,32,23,32,22,31,23,31,22,30,23,33,23,37,23,36,23,35,23,35,22,30,21,30,20,30,18,31,21,32,21,33,21,33,18,33,20,35,20,31,15,33,16,33,15,34,15,34,14,33,11,33,10,31,11,31,10,36,10,36,16,36,17,37,17,38,15,38,13,37,12,38,11,37,11,40,10,39,10,38,10,44,10,43,10,42,10,43,11,44,12,42,12,40,12,40,14,41,14,42,14,44,14,45,14,46,14,48,13,49,13,47,10,50,10,50,9,51,14,51,15,53,14,53,15,54,15,55,10,54,10,57,9,57,11,56,9,55,9,54,9,46,9,45,9,47,9,43,9,42,9,44,9,39,9,38,9,40,9,41,9,36,9,35,9,37,9,33,9,32,9,34,9,30,9,31,9,57,13,57,14,58,15,59,15,59,14,58,14,59,17,58,17,54,17,53,17,57,20,55,20,52,20,58,23,54,23,53,23,49,23,48,23,47,23,41,23,43,22,43,23,42,23,46,23,46,22,46,18,48,18,50,20,48,22,47,17,47,16,43,18,42,17,42,16,38,20,40,20,33,13,31,13,60,24,60,25,59,24,59,26,59,27,59,28,60,27,60,28,60,29,60,30,60,31,60,32,56,29,56,30,56,31,57,29,57,30,57,31,55,29,55,30,55,31,60,33,60,34,60,35,59,35,59,36,59,37,58,35,58,36,58,37,56,32,56,33,56,34,55,33,55,34,55,35,54,33,54,34,54,35,53,35,53,36,53,37,56,35,56,36,56,37,52,29,52,30,52,31,57,24,57,25,56,24,56,25,55,24,55,25,56,26,56,27,56,28,58,26,58,27,58,28,54,26,54,27,54,28,53,26,53,27,53,28,51,26,51,27,51,28,51,29,51,30,51,31,52,33,52,34,52,35,52,36,52,37,52,38,51,35,51,36,51,37,60,36,60,37,60,38,52,24,52,25,51,24,51,25,50,24,50,25,49,26,49,27,49,28,48,26,48,27,48,28,47,26,47,27,47,28,45,26,45,27,45,28,46,26,46,27,46,28,44,26,44,27,44,28,50,29,50,30,50,31,49,30,49,31,49,32,48,30,48,31,48,32,46,30,46,31,46,32,45,30,45,31,45,32,43,30,43,31,43,32,44,29,44,30,44,31,46,35,46,36,46,37,45,35,45,36,45,37,43,33,43,34,43,35,39,33,39,34,39,35,41,30,41,31,41,32,40,29,40,30,40,31,39,29,39,30,39,31,38,29,38,30,38,31,42,26,42,27,42,28,41,26,41,27,41,28,36,26,36,27,36,28,37,26,37,27,37,28,39,26,39,27,39,28,38,24,38,25,39,24,39,25,40,24,40,25,44,24,44,25,45,24,47,33,47,34,47,35,50,33,50,34,50,35,49,36,49,37,49,38,48,36,48,37,48,38,41,35,41,36,41,37,37,32,37,33,37,34,35,29,35,30,35,31,34,29,34,30,34,31,31,28,31,29,31,30,32,28,32,29,32,30,32,32,32,33,32,34,35,32,35,33,35,34,35,35,35,36,35,37,34,35,34,36,34,37,32,35,32,36,32,37,30,35,30,36,30,37,30,31,30,32,30,33,34,26,34,27,34,28,34,24,34,25,32,24,32,25,31,24,31,25,30,24,33,24,37,24,36,24,35,24,35,25,30,26,30,27,30,29,31,26,32,26,33,26,33,29,33,27,35,27,31,32,33,31,33,32,34,32,34,33,33,36,33,37,31,36,31,37,36,37,36,31,36,30,37,30,38,32,38,34,37,35,38,36,37,36,40,37,39,37,38,37,44,37,43,37,42,37,43,36,44,35,42,35,40,35,40,33,41,33,42,33,44,33,45,33,46,33,48,34,49,34,47,37,50,37,50,38,51,33,51,32,53,33,53,32,54,32,55,37,54,37,57,38,57,36,56,38,55,38,54,38,46,38,45,38,47,38,43,38,42,38,44,38,39,38,38,38,40,38,41,38,36,38,35,38,37,38,33,38,32,38,34,38,30,38,31,38,57,34,57,33,58,32,59,32,59,33,58,33,59,30,58,30,54,30,53,30,57,27,55,27,52,27,58,24,54,24,53,24,49,24,48,24,47,24,41,24,43,25,43,24,42,24,46,24,46,25,46,29,48,29,50,27,48,25,47,30,47,31,43,29,42,30,42,31,38,27,40,27,33,34,31,34,24,41,19,41,28,40,27,40,26,40,26,39,27,39,28,39,28,38,27,38,26,38,25,40,24,40,23,40,23,39,24,39,25,39,25,38,24,38,23,38,20,40,19,40,18,40,18,39,19,39,20,39,20,38,14,38,13,38,21,36,20,36,19,36,19,35,20,35,21,35,21,34,20,34,19,34,21,40,22,40,22,39,21,38,22,38,28,37,28,36,27,36,26,36,25,36,25,37,24,36,23,36,22,37,22,36,22,35,22,34,18,37,18,36,17,40,16,40,17,40,17,39,17,38,16,38,17,36,17,35,17,34,17,33,19,33,20,33,21,33,27,35,26,35,26,34,25,34,25,33,26,33,26,32,25,32,27,34,27,33,27,32,23,32,22,32,22,31,23,31,23,30,22,30,24,32,24,31,24,30,24,34,24,33,21,32,18,32,20,31,19,31,18,31,17,31,16,31,20,30,20,29,21,29,22,29,28,30,27,30,28,29,28,27,27,27,28,26,28,23,27,22,28,22,28,21,28,20,26,30,26,29,27,29,28,28,28,24,28,25,27,21,27,20,28,19,27,19,26,27,26,26,26,25,26,24,26,23,26,22,26,21,26,20,26,19,25,29,25,28,25,27,24,28,24,27,24,26,22,28,22,27,22,26,20,28,20,27,20,26,19,25,19,24,19,23,18,23,18,22,18,21,25,24,25,23,25,22,25,26,23,28,20,25,21,25,22,25,23,25,22,24,23,24,24,24,5,35,5,36,5,37,6,35,6,36,6,37,7,32,7,33,7,34,7,37,7,38,7,39,6,38,6,39,6,40,8,38,8,39,8,40,10,38,10,39,10,40,10,33,10,34,10,35,11,32,11,33,11,34,15,32,15,33,15,34,16,32,16,33,16,34,13,32,13,33,13,34,12,35,12,36,12,37,12,38,12,39,12,40,15,35,15,36,15,37,15,38,15,39,15,40,14,33,14,34,13,35,13,36,11,35,18,38,19,38,13,39,12,41,14,41,15,41,11,37,11,38,9,38,9,32,8,32,9,33,8,33,6,32,6,33,5,33,4,38,4,39,5,39,7,35,8,35,9,35,8,36,9,36,4,41,5,41,6,41,7,41,8,41,9,41,10,41,3,38,3,39,3,40,3,41,22,23,23,23,24,23,23,21,24,21,25,21,23,20,24,20,25,20,20,22,21,22,22,22,20,21,21,21,22,21,21,23,22,19,23,19,24,19,19,19,20,19,21,19,20,18,21,18,22,18,25,17,26,17,27,17,25,16,26,16,27,16,21,17,22,17,23,17,23,15,24,15,25,15,24,13,25,13,26,13,24,12,25,12,26,12,21,14,22,14,23,14,21,12,22,12,23,12,19,13,20,13,21,13,18,12,19,12,20,12,13,16,14,16,15,16,13,14,14,14,15,14,13,15,14,15,15,15,13,13,14,13,15,13,15,12,16,12,17,12,16,14,17,14,18,14,18,11,19,11,20,11,21,10,22,10,23,10,24,10,25,10,26,10,17,18,18,18,19,18,18,16,19,16,20,16,20,20,18,20,18,19,17,19,16,18,16,17,15,17,18,17,20,17,27,18,28,18,24,17,24,16,23,16,26,14,23,13,21,15,20,15,20,14,18,13,16,13,16,15,16,16,17,16,21,11,23,11,25,11,27,11,27,10,28,13,28,12,28,14,28,10,28,9,28,11,19,9,19,8,19,10,22,8,22,7,22,9,25,8,25,7,25,9,25,5,25,4,25,6,22,5,22,4,22,6,19,6,19,5,19,7,16,11,20,9,18,8,20,7,18,6,20,5,23,5,21,6,23,7,21,8,23,9,26,9,27,8,26,7,26,5,27,6,24,6,24,8,23,4,24,4,26,4,27,4,28,8,28,7,28,6,28,4,19,4,20,4,21,4,17,5,17,4,18,4,56,8,60,8,60,7,60,6,60,5,60,4,60,3,58,7,58,6,58,5,56,7,56,6,56,5,54,7,54,6,54,5,52,8,52,7,52,6,50,7,50,6,50,5,51,6,55,6,57,6,59,4,60,2,59,2,58,2,59,1,58,4,57,4,56,4,58,3,57,3,56,3,57,2,56,2,55,2,55,4,54,4,53,4,55,3,54,3,53,3,52,4,51,4,50,4,52,3,51,3,50,3,53,5,52,5,52,2,53,2,53,1,55,1,57,1,29,7,29,6,29,5,29,3,29,2,29,1,32,7,32,6,32,5,34,7,34,6,34,5,36,7,36,6,36,5,38,7,38,6,38,5,41,7,41,6,41,5,49,7,49,6,49,5,48,7,48,6,48,5,47,7,47,6,47,5,44,7,44,6,44,5,47,4,47,3,47,2,48,2,48,1,48,0,49,2,49,1,49,0,47,1,47,0,47,-1,43,4,43,3,43,2,41,4,41,3,41,2,38,4,38,3,38,2,35,3,35,2,35,1,35,0,35,-1,35,-2,38,1,38,0,38,-1,41,1,41,0,41,-1,43,1,43,0,43,-1,44,-2,44,-3,44,-4,41,-2,41,-3,41,-4,38,-2,38,-3,38,-4,34,-2,34,-3,34,-4,32,4,32,3,32,2,32,1,32,0,32,-1,29,0,29,-1,29,-2,32,-2,32,-3,32,-4,29,-3,29,-4,29,-5,29,4,48,4,46,7,45,7,45,6,43,6,43,7,42,7,44,4,45,4,44,3,45,3,45,1,46,1,44,1,45,0,46,0,44,0,42,3,42,2,40,4,40,3,40,7,40,6,39,7,37,7,39,5,39,3,37,3,36,3,36,4,35,5,35,7,33,7,34,4,34,3,33,3,34,1,34,0,36,1,36,0,33,-2,36,-2,37,-2,39,-2,40,-2,40,-3,39,-4,38,-5,40,-5,41,-5,42,-4,42,-2,42,-1,43,-2,43,-3,45,-2,45,-3,46,-4,44,-5,45,-5,43,-5,39,1,40,0,40,1,39,0,36,-3,36,-4,36,-5,35,-4,34,-5,32,-5,31,-4,30,-4,31,-2,30,-2,30,0,30,1,31,3,30,3,31,5,30,5,31,7,30,7,19,3,25,3,25,2,25,1,25,0,28,3,28,1,28,0,28,-2,24,0,24,-1,24,-2,22,3,22,2,22,1,19,2,19,1,19,0,22,0,22,-1,22,-2,19,-1,19,-2,19,-3,24,3,24,2,26,3,26,2,23,0,26,0,27,0,28,-3,26,-1,26,-2,26,-3,25,-2,24,-3,22,-3,21,-2,20,-2,21,0,20,0,20,2,20,3,50,1,50,0,51,0,57,0,60,0,60,-1,60,-2,56,0,56,-1,56,-2,54,0,54,-1,54,-2,55,0,58,0,59,0,60,-3,58,-1,58,-2,58,-3,57,-2,56,-3,54,-3,53,-2,53,0,52,-1,52,-2,52,-3,51,-1,51,-2,51,-3,50,-1,50,-2,50,-3,49,-2,47,-2,47,-3,48,-3,48,-4,47,-4,47,-5,48,-5,49,-5,50,-5,53,-4,52,-4,51,-4,56,-4,55,-4,54,-4,56,-5,55,-5,54,-5,60,-4,59,-4,58,-4,60,-5,59,-5,60,-18,60,-17,60,-16,60,-15,60,-14,58,-18,58,-17,58,-16,56,-18,56,-17,56,-16,54,-18,54,-17,54,-16,52,-18,52,-17,50,-18,50,-17,50,-16,51,-17,55,-17,57,-17,59,-15,60,-13,59,-13,58,-13,59,-12,58,-15,57,-15,56,-15,58,-14,57,-14,56,-14,57,-13,56,-13,55,-13,55,-15,54,-15,53,-15,55,-14,54,-14,53,-14,52,-15,51,-15,50,-15,52,-14,51,-14,50,-14,53,-16,52,-16,52,-13,53,-13,53,-12,55,-12,57,-12,29,-18,29,-17,29,-16,29,-14,29,-13,29,-12,32,-18,32,-17,32,-16,34,-18,34,-17,34,-16,36,-18,36,-17,36,-16,38,-18,38,-17,38,-16,41,-18,41,-17,41,-16,49,-18,49,-17,49,-16,48,-18,48,-17,48,-16,47,-18,47,-17,47,-16,44,-18,44,-17,44,-16,47,-15,47,-14,47,-13,48,-13,48,-12,48,-11,49,-13,49,-12,49,-11,47,-12,47,-11,47,-10,43,-15,43,-14,43,-13,41,-15,41,-14,41,-13,38,-15,38,-14,38,-13,35,-14,35,-13,35,-12,35,-11,35,-10,35,-9,38,-12,38,-11,38,-10,41,-12,41,-11,41,-10,43,-12,43,-11,43,-10,44,-9,44,-8,44,-7,41,-9,41,-8,41,-7,38,-9,38,-8,38,-7,34,-9,34,-8,34,-7,32,-15,32,-14,32,-13,32,-12,32,-11,32,-10,29,-11,29,-10,29,-9,32,-9,32,-8,32,-7,29,-8,29,-7,29,-6,29,-15,48,-15,46,-18,45,-18,45,-17,43,-17,43,-18,42,-18,44,-15,45,-15,44,-14,45,-14,45,-12,46,-12,44,-12,45,-11,46,-11,44,-11,42,-14,42,-13,40,-15,40,-14,40,-18,40,-17,39,-18,37,-18,39,-16,39,-14,37,-14,36,-14,36,-15,35,-16,35,-18,33,-18,34,-15,34,-14,33,-14,34,-12,34,-11,36,-12,36,-11,33,-9,36,-9,37,-9,39,-9,40,-9,40,-8,39,-7,38,-6,40,-6,41,-6,42,-7,42,-9,42,-10,43,-9,43,-8,45,-9,45,-8,46,-7,44,-6,45,-6,43,-6,39,-12,40,-11,40,-12,39,-11,36,-8,36,-7,36,-6,35,-7,34,-6,32,-6,31,-7,30,-7,31,-9,30,-9,30,-11,30,-12,31,-14,30,-14,31,-16,30,-16,31,-18,30,-18,50,-12,50,-11,51,-11,57,-11,60,-11,60,-10,60,-9,56,-11,56,-10,56,-9,54,-11,54,-10,54,-9,55,-11,58,-11,59,-11,60,-8,58,-10,58,-9,58,-8,57,-9,56,-8,54,-8,53,-9,53,-11,52,-10,52,-9,52,-8,51,-10,51,-9,51,-8,50,-10,50,-9,50,-8,49,-9,47,-9,47,-8,48,-8,48,-7,47,-7,47,-6,48,-6,49,-6,50,-6,53,-7,52,-7,51,-7,56,-7,55,-7,54,-7,56,-6,55,-6,54,-6,60,-7,59,-7,58,-7,60,-6,59,-6,28,-4,19,-4,19,-5,22,-5,22,-6,22,-4,25,-5,25,-6,25,-4,25,-8,25,-9,25,-7,22,-8,22,-9,22,-7,19,-7,19,-8,19,-6,20,-4,18,-5,20,-6,18,-7,20,-8,23,-8,21,-7,23,-6,21,-5,23,-4,26,-4,27,-5,26,-6,26,-8,27,-7,24,-7,24,-5,23,-9,24,-9,26,-9,27,-9,28,-5,28,-6,28,-7,28,-9,19,-9,20,-9,21,-9,17,-8,17,-9,18,-9,19,-10,25,-10,25,-11,25,-12,25,-13,28,-10,28,-12,28,-13,28,-15,24,-13,24,-14,24,-15,22,-10,22,-11,22,-12,19,-11,19,-12,19,-13,22,-13,22,-14,22,-15,19,-14,19,-15,19,-16,24,-10,24,-11,26,-10,26,-11,23,-13,26,-13,27,-13,28,-16,26,-14,26,-15,26,-16,25,-15,24,-16,22,-16,21,-15,20,-15,21,-13,20,-13,20,-11,20,-10,18,-2,17,-2,18,0,17,0,17,2,17,3,18,-3,17,-3,17,-4,17,-6,17,7,17,10,17,9,15,10,13,11,13,10,18,-12,18,-14,17,-15,17,-16,18,-16,18,-10,17,-10,17,-11,17,-13,26,-17,26,-18,19,-17,19,-18,22,-17,22,-18,17,-18,20,-18,18,-17,24,-17,23,-18,21,-17,25,-17,25,-18,3,7,4,7,2,7,1,7,-1,7,-1,8,4,9,3,9,2,9,1,9,0,9,-1,9,-1,10,4,10,6,7,6,8,6,9,6,10,7,10,7,9,7,8,7,7,8,11,8,10,8,9,8,8,8,7,9,7,10,7,10,8,9,9,9,10,10,10,10,9,11,10,11,9,11,7,11,8,12,9,13,8,-4,7,-5,7,-3,8,-4,8,-5,8,-6,8,-3,9,-3,10,-4,9,-5,9,-6,9,-4,10,-5,10,-6,10,4,11,3,11,2,11,1,11,-23,11,-21,11,-22,11,-20,11,-20,10,-20,9,-19,9,-18,9,-17,9,-21,8,-20,7,-20,8,-19,8,-19,7,-21,7,-22,9,-22,8,-22,7,-23,8,-23,9,-24,10,-25,11,-25,10,-24,9,-24,8,-24,7,-24,6,-19,5,-20,5,-21,5,-22,5,-23,5,-24,5,-24,4,-19,4,-18,11,-17,11,-16,11,-15,11,-14,11,-13,11,-16,10,-16,9,-16,8,-17,7,-17,6,-17,5,-17,4,-16,4,-16,5,-16,6,-16,7,-15,3,-15,4,-15,5,-15,6,-15,7,-15,8,-15,10,-15,9,-14,7,-14,10,-13,10,-13,9,-13,8,-13,7,-13,6,-14,5,-14,4,-13,4,-13,5,-12,4,-12,5,-12,10,-12,9,-12,8,-12,7,-12,6,-11,10,-11,9,-11,5,-11,8,-10,10,-10,8,-10,9,-9,10,-9,9,-9,8,-10,6,-10,5,-9,6,-9,5,-28,8,-27,8,-26,8,-26,9,-26,10,-26,11,-27,7,-28,7,-26,6,-27,6,-28,6,-26,5,-26,4,-27,5,-28,5,-27,4,-28,4,-21,-1,-22,-1,-20,-1,-19,-1,-17,-1,-17,0,-22,1,-21,1,-20,1,-19,1,-18,1,-17,1,-17,2,-22,2,-24,-1,-24,0,-24,1,-24,2,-25,2,-25,1,-25,0,-25,-1,-26,3,-26,2,-26,1,-26,0,-26,-1,-27,-1,-28,-1,-28,0,-27,1,-27,2,-28,2,-28,1,-14,-1,-13,-1,-15,0,-14,0,-13,0,-12,0,-15,1,-15,2,-14,1,-13,1,-12,1,-14,2,-13,2,-12,2,-22,3,-21,3,-20,3,-19,3,-23,19,-21,19,-22,19,-20,19,-20,18,-20,17,-19,17,-18,17,-17,17,-21,16,-20,15,-20,16,-19,16,-19,15,-21,15,-22,17,-22,16,-22,15,-23,16,-23,17,-24,18,-25,19,-25,18,-24,17,-24,16,-24,15,-24,14,-19,13,-20,13,-21,13,-22,13,-23,13,-24,13,-24,12,-19,12,-18,19,-17,19,-16,19,-15,19,-14,19,-13,19,-16,18,-16,17,-16,16,-17,15,-17,14,-17,13,-17,12,-16,12,-16,13,-16,14,-16,15,-15,12,-15,13,-15,14,-15,15,-15,16,-15,18,-15,17,-14,15,-14,18,-13,18,-13,17,-13,16,-13,15,-13,14,-14,13,-14,12,-13,12,-13,13,-12,12,-12,13,-12,18,-12,17,-12,16,-12,15,-12,14,-11,18,-11,17,-11,13,-11,16,-10,18,-10,16,-10,17,-10,14,-10,13,-28,16,-27,16,-26,16,-26,17,-26,18,-26,19,-27,15,-28,15,-26,14,-27,14,-28,14,-26,13,-26,12,-27,13,-28,13,-27,12,-28,12,-26,20,-27,20,-28,20,-22,20,-23,20,-24,20,-8,11,-8,10,-7,10,-8,9,-7,9,-8,8,-7,7,-7,8,-8,7,-37,9,-38,9,-39,9,-37,8,-35,10,-35,9,-35,8,-34,8,-34,9,-34,10,-33,7,-33,8,-33,9,-33,10,-31,10,-32,9,-32,8,-31,8,-31,9,-30,8,-30,9,-30,10,-29,9,-39,3,-38,3,-37,3,-35,3,-35,4,-39,5,-38,5,-37,5,-36,5,-35,5,-35,6,-32,3,-31,3,-33,4,-32,4,-31,4,-30,4,-33,5,-33,6,-32,5,-31,5,-30,5,-32,6,-31,6,-30,6,-39,7,-38,7,-37,7,-36,11,-35,11,-34,11,-33,12,-32,12,-31,12,-29,16,-29,17,-31,14,-32,13,-30,15,-30,14,-29,14,-29,13,-29,12,-29,11,-30,11,-33,11,-32,11,-31,11,-29,8,-29,7,-29,6,-29,5,-29,4,-29,3,-34,-1,-33,-1,-32,-1,-30,-1,-30,0,-34,1,-33,1,-32,1,-31,1,-30,1,-30,2,-35,-1,-36,-1,-37,-1,-39,-1,-39,0,-35,1,-36,1,-37,1,-38,1,-39,1,-39,2,-37,-13,-38,-13,-39,-13,-37,-12,-35,-13,-35,-12,-34,-12,-34,-13,-33,-11,-33,-12,-33,-13,-32,-13,-32,-12,-31,-12,-31,-13,-30,-12,-30,-13,-29,-13,-39,-7,-38,-7,-37,-7,-35,-7,-35,-8,-39,-9,-38,-9,-37,-9,-36,-9,-35,-9,-35,-10,-32,-7,-31,-7,-33,-8,-32,-8,-31,-8,-30,-8,-33,-9,-33,-10,-32,-9,-31,-9,-30,-9,-32,-10,-31,-10,-30,-10,-39,-11,-38,-11,-37,-11,-29,-12,-29,-11,-29,-10,-29,-9,-29,-8,-29,-7,-34,-3,-33,-3,-32,-3,-30,-3,-30,-4,-34,-5,-33,-5,-32,-5,-31,-5,-30,-5,-30,-6,-35,-3,-36,-3,-37,-3,-39,-3,-39,-4,-35,-5,-36,-5,-37,-5,-38,-5,-39,-5,-39,-6,-37,-2,-36,-2,-35,-2,-38,-2,-39,-2,-40,-2,-31,-2,-30,-2,-29,-2,-32,-2,-33,-2,-34,-2,-28,-2,-4,6,-2,6,-3,6,-1,6,-1,5,-1,4,0,4,1,4,2,4,-2,3,-1,2,-1,3,0,3,0,2,-2,2,-3,4,-3,3,-3,2,-4,3,-4,4,-5,5,-6,6,-6,5,-5,4,-5,3,-5,2,-5,1,1,6,2,6,3,6,4,6,5,6,6,6,3,5,3,4,3,3,2,2,2,1,3,1,3,2,4,1,4,2,4,3,4,5,4,4,5,2,5,5,6,5,6,4,6,3,6,2,6,1,7,5,7,4,7,3,7,2,7,1,-8,6,-7,6,-7,5,-8,5,-8,4,-7,4,-9,3,-8,3,-7,3,-9,2,-8,2,-7,2,-9,1,-8,1,-7,1,-9,0,-8,0,-7,0,-10,3,-10,2,-10,1,-11,2,-11,1,-11,0,-10,0,-5,0,-4,0,-3,0,-2,0,-1,0,0,0,-8,-11,-9,-11,-10,-11,-8,-10,-6,-11,-6,-10,-5,-10,-5,-11,-4,-9,-4,-10,-4,-11,-3,-11,-3,-10,-2,-10,-2,-11,-1,-10,-1,-11,0,-11,-10,-5,-9,-5,-8,-5,-6,-5,-6,-6,-10,-7,-9,-7,-8,-7,-7,-7,-6,-7,-6,-8,-3,-5,-2,-5,-4,-6,-3,-6,-2,-6,-1,-6,-4,-7,-4,-8,-3,-7,-2,-7,-1,-7,-3,-8,-2,-8,-1,-8,-10,-9,-9,-9,-8,-9,0,-10,0,-9,0,-8,0,-7,0,-6,0,-5,-5,-1,-4,-1,-3,-1,-1,-1,-1,-2,-5,-3,-4,-3,-3,-3,-2,-3,-1,-3,-1,-4,-6,-1,-7,-1,-8,-1,-10,-1,-10,-2,-6,-3,-7,-3,-8,-3,-9,-3,-10,-3,-10,-4,-21,-5,-21,-4,-21,-3,-20,-5,-21,-7,-20,-7,-20,-8,-21,-8,-19,-9,-20,-9,-21,-9,-21,-10,-20,-10,-20,-11,-21,-11,-20,-12,-21,-12,-21,-13,-15,-3,-15,-4,-15,-5,-15,-7,-16,-7,-17,-3,-17,-4,-17,-5,-17,-6,-17,-7,-18,-7,-15,-10,-15,-11,-16,-9,-16,-10,-16,-11,-16,-12,-17,-9,-18,-9,-17,-10,-17,-11,-17,-12,-18,-10,-18,-11,-18,-12,-19,-3,-19,-4,-19,-5,-20,-13,-19,-13,-18,-13,-17,-13,-16,-13,-15,-13,-12,-12,-13,-8,-13,-9,-13,-10,-13,-11,-13,-12,-14,-12,-12,-3,-13,-7,-13,-6,-13,-5,-13,-4,-13,-3,-14,-3,-11,-5,-11,-6,-11,-7,-11,-8,-11,-9,-11,-10,-11,-11,-11,-12,-11,-13,-15,-2,-16,-2,-17,-2,-18,-2,-19,-2,-20,-2,-21,-2,-22,-2,-23,-2,-25,-2,-26,-2,-27,-2,-24,-2,-27,-12,-27,-13,-26,-11,-26,-12,-26,-13,-25,-13,-25,-12,-24,-12,-24,-13,-23,-12,-23,-13,-22,-13,-25,-7,-24,-7,-26,-8,-25,-8,-24,-8,-23,-8,-26,-9,-26,-10,-25,-9,-24,-9,-23,-9,-25,-10,-24,-10,-23,-10,-22,-12,-22,-11,-22,-10,-22,-9,-22,-8,-22,-7,-27,-3,-26,-3,-25,-3,-23,-3,-23,-4,-27,-5,-26,-5,-25,-5,-24,-5,-23,-5,-23,-6,-28,-3,-28,-5,-23,-7,-28,-9,-28,-8,-28,-7,-28,-12,-28,-11,-28,-10,-28,-13,-30,-7,-64,36,-64,37,-64,38,-64,39,-63,39,-63,36,-62,36,-62,35,-62,34,-64,34,-63,34,-64,32,-64,31,-64,30,-64,29,-64,28,-62,33,-62,32,-62,31,-62,30,-62,29,-61,29,-60,29,-60,28,-62,28,-62,27,-62,26,-63,26,-60,27,-60,26,-60,25,-63,25,-63,24,-63,23,-62,23,-61,23,-60,23,-59,25,-58,25,-58,24,-59,23,-58,23,-59,27,-58,27,-57,27,-58,22,-59,22,-60,22,-63,22,-62,38,-62,37,-63,37,-61,36,-61,35,-61,34,-59,29,-59,28,-58,28,-57,28,-62,30,-61,30,-60,30,-59,30,-55,20,-56,20,-57,20,-57,21,-58,20,-59,20,-60,21,-60,20,-61,20,-55,21,-57,24,-57,23,-62,21,-62,20,-63,20,-63,21,-52,19,-58,19,-63,19,16,9,16,8,16,7,14,9,14,8,14,7,13,9,15,8,15,7,15,6,14,6,14,5,14,4,13,6,13,5,13,4,10,6,10,5,10,4,11,5,11,4,11,3,12,5,12,4,12,3,15,5,15,4,8,6,8,5,8,4,8,3,9,3,10,3,10,2,9,2,13,3,14,3,9,1,15,2,15,1,15,0,16,2,16,1,16,0,15,-1,15,-2,15,-3,16,-1,16,-2,16,-3,16,-4,16,-5,16,-6,15,-6,15,-7,15,-8,16,-7,16,-8,16,-9,16,-10,16,-11,16,-12,15,-9,15,-10,15,-11,13,-7,13,-8,13,-9,14,-4,14,-5,14,-6,13,1,13,0,13,-1,12,1,12,0,12,-1,11,0,11,-1,11,-2,11,-3,11,-4,11,-5,12,-3,12,-4,12,-5,8,-4,8,-5,8,-6,5,-1,5,-2,5,-3,3,0,3,-1,3,-2,3,-3,3,-4,3,-5,5,-4,5,-5,5,-6,4,-5,4,-6,4,-7,3,-6,3,-7,3,-8,1,-4,1,-5,1,-6,1,-7,1,-8,1,-9,4,-8,4,-9,4,-10,5,-9,5,-10,5,-11,6,-7,6,-8,6,-9,7,-7,7,-8,7,-9,8,-7,8,-8,8,-9,9,-6,9,-7,9,-8,10,-7,10,-8,10,-9,8,-10,8,-11,8,-12,5,-12,5,-13,5,-14,4,-11,4,-12,4,-13,1,-12,1,-13,1,-14,12,-6,12,-7,12,-8,13,-10,13,-11,13,-12,12,-9,12,-10,12,-11,11,-9,11,-10,11,-11,10,0,9,0,8,0,10,-1,9,-1,8,-1,8,-2,7,-2,6,-2,14,1,14,2,7,-1,6,-1,10,-3,15,-4,13,-3,13,-4,13,-6,10,-4,9,-4,11,-7,11,-6,14,-8,14,-9,15,-12,16,-13,13,-13,9,-9,5,-7,4,-1,4,-2,1,-2,1,-1,2,-1,2,-2,0,-1,6,-4,7,-4,7,-5,2,-7,2,-8,1,-10,2,-10,3,-10,3,-9,3,-13,3,-12,11,-12,10,-12,9,-12,7,-10,9,-11,11,-13,7,-12,6,-13,6,-12,2,-12,2,-11,2,-27,2,-26,2,-25,1,-27,1,-26,1,-25,1,-24,1,-23,1,-22,2,-22,2,-21,2,-20,1,-21,1,-20,1,-19,1,-18,1,-17,1,-16,2,-19,2,-18,2,-17,4,-21,4,-20,4,-19,3,-24,3,-23,3,-22,4,-27,5,-27,6,-27,6,-26,6,-25,6,-24,6,-23,5,-25,5,-24,5,-23,9,-24,9,-23,9,-22,12,-27,12,-26,12,-25,14,-27,14,-26,14,-25,14,-24,14,-23,12,-24,12,-23,12,-22,13,-23,13,-22,13,-21,14,-22,14,-21,14,-20,16,-24,16,-23,16,-22,16,-21,16,-20,16,-19,13,-20,13,-19,13,-18,12,-19,12,-18,12,-17,11,-21,11,-20,11,-19,10,-21,10,-20,10,-19,9,-21,9,-20,9,-19,8,-22,8,-21,8,-20,7,-21,7,-20,7,-19,9,-18,9,-17,9,-16,12,-16,12,-15,12,-14,13,-17,13,-16,13,-15,16,-16,16,-15,16,-14,5,-22,5,-21,5,-20,4,-18,4,-17,4,-16,5,-19,5,-18,5,-17,6,-19,6,-18,6,-17,7,-27,8,-27,9,-27,9,-26,10,-26,11,-26,10,-27,11,-27,7,-25,2,-24,4,-25,4,-24,4,-22,7,-24,8,-24,6,-21,6,-22,3,-20,3,-19,2,-16,1,-15,4,-15,8,-19,12,-21,13,-27,13,-26,16,-26,16,-27,15,-27,15,-26,11,-24,10,-24,10,-23,15,-21,15,-20,16,-18,15,-18,14,-18,14,-19,14,-15,14,-16,6,-16,7,-16,8,-16,10,-18,8,-17,6,-15,10,-16,11,-15,11,-16,15,-16,15,-17,7,-15,9,-15,10,-14,9,-14,7,-14,8,-14,9,-13,18,-27,18,-26,18,-25,17,-27,17,-26,17,-25,17,-24,17,-23,17,-22,18,-22,18,-21,18,-20,17,-21,17,-20,17,-19,18,-19,20,-21,20,-20,20,-19,19,-24,19,-23,19,-22,20,-27,21,-27,22,-27,22,-26,22,-25,22,-24,22,-23,21,-25,21,-24,21,-23,25,-24,25,-23,25,-22,28,-27,28,-26,28,-25,30,-27,30,-26,30,-25,30,-24,30,-23,28,-24,28,-23,28,-22,29,-23,29,-22,29,-21,30,-22,30,-21,30,-20,32,-24,32,-23,32,-22,32,-21,32,-20,32,-19,29,-20,29,-19,28,-19,27,-21,27,-20,27,-19,26,-21,26,-20,26,-19,25,-21,25,-20,25,-19,24,-22,24,-21,24,-20,23,-21,23,-20,23,-19,21,-22,21,-21,21,-20,21,-19,22,-19,23,-27,24,-27,25,-27,25,-26,26,-26,27,-26,26,-27,27,-27,23,-25,18,-24,20,-25,20,-24,20,-22,23,-24,24,-24,22,-21,22,-22,19,-20,19,-19,24,-19,28,-21,29,-27,29,-26,32,-26,32,-27,31,-27,31,-26,27,-24,26,-24,26,-23,31,-21,31,-20,30,-19,48,-27,48,-26,48,-25,49,-27,49,-26,49,-25,49,-24,49,-23,49,-22,48,-22,48,-21,48,-20,49,-21,49,-20,48,-19,46,-21,46,-20,46,-19,47,-24,47,-23,47,-22,46,-27,45,-27,44,-27,44,-26,44,-25,44,-24,44,-23,45,-25,45,-24,45,-23,41,-24,41,-23,41,-22,38,-27,38,-26,38,-25,36,-27,36,-26,36,-25,36,-24,36,-23,38,-24,38,-23,38,-22,37,-23,37,-22,37,-21,36,-22,36,-21,36,-20,34,-24,34,-23,34,-22,34,-21,34,-20,34,-19,37,-20,37,-19,38,-19,39,-21,39,-20,39,-19,40,-21,40,-20,40,-19,41,-21,41,-20,41,-19,42,-22,42,-21,42,-20,43,-21,43,-20,43,-19,45,-22,45,-21,45,-20,45,-19,44,-19,43,-27,42,-27,41,-27,41,-26,40,-26,39,-26,40,-27,39,-27,43,-25,48,-24,46,-25,46,-24,46,-22,43,-24,42,-24,44,-21,44,-22,47,-20,47,-19,42,-19,38,-21,37,-27,37,-26,34,-26,34,-27,35,-27,35,-26,39,-24,40,-24,40,-23,35,-21,35,-20,36,-19,33,-24,33,-23,33,-22,33,-21,33,-20,33,-19,33,-25,33,-26,33,-27,2,-28,2,-29,2,-30,1,-28,1,-29,1,-30,4,-28,5,-28,6,-28,6,-29,6,-30,5,-30,12,-28,12,-29,12,-30,14,-28,14,-29,14,-30,7,-28,8,-28,9,-28,9,-29,10,-29,11,-29,10,-28,11,-28,7,-30,4,-30,13,-28,13,-29,16,-29,16,-28,15,-28,15,-29,18,-28,18,-29,18,-30,17,-28,17,-29,17,-30,20,-28,21,-28,22,-28,22,-29,22,-30,21,-30,28,-28,28,-29,28,-30,30,-28,30,-29,30,-30,23,-28,24,-28,25,-28,25,-29,26,-29,27,-29,26,-28,27,-28,23,-30,20,-30,29,-28,29,-29,32,-29,32,-28,31,-28,31,-29,48,-28,48,-29,48,-30,49,-28,49,-29,49,-30,46,-28,45,-28,44,-28,44,-29,44,-30,45,-30,38,-28,38,-29,38,-30,36,-28,36,-29,36,-30,43,-28,42,-28,41,-28,41,-29,40,-29,39,-29,40,-28,39,-28,43,-30,46,-30,37,-28,37,-29,34,-29,34,-28,35,-28,35,-29,33,-30,33,-29,33,-28,2,-35,1,-35,1,-34,1,-33,1,-32,2,-32,2,-31,1,-31,4,-31,3,-34,3,-33,3,-32,6,-35,6,-34,6,-33,5,-35,5,-34,5,-33,9,-34,9,-33,9,-32,12,-35,14,-35,14,-34,14,-33,12,-34,12,-33,12,-32,13,-33,13,-32,13,-31,14,-32,14,-31,16,-34,16,-33,16,-32,16,-31,11,-31,10,-31,9,-31,8,-32,8,-31,7,-31,5,-32,5,-31,7,-35,2,-34,4,-35,4,-34,4,-32,7,-34,8,-34,6,-31,6,-32,12,-31,11,-34,10,-34,10,-33,15,-31,18,-35,17,-35,17,-34,17,-33,17,-32,18,-32,18,-31,17,-31,20,-31,19,-34,19,-33,19,-32,22,-35,22,-34,22,-33,21,-35,21,-34,21,-33,25,-34,25,-33,25,-32,28,-35,30,-35,30,-34,30,-33,28,-34,28,-33,28,-32,29,-33,29,-32,29,-31,30,-32,30,-31,32,-34,32,-33,32,-32,32,-31,27,-31,26,-31,25,-31,24,-32,24,-31,23,-31,21,-32,21,-31,23,-35,18,-34,20,-35,20,-34,20,-32,23,-34,24,-34,22,-31,22,-32,28,-31,27,-34,26,-34,26,-33,31,-31,48,-35,49,-35,49,-34,49,-33,49,-32,48,-32,48,-31,49,-31,46,-31,47,-34,47,-33,47,-32,44,-35,44,-34,44,-33,45,-35,45,-34,45,-33,41,-34,41,-33,41,-32,38,-35,36,-35,36,-34,36,-33,38,-34,38,-33,38,-32,37,-33,37,-32,37,-31,36,-32,36,-31,34,-34,34,-33,34,-32,34,-31,39,-31,40,-31,41,-31,42,-32,42,-31,43,-31,45,-32,45,-31,43,-35,48,-34,46,-35,46,-34,46,-32,43,-34,42,-34,44,-31,44,-32,38,-31,39,-34,40,-34,40,-33,35,-31,33,-34,33,-33,33,-32,33,-31,33,-35,2,-40,1,-40,1,-39,1,-38,1,-37,2,-37,2,-36,1,-36,4,-36,3,-39,3,-38,3,-37,6,-40,6,-39,6,-38,5,-40,5,-39,5,-38,9,-39,9,-38,9,-37,12,-40,14,-40,14,-39,14,-38,12,-39,12,-38,12,-37,13,-38,13,-37,13,-36,14,-37,14,-36,16,-39,16,-38,16,-37,16,-36,11,-36,10,-36,9,-36,8,-37,8,-36,7,-36,5,-37,5,-36,7,-40,2,-39,4,-40,4,-39,4,-37,7,-39,8,-39,6,-36,6,-37,12,-36,11,-39,10,-39,10,-38,15,-36,18,-40,17,-40,17,-39,17,-38,17,-37,18,-37,18,-36,17,-36,20,-36,19,-39,19,-38,19,-37,22,-40,22,-39,22,-38,21,-40,21,-39,21,-38,25,-39,25,-38,25,-37,28,-40,30,-40,30,-39,30,-38,28,-39,28,-38,28,-37,29,-38,29,-37,29,-36,30,-37,30,-36,32,-39,32,-38,32,-37,32,-36,27,-36,26,-36,25,-36,24,-37,24,-36,23,-36,21,-37,21,-36,23,-40,18,-39,20,-40,20,-39,20,-37,23,-39,24,-39,22,-36,22,-37,28,-36,27,-39,26,-39,26,-38,31,-36,48,-40,49,-40,49,-39,49,-38,49,-37,48,-37,48,-36,49,-36,46,-36,47,-39,47,-38,47,-37,44,-40,44,-39,44,-38,45,-40,45,-39,45,-38,41,-39,41,-38,41,-37,38,-40,36,-40,36,-39,36,-38,38,-39,38,-38,38,-37,37,-38,37,-37,37,-36,36,-37,36,-36,34,-39,34,-38,34,-37,34,-36,39,-36,40,-36,41,-36,42,-37,42,-36,43,-36,45,-37,45,-36,43,-40,48,-39,46,-40,46,-39,46,-37,43,-39,42,-39,44,-36,44,-37,38,-36,39,-39,40,-39,40,-38,35,-36,33,-39,33,-38,33,-37,33,-36,33,-40,2,-41,1,-41,1,-42,1,-43,1,-44,2,-44,2,-45,1,-45,4,-45,3,-42,3,-43,3,-44,6,-41,6,-42,6,-43,5,-41,5,-42,5,-43,9,-42,9,-43,9,-44,12,-41,14,-41,14,-42,14,-43,12,-42,12,-43,12,-44,13,-43,13,-44,13,-45,14,-44,14,-45,16,-42,16,-43,16,-44,16,-45,11,-45,10,-45,9,-45,8,-44,8,-45,7,-45,5,-44,5,-45,7,-41,2,-42,4,-41,4,-42,4,-44,7,-42,8,-42,6,-45,6,-44,12,-45,11,-42,10,-42,10,-43,15,-45,18,-41,17,-41,17,-42,17,-43,17,-44,18,-44,18,-45,17,-45,20,-45,19,-42,19,-43,19,-44,22,-41,22,-42,22,-43,21,-41,21,-42,21,-43,25,-42,25,-43,25,-44,28,-41,30,-41,30,-42,30,-43,28,-42,28,-43,28,-44,29,-43,29,-44,29,-45,30,-44,30,-45,32,-42,32,-43,32,-44,32,-45,27,-45,26,-45,25,-45,24,-44,24,-45,23,-45,21,-44,21,-45,23,-41,18,-42,20,-41,20,-42,20,-44,23,-42,24,-42,22,-45,22,-44,28,-45,27,-42,26,-42,26,-43,31,-45,48,-41,49,-41,49,-42,49,-43,49,-44,48,-44,48,-45,49,-45,46,-45,47,-42,47,-43,47,-44,44,-41,44,-42,44,-43,45,-41,45,-42,45,-43,41,-42,41,-43,41,-44,38,-41,36,-41,36,-42,36,-43,38,-42,38,-43,38,-44,37,-43,37,-44,37,-45,36,-44,36,-45,34,-42,34,-43,34,-44,34,-45,39,-45,40,-45,41,-45,42,-44,42,-45,43,-45,45,-44,45,-45,43,-41,48,-42,46,-41,46,-42,46,-44,43,-42,42,-42,44,-45,44,-44,38,-45,39,-42,40,-42,40,-43,35,-45,33,-42,33,-43,33,-44,33,-45,33,-41,-65,42,-65,43,-65,44,-65,45,-66,45,-66,42,-67,42,-67,41,-67,40,-65,40,-66,40,-65,38,-65,37,-65,36,-65,35,-65,34,-67,39,-67,38,-67,37,-67,36,-67,35,-68,35,-69,35,-69,34,-67,34,-67,33,-67,32,-66,32,-69,33,-69,32,-69,31,-66,31,-66,30,-66,29,-67,29,-68,29,-69,29,-70,31,-71,31,-71,30,-70,29,-71,29,-70,33,-71,33,-72,33,-71,28,-70,28,-69,28,-70,27,-69,27,-68,27,-69,26,-68,25,-68,26,-67,26,-66,26,-66,28,-66,27,-65,20,-65,19,-65,18,-66,19,-66,24,-67,24,-68,24,-66,23,-67,23,-68,23,-66,22,-67,22,-68,22,-67,21,-67,20,-67,19,-68,21,-68,20,-68,19,-70,25,-70,24,-70,23,-71,26,-71,25,-71,24,-72,27,-72,26,-72,25,-73,26,-73,25,-73,24,-74,25,-74,24,-74,23,-74,22,-74,21,-74,20,-72,22,-72,21,-72,20,-70,22,-70,21,-70,20,-69,20,-69,22,-69,24,-72,24,-72,23,-71,23,-73,22,-73,20,-71,21,-71,20,-75,22,-70,19,-67,18,-76,29,-76,28,-76,27,-76,26,-75,26,-75,29,-74,29,-74,30,-74,31,-76,31,-75,31,-76,33,-76,34,-76,35,-76,36,-76,37,-74,32,-74,33,-74,34,-74,35,-74,36,-73,36,-72,36,-72,37,-74,37,-74,38,-74,39,-75,39,-72,38,-72,39,-72,40,-75,40,-75,41,-75,42,-74,42,-73,42,-72,42,-71,40,-70,40,-70,41,-71,42,-70,42,-71,38,-70,38,-69,38,-70,43,-71,43,-72,43,-75,43,-74,27,-74,28,-75,28,-73,29,-73,30,-73,31,-71,36,-71,37,-70,37,-69,37,-74,35,-73,35,-72,35,-71,35,-67,45,-68,45,-69,45,-69,44,-70,45,-71,45,-72,44,-72,45,-73,45,-67,44,-69,41,-69,42,-74,44,-74,45,-75,45,-75,44,-70,46,-75,46,-63,29,-65,31,-64,25,-64,24,-64,23,-64,22,-64,21,-64,41,-64,42,-64,43,-64,44,-64,45,-64,46,-52,16,-51,16,-50,16,-49,16,-49,15,-52,15,-52,14,-53,14,-54,14,-54,16,-54,15,-56,16,-57,16,-58,16,-59,16,-60,16,-55,14,-56,14,-57,14,-58,14,-59,14,-59,13,-59,12,-60,12,-60,14,-61,14,-62,14,-62,15,-61,12,-62,12,-63,12,-63,15,-64,15,-65,15,-65,14,-65,13,-65,12,-63,11,-63,10,-64,10,-65,11,-65,10,-61,11,-61,10,-61,9,-66,10,-66,11,-66,12,-67,11,-67,12,-67,13,-68,12,-69,13,-68,13,-68,14,-68,15,-66,15,-67,15,-74,16,-75,16,-76,16,-75,15,-70,15,-70,14,-70,13,-71,15,-71,14,-71,13,-72,15,-72,14,-72,13,-73,14,-74,14,-75,14,-73,13,-74,13,-75,13,-69,11,-70,11,-71,11,-68,10,-69,10,-70,10,-67,9,-68,9,-69,9,-68,8,-69,8,-70,8,-69,7,-70,7,-71,7,-72,7,-73,7,-74,7,-72,9,-73,9,-74,9,-72,11,-73,11,-74,11,-74,12,-72,12,-70,12,-70,9,-71,9,-71,10,-72,8,-74,8,-73,10,-74,10,-72,6,-75,11,-76,14,-65,5,-66,5,-67,5,-68,5,-68,6,-65,6,-65,7,-64,7,-63,7,-63,5,-63,6,-61,5,-60,5,-59,5,-58,5,-57,5,-62,7,-61,7,-60,7,-59,7,-58,7,-58,8,-58,9,-57,9,-57,7,-56,7,-55,7,-55,6,-56,9,-55,9,-54,9,-54,6,-53,6,-52,6,-52,7,-52,8,-52,9,-54,10,-54,11,-53,11,-52,10,-52,11,-56,10,-56,11,-56,12,-51,11,-51,10,-51,9,-51,6,-67,7,-66,7,-66,6,-65,8,-64,8,-63,8,-58,10,-57,10,-57,11,-57,12,-59,7,-59,8,-59,9,-59,10,-49,14,-49,13,-49,12,-50,12,-49,11,-49,10,-50,9,-49,9,-49,8,-50,14,-53,12,-52,12,-50,7,-49,7,-49,6,-50,6,-48,11,-48,6,-71,4,-72,4,-73,4,-74,4,-74,3,-71,3,-71,2,-70,2,-69,2,-69,4,-69,3,-67,4,-66,4,-65,4,-64,4,-63,4,-68,2,-67,2,-66,2,-65,2,-64,2,-64,1,-64,0,-63,0,-63,2,-62,2,-61,2,-61,3,-62,0,-61,0,-60,0,-60,3,-59,3,-58,3,-58,2,-58,1,-58,0,-60,-1,-60,-2,-59,-2,-58,-1,-58,-2,-62,-1,-62,-2,-62,-3,-57,-2,-57,-1,-57,0,-56,-1,-56,0,-56,1,-55,0,-54,1,-55,1,-55,2,-55,3,-57,3,-56,3,-49,4,-48,4,-48,3,-53,3,-53,2,-53,1,-52,3,-52,2,-52,1,-51,3,-51,2,-51,1,-50,2,-49,2,-48,2,-50,1,-49,1,-48,1,-54,-1,-53,-1,-52,-1,-55,-2,-54,-2,-53,-2,-56,-3,-55,-3,-54,-3,-55,-4,-54,-4,-53,-4,-54,-5,-53,-5,-52,-5,-51,-5,-50,-5,-49,-5,-51,-3,-50,-3,-49,-3,-51,-1,-50,-1,-49,-1,-49,0,-51,0,-53,0,-53,-3,-52,-3,-52,-2,-51,-4,-49,-4,-50,-2,-49,-2,-51,-6,-48,-1,-47,2,-58,-7,-57,-7,-56,-7,-55,-7,-55,-6,-58,-6,-58,-5,-59,-5,-60,-5,-60,-7,-60,-6,-62,-7,-63,-7,-64,-7,-65,-7,-66,-7,-61,-5,-62,-5,-63,-5,-64,-5,-65,-5,-65,-4,-65,-3,-66,-3,-66,-5,-67,-5,-68,-5,-68,-6,-67,-3,-68,-3,-69,-3,-69,-6,-70,-6,-71,-6,-71,-5,-71,-4,-71,-3,-69,-2,-69,-1,-70,-1,-71,-2,-71,-1,-67,-2,-67,-1,-67,0,-72,-1,-72,-2,-72,-3,-72,-6,-56,-5,-57,-5,-57,-6,-58,-4,-59,-4,-60,-4,-65,-2,-66,-2,-66,-1,-66,0,-64,-5,-64,-4,-64,-3,-64,-2,-74,2,-74,1,-74,0,-73,0,-74,-1,-74,-2,-73,-3,-74,-3,-74,-4,-73,2,-70,0,-71,0,-73,-5,-74,-5,-74,-6,-73,-6,-75,-1,-75,-6,-58,6,-60,4,-54,5,-53,5,-52,5,-51,5,-50,5,-70,5,-71,5,-72,5,-73,5,-74,5,-75,5,-48,18,-48,17,-51,18,-52,18,-53,18,-52,17,-53,17,-59,18,-59,17,-57,18,-57,17,-55,18,-55,17,-54,18,-58,18,-56,17,-60,18,-49,18,-49,17,-63,18,-63,17,-61,18,-61,17,-62,18,-64,18,-68,17,-66,17,-67,17,-71,17,-69,17,-70,17,-72,18,-70,18,-71,18,-74,17,-72,17,-73,17,-75,18,-73,18,-74,18,-75,17,-77,5,-77,4,-77,3,-77,7,-78,7,-77,2,-77,0,-77,-1,-77,-2,-78,1,-78,0,-78,-1,-79,0,-79,-1,-79,-2,-80,-1,-80,-2,-80,-3,-80,-4,-80,-5,-80,-6,-78,-4,-78,-5,-78,-6,-78,-2,-78,-3,-77,-3,-79,-4,-79,-6,-77,-5,-77,-6,-81,-4,-82,3,-82,2,-82,1,-82,0,-81,0,-81,3,-80,3,-80,4,-80,5,-82,5,-81,5,-82,7,-82,8,-82,9,-82,10,-82,11,-80,6,-80,7,-80,8,-80,9,-80,10,-79,10,-78,10,-78,11,-80,11,-80,12,-80,13,-81,13,-78,12,-78,13,-78,14,-81,14,-81,15,-81,16,-80,16,-79,16,-78,16,-77,14,-77,16,-77,12,-77,17,-78,17,-81,17,-80,1,-80,2,-81,2,-79,3,-79,4,-79,5,-77,10,-77,11,-80,9,-79,9,-78,9,-77,9,-77,19,-78,18,-78,19,-79,19,-80,18,-80,19,-81,19,-81,18,-81,20,-83,-3,-83,-4,-83,-5,-83,-6,-84,-6,-84,-3,-85,-3,-85,-2,-85,-1,-83,-1,-84,-1,-83,1,-83,2,-83,3,-83,4,-83,5,-85,0,-85,1,-85,2,-85,3,-85,4,-86,4,-87,4,-87,5,-85,5,-85,6,-85,7,-84,7,-87,6,-87,7,-87,8,-84,8,-84,9,-84,10,-85,10,-86,10,-87,10,-88,8,-89,8,-89,9,-88,10,-89,10,-88,6,-89,6,-90,6,-89,11,-88,11,-87,11,-88,12,-87,12,-86,12,-87,13,-86,14,-86,13,-85,13,-84,13,-84,11,-84,12,-83,19,-83,20,-83,21,-84,20,-84,15,-85,15,-86,15,-84,16,-85,16,-86,16,-84,17,-85,17,-86,17,-85,18,-85,19,-85,20,-86,18,-86,19,-86,20,-88,14,-88,15,-88,16,-89,13,-89,14,-89,15,-90,12,-90,13,-90,14,-91,13,-91,14,-91,15,-92,14,-92,15,-92,16,-92,17,-92,18,-92,19,-90,17,-90,18,-90,19,-88,17,-88,18,-88,19,-87,19,-87,17,-87,15,-90,15,-90,16,-89,16,-91,17,-91,19,-89,18,-89,19,-93,17,-88,20,-85,21,-94,10,-94,11,-94,12,-94,13,-93,13,-93,10,-92,10,-92,9,-92,8,-94,8,-93,8,-94,6,-94,5,-94,4,-94,3,-94,2,-92,7,-92,6,-92,5,-92,4,-92,3,-91,3,-90,3,-90,2,-92,2,-92,1,-92,0,-93,0,-90,1,-90,0,-90,-1,-93,-1,-93,-2,-93,-3,-92,-3,-91,-3,-90,-3,-89,-1,-88,-1,-88,-2,-89,-3,-88,-3,-89,1,-88,1,-87,1,-88,-4,-89,-4,-90,-4,-93,-4,-92,12,-92,11,-93,11,-91,10,-91,9,-91,8,-89,3,-89,2,-88,2,-87,2,-92,4,-91,4,-90,4,-89,4,-85,-6,-86,-6,-87,-6,-87,-5,-88,-6,-89,-6,-90,-5,-90,-6,-91,-6,-85,-5,-87,-2,-87,-3,-92,-5,-92,-6,-93,-6,-93,-5,-88,-7,-93,-7,-81,10,-83,8,-82,14,-82,15,-82,16,-82,17,-82,18,-82,-2,-82,-3,-82,-4,-82,-5,-82,-6,-82,-7,-77,23,-78,23,-77,25,-77,26,-77,27,-78,27,-78,25,-79,25,-80,25,-80,24,-79,27,-80,27,-81,27,-81,24,-82,24,-83,24,-83,25,-83,26,-83,27,-81,28,-81,29,-82,29,-83,28,-83,29,-79,28,-79,29,-79,30,-84,29,-84,28,-84,27,-85,28,-85,27,-85,26,-86,27,-87,26,-86,26,-86,25,-86,24,-84,24,-85,24,-92,23,-93,23,-94,23,-93,24,-88,24,-88,25,-88,26,-89,24,-89,25,-89,26,-90,24,-90,25,-90,26,-91,25,-92,25,-93,25,-91,26,-92,26,-93,26,-87,28,-88,28,-89,28,-86,29,-87,29,-88,29,-85,30,-86,30,-87,30,-86,31,-87,31,-88,31,-87,32,-88,32,-89,32,-90,32,-91,32,-92,32,-90,30,-91,30,-92,30,-90,28,-91,28,-92,28,-92,27,-90,27,-88,27,-88,30,-89,30,-89,29,-90,31,-92,31,-91,29,-92,29,-90,33,-93,28,-94,25,-83,34,-84,34,-85,34,-86,34,-86,33,-83,33,-83,32,-82,32,-81,32,-81,34,-81,33,-79,34,-78,34,-77,34,-80,32,-79,32,-78,32,-77,32,-85,32,-84,32,-84,33,-83,31,-82,31,-81,31,-77,32,-77,31,-77,30,-77,29,-89,35,-90,35,-91,35,-92,35,-92,36,-89,36,-89,37,-88,37,-87,37,-87,35,-87,36,-85,35,-84,35,-83,35,-82,35,-81,35,-86,37,-85,37,-84,37,-83,37,-82,37,-82,38,-82,39,-81,39,-81,37,-80,37,-79,37,-79,36,-80,39,-79,39,-78,39,-78,36,-77,36,-78,40,-78,41,-77,41,-80,40,-80,41,-80,42,-77,44,-78,44,-78,46,-78,45,-80,46,-81,46,-82,46,-83,46,-84,46,-79,44,-80,44,-81,44,-82,44,-83,44,-83,43,-83,42,-84,42,-84,44,-85,44,-86,44,-86,45,-85,42,-86,42,-87,42,-87,45,-88,45,-89,45,-89,44,-89,43,-89,42,-87,41,-87,40,-88,40,-89,41,-89,40,-85,41,-85,40,-85,39,-90,40,-90,41,-90,42,-90,45,-77,43,-78,43,-83,41,-84,41,-84,40,-84,39,-82,44,-82,43,-82,42,-82,41,-92,37,-92,38,-92,39,-91,39,-92,40,-92,41,-91,42,-92,42,-92,43,-91,37,-88,39,-89,39,-91,44,-92,44,-92,45,-91,45,-93,40,-93,45,-78,35,-88,34,-89,34,-90,34,-91,34,-92,34,-93,34,-77,21,-77,22,-78,21,-81,21,-81,22,-79,21,-79,22,-80,21,-82,21,-86,22,-84,22,-85,22,-89,22,-87,22,-88,22,-90,21,-88,21,-89,21,-92,22,-90,22,-91,22,-93,21,-91,21,-92,21,-93,22,-76,24,-76,22,-76,23,-76,21,-76,19,-76,20,-76,18,-76,17,-76,10,-76,11,-76,9,-76,7,-76,8,-76,6,-76,4,-76,5,-76,3,-76,1,-76,2,-76,0,-76,-2,-76,-1,-76,-3,-76,-5,-76,-4,-76,-6,-76,-7,-69,40,-68,40,-74,26,-73,33,-81,23,-76,32,-77,39,-76,39,-77,37,-1,-27,-1,-26,-1,-25,0,-27,0,-26,0,-25,0,-24,0,-23,0,-22,-1,-22,-1,-21,-1,-20,0,-21,0,-20,-3,-21,-3,-20,-2,-24,-2,-23,-2,-22,-3,-27,-4,-27,-5,-27,-5,-26,-5,-25,-5,-24,-5,-23,-4,-25,-4,-24,-4,-23,-8,-24,-8,-23,-8,-22,-11,-27,-11,-26,-11,-25,-11,-24,-11,-23,-11,-22,-10,-21,-10,-20,-9,-21,-9,-20,-8,-21,-8,-20,-7,-22,-7,-21,-7,-20,-6,-21,-6,-20,-4,-22,-4,-21,-4,-20,-6,-27,-7,-27,-8,-27,-8,-26,-9,-26,-10,-26,-9,-27,-10,-27,-6,-25,-1,-24,-3,-25,-3,-24,-3,-22,-6,-24,-7,-24,-5,-21,-5,-22,-2,-20,-11,-21,-10,-24,-9,-24,-9,-23,-1,-28,-1,-29,-1,-30,0,-28,0,-29,0,-30,-3,-28,-4,-28,-5,-28,-5,-29,-5,-30,-4,-30,-11,-28,-11,-29,-11,-30,-6,-28,-7,-28,-8,-28,-8,-29,-9,-29,-10,-29,-9,-28,-10,-28,-6,-30,-3,-30,-1,-35,0,-35,0,-34,0,-33,0,-32,-1,-32,-1,-31,0,-31,-3,-31,-2,-34,-2,-33,-2,-32,-5,-35,-5,-34,-5,-33,-4,-35,-4,-34,-4,-33,-8,-34,-8,-33,-8,-32,-11,-35,-11,-34,-11,-33,-11,-32,-10,-31,-9,-31,-8,-31,-7,-32,-7,-31,-6,-31,-4,-32,-4,-31,-6,-35,-1,-34,-3,-35,-3,-34,-3,-32,-6,-34,-7,-34,-5,-31,-5,-32,-11,-31,-10,-34,-9,-34,-9,-33,-1,-40,0,-40,0,-39,0,-38,0,-37,-1,-37,-1,-36,0,-36,-3,-36,-2,-39,-2,-38,-2,-37,-5,-40,-5,-39,-5,-38,-4,-40,-4,-39,-4,-38,-8,-39,-8,-38,-8,-37,-11,-40,-11,-39,-11,-38,-11,-37,-10,-36,-9,-36,-8,-36,-7,-37,-7,-36,-6,-36,-4,-37,-4,-36,-6,-40,-1,-39,-3,-40,-3,-39,-3,-37,-6,-39,-7,-39,-5,-36,-5,-37,-11,-36,-10,-39,-9,-39,-9,-38,-1,-41,0,-41,0,-42,0,-43,0,-44,-1,-44,-1,-45,0,-45,-3,-45,-2,-42,-2,-43,-2,-44,-5,-41,-5,-42,-5,-43,-4,-41,-4,-42,-4,-43,-8,-42,-8,-43,-8,-44,-11,-41,-11,-42,-11,-43,-11,-44,-10,-45,-9,-45,-8,-45,-7,-44,-7,-45,-6,-45,-4,-44,-4,-45,-6,-41,-1,-42,-3,-41,-3,-42,-3,-44,-6,-42,-7,-42,-5,-45,-5,-44,-11,-45,-10,-42,-9,-42,-9,-43,-61,32,-62,39,-64,40,-61,16,-61,15,-54,13,-54,12,-67,10,-67,8,-66,8,-67,6,-64,-1,-82,-1,-87,3,-92,13,-86,32,-80,43,-89,38,-82,45,-65,17,-44,9,-45,9,-46,9,-44,8,-42,10,-42,9,-42,8,-41,8,-41,9,-41,10,-46,3,-45,3,-44,3,-42,3,-42,4,-46,5,-45,5,-44,5,-43,5,-42,5,-42,6,-46,7,-45,7,-44,7,-41,-1,-41,1,-42,-1,-43,-1,-44,-1,-46,-1,-46,0,-42,1,-43,1,-44,1,-45,1,-46,1,-46,2,-44,-13,-45,-13,-46,-13,-44,-12,-42,-13,-42,-12,-41,-12,-41,-13,-46,-7,-45,-7,-44,-7,-42,-7,-42,-8,-46,-9,-45,-9,-44,-9,-43,-9,-42,-9,-42,-10,-46,-11,-45,-11,-44,-11,-41,-3,-41,-5,-42,-3,-43,-3,-44,-3,-46,-3,-46,-4,-42,-5,-43,-5,-44,-5,-45,-5,-46,-5,-46,-6,-44,-2,-43,-2,-42,-2,-45,-2,-46,-2,-47,-2,-41,-2,-46,4,-48,-2,-40,-7,-40,-8,-40,-9,-40,-10,-40,-11,-40,-12,-40,5,-40,4,-40,3,-40,8,-40,7,-40,6,-40,9,-40,10,-40,-13,-47,6,-47,5,-47,7,-47,9,-47,8,-47,10,-47,12,-47,11,-47,13,-46,13,-46,12,-46,14,-47,15,-47,14,-46,11,-45,11,-45,12,-44,11,-43,11,-46,15,-47,4,-34,66,-35,66,-38,66,-39,66,-33,67,-34,67,-35,67,-36,67,-37,67,-38,67,-39,67,-40,67,-41,67,-42,67,-43,67,-44,67,-42,66,-43,66,-44,66,-42,64,-43,64,-44,64,-42,61,-43,61,-44,61,-42,55,-43,55,-44,55,-42,56,-43,56,-44,56,-42,57,-43,57,-44,57,-45,59,-46,59,-47,59,-45,55,-46,55,-47,55,-47,54,-48,54,-49,54,-47,58,-48,58,-49,58,-47,60,-48,60,-49,60,-47,62,-48,62,-49,62,-44,63,-45,63,-46,63,-47,63,-48,63,-49,63,-45,67,-46,67,-47,67,-43,65,-42,63,-42,62,-42,60,-42,59,-42,58,-44,58,-45,58,-45,56,-45,54,-44,54,-47,56,-47,57,-46,57,-47,61,-45,60,-44,60,-45,62,-44,62,-46,64,-46,65,-46,66,-47,66,-47,64,-48,67,-49,67,-49,66,-49,61,-49,59,-49,55,-49,56,-49,57,-49,64,-49,65,-50,55,-51,55,-52,55,-50,56,-51,56,-52,56,-50,58,-51,58,-52,58,-50,61,-51,61,-52,61,-50,67,-51,67,-52,67,-50,66,-51,66,-52,66,-50,65,-51,65,-52,65,-53,63,-54,63,-55,63,-53,67,-54,67,-55,67,-55,64,-56,64,-57,64,-55,62,-56,62,-57,62,-55,60,-56,60,-57,60,-52,59,-53,59,-54,59,-55,59,-56,59,-57,59,-53,55,-54,55,-55,55,-51,57,-50,59,-50,60,-50,62,-50,63,-50,64,-52,64,-53,64,-53,66,-55,66,-55,65,-54,65,-55,61,-53,62,-52,62,-53,60,-52,60,-54,58,-54,57,-54,56,-55,56,-55,58,-56,55,-57,55,-57,56,-57,61,-57,63,-57,67,-57,66,-57,65,-57,58,-51,52,-52,52,-53,50,-54,50,-55,50,-55,51,-56,51,-57,51,-55,53,-56,53,-57,53,-52,54,-53,54,-54,54,-55,54,-56,54,-57,54,-55,52,-53,51,-52,51,-53,53,-52,53,-57,52,-57,50,-50,52,-50,53,-50,54,-55,48,-56,48,-57,48,-57,49,-58,49,-59,49,-55,49,-54,49,-59,48,-52,49,-53,49,0,-12,0,-13,0,-16,0,-17,0,-18,0,-19,-2,-17,-2,-18,-2,-19,-1,-14,-1,-15,-1,-16,-4,-12,-4,-13,-4,-14,-4,-15,-3,-13,-3,-14,-3,-15,-7,-14,-7,-15,-7,-16,-10,-12,-10,-13,-10,-14,-10,-15,-10,-16,-10,-19,-9,-17,-9,-18,-9,-19,-8,-17,-8,-18,-8,-19,-7,-17,-7,-18,-7,-19,-6,-16,-6,-17,-6,-18,-5,-17,-5,-18,-5,-19,-3,-16,-3,-17,-3,-18,-3,-19,-4,-19,-7,-12,-8,-12,-9,-12,-5,-13,0,-14,-2,-13,-2,-14,-2,-16,-5,-14,-6,-14,-4,-17,-4,-16,-1,-18,-1,-19,-6,-19,-10,-17,-9,-14,-8,-14,-8,-15,-58,59,-59,59,-58,61,-59,61,-58,63,-59,63,-58,64,-59,64,-59,67,-59,62,-59,60,-59,56,-59,57,-59,58,-59,65,-58,53,-59,53,-58,54,-59,55,-58,52,-58,50,-58,47,-59,47,-60,48,-61,48,-62,48,-60,49,-61,49,-62,49,-60,51,-61,51,-62,51,-60,54,-61,54,-62,54,-63,56,-64,56,-65,56,-65,57,-66,57,-67,57,-65,55,-66,55,-67,55,-65,53,-66,53,-67,53,-62,52,-63,52,-64,52,-65,52,-66,52,-67,52,-63,48,-64,48,-65,48,-61,50,-60,52,-60,53,-60,55,-60,56,-60,57,-62,57,-63,57,-65,54,-63,55,-62,55,-63,53,-62,53,-64,51,-64,50,-64,49,-65,49,-65,51,-66,48,-67,48,-67,49,-67,54,-67,56,-67,51,-62,47,-63,47,-64,47,-65,47,-66,47,-67,47,-60,47,-68,52,-69,52,-68,54,-69,54,-68,56,-69,56,-68,57,-69,57,-69,55,-69,53,-69,49,-69,50,-69,51,-68,47,-69,48,-60,67,-61,67,-60,65,-61,65,-60,62,-61,62,-60,58,-61,58,-62,60,-63,60,-64,60,-64,59,-65,59,-64,61,-65,61,-64,63,-65,63,-61,64,-62,64,-63,64,-64,64,-65,64,-60,66,-61,59,-62,59,-64,58,-63,58,-64,62,-62,61,-61,61,-62,63,-61,63,-63,65,-63,66,-63,67,-64,67,-64,65,-58,67,-56,67,-66,67,-67,67,-68,67,-69,67,-70,67,-71,67,-66,64,-67,64,-68,64,-69,64,-70,64,-71,64,-66,62,-67,62,-68,62,-66,60,-67,60,-68,60,-68,58,-69,58,-68,59,-69,59,-69,60,-70,60,-71,60,-69,62,-70,62,-71,62,-68,65,-69,65,-70,65,-71,65,-71,66,-70,63,-71,63,-66,65,-66,66,-66,61,-66,59,-66,58,-69,61,-70,57,-70,55,-70,53,-70,52,-70,48,-70,49,-70,54,-70,56,-70,51,-71,52,-71,54,-71,56,-71,57,-71,58,-71,59,-70,47,-71,47,-85,65,-84,65,-84,66,-85,55,-84,55,-85,53,-84,53,-85,51,-84,51,-85,50,-84,50,-84,47,-84,52,-84,54,-84,58,-84,57,-84,56,-84,49,-85,61,-84,61,-85,60,-84,59,-85,62,-85,64,-85,67,-84,67,-83,66,-82,66,-81,66,-83,65,-82,65,-81,65,-83,63,-82,63,-81,63,-83,60,-82,60,-81,60,-80,58,-79,58,-78,58,-78,57,-77,57,-76,57,-78,59,-77,59,-76,59,-78,61,-77,61,-76,61,-81,62,-80,62,-79,62,-78,62,-77,62,-76,62,-80,66,-79,66,-78,66,-82,64,-83,62,-83,61,-83,59,-83,58,-83,57,-81,57,-80,57,-78,60,-80,59,-81,59,-80,61,-81,61,-79,63,-79,64,-79,65,-78,65,-78,63,-77,66,-76,66,-76,65,-76,60,-76,58,-76,63,-81,67,-80,67,-79,67,-78,67,-77,67,-76,67,-83,67,-75,62,-74,62,-75,60,-74,60,-75,58,-74,58,-75,57,-74,57,-74,59,-74,61,-74,65,-74,64,-74,63,-75,67,-74,66,-83,47,-82,47,-83,49,-82,49,-83,52,-82,52,-83,56,-82,56,-81,54,-80,54,-79,54,-79,55,-78,55,-79,53,-78,53,-79,51,-78,51,-82,50,-81,50,-80,50,-79,50,-78,50,-83,48,-82,55,-81,55,-79,56,-80,56,-79,52,-81,53,-82,53,-81,51,-82,51,-80,49,-80,48,-80,47,-79,47,-79,49,-85,47,-77,47,-76,47,-75,47,-74,47,-73,47,-72,47,-77,50,-76,50,-75,50,-74,50,-73,50,-72,50,-77,52,-76,52,-75,52,-77,54,-76,54,-75,54,-75,56,-74,56,-75,55,-74,55,-74,54,-73,54,-72,54,-74,52,-73,52,-72,52,-75,49,-74,49,-73,49,-72,49,-72,48,-73,51,-72,51,-77,49,-77,48,-77,53,-77,55,-77,56,-74,53,-73,57,-73,59,-73,61,-73,62,-73,66,-73,65,-73,60,-73,58,-73,63,-72,62,-72,60,-72,58,-72,57,-72,56,-72,55,-73,67,-72,67,-86,65,-87,65,-87,66,-86,55,-87,55,-86,53,-87,53,-86,51,-87,51,-86,50,-87,50,-87,47,-87,52,-87,54,-87,58,-87,57,-87,56,-87,49,-86,61,-87,61,-86,60,-87,59,-86,62,-86,64,-86,67,-87,67,-88,66,-89,66,-90,66,-88,65,-89,65,-90,65,-88,63,-89,63,-90,63,-88,60,-89,60,-90,60,-91,58,-92,58,-93,58,-93,57,-94,57,-93,59,-94,59,-93,61,-94,61,-90,62,-91,62,-92,62,-93,62,-94,62,-91,66,-92,66,-93,66,-89,64,-88,62,-88,61,-88,59,-88,58,-88,57,-90,57,-91,57,-93,60,-91,59,-90,59,-91,61,-90,61,-92,63,-92,65,-93,65,-93,63,-94,66,-90,67,-91,67,-92,67,-93,67,-94,67,-88,67,-88,47,-89,47,-88,49,-89,49,-88,52,-89,52,-88,56,-89,56,-90,54,-91,54,-92,54,-92,55,-93,55,-92,53,-93,53,-92,51,-93,51,-89,50,-90,50,-91,50,-92,50,-93,50,-88,48,-89,55,-90,55,-92,56,-91,56,-92,52,-90,53,-89,53,-90,51,-89,51,-91,49,-91,48,-91,47,-92,47,-92,49,-86,47,-94,47,-94,50,-94,52,-94,54,-94,49,-94,48,-94,53,-94,55,-94,56,50,-19,51,-19,57,-19,60,-19,60,-20,60,-21,56,-19,56,-20,56,-21,54,-19,54,-20,54,-21,55,-19,58,-19,59,-19,60,-22,58,-20,58,-21,58,-22,57,-21,56,-22,54,-22,53,-21,53,-19,52,-20,52,-21,52,-22,51,-20,51,-21,51,-22,50,-20,50,-21,50,-22,50,-24,53,-23,52,-23,51,-23,56,-23,55,-23,54,-23,56,-24,55,-24,54,-24,60,-23,59,-23,58,-23,60,-24,59,-24,60,-37,60,-36,60,-35,60,-34,60,-33,58,-37,58,-36,58,-35,56,-37,56,-36,56,-35,54,-37,54,-36,54,-35,52,-37,52,-36,50,-37,50,-36,50,-35,51,-36,55,-36,57,-36,59,-34,60,-32,59,-32,58,-32,59,-31,58,-34,57,-34,56,-34,58,-33,57,-33,56,-33,57,-32,56,-32,55,-32,55,-34,54,-34,53,-34,55,-33,54,-33,53,-33,52,-34,51,-34,50,-34,52,-33,51,-33,50,-33,53,-35,52,-35,52,-32,53,-32,53,-31,55,-31,57,-31,50,-31,50,-30,51,-30,57,-30,60,-30,60,-29,60,-28,56,-30,56,-29,56,-28,54,-30,54,-29,54,-28,55,-30,58,-30,59,-30,60,-27,58,-29,58,-28,58,-27,57,-28,56,-27,54,-27,53,-28,53,-30,52,-29,52,-28,52,-27,51,-29,51,-28,51,-27,50,-29,50,-28,50,-27,50,-25,53,-26,52,-26,51,-26,56,-26,55,-26,54,-26,56,-25,55,-25,54,-25,60,-26,59,-26,58,-26,60,-25,59,-25,60,-38,60,-39,60,-40,60,-41,60,-42,58,-38,58,-39,58,-40,56,-38,56,-39,56,-40,54,-38,54,-39,54,-40,52,-38,52,-39,50,-38,50,-39,50,-40,51,-39,55,-39,57,-39,59,-41,60,-43,59,-43,58,-43,59,-44,58,-41,57,-41,56,-41,58,-42,57,-42,56,-42,57,-43,56,-43,55,-43,55,-41,54,-41,53,-41,55,-42,54,-42,53,-42,52,-41,51,-41,50,-41,52,-42,51,-42,50,-42,53,-40,52,-40,52,-43,53,-43,53,-44,55,-44,57,-44,50,-44,50,-45,51,-45,57,-45,60,-45,60,-46,60,-47,56,-45,56,-46,56,-47,54,-45,54,-46,54,-47,55,-45,58,-45,59,-45,60,-48,58,-46,58,-47,58,-48,57,-47,56,-48,54,-48,53,-47,53,-45,52,-46,52,-47,52,-48,51,-46,51,-47,51,-48,50,-46,50,-47,50,-48,49,-19,-35,-31,-35,-33,-35,-36,-35,-37,-35,-40,-35,-41,-35,-44,-36,-34,-36,-33,-36,-32,-36,-31,-36,-30,-36,-29,-37,-32,-36,-36,-36,-37,-36,-38,-37,-38,-37,-37,-37,-36,-37,-35,-36,-41,-36,-40,-37,-41,-37,-40,-38,-29,-37,-29,-35,-28,-37,-28,-38,-28,-39,-28,-38,-27,-37,-27,-38,-26,-35,-27,-35,-26,-35,-25,-36,-25,-37,-25,-38,-25,-38,-24,-36,-24,-37,-24,-35,-24,-35,-23,-35,-22,-36,-21,-35,-20,-35,-21,-36,-20,-37,-22,-37,-21,-37,-20,-38,-21,-38,-22,-39,-23,-40,-25,-40,-24,-40,-23,-39,-22,-39,-21,-39,-20,-39,-19,-35,-18,-36,-18,-37,-18,-38,-18,-39,-18,-39,-17,-38,-31,-39,-31,-38,-32,-39,-32,-38,-33,-39,-33,-38,-34,-39,-34,-38,-35,-39,-35,-40,-35,-41,-35,-41,-36,-42,-35,-43,-35,-44,-35,-45,-35,-45,-34,-45,-33,-45,-32,-45,-31,-44,-31,-43,-31,-42,-31,-41,-31,-41,-32,-41,-33,-42,-33,-42,-32,-43,-32,-43,-33,-42,-30,-46,-34,-42,-29,-40,-29,-41,-29,-40,-28,-40,-27,-41,-27,-42,-28,-41,-28,-42,-27,-43,-29,-43,-28,-43,-27,-44,-28,-41,-25,-42,-25,-43,-25,-44,-25,-44,-24,-44,-23,-44,-22,-44,-21,-43,-21,-42,-21,-41,-21,-41,-22,-41,-23,-41,-24,-42,-20,-43,-20,-41,-19,-42,-19,-43,-19,-44,-19,-41,-18,-41,-17,-42,-18,-43,-18,-44,-18,-42,-17,-43,-17,-44,-17,-45,-23,-45,-24,-46,-23,-46,-24,-47,-23,-47,-24,-47,-25,-48,-24,-48,-25,-48,-26,-49,-25,-49,-26,-49,-27,-50,-26,-50,-27,-45,-26,-46,-26,-45,-27,-45,-28,-45,-29,-46,-29,-46,-28,-46,-27,-47,-27,-47,-28,-48,-28,-47,-29,-48,-29,-47,-30,-48,-30,-47,-31,-48,-31,-47,-32,-48,-32,-47,-33,-48,-33,-47,-34,-48,-34,-47,-35,-48,-35,-49,-31,-50,-31,-50,-30,-50,-29,-50,-33,-50,-34,-50,-35,-51,-31,-51,-32,-51,-33,-51,-34,-52,-34,-52,-33,-51,-30,-51,-29,-55,-49,-55,-50,-55,-51,-56,-49,-56,-50,-56,-51,-57,-49,-57,-50,-57,-51,-58,-49,-58,-50,-58,-51,-59,-49,-59,-50,-59,-51,-59,-52,-59,-53,-59,-54,-58,-52,-58,-54,-59,-55,-59,-56,-59,-57,-58,-55,-58,-56,-58,-57,-57,-55,-57,-56,-55,-52,-55,-53,-55,-54,-55,-55,-55,-56,-55,-57,-56,-52,-56,-54,-56,-55,-56,-56,-56,-57,-57,-57,-36,-64,-36,-65,-36,-66,-35,-64,-35,-65,-35,-66,-37,-64,-37,-65,-37,-66,-36,-67,-36,-68,-36,-69,-37,-68,-37,-69,-37,-70,-38,-68,-38,-69,-38,-70,-39,-70,-39,-71,-39,-72,-36,-70,-36,-71,-36,-72,-40,-64,-40,-65,-40,-66,-35,-58,-35,-59,-35,-60,-36,-58,-36,-59,-36,-60,-37,-58,-37,-59,-37,-60,-36,-61,-36,-62,-36,-63,-38,-61,-38,-62,-38,-63,-39,-61,-39,-62,-39,-63,-41,-61,-41,-62,-41,-63,-41,-64,-41,-65,-41,-66,-40,-68,-40,-69,-40,-70,-40,-71,-40,-72,-40,-73,-41,-70,-41,-71,-41,-72,-35,-47,-35,-48,-35,-49,-35,-50,-35,-51,-35,-52,-35,-53,-35,-54,-35,-55,-36,-55,-36,-56,-36,-57,-36,-52,-36,-53,-36,-54,-37,-52,-37,-53,-37,-54,-38,-55,-38,-56,-38,-57,-39,-55,-39,-56,-39,-57,-40,-58,-40,-59,-40,-60,-41,-58,-41,-59,-41,-60,-42,-58,-42,-59,-42,-60,-44,-55,-44,-56,-44,-57,-43,-55,-43,-56,-43,-57,-36,-49,-36,-50,-36,-51,-36,-47,-36,-48,-38,-49,-38,-50,-38,-51,-39,-49,-39,-50,-39,-51,-40,-52,-40,-53,-40,-54,-41,-52,-41,-53,-41,-54,-41,-55,-41,-56,-41,-57,-40,-49,-40,-50,-40,-51,-45,-55,-45,-56,-45,-57,-43,-49,-43,-50,-43,-51,-43,-61,-43,-62,-43,-63,-44,-61,-44,-62,-44,-63,-45,-61,-45,-62,-45,-63,-47,-61,-47,-62,-47,-63,-46,-61,-46,-62,-46,-63,-48,-61,-48,-62,-48,-63,-42,-64,-42,-65,-42,-66,-43,-65,-43,-66,-43,-67,-44,-65,-44,-66,-44,-67,-46,-65,-46,-66,-46,-67,-47,-65,-47,-66,-47,-67,-49,-65,-49,-66,-49,-67,-48,-64,-48,-65,-48,-66,-46,-70,-46,-71,-46,-72,-47,-70,-47,-71,-47,-72,-49,-68,-49,-69,-49,-70,-53,-68,-53,-69,-53,-70,-51,-65,-51,-66,-51,-67,-52,-64,-52,-65,-52,-66,-53,-64,-53,-65,-53,-66,-54,-64,-54,-65,-54,-66,-50,-61,-50,-62,-50,-63,-51,-61,-51,-62,-51,-63,-56,-61,-56,-62,-56,-63,-55,-61,-55,-62,-55,-63,-53,-61,-53,-62,-53,-63,-54,-58,-54,-59,-54,-60,-53,-58,-53,-59,-53,-60,-52,-58,-52,-59,-52,-60,-48,-58,-48,-59,-48,-60,-47,-57,-47,-58,-47,-59,-45,-68,-45,-69,-45,-70,-42,-68,-42,-69,-42,-70,-43,-71,-43,-72,-43,-73,-44,-71,-44,-72,-44,-73,-51,-70,-51,-71,-51,-72,-55,-67,-55,-68,-55,-69,-57,-64,-57,-65,-57,-66,-58,-64,-58,-65,-58,-66,-61,-63,-61,-64,-61,-65,-60,-63,-60,-64,-60,-65,-60,-67,-60,-68,-60,-69,-57,-67,-57,-68,-57,-69,-57,-70,-57,-71,-57,-72,-58,-70,-58,-71,-58,-72,-60,-70,-60,-71,-60,-72,-62,-70,-62,-71,-62,-72,-62,-66,-62,-67,-62,-68,-58,-61,-58,-62,-58,-63,-58,-58,-58,-59,-58,-60,-60,-58,-60,-59,-60,-60,-61,-58,-61,-59,-61,-60,-62,-57,-62,-58,-62,-59,-52,-55,-52,-56,-52,-57,-53,-55,-53,-56,-53,-57,-52,-52,-52,-53,-52,-54,-53,-52,-53,-53,-53,-54,-52,-49,-52,-50,-52,-51,-53,-49,-53,-50,-53,-51,-49,-51,-49,-52,-49,-53,-50,-51,-50,-52,-50,-53,-45,-52,-45,-53,-45,-54,-46,-51,-46,-52,-46,-53,-47,-51,-47,-52,-47,-53,-47,-54,-47,-55,-47,-56,-49,-55,-49,-56,-49,-57,-50,-55,-50,-56,-50,-57,-41,-47,-41,-48,-41,-49,-45,-47,-45,-48,-45,-49,-46,-48,-46,-49,-46,-50,-47,-48,-47,-49,-47,-50,-48,-48,-48,-49,-48,-50,-50,-48,-50,-49,-50,-50,-51,-48,-51,-49,-51,-50,-61,-54,-61,-55,-61,-56,-62,-54,-62,-55,-62,-56,-61,-51,-61,-52,-61,-53,-62,-51,-62,-52,-62,-53,-61,-48,-61,-49,-61,-50,-62,-48,-62,-49,-62,-50,-59,-59,-61,-57,-56,-58,-55,-59,-56,-59,-57,-59,-57,-60,-62,-61,-62,-62,-62,-64,-61,-61,-60,-61,-59,-61,-59,-64,-59,-62,-57,-62,-61,-67,-59,-66,-59,-67,-58,-67,-58,-68,-59,-71,-59,-72,-61,-71,-61,-72,-56,-72,-56,-66,-56,-65,-55,-65,-54,-67,-54,-69,-55,-70,-54,-71,-55,-71,-52,-72,-53,-72,-54,-72,-48,-72,-49,-72,-50,-72,-49,-71,-48,-70,-50,-70,-52,-70,-52,-68,-51,-68,-50,-68,-48,-68,-47,-68,-46,-68,-44,-69,-43,-69,-45,-72,-42,-72,-42,-73,-41,-68,-41,-67,-39,-68,-39,-67,-38,-67,-37,-72,-38,-72,-35,-73,-35,-71,-36,-73,-37,-73,-38,-73,-46,-73,-47,-73,-45,-73,-49,-73,-50,-73,-48,-73,-53,-73,-54,-73,-52,-73,-51,-73,-56,-73,-57,-73,-55,-73,-59,-73,-60,-73,-58,-73,-62,-73,-61,-73,-35,-69,-35,-68,-38,-65,-39,-65,-35,-62,-37,-62,-40,-62,-38,-59,-39,-59,-35,-56,-37,-56,-40,-56,-42,-56,-39,-53,-38,-53,-37,-49,-37,-47,-38,-48,-39,-48,-40,-48,-42,-48,-43,-47,-42,-47,-44,-47,-43,-53,-42,-53,-44,-53,-43,-59,-44,-59,-45,-59,-49,-48,-49,-49,-43,-48,-44,-48,-44,-50,-44,-51,-42,-50,-42,-51,-43,-52,-42,-54,-45,-58,-46,-57,-46,-55,-48,-56,-48,-53,-48,-54,-51,-53,-51,-54,-51,-58,-51,-59,-49,-60,-49,-59,-50,-59,-46,-59,-46,-60,-46,-64,-44,-64,-42,-62,-44,-60,-45,-65,-45,-66,-49,-64,-50,-65,-50,-66,-54,-53,-60,-53,-52,-48,-60,-48,-58,-48,-56,-48,-54,-48,-53,-48,-48,-47,-46,-47,-47,-47,-51,-47,-49,-47,-50,-47,-54,-47,-52,-47,-53,-47,-57,-47,-55,-47,-56,-47,-60,-47,-58,-47,-59,-47,-61,-47,-62,-47,-54,-62,-52,-62,-59,-69,-61,-69,-51,-56,-93,-59,-93,-60,-92,-59,-92,-61,-92,-62,-92,-63,-93,-62,-93,-63,-93,-64,-93,-65,-93,-66,-93,-67,-89,-64,-89,-65,-89,-66,-90,-64,-90,-65,-90,-66,-88,-64,-88,-65,-88,-66,-93,-68,-93,-69,-93,-70,-92,-70,-92,-71,-92,-72,-91,-70,-91,-71,-91,-72,-89,-67,-89,-68,-89,-69,-88,-68,-88,-69,-88,-70,-87,-68,-87,-69,-87,-70,-86,-70,-86,-71,-86,-72,-89,-70,-89,-71,-89,-72,-85,-64,-85,-65,-85,-66,-90,-59,-90,-60,-89,-59,-89,-60,-88,-59,-88,-60,-89,-61,-89,-62,-89,-63,-91,-61,-91,-62,-91,-63,-87,-61,-87,-62,-87,-63,-86,-61,-86,-62,-86,-63,-84,-61,-84,-62,-84,-63,-84,-64,-84,-65,-84,-66,-85,-68,-85,-69,-85,-70,-85,-71,-85,-72,-85,-73,-84,-70,-84,-71,-84,-72,-93,-71,-93,-72,-93,-73,-85,-59,-85,-60,-84,-59,-84,-60,-83,-59,-83,-60,-82,-61,-82,-62,-82,-63,-81,-61,-81,-62,-81,-63,-80,-61,-80,-62,-80,-63,-78,-61,-78,-62,-78,-63,-79,-61,-79,-62,-79,-63,-77,-61,-77,-62,-77,-63,-83,-64,-83,-65,-83,-66,-82,-65,-82,-66,-82,-67,-81,-65,-81,-66,-81,-67,-79,-65,-79,-66,-79,-67,-78,-65,-78,-66,-78,-67,-76,-65,-76,-66,-76,-67,-77,-64,-77,-65,-77,-66,-79,-70,-79,-71,-79,-72,-78,-70,-78,-71,-78,-72,-76,-68,-76,-69,-76,-70,-72,-68,-72,-69,-72,-70,-74,-65,-74,-66,-74,-67,-73,-64,-73,-65,-73,-66,-72,-64,-72,-65,-72,-66,-71,-64,-71,-65,-71,-66,-75,-61,-75,-62,-75,-63,-74,-61,-74,-62,-74,-63,-69,-61,-69,-62,-69,-63,-70,-61,-70,-62,-70,-63,-72,-61,-72,-62,-72,-63,-71,-59,-71,-60,-72,-59,-72,-60,-73,-59,-73,-60,-77,-59,-77,-60,-78,-59,-80,-68,-80,-69,-80,-70,-83,-68,-83,-69,-83,-70,-82,-71,-82,-72,-82,-73,-81,-71,-81,-72,-81,-73,-74,-70,-74,-71,-74,-72,-70,-67,-70,-68,-70,-69,-68,-64,-68,-65,-68,-66,-67,-64,-67,-65,-67,-66,-64,-63,-64,-64,-64,-65,-65,-63,-65,-64,-65,-65,-65,-67,-65,-68,-65,-69,-68,-67,-68,-68,-68,-69,-68,-70,-68,-71,-68,-72,-67,-70,-67,-71,-67,-72,-65,-70,-65,-71,-65,-72,-63,-70,-63,-71,-63,-72,-63,-66,-63,-67,-63,-68,-67,-61,-67,-62,-67,-63,-67,-59,-67,-60,-65,-59,-65,-60,-64,-59,-64,-60,-63,-59,-66,-59,-70,-59,-69,-59,-68,-59,-68,-60,-63,-61,-63,-62,-63,-64,-64,-61,-65,-61,-66,-61,-66,-64,-66,-62,-68,-62,-64,-67,-66,-66,-66,-67,-67,-67,-67,-68,-66,-71,-66,-72,-64,-71,-64,-72,-69,-72,-69,-66,-69,-65,-70,-65,-71,-67,-71,-69,-70,-70,-71,-71,-70,-71,-73,-72,-72,-72,-71,-72,-77,-72,-76,-72,-75,-72,-76,-71,-77,-70,-75,-70,-73,-70,-73,-68,-74,-68,-75,-68,-77,-68,-78,-68,-79,-68,-81,-69,-82,-69,-80,-72,-83,-72,-83,-73,-84,-68,-84,-67,-86,-68,-86,-67,-87,-67,-88,-72,-87,-72,-90,-73,-90,-71,-89,-73,-88,-73,-87,-73,-79,-73,-78,-73,-80,-73,-76,-73,-75,-73,-77,-73,-72,-73,-71,-73,-73,-73,-74,-73,-69,-73,-68,-73,-70,-73,-66,-73,-65,-73,-67,-73,-63,-73,-64,-73,-90,-69,-90,-68,-91,-67,-92,-67,-92,-68,-91,-68,-92,-65,-91,-65,-87,-65,-86,-65,-90,-62,-88,-62,-85,-62,-91,-59,-87,-59,-86,-59,-82,-59,-81,-59,-80,-59,-74,-59,-76,-60,-76,-59,-75,-59,-79,-59,-79,-60,-79,-64,-81,-64,-83,-62,-81,-60,-80,-65,-80,-66,-76,-64,-75,-65,-75,-66,-71,-62,-73,-62,-66,-69,-64,-69,-93,-58,-93,-57,-92,-58,-92,-56,-92,-55,-92,-54,-93,-55,-93,-54,-93,-53,-93,-52,-93,-51,-93,-50,-89,-53,-89,-52,-89,-51,-90,-53,-90,-52,-90,-51,-88,-53,-88,-52,-88,-51,-93,-49,-93,-48,-93,-47,-92,-47,-92,-46,-92,-45,-91,-47,-91,-46,-91,-45,-89,-50,-89,-49,-89,-48,-88,-49,-88,-48,-88,-47,-87,-49,-87,-48,-87,-47,-86,-47,-86,-46,-86,-45,-89,-47,-89,-46,-89,-45,-85,-53,-85,-52,-85,-51,-90,-58,-90,-57,-89,-58,-89,-57,-88,-58,-88,-57,-89,-56,-89,-55,-89,-54,-91,-56,-91,-55,-91,-54,-87,-56,-87,-55,-87,-54,-86,-56,-86,-55,-86,-54,-84,-56,-84,-55,-84,-54,-84,-53,-84,-52,-84,-51,-85,-49,-85,-48,-85,-47,-85,-46,-85,-45,-85,-44,-84,-47,-84,-46,-84,-45,-93,-46,-93,-45,-93,-44,-85,-58,-85,-57,-84,-58,-84,-57,-83,-58,-83,-57,-82,-56,-82,-55,-82,-54,-81,-56,-81,-55,-81,-54,-80,-56,-80,-55,-80,-54,-78,-56,-78,-55,-78,-54,-79,-56,-79,-55,-79,-54,-77,-56,-77,-55,-77,-54,-83,-53,-83,-52,-83,-51,-82,-52,-82,-51,-82,-50,-81,-52,-81,-51,-81,-50,-79,-52,-79,-51,-79,-50,-78,-52,-78,-51,-78,-50,-76,-52,-76,-51,-76,-50,-77,-53,-77,-52,-77,-51,-79,-47,-79,-46,-79,-45,-78,-47,-78,-46,-78,-45,-76,-49,-76,-48,-76,-47,-72,-49,-72,-48,-72,-47,-74,-52,-74,-51,-74,-50,-73,-53,-73,-52,-73,-51,-72,-53,-72,-52,-72,-51,-71,-53,-71,-52,-71,-51,-75,-56,-75,-55,-75,-54,-74,-56,-74,-55,-74,-54,-69,-56,-69,-55,-69,-54,-70,-56,-70,-55,-70,-54,-72,-56,-72,-55,-72,-54,-71,-58,-71,-57,-72,-58,-72,-57,-73,-58,-73,-57,-77,-58,-77,-57,-78,-58,-80,-49,-80,-48,-80,-47,-83,-49,-83,-48,-83,-47,-82,-46,-82,-45,-82,-44,-81,-46,-81,-45,-81,-44,-74,-47,-74,-46,-74,-45,-70,-50,-70,-49,-70,-48,-68,-53,-68,-52,-68,-51,-67,-53,-67,-52,-67,-51,-64,-54,-64,-53,-64,-52,-65,-54,-65,-53,-65,-52,-65,-50,-65,-49,-65,-48,-68,-50,-68,-49,-68,-48,-68,-47,-68,-46,-68,-45,-67,-47,-67,-46,-67,-45,-65,-47,-65,-46,-65,-45,-63,-47,-63,-46,-63,-45,-63,-51,-63,-50,-63,-49,-67,-56,-67,-55,-67,-54,-67,-58,-67,-57,-65,-58,-65,-57,-64,-58,-64,-57,-63,-58,-66,-58,-70,-58,-69,-58,-68,-58,-68,-57,-63,-56,-63,-55,-63,-53,-64,-56,-65,-56,-66,-56,-66,-53,-66,-55,-68,-55,-64,-50,-66,-51,-66,-50,-67,-50,-67,-49,-66,-46,-66,-45,-64,-46,-64,-45,-69,-45,-69,-51,-69,-52,-70,-52,-71,-50,-71,-48,-70,-47,-71,-46,-70,-46,-73,-45,-72,-45,-71,-45,-77,-45,-76,-45,-75,-45,-76,-46,-77,-47,-75,-47,-73,-47,-73,-49,-74,-49,-75,-49,-77,-49,-78,-49,-79,-49,-81,-48,-82,-48,-80,-45,-83,-45,-83,-44,-84,-49,-84,-50,-86,-49,-86,-50,-87,-50,-88,-45,-87,-45,-90,-44,-90,-46,-89,-44,-88,-44,-87,-44,-79,-44,-78,-44,-80,-44,-76,-44,-75,-44,-77,-44,-72,-44,-71,-44,-73,-44,-74,-44,-69,-44,-68,-44,-70,-44,-66,-44,-65,-44,-67,-44,-63,-44,-64,-44,-90,-48,-90,-49,-91,-50,-92,-50,-92,-49,-91,-49,-92,-52,-91,-52,-87,-52,-86,-52,-90,-55,-88,-55,-85,-55,-91,-58,-87,-58,-86,-58,-82,-58,-81,-58,-80,-58,-74,-58,-76,-57,-76,-58,-75,-58,-79,-58,-79,-57,-79,-53,-81,-53,-83,-55,-81,-57,-80,-52,-80,-51,-76,-53,-75,-52,-75,-51,-71,-55,-73,-55,-66,-48,-64,-48,-62,-17,-62,-16,-62,-15,-62,-21,-62,-20,-62,-19,-62,-30,-62,-29,-62,-28,-62,-33,-62,-32,-62,-31,-62,-36,-62,-35,-62,-34,-62,-39,-62,-38,-62,-37,-62,-26,-62,-25,-62,-23,-62,-14,-62,-40,-93,-28,-93,-27,-92,-28,-92,-26,-92,-25,-92,-24,-93,-25,-93,-24,-93,-23,-93,-22,-93,-21,-93,-20,-89,-23,-89,-22,-89,-21,-90,-23,-90,-22,-90,-21,-88,-23,-88,-22,-88,-21,-93,-19,-93,-18,-93,-17,-92,-17,-92,-16,-92,-15,-91,-17,-91,-16,-91,-15,-89,-20,-89,-19,-89,-18,-88,-19,-88,-18,-88,-17,-87,-19,-87,-18,-87,-17,-86,-17,-86,-16,-86,-15,-89,-17,-89,-16,-89,-15,-85,-23,-85,-22,-85,-21,-90,-28,-90,-27,-89,-28,-89,-27,-88,-28,-88,-27,-89,-26,-89,-25,-89,-24,-91,-26,-91,-25,-91,-24,-87,-26,-87,-25,-87,-24,-86,-26,-86,-25,-86,-24,-84,-26,-84,-25,-84,-24,-84,-23,-84,-22,-84,-21,-85,-19,-85,-18,-85,-17,-85,-16,-85,-15,-85,-14,-84,-17,-84,-16,-84,-15,-93,-16,-93,-15,-93,-14,-85,-28,-85,-27,-84,-28,-84,-27,-83,-28,-83,-27,-82,-26,-82,-25,-82,-24,-81,-26,-81,-25,-81,-24,-80,-26,-80,-25,-80,-24,-78,-26,-78,-25,-78,-24,-79,-26,-79,-25,-79,-24,-77,-26,-77,-25,-77,-24,-83,-23,-83,-22,-83,-21,-82,-22,-82,-21,-82,-20,-81,-22,-81,-21,-81,-20,-79,-22,-79,-21,-79,-20,-78,-22,-78,-21,-78,-20,-76,-22,-76,-21,-76,-20,-77,-23,-77,-22,-77,-21,-79,-17,-79,-16,-79,-15,-78,-17,-78,-16,-78,-15,-76,-19,-76,-18,-76,-17,-72,-19,-72,-18,-72,-17,-74,-22,-74,-21,-74,-20,-73,-23,-73,-22,-73,-21,-72,-23,-72,-22,-72,-21,-71,-23,-71,-22,-71,-21,-75,-26,-75,-25,-75,-24,-74,-26,-74,-25,-74,-24,-69,-26,-69,-25,-69,-24,-70,-26,-70,-25,-70,-24,-72,-26,-72,-25,-72,-24,-71,-28,-71,-27,-72,-28,-72,-27,-73,-28,-73,-27,-77,-28,-77,-27,-78,-28,-80,-19,-80,-18,-80,-17,-83,-19,-83,-18,-83,-17,-82,-16,-82,-15,-82,-14,-81,-16,-81,-15,-81,-14,-74,-17,-74,-16,-74,-15,-70,-20,-70,-19,-70,-18,-68,-23,-68,-22,-68,-21,-67,-23,-67,-22,-67,-21,-64,-24,-64,-23,-64,-22,-65,-24,-65,-23,-65,-22,-65,-20,-65,-19,-65,-18,-68,-20,-68,-19,-68,-18,-68,-17,-68,-16,-68,-15,-67,-17,-67,-16,-67,-15,-65,-17,-65,-16,-65,-15,-63,-17,-63,-16,-63,-15,-63,-21,-63,-20,-63,-19,-67,-26,-67,-25,-67,-24,-67,-28,-67,-27,-65,-28,-65,-27,-64,-28,-64,-27,-63,-28,-66,-28,-70,-28,-69,-28,-68,-28,-68,-27,-63,-26,-63,-25,-63,-23,-64,-26,-65,-26,-66,-26,-66,-23,-66,-25,-68,-25,-64,-20,-66,-21,-66,-20,-67,-20,-67,-19,-66,-16,-66,-15,-64,-16,-64,-15,-69,-15,-69,-21,-69,-22,-70,-22,-71,-20,-71,-18,-70,-17,-71,-16,-70,-16,-73,-15,-72,-15,-71,-15,-77,-15,-76,-15,-75,-15,-76,-16,-77,-17,-75,-17,-73,-17,-73,-19,-74,-19,-75,-19,-77,-19,-78,-19,-79,-19,-81,-18,-82,-18,-80,-15,-83,-15,-83,-14,-84,-19,-84,-20,-86,-19,-86,-20,-87,-20,-88,-15,-87,-15,-90,-14,-90,-16,-89,-14,-88,-14,-87,-14,-79,-14,-78,-14,-80,-14,-76,-14,-75,-14,-77,-14,-72,-14,-71,-14,-73,-14,-74,-14,-69,-14,-68,-14,-70,-14,-66,-14,-65,-14,-67,-14,-63,-14,-64,-14,-90,-18,-90,-19,-91,-20,-92,-20,-92,-19,-91,-19,-92,-22,-91,-22,-87,-22,-86,-22,-90,-25,-88,-25,-85,-25,-91,-28,-87,-28,-86,-28,-82,-28,-81,-28,-80,-28,-74,-28,-76,-27,-76,-28,-75,-28,-79,-28,-79,-27,-79,-23,-81,-23,-83,-25,-81,-27,-80,-22,-80,-21,-76,-23,-75,-22,-75,-21,-71,-25,-73,-25,-66,-18,-64,-18,-93,-29,-93,-30,-92,-29,-92,-31,-92,-32,-92,-33,-93,-32,-93,-33,-93,-34,-93,-35,-93,-36,-93,-37,-89,-34,-89,-35,-89,-36,-90,-34,-90,-35,-90,-36,-88,-34,-88,-35,-88,-36,-93,-38,-93,-39,-93,-40,-92,-40,-92,-41,-92,-42,-91,-40,-91,-41,-91,-42,-89,-37,-89,-38,-89,-39,-88,-38,-88,-39,-88,-40,-87,-38,-87,-39,-87,-40,-86,-40,-86,-41,-86,-42,-89,-40,-89,-41,-89,-42,-85,-34,-85,-35,-85,-36,-90,-29,-90,-30,-89,-29,-89,-30,-88,-29,-88,-30,-89,-31,-89,-32,-89,-33,-91,-31,-91,-32,-91,-33,-87,-31,-87,-32,-87,-33,-86,-31,-86,-32,-86,-33,-84,-31,-84,-32,-84,-33,-84,-34,-84,-35,-84,-36,-85,-38,-85,-39,-85,-40,-85,-41,-85,-42,-85,-43,-84,-40,-84,-41,-84,-42,-93,-41,-93,-42,-93,-43,-85,-29,-85,-30,-84,-29,-84,-30,-83,-29,-83,-30,-82,-31,-82,-32,-82,-33,-81,-31,-81,-32,-81,-33,-80,-31,-80,-32,-80,-33,-78,-31,-78,-32,-78,-33,-79,-31,-79,-32,-79,-33,-77,-31,-77,-32,-77,-33,-83,-34,-83,-35,-83,-36,-82,-35,-82,-36,-82,-37,-81,-35,-81,-36,-81,-37,-79,-35,-79,-36,-79,-37,-78,-35,-78,-36,-78,-37,-76,-35,-76,-36,-76,-37,-77,-34,-77,-35,-77,-36,-79,-40,-79,-41,-79,-42,-78,-40,-78,-41,-78,-42,-76,-38,-76,-39,-76,-40,-72,-38,-72,-39,-72,-40,-74,-35,-74,-36,-74,-37,-73,-34,-73,-35,-73,-36,-72,-34,-72,-35,-72,-36,-71,-34,-71,-35,-71,-36,-75,-31,-75,-32,-75,-33,-74,-31,-74,-32,-74,-33,-69,-31,-69,-32,-69,-33,-70,-31,-70,-32,-70,-33,-72,-31,-72,-32,-72,-33,-71,-29,-71,-30,-72,-29,-72,-30,-73,-29,-73,-30,-77,-29,-77,-30,-78,-29,-80,-38,-80,-39,-80,-40,-83,-38,-83,-39,-83,-40,-82,-41,-82,-42,-82,-43,-81,-41,-81,-42,-81,-43,-74,-40,-74,-41,-74,-42,-70,-37,-70,-38,-70,-39,-68,-34,-68,-35,-68,-36,-67,-34,-67,-35,-67,-36,-64,-33,-64,-34,-64,-35,-65,-33,-65,-34,-65,-35,-65,-37,-65,-38,-65,-39,-68,-37,-68,-38,-68,-39,-68,-40,-68,-41,-68,-42,-67,-40,-67,-41,-67,-42,-65,-40,-65,-41,-65,-42,-63,-40,-63,-41,-63,-42,-63,-36,-63,-37,-63,-38,-67,-31,-67,-32,-67,-33,-67,-29,-67,-30,-65,-29,-65,-30,-64,-29,-64,-30,-63,-29,-66,-29,-70,-29,-69,-29,-68,-29,-68,-30,-63,-31,-63,-32,-63,-34,-64,-31,-65,-31,-66,-31,-66,-34,-66,-32,-68,-32,-64,-37,-66,-36,-66,-37,-67,-37,-67,-38,-66,-41,-66,-42,-64,-41,-64,-42,-69,-42,-69,-36,-69,-35,-70,-35,-71,-37,-71,-39,-70,-40,-71,-41,-70,-41,-73,-42,-72,-42,-71,-42,-77,-42,-76,-42,-75,-42,-76,-41,-77,-40,-75,-40,-73,-40,-73,-38,-74,-38,-75,-38,-77,-38,-78,-38,-79,-38,-81,-39,-82,-39,-80,-42,-83,-42,-83,-43,-84,-38,-84,-37,-86,-38,-86,-37,-87,-37,-88,-42,-87,-42,-90,-43,-90,-41,-89,-43,-88,-43,-87,-43,-79,-43,-78,-43,-80,-43,-76,-43,-75,-43,-77,-43,-72,-43,-71,-43,-73,-43,-74,-43,-69,-43,-68,-43,-70,-43,-66,-43,-65,-43,-67,-43,-63,-43,-64,-43,-90,-39,-90,-38,-91,-37,-92,-37,-92,-38,-91,-38,-92,-35,-91,-35,-87,-35,-86,-35,-90,-32,-88,-32,-85,-32,-91,-29,-87,-29,-86,-29,-82,-29,-81,-29,-80,-29,-74,-29,-76,-30,-76,-29,-75,-29,-79,-29,-79,-30,-79,-34,-81,-34,-83,-32,-81,-30,-80,-35,-80,-36,-76,-34,-75,-35,-75,-36,-71,-32,-73,-32,-66,-39,-64,-39,-57,-46,-52,-46,-61,-45,-60,-45,-59,-45,-59,-44,-60,-44,-61,-44,-61,-43,-60,-43,-59,-43,-58,-45,-57,-45,-56,-45,-56,-44,-57,-44,-58,-44,-58,-43,-57,-43,-56,-43,-53,-45,-52,-45,-51,-45,-51,-44,-52,-44,-53,-44,-53,-43,-47,-43,-46,-43,-54,-41,-53,-41,-52,-41,-52,-40,-53,-40,-54,-40,-54,-39,-53,-39,-52,-39,-54,-45,-55,-45,-55,-44,-54,-43,-55,-43,-61,-42,-61,-41,-60,-41,-59,-41,-58,-41,-58,-42,-57,-41,-56,-41,-55,-42,-55,-41,-55,-40,-55,-39,-51,-42,-51,-41,-50,-45,-49,-45,-50,-45,-50,-44,-50,-43,-49,-43,-50,-41,-50,-40,-50,-39,-50,-38,-52,-38,-53,-38,-54,-38,-60,-40,-59,-40,-59,-39,-58,-39,-58,-38,-59,-38,-59,-37,-58,-37,-60,-39,-60,-38,-60,-37,-56,-37,-55,-37,-55,-36,-56,-36,-56,-35,-55,-35,-57,-37,-57,-36,-57,-35,-57,-39,-57,-38,-54,-37,-51,-37,-53,-36,-52,-36,-51,-36,-50,-36,-49,-36,-53,-35,-53,-34,-54,-34,-55,-34,-61,-35,-60,-35,-61,-34,-61,-32,-60,-32,-61,-31,-61,-28,-60,-27,-61,-27,-61,-26,-61,-25,-59,-35,-59,-34,-60,-34,-61,-33,-61,-29,-61,-30,-60,-26,-60,-25,-61,-24,-60,-24,-59,-32,-59,-31,-59,-30,-59,-29,-59,-28,-59,-27,-59,-26,-59,-25,-59,-24,-58,-34,-58,-33,-58,-32,-57,-33,-57,-32,-57,-31,-55,-33,-55,-32,-55,-31,-53,-33,-53,-32,-53,-31,-52,-30,-52,-29,-52,-28,-51,-28,-51,-27,-51,-26,-58,-29,-58,-28,-58,-27,-58,-31,-56,-33,-53,-30,-54,-30,-55,-30,-56,-30,-55,-29,-56,-29,-57,-29,-38,-40,-38,-41,-38,-42,-39,-40,-39,-41,-39,-42,-40,-37,-40,-38,-40,-39,-40,-42,-40,-43,-40,-44,-39,-43,-39,-44,-39,-45,-41,-43,-41,-44,-41,-45,-43,-43,-43,-44,-43,-45,-43,-38,-43,-39,-43,-40,-44,-37,-44,-38,-44,-39,-48,-37,-48,-38,-48,-39,-49,-37,-49,-38,-49,-39,-46,-37,-46,-38,-46,-39,-45,-40,-45,-41,-45,-42,-45,-43,-45,-44,-45,-45,-48,-40,-48,-41,-48,-42,-48,-43,-48,-44,-48,-45,-47,-38,-47,-39,-46,-40,-46,-41,-44,-40,-51,-43,-52,-43,-46,-44,-45,-46,-47,-46,-48,-46,-44,-42,-44,-43,-42,-43,-42,-37,-41,-37,-42,-38,-41,-38,-39,-37,-39,-38,-38,-38,-37,-43,-37,-44,-38,-44,-40,-40,-41,-40,-42,-40,-41,-41,-42,-41,-37,-46,-38,-46,-39,-46,-40,-46,-41,-46,-42,-46,-43,-46,-36,-43,-36,-44,-36,-45,-36,-46,-55,-28,-56,-28,-57,-28,-56,-26,-57,-26,-58,-26,-56,-25,-57,-25,-58,-25,-53,-27,-54,-27,-55,-27,-53,-26,-54,-26,-55,-26,-54,-28,-55,-24,-56,-24,-57,-24,-52,-24,-53,-24,-54,-24,-53,-23,-54,-23,-55,-23,-58,-22,-59,-22,-60,-22,-58,-21,-59,-21,-60,-21,-54,-22,-55,-22,-56,-22,-56,-20,-57,-20,-58,-20,-57,-18,-58,-18,-59,-18,-57,-17,-58,-17,-59,-17,-54,-19,-55,-19,-56,-19,-54,-17,-55,-17,-56,-17,-52,-18,-53,-18,-54,-18,-51,-17,-52,-17,-53,-17,-46,-21,-47,-21,-48,-21,-46,-19,-47,-19,-48,-19,-46,-20,-47,-20,-48,-20,-46,-18,-47,-18,-48,-18,-48,-17,-49,-17,-50,-17,-49,-19,-50,-19,-51,-19,-51,-16,-52,-16,-53,-16,-54,-15,-55,-15,-56,-15,-57,-15,-58,-15,-59,-15,-50,-23,-51,-23,-52,-23,-51,-21,-52,-21,-53,-21,-53,-25,-51,-25,-51,-24,-50,-24,-49,-23,-49,-22,-48,-22,-51,-22,-53,-22,-60,-23,-61,-23,-57,-22,-57,-21,-56,-21,-59,-19,-56,-18,-54,-20,-53,-20,-53,-19,-51,-18,-49,-18,-49,-20,-49,-21,-50,-21,-54,-16,-56,-16,-58,-16,-60,-16,-60,-15,-61,-18,-61,-17,-61,-19,-61,-15,-61,-14,-61,-16,-52,-14,-52,-15,-55,-14,-58,-14,-49,-16,-53,-14,-56,-14,-59,-14,-50,-15,-50,-14,-48,-15,-37,-14,-36,-14,-35,-14,-37,-15,-39,-14,-39,-15,-40,-15,-40,-14,-41,-16,-41,-15,-41,-14,-42,-14,-42,-15,-43,-15,-43,-14,-44,-15,-44,-14,-45,-14,-37,-16,-36,-16,-35,-16,-46,-14,-46,-15,-46,-16,-47,-14,-49,-14,-48,-14,-53,-7,-52,-7,-51,-7,-50,-7,-49,-7,-48,-7,-47,-7,-60,-8,-60,-9,-59,-9,-58,-8,-58,-9,-62,-8,-62,-9,-62,-10,-57,-9,-57,-8,-56,-8,-54,-8,-53,-8,-52,-8,-55,-9,-54,-9,-53,-9,-56,-10,-55,-10,-54,-10,-55,-11,-54,-11,-53,-11,-54,-12,-53,-12,-52,-12,-51,-12,-50,-12,-49,-12,-51,-10,-50,-10,-49,-10,-51,-8,-50,-8,-49,-8,-53,-10,-52,-10,-52,-9,-51,-11,-49,-11,-50,-9,-49,-9,-48,-8,-58,-12,-59,-12,-60,-12,-61,-12,-62,-12,-63,-12,-64,-12,-65,-12,-65,-11,-65,-10,-66,-10,-66,-12,-67,-12,-68,-12,-67,-10,-68,-10,-69,-10,-71,-12,-71,-11,-71,-10,-69,-9,-69,-8,-70,-8,-71,-9,-71,-8,-67,-9,-67,-8,-72,-8,-72,-9,-72,-10,-56,-12,-57,-12,-58,-11,-59,-11,-60,-11,-65,-9,-66,-9,-66,-8,-64,-12,-64,-11,-64,-10,-64,-9,-74,-8,-74,-9,-73,-10,-74,-10,-74,-11,-73,-12,-74,-12,-75,-8,-77,-8,-77,-9,-78,-8,-79,-8,-79,-9,-80,-8,-80,-9,-80,-10,-80,-11,-80,-12,-78,-11,-78,-12,-78,-9,-78,-10,-77,-10,-79,-11,-77,-12,-81,-11,-83,-10,-83,-11,-83,-12,-84,-10,-85,-10,-85,-9,-85,-8,-83,-8,-84,-8,-90,-8,-93,-8,-93,-9,-93,-10,-92,-10,-91,-10,-90,-10,-89,-8,-88,-8,-88,-9,-89,-10,-88,-10,-88,-11,-89,-11,-90,-11,-93,-11,-87,-12,-90,-12,-85,-12,-87,-9,-87,-10,-92,-12,-93,-12,-82,-9,-82,-10,-82,-11,-82,-12,-76,-9,-76,-8,-76,-10,-76,-12,-76,-11,-64,-8,-82,-8,-48,-9,-54,-13,-53,-13,-52,-13,-51,-13,-50,-13,-49,-13,-58,-13,-59,-13,-60,-13,-61,-13,-62,-13,-63,-13,-64,-13,-65,-13,-66,-13,-67,-13,-68,-13,-71,-13,-56,-13,-57,-13,-64,-13,-73,-13,-74,-13,-80,-13,-78,-13,-77,-13,-83,-13,-87,-13,-90,-13,-85,-13,-92,-13,-93,-13,-82,-13,-76,-13,-88,-12,-47,-8,-47,-9,-47,-10,-47,-11,-47,-12,-47,-13,-48,-13,-94,7,-94,9,-93,64,-94,64,-94,44,-94,45,-94,46,-94,41,-94,42,-94,43,-94,38,-94,39,-94,40,-94,35,-94,36,-94,37,-94,32,-94,33,-94,34,-94,29,-94,30,-94,31,-94,28,-94,22,-94,20,-94,21,-94,19,-94,17,-94,18,-94,16,-94,15,-57,-53,-57,-58,-57,-48,-54,-52,-54,-54,-60,-54,-60,-52,-56,-53,-57,-54,-58,-53,-57,-52,-34,-18,-34,-19,-33,-17,-33,-18,-33,-19,-32,-19,-32,-18,-31,-18,-31,-19,-30,-18,-30,-19,-29,-19,-33,-14,-32,-14,-31,-14,-30,-14,-33,-15,-33,-16,-32,-15,-31,-15,-30,-15,-32,-16,-31,-16,-30,-16,-29,-18,-29,-17,-29,-16,-29,-15,-29,-14,-20,-14,-21,-14,-19,-15,-20,-15,-21,-15,-21,-16,-20,-16,-20,-17,-21,-17,-20,-18,-21,-18,-21,-19,-15,-16,-15,-17,-16,-15,-16,-16,-16,-17,-16,-18,-17,-15,-18,-15,-17,-16,-17,-17,-17,-18,-18,-16,-18,-17,-18,-18,-20,-19,-19,-19,-18,-19,-17,-19,-16,-19,-15,-19,-12,-18,-13,-14,-13,-15,-13,-16,-13,-17,-13,-18,-14,-18,-11,-14,-11,-15,-11,-16,-11,-17,-11,-18,-11,-19,-27,-18,-27,-19,-26,-17,-26,-18,-26,-19,-25,-19,-25,-18,-24,-18,-24,-19,-23,-18,-23,-19,-22,-19,-26,-14,-25,-14,-24,-14,-23,-14,-26,-15,-26,-16,-25,-15,-24,-15,-23,-15,-25,-16,-24,-16,-23,-16,-22,-18,-22,-17,-22,-16,-22,-15,-22,-14,-28,-15,-28,-14,-28,-18,-28,-17,-28,-16,-28,-19,-12,-14,-19,-20,-14,-21,-15,-21,-16,-21,-17,-21,-18,-21,-19,-21,-19,-22,-14,-22,-12,-20,-12,-21,-12,-22,-21,-20,-22,-20,-23,-20,-21,-21,-21,-22,-22,-21,-23,-21,-22,-22,-23,-22,-16,-27,-17,-27,-15,-27,-14,-27,-12,-27,-12,-26,-17,-25,-16,-25,-15,-25,-14,-25,-13,-25,-12,-25,-12,-24,-17,-24,-19,-27,-19,-26,-19,-25,-19,-24,-20,-24,-20,-25,-20,-26,-20,-27,-21,-23,-21,-24,-21,-25,-21,-26,-21,-27,-22,-27,-23,-27,-23,-26,-22,-25,-22,-24,-23,-24,-23,-25,-17,-23,-16,-23,-15,-23,-14,-23,-34,-23,-33,-23,-32,-23,-30,-23,-30,-22,-34,-21,-33,-21,-32,-21,-31,-21,-30,-21,-30,-20,-27,-23,-26,-23,-28,-22,-27,-22,-26,-22,-25,-22,-28,-21,-28,-20,-27,-21,-26,-21,-25,-21,-27,-20,-26,-20,-25,-20,-24,-20,-24,-21,-24,-22,-24,-23,-29,-27,-28,-27,-27,-27,-25,-27,-25,-26,-29,-25,-28,-25,-27,-25,-26,-25,-25,-25,-25,-24,-30,-27,-31,-27,-32,-27,-34,-27,-34,-26,-30,-25,-31,-25,-32,-25,-33,-25,-34,-25,-34,-24,-32,-28,-31,-28,-30,-28,-33,-28,-34,-28,-26,-28,-25,-28,-24,-28,-27,-28,-28,-28,-29,-28,-23,-28,-12,-28,-13,-28,-14,-28,-15,-28,-16,-28,-17,-28,-18,-28,-20,-28,-21,-28,-22,-28,-19,-28,-17,-29,-18,-30,-18,-29,-19,-29,-19,-30,-17,-30,-16,-29,-16,-30,-15,-29,-14,-29,-14,-30,-14,-31,-19,-32,-18,-32,-17,-32,-16,-32,-15,-32,-14,-32,-14,-33,-19,-33,-22,-29,-21,-30,-21,-31,-21,-32,-21,-33,-22,-33,-22,-32,-22,-31,-22,-30,-23,-34,-23,-33,-23,-32,-23,-31,-23,-30,-23,-29,-24,-30,-25,-29,-25,-30,-25,-31,-24,-32,-24,-33,-25,-33,-25,-32,-26,-33,-26,-32,-26,-29,-26,-30,-26,-31,-27,-32,-27,-29,-28,-29,-29,-29,-28,-31,-28,-32,-29,-31,-29,-32,-12,-29,-12,-31,-12,-32,-12,-33,-21,-37,-16,-36,-17,-36,-18,-36,-19,-36,-20,-36,-21,-36,-21,-35,-16,-35,-14,-37,-14,-36,-14,-35,-13,-35,-13,-36,-13,-37,-12,-34,-12,-35,-12,-36,-12,-37,-23,-37,-24,-37,-25,-37,-26,-37,-23,-36,-23,-35,-24,-36,-25,-36,-26,-36,-24,-35,-25,-35,-26,-35,-16,-34,-17,-34,-18,-34,-19,-34,-34,-34,-33,-34,-34,-35,-33,-35,-33,-36,-33,-37,-32,-35,-32,-36,-32,-37,-31,-35,-31,-36,-31,-37,-30,-35,-30,-37,-30,-36,-29,-35,-29,-36,-29,-37,-34,-30,-33,-29,-33,-30,-33,-31,-34,-32,-34,-33,-33,-33,-33,-32,-32,-33,-32,-32,-32,-29,-32,-30,-32,-31,-31,-32,-31,-29,-30,-29,-30,-31,-30,-32,-28,-34,-28,-35,-27,-35,-28,-36,-27,-36,-28,-37,-27,-37,-18,-45,-19,-45,-17,-45,-16,-45,-14,-45,-14,-44,-19,-43,-18,-43,-17,-43,-16,-43,-15,-43,-14,-43,-14,-42,-19,-42,-21,-45,-21,-44,-21,-43,-21,-42,-22,-42,-22,-43,-22,-44,-22,-45,-23,-41,-23,-42,-23,-43,-23,-44,-23,-45,-24,-45,-25,-45,-25,-44,-24,-43,-24,-42,-25,-42,-25,-43,-26,-42,-26,-43,-26,-45,-26,-44,-27,-43,-28,-44,-28,-43,-29,-44,-29,-43,-12,-44,-12,-43,-12,-42,-21,-38,-16,-39,-17,-39,-18,-39,-19,-39,-20,-39,-21,-39,-21,-40,-16,-40,-14,-38,-14,-39,-14,-40,-13,-40,-13,-39,-13,-38,-12,-41,-12,-40,-12,-39,-12,-38,-23,-38,-24,-38,-25,-38,-26,-38,-23,-39,-23,-40,-24,-39,-25,-39,-26,-39,-24,-40,-25,-40,-26,-40,-16,-41,-17,-41,-18,-41,-19,-41,-34,-41,-33,-41,-34,-40,-33,-40,-33,-39,-33,-38,-32,-40,-32,-39,-32,-38,-31,-40,-31,-39,-31,-38,-30,-40,-30,-38,-30,-39,-29,-40,-29,-39,-29,-38,-34,-45,-33,-45,-33,-44,-34,-43,-34,-42,-33,-42,-33,-43,-32,-42,-32,-43,-32,-45,-32,-44,-31,-43,-30,-44,-30,-43,-28,-41,-28,-40,-27,-40,-28,-39,-27,-39,-28,-38,-27,-38,-14,-7,-15,-12,-42,-6,-40,-5,-15,-36,-21,-41,16,-53,17,-53,18,-53,16,-54,17,-54,18,-54,16,-63,17,-63,18,-63,16,-66,17,-66,18,-66,16,-73,17,-73,18,-73,16,-72,17,-72,18,-72,16,-70,17,-70,18,-70,19,-68,20,-68,21,-68,19,-73,20,-73,21,-73,21,-69,22,-69,23,-69,21,-67,22,-67,23,-67,21,-65,22,-65,23,-65,18,-64,19,-64,20,-64,21,-64,22,-64,23,-64,19,-53,20,-53,21,-53,17,-55,16,-64,16,-65,16,-67,16,-68,16,-69,18,-69,19,-69,19,-72,21,-72,21,-70,20,-70,21,-66,19,-67,18,-67,19,-65,18,-65,20,-63,20,-55,20,-54,21,-54,21,-63,22,-53,23,-53,23,-54,23,-66,23,-68,23,-73,23,-72,23,-70,23,-63,17,-50,18,-50,21,-49,22,-49,23,-49,21,-51,22,-51,23,-51,18,-52,19,-52,20,-52,21,-52,22,-52,23,-52,21,-50,19,-49,18,-49,19,-51,18,-51,23,-50,16,-50,16,-51,16,-52,24,-64,25,-64,24,-66,25,-66,24,-68,25,-68,24,-69,25,-69,25,-73,25,-67,25,-65,25,-54,25,-55,25,-63,25,-70,24,-51,25,-51,24,-52,25,-53,24,-50,26,-49,27,-49,28,-49,26,-52,27,-52,28,-52,29,-54,30,-54,31,-54,31,-55,32,-55,33,-55,31,-53,32,-53,33,-53,31,-51,32,-51,33,-51,28,-50,29,-50,30,-50,31,-50,32,-50,33,-50,26,-50,26,-51,26,-53,26,-54,26,-55,28,-55,29,-55,31,-52,29,-53,28,-53,29,-51,28,-51,30,-49,31,-49,33,-52,33,-54,33,-49,34,-50,35,-50,34,-52,35,-52,34,-54,35,-54,34,-55,35,-55,35,-53,35,-51,35,-49,26,-73,27,-73,26,-70,27,-70,26,-67,27,-67,26,-63,27,-63,28,-65,29,-65,30,-65,30,-64,31,-64,30,-66,31,-66,30,-68,31,-68,27,-69,28,-69,29,-69,30,-69,31,-69,26,-72,27,-64,28,-64,30,-63,29,-63,30,-67,28,-66,27,-66,28,-68,27,-68,29,-70,29,-72,29,-73,30,-73,30,-70,24,-73,22,-73,32,-73,33,-73,34,-73,35,-73,36,-73,37,-73,32,-69,33,-69,34,-69,35,-69,36,-69,37,-69,32,-67,33,-67,34,-67,32,-65,33,-65,34,-65,34,-63,35,-63,34,-64,35,-64,35,-65,36,-65,37,-65,35,-67,36,-67,37,-67,34,-70,35,-70,36,-70,37,-70,37,-72,36,-68,37,-68,32,-70,32,-72,32,-66,32,-64,32,-63,35,-66,36,-55,36,-53,36,-51,36,-50,36,-52,36,-54,36,-49,37,-50,37,-52,37,-54,37,-55,37,-63,37,-64,51,-70,50,-70,50,-72,51,-53,50,-53,51,-51,50,-51,51,-49,50,-49,50,-50,50,-52,50,-63,50,-55,50,-54,51,-66,50,-66,51,-65,50,-64,51,-67,51,-69,51,-73,50,-73,49,-72,48,-72,47,-72,49,-70,48,-70,47,-70,49,-68,48,-68,47,-68,49,-65,48,-65,47,-65,46,-63,45,-63,44,-63,44,-55,43,-55,42,-55,44,-64,43,-64,42,-64,44,-66,43,-66,42,-66,47,-67,46,-67,45,-67,44,-67,43,-67,42,-67,46,-72,45,-72,44,-72,48,-69,49,-67,49,-66,49,-64,49,-63,49,-55,47,-55,46,-55,44,-65,46,-64,47,-64,46,-66,47,-66,45,-68,45,-69,45,-70,44,-70,44,-68,43,-72,42,-72,42,-70,42,-65,42,-63,42,-68,47,-73,46,-73,45,-73,44,-73,43,-73,42,-73,49,-73,41,-67,40,-67,41,-65,40,-65,41,-63,40,-63,41,-55,40,-55,40,-64,40,-66,40,-70,40,-69,40,-68,41,-73,40,-72,49,-50,48,-50,49,-54,48,-54,47,-52,46,-52,45,-52,45,-53,44,-53,45,-51,44,-51,45,-49,44,-49,48,-53,47,-53,45,-54,46,-54,45,-50,47,-51,48,-51,47,-49,48,-49,43,-50,42,-50,41,-50,43,-52,42,-52,41,-52,41,-54,40,-54,41,-53,40,-53,40,-52,39,-52,38,-52,40,-50,39,-50,38,-50,39,-49,38,-49,43,-51,43,-53,43,-54,40,-51,39,-55,39,-64,39,-66,39,-67,39,-72,39,-70,39,-65,39,-63,39,-68,38,-67,38,-65,38,-63,38,-55,38,-54,38,-53,39,-73,38,-73,52,-70,53,-70,53,-72,52,-53,53,-53,52,-51,53,-51,52,-49,53,-49,53,-50,53,-52,53,-63,53,-55,53,-54,52,-66,53,-66,52,-65,53,-64,52,-67,52,-69,52,-73,53,-73,54,-72,55,-72,56,-72,54,-70,55,-70,56,-70,54,-68,55,-68,56,-68,54,-65,55,-65,56,-65,57,-63,58,-63,59,-63,59,-55,60,-55,59,-64,60,-64,59,-66,60,-66,56,-67,57,-67,58,-67,59,-67,60,-67,57,-72,58,-72,59,-72,55,-69,54,-67,54,-66,54,-64,54,-63,54,-55,56,-55,57,-55,59,-65,57,-64,56,-64,57,-66,56,-66,58,-68,58,-70,59,-70,59,-68,60,-72,56,-73,57,-73,58,-73,59,-73,60,-73,54,-73,54,-50,55,-50,54,-54,55,-54,56,-52,57,-52,58,-52,58,-53,59,-53,58,-51,59,-51,58,-49,59,-49,55,-53,56,-53,58,-54,57,-54,58,-50,56,-51,55,-51,56,-49,55,-49,60,-50,60,-52,60,-51,60,-53,60,-54,59,-69,60,-69,17,-47,18,-47,21,-46,22,-46,23,-46,21,-48,22,-48,23,-48,21,-47,19,-46,18,-46,19,-48,18,-48,23,-47,16,-47,16,-48,24,-48,25,-48,24,-47,26,-46,27,-46,28,-46,31,-48,32,-48,33,-48,28,-47,29,-47,30,-47,31,-47,32,-47,33,-47,26,-47,26,-48,29,-48,28,-48,30,-46,31,-46,33,-46,34,-47,35,-47,35,-48,35,-46,36,-48,36,-47,36,-46,37,-47,49,-47,48,-47,45,-48,44,-48,45,-46,44,-46,45,-47,47,-48,48,-48,47,-46,48,-46,43,-47,42,-47,41,-47,40,-47,39,-47,38,-47,39,-46,38,-46,43,-48,40,-48,16,-49,16,-46,16,-62,17,-62,18,-62,16,-59,17,-59,18,-59,19,-57,20,-57,21,-57,21,-56,22,-56,23,-56,21,-58,22,-58,23,-58,21,-60,22,-60,23,-60,18,-61,19,-61,20,-61,21,-61,22,-61,23,-61,16,-61,16,-60,16,-58,16,-57,16,-56,18,-56,19,-56,21,-59,19,-58,18,-58,19,-60,18,-60,20,-62,21,-62,23,-59,23,-57,23,-62,24,-61,25,-61,24,-59,25,-59,24,-57,25,-57,24,-56,25,-56,25,-58,25,-60,25,-62,26,-58,27,-58,26,-62,27,-62,28,-60,29,-60,30,-60,30,-61,31,-61,30,-59,31,-59,30,-57,31,-57,27,-56,28,-56,29,-56,30,-56,31,-56,27,-61,28,-61,30,-62,29,-62,30,-58,28,-59,27,-59,28,-57,27,-57,32,-56,33,-56,34,-56,35,-56,36,-56,37,-56,32,-58,33,-58,34,-58,32,-60,33,-60,34,-60,34,-62,35,-62,34,-61,35,-61,35,-60,36,-60,37,-60,35,-58,36,-58,37,-58,36,-57,37,-57,32,-59,32,-61,32,-62,35,-59,37,-62,37,-61,50,-62,51,-59,50,-59,51,-60,50,-61,51,-58,51,-56,49,-57,48,-57,47,-57,49,-60,48,-60,47,-60,46,-62,45,-62,44,-62,44,-61,43,-61,42,-61,44,-59,43,-59,42,-59,47,-58,46,-58,45,-58,44,-58,43,-58,42,-58,48,-56,49,-58,49,-59,49,-61,49,-62,44,-60,46,-61,47,-61,46,-59,47,-59,45,-57,45,-56,44,-57,42,-60,42,-62,42,-57,41,-58,40,-58,41,-60,40,-60,41,-62,40,-62,40,-61,40,-59,40,-56,40,-57,39,-61,39,-59,39,-58,39,-60,39,-62,39,-57,38,-58,38,-60,38,-62,53,-62,52,-59,53,-59,52,-60,53,-61,52,-58,52,-56,54,-57,55,-57,56,-57,54,-60,55,-60,56,-60,57,-62,58,-62,59,-62,59,-61,60,-61,59,-59,60,-59,56,-58,57,-58,58,-58,59,-58,60,-58,55,-56,54,-58,54,-59,54,-61,54,-62,59,-60,57,-61,56,-61,57,-59,56,-59,58,-57,59,-57,59,-56,60,-56,52,-55,51,-57,15,-53,14,-53,13,-53,15,-54,14,-54,13,-54,15,-63,14,-63,13,-63,15,-66,14,-66,13,-66,15,-73,14,-73,13,-73,15,-72,14,-72,13,-72,15,-70,14,-70,13,-70,12,-68,11,-68,10,-68,12,-73,11,-73,10,-73,10,-69,9,-69,8,-69,10,-67,9,-67,8,-67,10,-65,9,-65,8,-65,13,-64,12,-64,11,-64,10,-64,9,-64,8,-64,12,-53,11,-53,10,-53,14,-55,15,-64,15,-65,15,-67,15,-68,15,-69,13,-69,12,-69,12,-72,10,-72,10,-70,11,-70,10,-66,12,-67,13,-67,12,-65,13,-65,11,-63,11,-55,11,-54,10,-54,10,-63,9,-53,8,-53,8,-54,8,-66,8,-68,8,-73,8,-72,8,-70,8,-63,14,-50,13,-50,10,-49,9,-49,8,-49,10,-51,9,-51,8,-51,13,-52,12,-52,11,-52,10,-52,9,-52,8,-52,10,-50,12,-49,13,-49,12,-51,13,-51,8,-50,15,-50,15,-51,15,-52,7,-64,6,-64,7,-66,6,-66,7,-68,6,-68,7,-69,6,-69,6,-73,6,-67,6,-65,6,-54,6,-55,6,-63,6,-70,7,-51,6,-51,7,-52,6,-53,7,-50,5,-49,4,-49,3,-49,5,-52,4,-52,3,-52,2,-54,1,-54,0,-54,0,-55,-1,-55,-2,-55,0,-53,-1,-53,-2,-53,0,-51,-1,-51,-2,-51,3,-50,2,-50,1,-50,0,-50,-1,-50,-2,-50,5,-50,5,-51,5,-53,5,-54,5,-55,3,-55,2,-55,0,-52,2,-53,3,-53,2,-51,3,-51,1,-49,0,-49,-2,-52,-2,-54,-2,-49,-3,-50,-4,-50,-3,-52,-4,-52,-3,-54,-4,-54,-3,-55,-4,-55,-4,-53,-4,-51,-4,-49,5,-73,4,-73,5,-70,4,-70,5,-67,4,-67,5,-63,4,-63,3,-65,2,-65,1,-65,1,-64,0,-64,1,-66,0,-66,1,-68,0,-68,4,-69,3,-69,2,-69,1,-69,0,-69,5,-72,4,-64,3,-64,1,-63,2,-63,1,-67,3,-66,4,-66,3,-68,4,-68,2,-70,2,-72,2,-73,1,-73,1,-70,7,-73,9,-73,-1,-73,-2,-73,-3,-73,-4,-73,-5,-73,-6,-73,-1,-69,-2,-69,-3,-69,-4,-69,-5,-69,-6,-69,-1,-67,-2,-67,-3,-67,-1,-65,-2,-65,-3,-65,-3,-63,-4,-63,-3,-64,-4,-64,-4,-65,-5,-65,-6,-65,-4,-67,-5,-67,-6,-67,-3,-70,-4,-70,-5,-70,-6,-70,-6,-72,-5,-68,-6,-68,-1,-70,-1,-72,-1,-66,-1,-64,-1,-63,-4,-66,-5,-55,-5,-53,-5,-51,-5,-50,-5,-52,-5,-54,-5,-49,-6,-50,-6,-52,-6,-54,-6,-55,-6,-63,-6,-64,-18,-72,-17,-72,-16,-72,-18,-70,-17,-70,-16,-70,-18,-68,-17,-68,-16,-68,-18,-65,-17,-65,-16,-65,-15,-63,-14,-63,-13,-63,-13,-55,-12,-55,-11,-55,-13,-64,-12,-64,-11,-64,-13,-66,-12,-66,-11,-66,-16,-67,-15,-67,-14,-67,-13,-67,-12,-67,-11,-67,-15,-72,-14,-72,-13,-72,-17,-69,-18,-67,-18,-66,-18,-64,-18,-63,-18,-55,-16,-55,-15,-55,-13,-65,-15,-64,-16,-64,-15,-66,-16,-66,-14,-68,-14,-69,-14,-70,-13,-70,-13,-68,-12,-72,-11,-72,-11,-70,-11,-65,-11,-63,-11,-68,-16,-73,-15,-73,-14,-73,-13,-73,-12,-73,-11,-73,-18,-73,-10,-67,-9,-67,-10,-65,-9,-65,-10,-63,-9,-63,-10,-55,-9,-55,-9,-64,-9,-66,-9,-70,-9,-69,-9,-68,-10,-73,-9,-72,-18,-50,-17,-50,-18,-54,-17,-54,-16,-52,-15,-52,-14,-52,-14,-53,-13,-53,-14,-51,-13,-51,-14,-49,-13,-49,-17,-53,-16,-53,-14,-54,-15,-54,-14,-50,-16,-51,-17,-51,-16,-49,-17,-49,-12,-50,-11,-50,-10,-50,-12,-52,-11,-52,-10,-52,-10,-54,-9,-54,-10,-53,-9,-53,-9,-52,-8,-52,-7,-52,-9,-50,-8,-50,-7,-50,-8,-49,-7,-49,-12,-51,-12,-53,-12,-54,-9,-51,-8,-55,-8,-64,-8,-66,-8,-67,-8,-72,-8,-70,-8,-65,-8,-63,-8,-68,-7,-67,-7,-65,-7,-63,-7,-55,-7,-54,-7,-53,-8,-73,-7,-73,14,-47,13,-47,10,-46,9,-46,8,-46,10,-48,9,-48,8,-48,10,-47,12,-46,13,-46,12,-48,13,-48,8,-47,15,-47,15,-48,7,-48,6,-48,7,-47,5,-46,4,-46,3,-46,0,-48,-1,-48,-2,-48,3,-47,2,-47,1,-47,0,-47,-1,-47,-2,-47,5,-47,5,-48,2,-48,3,-48,1,-46,0,-46,-2,-46,-3,-47,-4,-47,-4,-48,-4,-46,-5,-48,-5,-47,-5,-46,-6,-47,-18,-47,-17,-47,-14,-48,-13,-48,-14,-46,-13,-46,-14,-47,-16,-48,-17,-48,-16,-46,-17,-46,-12,-47,-11,-47,-10,-47,-9,-47,-8,-47,-7,-47,-8,-46,-7,-46,-12,-48,-9,-48,15,-49,15,-46,15,-62,14,-62,13,-62,15,-59,14,-59,13,-59,12,-57,11,-57,10,-57,10,-56,9,-56,8,-56,10,-58,9,-58,8,-58,10,-60,9,-60,8,-60,13,-61,12,-61,11,-61,10,-61,9,-61,8,-61,15,-61,15,-60,15,-58,15,-57,15,-56,13,-56,12,-56,10,-59,12,-58,13,-58,12,-60,13,-60,11,-62,10,-62,8,-59,8,-57,8,-62,7,-61,6,-61,7,-59,6,-59,7,-57,6,-57,7,-56,6,-56,6,-58,6,-60,6,-62,5,-58,4,-58,5,-62,4,-62,3,-60,2,-60,1,-60,1,-61,0,-61,1,-59,0,-59,1,-57,0,-57,4,-56,3,-56,2,-56,1,-56,0,-56,4,-61,3,-61,1,-62,2,-62,1,-58,3,-59,4,-59,3,-57,4,-57,-1,-56,-2,-56,-3,-56,-4,-56,-5,-56,-6,-56,-1,-58,-2,-58,-3,-58,-1,-60,-2,-60,-3,-60,-3,-62,-4,-62,-3,-61,-4,-61,-4,-60,-5,-60,-6,-60,-4,-58,-5,-58,-6,-58,-5,-57,-6,-57,-1,-59,-1,-61,-1,-62,-4,-59,-6,-62,-6,-61,-18,-57,-17,-57,-16,-57,-18,-60,-17,-60,-16,-60,-15,-62,-14,-62,-13,-62,-13,-61,-12,-61,-11,-61,-13,-59,-12,-59,-11,-59,-16,-58,-15,-58,-14,-58,-13,-58,-12,-58,-11,-58,-17,-56,-18,-58,-18,-59,-18,-61,-18,-62,-13,-60,-15,-61,-16,-61,-15,-59,-16,-59,-14,-57,-14,-56,-13,-57,-11,-60,-11,-62,-11,-57,-10,-58,-9,-58,-10,-60,-9,-60,-10,-62,-9,-62,-9,-61,-9,-59,-9,-56,-9,-57,-8,-61,-8,-59,-8,-58,-8,-60,-8,-62,-8,-57,-7,-58,-7,-60,-7,-62,-19,-54,-20,-54,-20,-55,-21,-55,-22,-55,-20,-53,-21,-53,-22,-53,-20,-51,-21,-51,-22,-51,-19,-50,-20,-50,-21,-50,-22,-50,-20,-52,-19,-49,-20,-49,-22,-52,-22,-54,-22,-49,-23,-50,-24,-50,-23,-52,-24,-52,-23,-54,-24,-54,-23,-55,-24,-55,-24,-53,-24,-51,-24,-49,-19,-65,-19,-64,-20,-64,-19,-66,-20,-66,-19,-68,-20,-68,-19,-69,-20,-69,-19,-63,-19,-67,-19,-73,-19,-70,-21,-73,-22,-73,-23,-73,-24,-73,-25,-73,-26,-73,-21,-69,-22,-69,-23,-69,-24,-69,-25,-69,-26,-69,-21,-67,-22,-67,-23,-67,-21,-65,-22,-65,-23,-65,-23,-63,-24,-63,-23,-64,-24,-64,-24,-65,-25,-65,-26,-65,-24,-67,-25,-67,-26,-67,-23,-70,-24,-70,-25,-70,-26,-70,-26,-72,-25,-68,-26,-68,-21,-70,-21,-72,-21,-66,-21,-64,-21,-63,-24,-66,-25,-55,-25,-53,-25,-51,-25,-50,-25,-52,-25,-54,-25,-49,-26,-50,-26,-52,-26,-54,-26,-55,-26,-63,-26,-64,-34,-63,-33,-63,-33,-55,-32,-55,-31,-55,-33,-64,-32,-64,-31,-64,-33,-66,-32,-66,-31,-66,-34,-67,-33,-67,-32,-67,-31,-67,-34,-72,-33,-72,-33,-65,-34,-68,-34,-69,-34,-70,-33,-70,-33,-68,-32,-72,-31,-72,-31,-70,-31,-65,-31,-63,-31,-68,-34,-73,-33,-73,-32,-73,-31,-73,-30,-67,-29,-67,-30,-65,-29,-65,-30,-63,-29,-63,-30,-55,-29,-55,-29,-64,-29,-66,-29,-70,-29,-69,-29,-68,-30,-73,-29,-72,-34,-52,-34,-53,-33,-53,-34,-51,-33,-51,-34,-49,-33,-49,-34,-54,-34,-50,-32,-50,-31,-50,-30,-50,-32,-52,-31,-52,-30,-52,-30,-54,-29,-54,-30,-53,-29,-53,-29,-52,-28,-52,-27,-52,-29,-50,-28,-50,-27,-50,-28,-49,-27,-49,-32,-51,-32,-53,-32,-54,-29,-51,-28,-55,-28,-64,-28,-66,-28,-67,-28,-72,-28,-70,-28,-65,-28,-63,-28,-68,-27,-67,-27,-65,-27,-63,-27,-55,-27,-54,-27,-53,-28,-73,-27,-73,-20,-48,-21,-48,-22,-48,-19,-47,-20,-47,-21,-47,-22,-47,-19,-46,-20,-46,-22,-46,-23,-47,-24,-47,-24,-48,-24,-46,-25,-48,-25,-47,-25,-46,-26,-47,-34,-48,-33,-48,-34,-46,-33,-46,-34,-47,-32,-47,-31,-47,-30,-47,-29,-47,-28,-47,-27,-47,-28,-46,-27,-46,-32,-48,-29,-48,-19,-60,-19,-61,-20,-61,-19,-59,-20,-59,-19,-57,-20,-57,-19,-56,-20,-56,-19,-62,-19,-58,-21,-56,-22,-56,-23,-56,-24,-56,-25,-56,-26,-56,-21,-58,-22,-58,-23,-58,-21,-60,-22,-60,-23,-60,-23,-62,-24,-62,-23,-61,-24,-61,-24,-60,-25,-60,-26,-60,-24,-58,-25,-58,-26,-58,-25,-57,-26,-57,-21,-59,-21,-61,-21,-62,-24,-59,-26,-62,-26,-61,-34,-62,-33,-62,-33,-61,-32,-61,-31,-61,-33,-59,-32,-59,-31,-59,-34,-58,-33,-58,-32,-58,-31,-58,-33,-60,-34,-57,-34,-56,-33,-57,-31,-60,-31,-62,-31,-57,-30,-58,-29,-58,-30,-60,-29,-60,-30,-62,-29,-62,-29,-61,-29,-59,-29,-56,-29,-57,-28,-61,-28,-59,-28,-58,-28,-60,-28,-62,-28,-57,-27,-58,-27,-60,-27,-62,16,-71,17,-71,18,-71,21,-71,23,-71,24,-71,25,-71,30,-71,31,-71,28,-71,27,-71,32,-71,35,-71,51,-71,50,-71,44,-71,43,-71,42,-71,49,-71,46,-71,47,-71,40,-71,39,-71,52,-71,53,-71,59,-71,60,-71,54,-71,57,-71,56,-71,15,-71,14,-71,13,-71,10,-71,8,-71,7,-71,6,-71,1,-71,0,-71,3,-71,4,-71,-1,-71,-4,-71,-13,-71,-12,-71,-11,-71,-18,-71,-15,-71,-16,-71,-9,-71,-8,-71,-19,-71,-20,-71,-21,-71,-24,-71,-33,-71,-32,-71,-31,-71,-29,-71,-28,-71,-3,-71,-3,-72,-6,-71,-10,-72,1,-72,-23,-71,-22,-71,-29,-73,11,-56,-29,-49,-8,48,-7,48,-6,50,-6,51,-6,52,-6,53,-6,49,-7,51,-8,51};
const uint floor_size = 30938;
const float level_wall[] = {0,28,0,26,-1,26,-1,28,-3,28,-3,26,-3,25,-3,29,-3,31,-2,31,-1,30,2,30,2,29,2,27,2,25,2,24,-1,24,-1,23,-5,26,-5,28,-5,29,-6,26,-6,22,-4,20,-3,20,-2,20,-1,20,-5,20,-6,19,-7,19,-8,19,-9,19,-10,20,-10,22,-10,23,-10,25,-10,26,-10,29,-10,30,-8,31,-7,31,-5,31,-10,32,-11,32,-11,30,-13,31,-12,29,-13,29,-12,33,-13,33,-14,31,-16,31,-17,31,-18,31,-15,29,-16,29,-17,29,-18,28,-19,28,-14,33,-15,33,-17,33,-18,33,-19,32,-20,32,-21,32,-22,31,-22,30,-20,28,-21,28,-22,28,-9,33,-8,33,-8,35,-8,36,-10,34,-6,33,-6,35,-4,34,-4,32,-4,36,-6,37,-2,33,-2,35,-2,37,-6,39,-4,39,-2,39,0,37,0,39,2,41,2,40,0,41,1,41,2,38,2,37,2,34,2,33,-2,41,-3,41,-4,41,-6,41,-7,41,-8,41,-8,40,-8,39,-8,37,-9,37,-10,37,-12,37,-12,36,-9,41,-10,41,-11,41,-12,41,-14,41,-14,40,-14,39,-14,38,-14,37,-17,41,-17,40,-17,38,-17,37,-17,35,-18,35,-19,35,-20,35,-20,36,-20,37,-22,37,-22,35,-22,33,-24,37,-24,36,-24,35,-24,33,-24,34,-24,32,-24,30,-24,31,-24,29,-24,28,-24,27,-24,26,-23,26,-22,26,-21,26,-19,26,-22,25,-22,24,-22,22,-24,24,-24,23,-25,23,-26,23,-27,23,-27,24,-27,25,-28,24,-22,21,-23,21,-18,26,-17,28,-16,28,-15,28,-13,28,-12,28,-11,27,-11,26,-11,25,-11,23,-11,22,-11,20,-15,23,-14,23,-14,22,-14,21,-16,23,-20,38,-21,38,-22,38,-22,39,-24,38,-24,40,-22,40,-24,41,-24,42,-23,42,-22,42,-21,42,-20,42,-19,42,-18,42,-17,42,-15,42,-11,42,-11,43,-12,44,-13,45,-14,46,-15,44,-16,45,-17,45,-14,47,-15,47,-16,47,-17,47,-19,47,-19,45,-21,45,-21,47,-21,43,-21,44,-19,49,-21,48,-21,49,-21,51,-19,51,-17,48,-17,50,-17,51,4,34,3,34,3,37,4,37,3,30,4,29,4,28,4,26,4,25,5,25,6,25,6,24,7,25,3,23,3,22,3,21,4,21,1,19,1,20,1,18,0,18,-1,18,-1,16,0,16,0,15,0,14,-4,17,-4,16,-4,14,-7,15,-8,15,-9,15,-7,14,-7,12,0,13,0,12,1,14,2,14,3,14,3,18,3,17,4,18,5,18,6,19,6,20,6,21,6,22,7,21,8,21,9,21,4,14,5,14,5,15,7,15,8,15,7,16,7,17,7,14,7,13,7,12,2,12,3,12,4,12,5,12,0,11,-1,11,-2,11,-4,11,-5,11,-6,11,-7,11,-8,12,-9,12,8,25,10,25,7,26,7,27,10,21,11,22,11,21,11,25,11,24,7,28,7,29,8,29,9,29,10,29,11,29,11,28,11,27,12,25,13,25,13,26,13,27,13,28,13,30,13,31,12,31,11,31,10,31,9,31,7,31,6,31,5,31,11,15,12,15,12,16,12,14,12,13,12,12,12,17,9,17,10,17,9,18,10,18,9,19,10,19,12,20,13,20,14,21,15,22,16,23,13,17,14,17,15,18,16,19,17,20,17,23,16,24,16,25,16,27,16,28,14,31,15,31,16,29,16,30,17,27,19,27,19,26,18,30,19,30,5,32,-27,26,-28,26,-29,26,-30,26,-31,26,-27,28,-28,28,-29,28,-31,28,-32,26,-28,29,-28,30,-28,31,-28,33,-28,34,-28,35,-26,33,-26,34,-26,35,-28,36,-28,38,-28,39,-28,41,-28,42,-28,43,-25,45,-28,44,-28,45,-29,45,-30,45,-30,46,-30,47,-31,47,-32,47,-32,48,-32,49,-33,49,-34,49,-31,52,-34,52,-32,52,-33,52,-30,52,-29,52,-27,52,-28,52,-26,52,-25,52,-24,52,-25,47,-25,49,-27,47,-27,49,-23,49,-29,49,-28,51,-21,52,-17,52,-18,53,-20,53,-20,54,-20,55,-18,54,-18,55,-18,56,-18,57,-20,56,-20,57,-18,58,-18,59,-19,59,-20,59,-21,59,-23,59,-22,59,-26,59,-25,59,-27,59,-28,59,-21,57,-22,55,-24,55,-26,55,-27,55,-29,55,-31,55,-32,55,-34,55,-23,57,-24,57,-26,57,-28,57,-31,57,-33,57,-28,60,-28,61,-29,61,-30,61,-31,61,-31,62,-31,63,-31,64,-31,65,-33,65,-34,65,-35,65,-36,65,-37,65,-38,65,-39,65,-40,65,-41,65,-41,64,-41,62,-41,63,-41,61,-41,59,-41,60,-41,58,-41,56,-41,57,-41,55,-26,53,-34,54,-36,53,-36,54,-37,53,-38,53,-38,54,-37,51,-37,50,-37,49,-36,49,-38,49,-36,47,-37,47,-38,46,-38,45,-38,44,-39,47,-40,48,-40,49,-40,50,-41,50,-39,52,-41,54,-42,54,-43,54,-42,50,-43,50,-44,51,-44,53,-45,53,-45,51,-46,53,-46,51,-37,56,-37,57,-37,58,-37,59,-39,58,-37,63,-36,63,-36,62,-35,62,-34,62,-34,61,-39,62,-36,59,-36,60,-31,60,-32,60,-39,44,-40,44,-41,43,-41,42,-41,41,-42,40,-42,39,-42,38,-42,37,-28,22,-28,21,-29,20,-29,19,-29,18,-30,17,-30,16,-31,15,-32,14,-33,13,-34,12,-35,12,-36,12,-37,11,-38,11,-39,11,-40,11,-41,11,-42,11,-43,12,-45,13,-44,12,-45,14,-47,16,-47,17,-47,18,-47,19,-43,36,-43,35,-44,34,-44,33,-44,32,-45,31,-45,30,-46,29,-46,28,-46,27,-47,26,-47,24,-47,25,-34,26,-33,28,-31,31,-39,20,-39,21,-39,22,-40,22,-41,23,-41,24,-41,25,-40,18,-41,18,-41,21,-42,19,-42,21,-44,22,-44,23,-44,18,-36,16,-37,16,-37,12,-38,12,-39,13,-39,15,-38,16,-35,13,-34,13,-32,15,-32,16,-37,30,-36,31,-36,32,-39,35,-30,43,-31,43,-32,43,-30,42,-30,40,-32,45,-34,45,-36,45,-35,43,-39,41,-39,40,-40,39,-40,38,-35,37,-36,37,-36,38,-35,38,-34,38,-36,36,-37,38,-35,39,-37,26,-38,26,-30,23,-32,24,-49,24,-48,24,-48,19,-49,19,-50,19,-51,24,-52,24,-53,24,-51,19,-53,19,-54,24,-54,19,-49,22,-49,21,-51,22,-51,21,-52,22,-52,21,-54,22,-54,21,-48,22,-51,25,-49,25,-51,26,-49,27,-49,28,-50,28,-51,28,-52,28,-52,26,-53,26,-54,26,-54,27,-54,28,-54,29,-54,30,-47,27,-47,28,-47,29,-47,30,-47,32,-48,30,-50,30,-51,30,-52,30,-51,31,-51,32,-54,31,-54,32,-53,32,-55,22,-56,23,-56,22,-56,24,-56,25,-56,26,-47,33,-47,34,-45,32,-45,33,-45,34,-44,35,-45,35,-47,35,-47,36,-43,37,-45,37,-46,37,-47,37,-43,38,-45,38,-49,32,-49,34,-49,36,-49,38,-51,34,-51,36,-51,38,-53,33,-53,34,-53,35,-53,36,-53,37,-53,38,-56,28,-56,29,-56,31,-56,32,-56,33,-55,34,-56,34,-55,35,-55,37,-55,38,-56,35,-57,35,-56,37,-47,39,-45,39,-45,40,-45,41,-46,41,-47,41,-48,41,-49,40,-49,41,-50,40,-51,40,-53,39,-53,40,-54,40,-55,40,-57,40,-53,41,-53,42,-53,43,-52,43,-51,43,-54,44,-53,44,-49,43,-42,43,-43,43,-43,44,-43,45,-46,43,-46,44,-46,46,-47,44,-46,47,-45,47,-43,47,-50,47,-57,29,-58,29,-58,30,-58,31,-58,33,-58,35,-59,33,-60,34,-60,33,-60,35,-60,36,-60,37,-59,38,-58,39,-59,31,-60,31,-48,53,-49,53,-49,52,-50,51,-50,50,-51,49,-52,48,-53,48,-54,47,-54,45,-57,42,-57,44,-56,47,-57,47,-57,46,-61,44,-61,42,-59,43,-59,46,-60,46,-61,46,-62,46,-63,45,-63,46,-63,44,-63,42,-63,41,-61,38,-23,61,-25,60,-25,61,-25,62,-26,63,-27,64,-29,66,-30,66,-31,66,-33,66,-32,68,-31,68,-29,68,-30,68,-28,68,-27,68,-26,68,-26,67,-25,67,-24,65,-23,64,-23,65,-23,62,-23,63,-33,68,-30,62,-29,62,-27,60,-26,60,-27,61,-28,62,-30,63,-30,64,-30,65,-28,64,-7,42,-7,43,-7,44,-7,45,-7,46,-7,47,1,42,1,43,1,44,1,46,1,45,1,47,0,48,-1,49,-2,50,-6,48,-5,49,-4,50,-4,51,-2,51,-2,52,-4,52,-4,53,-4,54,-4,57,-4,56,-4,58,-2,57,-2,58,-2,59,-2,60,-4,59,-4,60,-4,61,-4,63,-2,61,-2,62,-2,63,-2,64,-2,53,-2,54,-2,55,-2,56,-4,64,-2,65,-4,65,-6,65,-5,65,-2,66,-2,67,-3,67,-5,67,-4,67,-6,67,-8,67,-7,67,-7,65,-8,65,-10,65,-9,65,-9,67,-11,67,-10,67,-11,65,-13,65,-12,65,-12,67,-14,67,-13,67,-14,65,-16,65,-15,65,-15,67,-17,67,-16,67,-17,65,-19,65,-18,65,-18,67,-20,67,-19,67,-20,65,-22,65,-21,65,-21,67,-23,67,-22,67,-24,67,-10,56,-10,54,-10,52,-10,50,-10,48,-12,56,-12,54,-12,52,-12,50,-12,48,-14,56,-14,54,-14,52,-14,50,-14,48,-16,58,-16,56,-16,54,-16,52,-16,50,-14,58,-12,58,-10,58,-12,46,-10,46,-10,44,-9,48,-8,49,-8,50,-8,52,-8,53,-8,54,-8,56,-7,56,-7,54,-6,54,-5,54,-6,56,-5,56,-8,57,-8,58,-8,59,-8,60,-9,60,-10,60,-11,60,-12,60,-13,60,-15,60,-17,60,-16,60,-18,60,-18,61,-18,62,-18,63,-13,62,-12,62,-12,63,-11,63,-14,64,-16,63,-16,62,-7,62,-8,63,-6,59,-5,61,-7,60,-9,61,-6,64,0,53,1,53,2,52,-1,52,1,55,0,55,-1,56,2,56,4,56,5,55,6,55,7,56,4,52,5,53,6,53,7,52,4,50,5,49,6,49,7,50,1,50,5,59,4,58,6,59,7,58,2,58,0,59,1,59,0,61,1,61,2,62,4,62,5,61,6,61,7,62,0,64,1,64,2,65,0,68,1,68,2,67,4,66,5,66,6,64,8,64,6,68,8,68,9,56,9,58,10,59,12,59,10,55,12,55,9,52,9,50,10,49,10,53,11,53,11,49,13,49,13,53,9,62,10,63,11,63,12,62,10,65,10,65,11,65,9,66,12,66,14,64,13,64,15,64,15,62,15,66,14,59,14,55,16,56,16,57,16,58,15,52,15,50,13,51,16,49,16,53,17,53,17,49,18,50,18,52,17,55,17,59,18,55,18,59,19,56,19,58,21,56,21,58,22,55,22,59,23,59,23,55,24,56,24,58,9,47,11,47,12,46,8,46,8,45,12,45,9,44,11,44,15,47,18,47,15,46,18,46,16,45,4,46,5,47,6,47,4,45,4,43,5,42,6,42,7,42,17,62,17,66,17,64,18,64,19,64,19,62,20,62,19,66,20,66,21,65,21,63,23,64,23,65,23,63,23,62,22,61,23,66,22,67,25,64,26,63,26,65,28,65,28,63,29,64,27,61,28,61,26,60,29,60,26,58,29,58,27,57,28,57,26,55,29,55,22,53,24,53,26,53,27,52,27,51,27,50,27,49,21,52,21,51,21,50,21,49,21,47,21,46,21,45,21,44,27,47,27,46,27,45,27,44,26,43,22,43,24,43,24,48,58,55,59,55,60,56,57,56,55,56,54,55,53,55,52,56,54,59,55,58,53,59,52,58,57,58,59,59,58,59,59,61,58,61,57,62,55,62,54,61,53,61,52,62,59,64,58,64,57,65,59,68,58,68,57,67,55,66,54,66,53,64,51,64,53,68,51,68,50,56,50,58,49,59,47,59,49,55,47,55,50,62,49,63,48,63,47,62,49,65,49,65,48,65,50,66,47,66,45,64,46,64,44,64,44,62,44,66,45,59,45,55,43,56,43,57,43,58,42,55,42,59,41,55,41,59,40,56,40,58,38,56,38,58,37,55,37,59,36,59,36,55,35,56,35,58,42,62,42,66,42,64,41,64,40,64,40,62,39,62,40,66,39,66,38,65,38,63,36,64,36,65,36,63,36,62,37,61,36,66,37,67,34,64,33,63,33,65,31,65,31,63,30,64,32,61,31,61,33,60,30,60,33,58,30,58,32,57,31,57,33,55,30,55,58,52,59,52,60,51,57,51,55,51,54,52,53,52,52,51,54,48,55,49,53,48,52,49,57,49,59,48,58,48,59,46,58,46,57,45,55,45,54,46,53,46,52,45,59,43,58,43,57,42,59,39,58,39,57,40,55,41,54,41,53,43,51,43,53,39,51,39,50,51,50,49,49,48,47,48,49,52,47,52,50,45,49,44,48,44,47,45,49,42,49,42,48,42,50,41,47,41,45,43,46,43,44,43,44,45,44,41,45,48,45,52,43,51,43,50,43,49,42,52,42,48,41,52,41,48,40,51,40,49,38,51,38,49,37,52,37,48,36,48,36,52,35,51,35,49,42,45,42,41,42,43,41,43,40,43,40,45,39,45,40,41,39,41,38,42,38,44,36,43,36,42,36,44,36,45,37,46,36,41,37,40,34,43,33,44,33,42,31,42,31,44,30,43,32,46,31,46,33,47,30,47,33,49,30,49,32,50,31,50,33,52,30,52,29,13,29,17,29,19,29,22,58,22,59,22,60,21,57,21,55,21,54,22,53,22,52,21,54,18,55,19,53,18,52,19,57,19,59,18,58,18,59,16,58,16,57,15,55,15,54,16,53,16,52,15,59,13,58,13,57,12,59,9,58,9,57,10,55,11,54,11,53,13,51,13,53,9,51,9,50,21,50,19,49,18,47,18,49,22,47,22,50,15,49,14,48,14,47,15,49,12,49,12,48,12,50,11,47,11,45,13,46,13,44,13,44,15,44,11,45,18,45,22,43,21,43,20,43,19,42,22,42,18,41,22,41,18,40,21,40,19,38,21,38,19,37,22,37,18,36,18,36,22,35,21,35,19,42,15,42,11,42,13,41,13,40,13,40,15,39,15,40,11,39,11,38,12,38,14,36,13,36,12,36,14,36,15,37,16,36,11,37,10,34,13,33,14,33,12,31,12,31,14,30,13,32,16,31,16,33,17,30,17,33,19,30,19,32,20,31,20,33,22,30,22,58,25,59,25,60,26,57,26,55,26,54,25,53,25,52,26,54,29,55,28,53,29,52,28,57,28,59,29,58,29,59,31,58,31,57,32,55,32,54,31,53,31,52,32,59,34,58,34,57,35,59,38,58,38,57,37,55,36,54,36,53,34,51,34,53,38,51,38,50,26,50,28,49,29,47,29,49,25,47,25,50,32,49,33,48,33,47,32,49,35,49,35,48,35,50,36,47,36,45,34,46,34,44,34,44,32,44,36,45,29,45,25,43,26,43,27,43,28,42,25,42,29,41,25,41,29,40,26,40,28,38,26,38,28,37,25,37,29,36,29,36,25,35,26,35,28,42,32,42,36,42,34,41,34,40,34,40,32,39,32,40,36,39,36,38,35,38,33,36,34,36,35,36,33,36,32,37,31,36,36,37,37,34,34,33,33,33,35,31,35,31,33,30,34,32,31,31,31,33,30,30,30,33,28,30,28,32,27,31,27,33,25,30,25,29,41,28,41,29,40,29,39,29,38,29,37,29,36,27,41,26,41,25,41,23,41,22,41,21,41,20,41,18,41,17,41,16,41,27,37,26,37,24,37,23,37,21,37,20,37,21,39,19,37,17,37,16,37,16,39,16,36,16,35,18,35,18,34,18,33,17,32,19,32,20,32,21,31,21,30,23,34,23,33,22,33,23,35,24,35,25,35,28,35,28,34,28,33,25,31,26,31,27,31,28,32,28,31,25,30,24,29,23,29,27,28,26,28,21,27,21,28,21,26,21,24,20,24,20,23,19,22,23,22,19,21,19,20,23,26,23,27,24,25,25,25,27,26,27,25,27,24,27,23,-2,68,-2,69,-1,69,0,69,1,69,2,69,3,69,4,69,5,69,6,69,7,69,8,69,9,69,10,69,11,69,12,69,13,69,14,69,15,69,16,69,17,69,18,69,19,69,20,69,21,69,22,69,23,69,24,69,25,69,26,69,27,69,28,69,29,69,30,69,31,69,32,69,33,69,34,69,35,69,36,69,37,69,38,69,39,69,40,69,41,69,42,69,43,69,44,69,45,69,46,69,47,69,48,69,49,69,50,69,51,69,52,69,53,69,54,69,55,69,56,69,57,69,58,69,59,69,60,69,61,69,61,68,61,67,61,66,61,65,61,64,61,63,61,62,61,61,61,60,61,59,61,58,61,57,61,56,61,55,61,54,61,53,61,52,61,51,61,50,61,49,61,48,61,47,61,46,61,45,61,44,61,43,61,42,61,41,61,40,61,39,61,38,61,37,61,36,61,35,61,34,61,33,61,32,61,31,61,30,61,29,61,28,61,27,61,26,61,25,61,24,61,23,61,22,61,21,61,20,61,19,61,18,61,17,61,16,61,15,61,14,61,13,61,12,61,11,61,10,61,9,14,35,14,36,14,37,13,37,14,39,14,40,13,40,13,41,11,41,11,40,11,39,9,39,9,40,7,40,4,40,5,40,5,38,5,34,6,34,8,34,9,34,10,32,12,32,12,33,12,34,11,36,10,36,10,37,9,37,8,37,7,36,14,32,24,22,21,20,22,20,23,18,25,18,24,18,26,18,25,19,28,17,28,16,28,15,27,15,26,15,25,14,24,14,27,14,27,13,27,12,17,13,17,17,17,15,18,15,19,15,19,14,19,17,21,16,22,16,22,15,22,13,22,11,24,11,26,11,13,12,14,12,14,11,14,10,15,11,16,10,17,11,18,10,18,9,17,8,18,7,17,6,18,5,20,8,21,7,20,6,21,5,21,9,20,10,24,9,23,8,24,7,23,6,24,5,26,8,27,7,26,6,27,5,27,9,29,8,30,8,31,8,32,8,33,8,34,8,35,8,36,8,37,8,38,8,39,8,40,8,41,8,42,8,43,8,44,8,45,8,46,8,47,8,48,8,49,8,50,8,51,8,53,8,54,8,55,8,57,8,58,8,59,8,61,8,61,7,59,7,57,7,55,7,53,7,51,7,51,5,53,6,55,5,57,5,61,6,59,6,59,5,59,3,61,5,61,4,61,3,61,2,61,1,60,1,58,1,56,1,54,2,54,1,51,2,51,1,52,1,52,0,50,2,49,3,49,4,48,3,30,6,31,6,30,4,31,4,30,2,31,2,33,2,34,2,37,2,36,2,40,2,39,2,33,6,33,4,33,5,35,6,35,4,37,6,37,5,37,4,39,4,40,5,39,6,42,6,42,4,43,5,45,5,46,6,46,4,46,3,46,2,44,2,45,2,42,1,37,1,33,1,31,1,30,-5,31,-5,30,-3,31,-3,30,-1,31,-1,33,-1,34,-1,37,-1,36,-1,40,-1,39,-1,33,-5,33,-3,33,-4,35,-5,35,-3,37,-5,37,-4,37,-3,39,-3,40,-4,39,-5,42,-5,42,-3,43,-4,45,-4,46,-5,46,-3,46,-2,46,-1,44,-1,45,-1,42,0,37,0,33,0,31,0,27,3,23,3,21,3,20,-3,21,-3,20,-1,21,-1,20,1,21,1,23,1,24,1,27,1,26,1,23,-3,23,-1,23,-2,25,-3,25,-1,27,-3,27,-2,27,-1,27,2,23,2,21,2,28,5,28,2,28,-1,53,-3,53,-1,55,-3,55,-1,55,-2,57,-3,57,-1,59,-3,59,-2,59,-1,61,-1,61,-3,61,0,61,-2,49,-1,48,-1,48,-2,49,-3,49,-4,50,-4,51,-5,52,-5,53,-5,57,-4,57,-5,58,-5,61,-5,61,-4,59,-18,57,-18,55,-18,53,-18,51,-18,51,-16,53,-17,55,-16,57,-16,59,-17,59,-16,59,-14,60,-12,58,-12,56,-12,54,-13,54,-12,51,-13,51,-12,52,-12,52,-11,50,-13,49,-14,49,-15,48,-14,30,-17,31,-17,30,-15,31,-15,30,-13,31,-13,33,-13,34,-13,37,-13,36,-13,40,-13,39,-13,33,-17,33,-15,33,-16,35,-17,35,-15,37,-17,37,-16,37,-15,39,-15,40,-16,39,-17,42,-17,42,-15,43,-16,45,-16,46,-17,46,-15,46,-14,46,-13,44,-13,45,-13,42,-12,37,-12,33,-12,31,-12,30,-6,31,-6,30,-8,31,-8,30,-10,31,-10,33,-10,34,-10,37,-10,36,-10,40,-10,39,-10,33,-6,33,-8,33,-7,35,-6,35,-8,37,-6,37,-7,37,-8,39,-8,40,-7,39,-6,42,-6,42,-8,43,-7,45,-7,46,-6,46,-8,46,-9,46,-10,44,-10,45,-10,42,-11,37,-11,33,-11,31,-11,53,-8,53,-10,55,-8,55,-10,55,-9,57,-8,57,-10,59,-8,59,-9,59,-10,49,-10,48,-10,48,-9,49,-8,49,-7,50,-7,51,-6,52,-6,53,-6,57,-7,57,-6,58,-6,61,-6,61,-7,61,-8,61,-10,61,-12,61,-9,61,-11,61,-14,61,-13,61,-15,61,-16,61,-17,61,-18,18,-4,17,-5,18,-6,17,-7,18,-8,20,-5,21,-6,20,-7,21,-8,21,-4,24,-4,23,-5,24,-6,23,-7,24,-8,26,-5,27,-6,26,-7,27,-8,27,-4,27,-10,23,-10,21,-10,20,-16,21,-16,20,-14,21,-14,20,-12,21,-12,23,-12,24,-12,27,-12,26,-12,23,-16,23,-14,23,-15,25,-16,25,-14,27,-16,27,-15,27,-14,27,-11,23,-11,21,-11,28,-8,28,-11,28,-14,18,3,17,-1,18,-1,17,1,18,1,18,2,18,-11,17,-12,18,-13,17,-14,18,-15,27,-17,28,-17,27,-18,28,-18,17,-17,18,-18,20,-17,21,-18,23,-17,24,-18,5,7,5,8,9,8,12,7,13,7,12,8,12,10,5,9,5,10,4,8,3,8,2,8,1,8,0,8,0,7,-2,7,-3,7,-2,8,-2,9,-2,10,3,10,2,10,1,10,0,10,5,11,6,11,7,11,9,11,10,11,11,11,12,11,-6,7,-12,11,-11,11,-10,11,-9,11,-19,11,-19,10,-18,10,-17,10,-17,8,-18,8,-18,7,-18,6,-14,9,-14,8,-14,6,-11,7,-10,7,-9,7,-11,6,-11,4,-18,5,-18,4,-19,6,-20,6,-21,6,-21,10,-21,9,-22,10,-23,10,-24,11,-22,6,-23,6,-23,7,-25,7,-26,7,-25,8,-25,9,-25,6,-25,5,-25,4,-20,4,-21,4,-22,4,-23,4,-18,3,-17,3,-16,3,-14,3,-13,3,-12,3,-11,3,-10,4,-9,4,-27,9,-28,9,-27,10,-28,10,-27,11,-28,11,-23,-1,-23,0,-27,0,-23,1,-23,2,-22,0,-21,0,-20,0,-19,0,-18,0,-18,-1,-16,-1,-15,-1,-16,0,-16,1,-16,2,-21,2,-20,2,-19,2,-18,2,-23,3,-24,3,-25,3,-27,3,-28,3,-12,-1,-12,19,-11,19,-10,19,-19,19,-19,18,-18,18,-17,18,-17,16,-18,16,-18,15,-18,14,-14,17,-14,16,-14,14,-11,15,-10,15,-11,14,-11,12,-18,13,-18,12,-19,14,-20,14,-21,14,-21,18,-21,17,-22,18,-23,18,-24,19,-22,14,-23,14,-23,15,-25,15,-26,15,-25,16,-25,17,-25,14,-25,13,-25,12,-20,12,-21,12,-22,12,-23,12,-10,12,-27,17,-28,17,-27,18,-28,18,-27,19,-28,19,-25,20,-36,10,-32,10,-29,10,-36,9,-36,8,-37,10,-38,10,-39,10,-38,8,-39,8,-36,7,-35,7,-34,7,-32,7,-31,7,-30,7,-39,4,-38,4,-37,4,-36,4,-36,3,-34,3,-33,3,-34,4,-34,5,-34,6,-39,6,-38,6,-37,6,-36,6,-30,3,-31,13,-30,13,-30,12,-29,15,-34,0,-33,0,-32,0,-31,0,-31,-1,-29,-1,-29,0,-29,1,-29,2,-34,2,-33,2,-32,2,-31,2,-35,0,-36,0,-37,0,-38,0,-38,-1,-40,-1,-40,0,-40,1,-40,2,-35,2,-36,2,-37,2,-38,2,-36,-13,-36,-12,-38,-12,-39,-12,-36,-11,-35,-11,-34,-11,-32,-11,-31,-11,-30,-11,-39,-8,-38,-8,-37,-8,-36,-8,-36,-7,-34,-7,-33,-7,-34,-8,-34,-9,-34,-10,-39,-10,-38,-10,-37,-10,-36,-10,-34,-4,-33,-4,-32,-4,-31,-4,-31,-3,-29,-3,-29,-4,-29,-5,-29,-6,-34,-6,-33,-6,-32,-6,-31,-6,-35,-4,-36,-4,-37,-4,-38,-4,-38,-3,-40,-3,-40,-4,-40,-6,-35,-6,-36,-6,-37,-6,-38,-6,7,6,0,6,0,5,1,5,2,5,2,3,1,3,1,2,1,1,5,4,5,3,5,1,1,0,0,1,-1,1,-2,1,-2,5,-2,4,-3,5,-4,5,-5,6,-3,1,-4,1,-4,2,-6,2,-6,3,-6,4,-6,1,-6,0,-7,-11,-7,-10,-9,-10,-10,-10,-7,-9,-6,-9,-5,-9,-3,-9,-2,-9,-1,-9,-10,-6,-9,-6,-8,-6,-7,-6,-7,-5,-5,-5,-4,-5,-5,-6,-5,-7,-5,-8,-10,-8,-9,-8,-8,-8,-7,-8,-1,-5,-5,-2,-4,-2,-3,-2,-2,-2,-2,-1,0,-2,0,-3,0,-4,-5,-4,-4,-4,-3,-4,-2,-4,-6,-2,-7,-2,-8,-2,-9,-2,-9,-1,-11,-1,-11,-2,-11,-3,-11,-4,-6,-4,-7,-4,-8,-4,-9,-4,-21,-6,-20,-6,-20,-4,-20,-3,-19,-6,-19,-7,-19,-8,-19,-10,-19,-11,-19,-12,-16,-3,-16,-4,-16,-5,-16,-6,-15,-6,-15,-8,-15,-9,-16,-8,-17,-8,-18,-8,-18,-3,-18,-4,-18,-5,-18,-6,-12,-8,-12,-9,-12,-10,-12,-11,-12,-13,-13,-13,-14,-13,-14,-8,-14,-9,-14,-10,-14,-11,-12,-7,-12,-6,-12,-5,-12,-4,-12,-2,-13,-2,-14,-2,-14,-6,-14,-5,-14,-4,-27,-11,-25,-11,-24,-11,-23,-11,-27,-7,-26,-7,-27,-8,-27,-9,-27,-10,-27,-4,-26,-4,-25,-4,-24,-4,-24,-3,-22,-3,-22,-4,-22,-5,-22,-6,-27,-6,-26,-6,-25,-6,-24,-6,-28,-4,-28,-6,-64,35,-63,35,-63,40,-63,38,-64,33,-63,33,-63,32,-63,31,-63,30,-63,28,-63,27,-64,27,-61,37,-61,33,-64,26,-61,31,-61,28,-61,27,-61,26,-62,25,-61,25,-62,24,-62,22,-61,24,-60,24,-61,22,-59,26,-59,24,-58,26,-57,25,-57,26,-57,22,-55,19,-56,19,-57,19,-59,19,-60,19,-61,19,-56,21,-58,21,-59,21,-61,21,-62,19,-64,19,-64,20,15,9,12,6,11,6,9,6,9,5,9,4,16,6,16,5,16,4,16,3,15,3,13,2,12,2,11,2,11,1,10,1,8,2,8,1,7,0,6,0,2,0,4,0,5,0,14,0,14,-1,14,-2,14,-3,13,-2,12,-2,10,-2,9,-2,9,-3,8,-3,7,-3,6,-3,4,-3,4,-4,1,-3,2,-3,2,-4,2,-5,2,-6,6,-5,6,-6,7,-6,9,-5,10,-5,10,-6,13,-5,15,-5,14,-7,11,-8,2,-14,2,-13,3,-14,4,-14,6,-14,7,-13,8,-13,10,-13,12,-13,12,-12,15,-13,14,-13,14,-12,14,-11,14,-10,10,-11,10,-10,9,-10,7,-11,6,-11,6,-10,3,-11,1,-11,2,-9,5,-8,3,-27,3,-26,3,-25,4,-26,5,-26,7,-26,8,-26,8,-25,9,-25,10,-25,11,-25,13,-25,13,-24,16,-25,15,-25,15,-24,15,-23,15,-22,11,-23,11,-22,10,-22,8,-23,7,-23,7,-22,4,-23,2,-23,3,-21,6,-20,15,-14,15,-15,14,-14,13,-14,11,-14,10,-15,8,-15,5,-15,5,-16,2,-15,3,-15,3,-16,3,-17,3,-18,7,-17,7,-18,8,-18,10,-17,11,-17,11,-18,14,-17,16,-17,15,-19,12,-20,19,-27,19,-26,19,-25,20,-26,21,-26,23,-26,24,-26,24,-25,25,-25,26,-25,27,-25,29,-25,29,-24,32,-25,31,-25,31,-24,31,-23,31,-22,27,-23,27,-22,26,-22,24,-23,23,-23,23,-22,20,-23,18,-23,19,-21,22,-20,31,-19,28,-20,47,-27,47,-26,47,-25,46,-26,45,-26,43,-26,42,-26,42,-25,41,-25,40,-25,39,-25,37,-25,37,-24,34,-25,35,-25,35,-24,35,-23,35,-22,39,-23,39,-22,40,-22,42,-23,43,-23,43,-22,46,-23,48,-23,47,-21,44,-20,35,-19,38,-20,3,-28,3,-29,3,-30,4,-29,5,-29,7,-29,8,-29,8,-30,9,-30,10,-30,11,-30,13,-30,16,-30,15,-30,19,-28,19,-29,19,-30,20,-29,21,-29,23,-29,24,-29,24,-30,25,-30,26,-30,27,-30,29,-30,32,-30,31,-30,47,-28,47,-29,47,-30,46,-29,45,-29,43,-29,42,-29,42,-30,41,-30,40,-30,39,-30,37,-30,34,-30,35,-30,3,-35,8,-35,9,-35,10,-35,11,-35,13,-35,13,-34,16,-35,15,-35,15,-34,15,-33,15,-32,11,-33,11,-32,10,-32,8,-33,7,-33,7,-32,4,-33,2,-33,3,-31,19,-35,24,-35,25,-35,26,-35,27,-35,29,-35,29,-34,32,-35,31,-35,31,-34,31,-33,31,-32,27,-33,27,-32,26,-32,24,-33,23,-33,23,-32,20,-33,18,-33,19,-31,47,-35,42,-35,41,-35,40,-35,39,-35,37,-35,37,-34,34,-35,35,-35,35,-34,35,-33,35,-32,39,-33,39,-32,40,-32,42,-33,43,-33,43,-32,46,-33,48,-33,47,-31,3,-40,8,-40,9,-40,10,-40,11,-40,13,-40,13,-39,16,-40,15,-40,15,-39,15,-38,15,-37,11,-38,11,-37,10,-37,8,-38,7,-38,7,-37,4,-38,2,-38,3,-36,19,-40,24,-40,25,-40,26,-40,27,-40,29,-40,29,-39,32,-40,31,-40,31,-39,31,-38,31,-37,27,-38,27,-37,26,-37,24,-38,23,-38,23,-37,20,-38,18,-38,19,-36,47,-40,42,-40,41,-40,40,-40,39,-40,37,-40,37,-39,34,-40,35,-40,35,-39,35,-38,35,-37,39,-38,39,-37,40,-37,42,-38,43,-38,43,-37,46,-38,48,-38,47,-36,3,-41,8,-41,9,-41,10,-41,11,-41,13,-41,13,-42,16,-41,15,-41,15,-42,15,-43,15,-44,11,-43,11,-44,10,-44,8,-43,7,-43,7,-44,4,-43,2,-43,3,-45,19,-41,24,-41,25,-41,26,-41,27,-41,29,-41,29,-42,32,-41,31,-41,31,-42,31,-43,31,-44,27,-43,27,-44,26,-44,24,-43,23,-43,23,-44,20,-43,18,-43,19,-45,47,-41,42,-41,41,-41,40,-41,39,-41,37,-41,37,-42,34,-41,35,-41,35,-42,35,-43,35,-44,39,-43,39,-44,40,-44,42,-43,43,-43,43,-44,46,-43,48,-43,47,-45,-65,41,-65,46,-66,41,-66,46,-66,43,-66,44,-65,39,-66,39,-66,38,-66,37,-66,36,-66,35,-66,34,-66,33,-65,33,-67,43,-68,42,-68,43,-68,41,-68,39,-65,32,-65,30,-65,29,-65,28,-65,27,-68,38,-68,37,-68,36,-68,34,-68,33,-68,32,-67,31,-68,31,-67,30,-67,28,-67,27,-68,30,-69,30,-68,28,-65,26,-65,25,-66,25,-67,25,-69,25,-65,24,-65,23,-65,22,-66,21,-65,21,-69,36,-70,36,-70,35,-70,34,-70,32,-70,30,-71,32,-72,31,-72,32,-72,30,-72,29,-72,28,-71,27,-70,26,-71,34,-72,34,-66,18,-66,20,-69,23,-69,21,-68,18,-69,18,-69,19,-73,21,-73,23,-71,22,-71,19,-72,19,-73,19,-74,19,-75,20,-75,19,-75,21,-75,23,-75,24,-73,27,-76,30,-76,25,-75,30,-75,25,-75,27,-75,32,-75,33,-75,34,-75,35,-75,36,-75,37,-75,38,-76,38,-73,28,-73,32,-76,40,-76,41,-76,42,-76,43,-73,34,-73,37,-73,38,-73,39,-74,40,-73,40,-74,41,-74,43,-73,41,-72,41,-73,43,-71,39,-71,41,-70,39,-69,39,-69,43,-67,46,-68,46,-69,46,-71,46,-72,46,-73,46,-68,44,-70,44,-71,44,-73,44,-74,46,-76,44,-76,46,-76,45,-53,16,-48,16,-53,15,-48,15,-51,15,-50,15,-55,16,-55,15,-56,15,-57,15,-58,15,-59,15,-60,15,-51,14,-52,13,-51,13,-53,13,-55,13,-62,16,-63,16,-64,16,-65,16,-66,16,-67,16,-56,13,-57,13,-58,13,-60,13,-61,13,-62,13,-63,14,-63,13,-64,14,-66,14,-67,14,-64,13,-64,12,-66,13,-68,16,-69,16,-69,15,-69,14,-69,12,-70,16,-71,16,-72,16,-73,15,-73,16,-58,12,-58,11,-59,11,-60,11,-62,11,-64,11,-62,10,-63,9,-62,9,-64,9,-65,9,-66,9,-68,11,-60,10,-60,9,-76,15,-74,15,-71,12,-73,12,-76,13,-76,12,-75,12,-73,8,-71,8,-72,10,-75,10,-75,9,-75,8,-75,7,-74,6,-75,6,-73,6,-71,6,-70,6,-68,7,-64,5,-69,5,-64,6,-69,6,-62,5,-62,6,-61,6,-60,6,-59,6,-57,6,-56,6,-56,5,-62,8,-55,5,-61,8,-60,8,-57,8,-56,8,-55,8,-54,7,-54,8,-53,7,-51,7,-53,8,-53,9,-51,8,-55,10,-53,10,-55,11,-55,12,-51,12,-48,14,-48,13,-48,12,-48,10,-48,9,-48,8,-50,13,-50,11,-50,10,-50,8,-48,7,-48,5,-49,5,-70,4,-75,4,-70,3,-75,3,-72,3,-73,3,-68,4,-68,3,-67,3,-66,3,-65,3,-64,3,-63,3,-62,3,-62,4,-72,2,-71,1,-72,1,-70,1,-69,1,-68,1,-61,4,-59,4,-58,4,-57,4,-56,4,-67,1,-66,1,-65,1,-63,1,-62,1,-61,1,-60,2,-60,1,-59,2,-57,2,-56,2,-59,1,-59,0,-57,1,-55,4,-54,4,-54,3,-54,2,-54,0,-53,4,-52,4,-51,4,-50,3,-50,4,-65,0,-65,-1,-63,-1,-61,-1,-59,-1,-61,-2,-60,-3,-61,-3,-59,-3,-58,-3,-57,-3,-56,-2,-55,-1,-63,-2,-63,-3,-47,3,-49,3,-52,0,-50,0,-47,1,-47,0,-48,0,-50,-4,-52,-4,-51,-2,-48,-3,-48,-4,-48,-5,-49,-6,-48,-6,-50,-6,-52,-6,-53,-6,-55,-5,-56,-4,-59,-7,-54,-7,-59,-6,-54,-6,-56,-6,-61,-7,-61,-6,-62,-6,-63,-6,-64,-6,-65,-6,-66,-6,-67,-6,-67,-7,-57,-4,-61,-4,-68,-7,-69,-7,-70,-7,-71,-7,-72,-7,-62,-4,-63,-4,-66,-4,-67,-4,-68,-4,-69,-5,-69,-4,-70,-5,-72,-5,-70,-4,-70,-3,-72,-4,-68,-2,-70,-2,-68,-1,-69,0,-68,0,-72,0,-75,2,-75,1,-75,0,-75,-2,-75,-3,-75,-4,-73,1,-73,-1,-73,-2,-73,-4,-75,-5,-73,-7,-75,-7,-74,-7,-50,18,-51,17,-50,17,-54,17,-58,17,-56,18,-60,17,-62,17,-64,17,-77,6,-78,5,-78,6,-78,4,-78,3,-78,2,-77,1,-77,8,-78,8,-79,-5,-79,-3,-77,-4,-77,-7,-78,-7,-79,-7,-80,-7,-81,-6,-81,-7,-81,-5,-81,-3,-81,-2,-80,0,-79,1,-82,4,-81,4,-81,-1,-81,1,-82,6,-81,6,-81,7,-81,8,-81,9,-81,11,-81,12,-82,12,-79,2,-79,6,-82,13,-79,7,-79,8,-79,11,-79,12,-79,13,-80,14,-79,14,-80,15,-80,17,-79,15,-78,15,-79,17,-77,13,-77,15,-77,20,-78,20,-79,20,-77,18,-79,18,-80,20,-82,20,-82,19,-83,-2,-83,-7,-84,-2,-84,-7,-84,-4,-84,-5,-83,0,-84,0,-84,1,-84,2,-84,3,-84,4,-84,5,-84,6,-83,6,-85,-4,-86,-3,-86,-4,-86,-2,-86,-1,-86,0,-83,7,-83,9,-83,10,-83,11,-83,12,-86,1,-86,2,-86,3,-86,5,-86,6,-86,7,-85,8,-86,8,-85,9,-85,11,-85,12,-86,9,-87,9,-86,11,-83,13,-83,14,-84,14,-85,14,-87,14,-83,15,-83,16,-83,17,-84,18,-83,18,-88,3,-88,4,-88,5,-88,7,-88,9,-89,7,-90,8,-90,7,-90,9,-90,10,-90,11,-89,12,-88,13,-89,5,-90,5,-83,22,-84,21,-84,19,-87,16,-87,18,-86,21,-87,21,-87,20,-91,18,-91,16,-89,17,-89,20,-90,20,-91,20,-92,20,-93,19,-93,20,-93,18,-93,16,-93,15,-91,12,-94,14,-93,9,-93,14,-93,12,-93,7,-93,6,-93,5,-93,4,-93,3,-93,2,-93,1,-94,1,-91,11,-91,7,-94,0,-94,-1,-94,-2,-94,-3,-94,-4,-91,6,-91,5,-91,2,-91,1,-91,0,-92,-1,-91,-1,-92,-2,-92,-4,-91,-2,-90,-2,-91,-4,-89,0,-89,-2,-88,0,-87,-1,-87,0,-87,-4,-85,-7,-86,-7,-87,-7,-89,-7,-90,-7,-91,-7,-86,-5,-88,-5,-89,-5,-91,-5,-92,-7,-94,-5,-94,-7,-94,-6,-77,24,-78,24,-79,24,-79,23,-80,23,-82,23,-83,23,-84,23,-85,23,-78,26,-79,26,-80,26,-81,25,-81,26,-82,25,-84,25,-85,25,-82,26,-82,27,-84,26,-86,23,-87,23,-87,24,-87,25,-87,27,-88,23,-89,23,-90,23,-91,24,-91,23,-77,28,-78,28,-80,28,-82,28,-80,29,-81,30,-80,30,-82,30,-83,30,-84,30,-85,29,-86,28,-78,29,-78,30,-94,24,-92,24,-89,27,-91,27,-94,26,-94,27,-93,27,-91,31,-89,31,-90,29,-93,29,-93,30,-93,31,-93,32,-92,33,-93,33,-91,33,-89,33,-88,33,-85,31,-82,34,-87,34,-82,33,-87,33,-85,33,-80,34,-80,33,-79,33,-78,33,-77,33,-84,31,-80,31,-79,31,-78,31,-88,35,-93,35,-88,36,-93,36,-90,36,-91,36,-86,35,-86,36,-85,36,-84,36,-83,36,-82,36,-81,36,-80,36,-80,35,-90,37,-90,38,-88,38,-87,38,-86,38,-79,35,-77,35,-85,38,-84,38,-83,38,-81,38,-80,38,-79,38,-78,37,-78,38,-77,38,-83,39,-83,40,-82,40,-81,40,-79,40,-77,40,-79,41,-78,42,-79,42,-77,42,-81,41,-81,42,-77,46,-77,45,-79,46,-79,45,-80,45,-81,45,-83,45,-84,45,-85,45,-85,46,-79,43,-86,46,-87,46,-88,46,-89,46,-90,46,-81,43,-84,43,-85,43,-86,43,-87,44,-87,43,-88,44,-90,44,-88,43,-88,42,-90,43,-86,41,-88,41,-86,40,-87,39,-86,39,-90,39,-93,37,-93,38,-93,39,-93,41,-93,42,-93,43,-91,38,-91,40,-91,41,-91,43,-93,44,-91,46,-93,46,-92,46,-78,22,-80,22,-82,22,-2,-27,-2,-26,-2,-25,-3,-26,-4,-26,-6,-26,-7,-26,-7,-25,-8,-25,-9,-25,-10,-25,-10,-23,-10,-22,-9,-22,-7,-23,-6,-23,-6,-22,-3,-23,-1,-23,-2,-21,-5,-20,-11,-20,-2,-28,-2,-29,-2,-30,-3,-29,-4,-29,-6,-29,-7,-29,-7,-30,-8,-30,-9,-30,-10,-30,-2,-35,-7,-35,-8,-35,-9,-35,-10,-35,-10,-33,-10,-32,-9,-32,-7,-33,-6,-33,-6,-32,-3,-33,-1,-33,-2,-31,-2,-40,-7,-40,-8,-40,-9,-40,-10,-40,-10,-38,-10,-37,-9,-37,-7,-38,-6,-38,-6,-37,-3,-38,-1,-38,-2,-36,-2,-41,-7,-41,-8,-41,-9,-41,-10,-41,-10,-43,-10,-44,-9,-44,-7,-43,-6,-43,-6,-44,-3,-43,-1,-43,-2,-45,-34,68,-41,68,-40,68,-38,68,-39,68,-37,68,-36,68,-35,68,-42,68,-43,68,-50,68,-49,68,-47,68,-48,68,-46,68,-45,68,-44,68,-51,68,-52,68,-56,68,-55,68,-53,68,-54,68,-57,68,-58,68,-65,68,-64,68,-62,68,-63,68,-61,68,-60,68,-59,68,-66,68,-67,68,-56,27,-43,10,-43,9,-43,8,-44,10,-45,10,-46,10,-45,8,-46,8,-43,7,-42,7,-41,7,-45,4,-44,4,-43,4,-43,3,-41,3,-41,4,-41,5,-41,6,-46,6,-45,6,-44,6,-43,6,-41,0,-41,2,-42,0,-43,0,-44,0,-45,0,-45,-1,-47,-1,-42,2,-43,2,-44,2,-45,2,-43,-13,-43,-12,-45,-12,-46,-12,-43,-11,-42,-11,-41,-11,-46,-8,-45,-8,-44,-8,-43,-8,-43,-7,-41,-7,-41,-8,-41,-9,-41,-10,-46,-10,-45,-10,-44,-10,-43,-10,-41,-4,-41,-6,-42,-4,-43,-4,-44,-4,-45,-4,-45,-3,-47,-3,-47,-4,-47,-5,-47,-6,-43,-6,-44,-6,-45,-6,-36,66,-37,66,-40,66,-41,66,-42,65,-43,63,-43,62,-43,60,-43,59,-43,58,-44,59,-45,61,-46,61,-46,60,-46,62,-45,57,-46,58,-46,56,-48,57,-48,56,-48,55,-46,54,-44,65,-45,65,-45,66,-45,64,-47,65,-48,66,-48,65,-48,64,-48,61,-48,59,-50,57,-51,59,-51,60,-51,62,-51,63,-51,64,-52,63,-53,61,-54,61,-54,62,-54,60,-53,65,-54,64,-54,66,-56,65,-56,66,-52,57,-53,57,-53,56,-53,58,-55,57,-56,56,-56,57,-56,58,-56,61,-56,63,-51,54,-51,53,-51,51,-51,50,-52,50,-53,52,-54,52,-54,51,-54,53,-56,52,-56,50,-54,48,-56,49,-58,48,-57,57,-1,-12,-1,-13,-2,-12,-3,-12,-5,-12,-6,-12,-6,-13,-7,-13,-8,-13,-9,-13,-9,-15,-9,-16,-8,-16,-6,-15,-5,-15,-5,-16,-2,-15,0,-15,-1,-17,-4,-18,-10,-18,-58,58,-58,57,-58,56,-58,66,-58,65,-58,62,-58,60,-59,66,-58,51,-59,51,-59,52,-59,50,-58,55,-59,54,-60,50,-61,52,-61,53,-61,55,-61,56,-61,57,-62,56,-63,54,-64,54,-64,55,-64,53,-64,57,-62,50,-63,50,-63,49,-63,51,-65,50,-66,49,-66,50,-66,51,-66,54,-66,56,-61,47,-67,50,-68,51,-68,50,-68,49,-68,55,-68,53,-68,48,-69,47,-60,64,-60,63,-60,61,-60,60,-60,59,-61,60,-62,62,-63,62,-63,61,-63,63,-62,58,-63,59,-65,58,-61,66,-62,66,-62,67,-62,65,-64,66,-65,67,-65,66,-65,65,-65,62,-65,60,-67,58,-67,59,-67,61,-68,61,-70,61,-69,63,-68,63,-67,63,-66,63,-67,66,-67,65,-68,68,-69,68,-68,66,-69,66,-70,68,-71,68,-70,66,-71,61,-70,50,-71,51,-71,50,-71,49,-71,55,-71,53,-71,48,-70,58,-70,59,-85,66,-85,56,-85,57,-85,58,-85,48,-85,49,-85,52,-85,54,-84,48,-85,63,-84,63,-84,62,-84,64,-85,59,-84,60,-83,64,-82,62,-82,61,-82,59,-82,58,-82,57,-81,58,-80,60,-79,60,-79,59,-79,61,-79,57,-81,64,-80,64,-80,65,-80,63,-78,64,-77,65,-77,64,-77,63,-77,60,-77,58,-82,67,-76,64,-75,63,-75,64,-75,65,-75,59,-75,61,-75,66,-74,67,-83,50,-83,51,-83,53,-83,54,-83,55,-82,54,-81,52,-80,52,-80,53,-80,51,-81,56,-80,55,-78,56,-82,48,-81,48,-81,47,-81,49,-79,48,-78,47,-78,48,-78,49,-78,52,-78,54,-76,56,-76,55,-76,53,-75,53,-73,53,-74,51,-75,51,-76,51,-77,51,-76,48,-76,49,-75,48,-74,48,-73,48,-72,53,-73,64,-72,63,-72,64,-72,65,-72,59,-72,61,-72,66,-73,56,-73,55,-76,68,-75,68,-73,68,-74,68,-72,68,-77,68,-78,68,-79,68,-80,68,-81,68,-82,68,-87,68,-86,68,-84,68,-85,68,-83,68,-88,68,-89,68,-90,68,-91,68,-92,68,-93,68,-86,66,-86,56,-86,57,-86,58,-86,48,-86,49,-86,52,-86,54,-87,48,-86,63,-87,63,-87,62,-87,64,-86,59,-87,60,-88,64,-89,62,-89,61,-89,59,-89,58,-89,57,-90,58,-91,60,-92,60,-92,59,-92,61,-92,57,-90,64,-91,64,-91,65,-91,63,-94,65,-94,63,-94,60,-94,58,-89,67,-88,50,-88,51,-88,53,-88,54,-88,55,-89,54,-90,52,-91,52,-91,53,-91,51,-90,56,-91,55,-93,56,-89,48,-90,48,-90,47,-90,49,-92,48,-93,47,-93,48,-93,49,-93,52,-93,54,-94,51,52,-19,53,-22,53,-20,55,-22,55,-20,55,-21,57,-22,57,-20,59,-22,59,-21,59,-20,61,-20,61,-22,61,-19,61,-21,50,-23,51,-24,52,-24,53,-24,57,-23,57,-24,58,-24,61,-24,61,-23,59,-37,57,-37,55,-37,53,-37,51,-37,51,-35,53,-36,55,-35,57,-35,59,-36,59,-35,59,-33,60,-31,58,-31,56,-31,54,-32,54,-31,51,-32,51,-31,52,-31,52,-30,50,-32,53,-27,53,-29,55,-27,55,-29,55,-28,57,-27,57,-29,59,-27,59,-28,59,-29,50,-26,51,-25,52,-25,53,-25,57,-26,57,-25,58,-25,61,-25,61,-26,61,-27,61,-29,61,-31,61,-28,61,-30,61,-33,61,-32,61,-34,61,-35,61,-36,61,-37,61,-38,59,-38,57,-38,55,-38,53,-38,51,-38,51,-40,53,-39,55,-40,57,-40,61,-39,59,-39,59,-40,59,-42,61,-40,61,-41,61,-42,61,-43,61,-44,60,-44,58,-44,56,-44,54,-43,54,-44,51,-43,51,-44,52,-44,52,-45,50,-43,53,-48,53,-46,55,-48,55,-46,55,-47,57,-48,57,-46,59,-48,59,-47,59,-46,61,-46,61,-48,61,-45,61,-47,-35,-35,-35,-34,-35,-32,-35,-30,-35,-29,-35,-46,-35,-45,-35,-43,-35,-42,-35,-39,-35,-38,-37,-39,-36,-39,-36,-42,-37,-42,-36,-35,-37,-34,-37,-33,-37,-31,-37,-30,-38,-30,-39,-30,-39,-29,-40,-30,-36,-28,-36,-27,-36,-26,-37,-26,-35,-19,-36,-19,-36,-23,-36,-22,-37,-23,-38,-23,-39,-24,-39,-25,-39,-26,-39,-27,-40,-26,-41,-26,-42,-26,-37,-19,-38,-19,-38,-20,-40,-20,-41,-20,-40,-21,-40,-22,-40,-19,-40,-18,-40,-17,-35,-17,-36,-17,-37,-17,-38,-17,-41,-30,-43,-30,-40,-31,-40,-32,-43,-26,-44,-27,-44,-26,-44,-30,-44,-29,-40,-33,-40,-34,-41,-34,-42,-34,-43,-34,-44,-34,-44,-33,-44,-32,-45,-30,-46,-30,-46,-31,-46,-32,-46,-33,-46,-35,-46,-36,-45,-36,-44,-36,-43,-36,-42,-36,-40,-36,-39,-36,-38,-36,-44,-20,-45,-20,-45,-21,-45,-19,-45,-18,-45,-17,-45,-22,-42,-22,-43,-22,-42,-23,-43,-23,-42,-24,-43,-24,-45,-25,-46,-25,-47,-26,-48,-27,-49,-28,-46,-22,-47,-22,-48,-23,-49,-24,-50,-25,-50,-28,-49,-29,-49,-30,-49,-32,-49,-33,-47,-36,-48,-36,-49,-34,-49,-35,-50,-32,-52,-32,-52,-31,-51,-35,-52,-35,-38,-37,-35,-57,-35,-61,-37,-61,-38,-60,-39,-60,-40,-61,-37,-57,-38,-58,-39,-58,-40,-57,-37,-55,-38,-54,-39,-54,-40,-55,-38,-64,-37,-63,-39,-64,-40,-63,-35,-63,-35,-67,-37,-67,-38,-66,-39,-66,-40,-67,-35,-70,-35,-72,-37,-71,-38,-71,-39,-69,-41,-69,-39,-73,-41,-73,-42,-61,-42,-63,-43,-64,-45,-64,-43,-60,-45,-60,-42,-57,-42,-55,-43,-54,-43,-58,-44,-58,-44,-54,-46,-54,-46,-58,-42,-67,-43,-68,-44,-68,-45,-67,-43,-70,-43,-70,-44,-70,-42,-71,-45,-71,-47,-69,-46,-69,-48,-69,-48,-67,-48,-71,-47,-64,-47,-60,-49,-61,-49,-62,-49,-63,-48,-57,-48,-55,-46,-56,-49,-54,-49,-58,-50,-58,-50,-54,-51,-55,-51,-57,-50,-60,-50,-64,-51,-60,-51,-64,-52,-61,-52,-63,-54,-61,-54,-63,-55,-60,-55,-64,-56,-64,-56,-60,-57,-61,-57,-63,-42,-52,-44,-52,-45,-51,-41,-51,-41,-50,-45,-50,-42,-49,-44,-49,-48,-52,-51,-52,-48,-51,-51,-51,-49,-50,-37,-51,-38,-52,-39,-52,-37,-50,-37,-48,-38,-47,-39,-47,-40,-47,-50,-67,-50,-71,-50,-69,-51,-69,-52,-69,-52,-67,-53,-67,-52,-71,-53,-71,-54,-70,-54,-68,-56,-69,-56,-70,-56,-68,-56,-67,-55,-66,-56,-71,-55,-72,-58,-69,-59,-68,-59,-70,-61,-70,-61,-68,-62,-69,-60,-66,-61,-66,-59,-65,-62,-65,-59,-63,-62,-63,-60,-62,-61,-62,-59,-60,-62,-60,-55,-58,-59,-58,-60,-57,-60,-56,-60,-55,-54,-57,-54,-56,-54,-55,-54,-51,-54,-50,-54,-49,-60,-51,-60,-50,-60,-49,-59,-48,-55,-48,-91,-60,-92,-60,-93,-61,-90,-61,-88,-61,-87,-60,-86,-60,-85,-61,-87,-64,-88,-63,-86,-64,-85,-63,-90,-63,-92,-64,-91,-64,-92,-66,-91,-66,-90,-67,-88,-67,-87,-66,-86,-66,-85,-67,-92,-69,-91,-69,-90,-70,-92,-73,-91,-73,-90,-72,-88,-71,-87,-71,-86,-69,-84,-69,-86,-73,-84,-73,-83,-61,-83,-63,-82,-64,-80,-64,-82,-60,-80,-60,-83,-67,-82,-68,-81,-68,-80,-67,-82,-70,-82,-70,-81,-70,-83,-71,-80,-71,-78,-69,-79,-69,-77,-69,-77,-67,-77,-71,-78,-64,-78,-60,-76,-61,-76,-62,-76,-63,-75,-60,-75,-64,-74,-60,-74,-64,-73,-61,-73,-63,-71,-61,-71,-63,-70,-60,-70,-64,-69,-64,-69,-60,-68,-61,-68,-63,-75,-67,-75,-71,-75,-69,-74,-69,-73,-69,-73,-67,-72,-67,-73,-71,-72,-71,-71,-70,-71,-68,-69,-69,-69,-70,-69,-68,-69,-67,-70,-66,-69,-71,-70,-72,-67,-69,-66,-68,-66,-70,-64,-70,-64,-68,-63,-69,-65,-66,-64,-66,-66,-65,-63,-65,-66,-63,-63,-63,-65,-62,-64,-62,-66,-60,-63,-60,-91,-57,-92,-57,-93,-56,-90,-56,-88,-56,-87,-57,-86,-57,-85,-56,-87,-53,-88,-54,-86,-53,-85,-54,-90,-54,-92,-53,-91,-53,-92,-51,-91,-51,-90,-50,-88,-50,-87,-51,-86,-51,-85,-50,-92,-48,-91,-48,-90,-47,-92,-44,-91,-44,-90,-45,-88,-46,-87,-46,-86,-48,-84,-48,-86,-44,-84,-44,-83,-56,-83,-54,-82,-53,-80,-53,-82,-57,-80,-57,-83,-50,-82,-49,-81,-49,-80,-50,-82,-47,-82,-47,-81,-47,-83,-46,-80,-46,-78,-48,-79,-48,-77,-48,-77,-50,-77,-46,-78,-53,-78,-57,-76,-56,-76,-55,-76,-54,-75,-57,-75,-53,-74,-57,-74,-53,-73,-56,-73,-54,-71,-56,-71,-54,-70,-57,-70,-53,-69,-53,-69,-57,-68,-56,-68,-54,-75,-50,-75,-46,-75,-48,-74,-48,-73,-48,-73,-50,-72,-50,-73,-46,-72,-46,-71,-47,-71,-49,-69,-48,-69,-47,-69,-49,-69,-50,-70,-51,-69,-46,-70,-45,-67,-48,-66,-49,-66,-47,-64,-47,-64,-49,-63,-48,-65,-51,-64,-51,-66,-52,-63,-52,-66,-54,-63,-54,-65,-55,-64,-55,-66,-57,-63,-57,-62,-18,-62,-22,-62,-24,-62,-27,-91,-27,-92,-27,-93,-26,-90,-26,-88,-26,-87,-27,-86,-27,-85,-26,-87,-23,-88,-24,-86,-23,-85,-24,-90,-24,-92,-23,-91,-23,-92,-21,-91,-21,-90,-20,-88,-20,-87,-21,-86,-21,-85,-20,-92,-18,-91,-18,-90,-17,-92,-14,-91,-14,-90,-15,-88,-16,-87,-16,-86,-18,-84,-18,-86,-14,-84,-14,-83,-26,-83,-24,-82,-23,-80,-23,-82,-27,-80,-27,-83,-20,-82,-19,-81,-19,-80,-20,-82,-17,-82,-17,-81,-17,-83,-16,-80,-16,-78,-18,-79,-18,-77,-18,-77,-20,-77,-16,-78,-23,-78,-27,-76,-26,-76,-25,-76,-24,-75,-27,-75,-23,-74,-27,-74,-23,-73,-26,-73,-24,-71,-26,-71,-24,-70,-27,-70,-23,-69,-23,-69,-27,-68,-26,-68,-24,-75,-20,-75,-16,-75,-18,-74,-18,-73,-18,-73,-20,-72,-20,-73,-16,-72,-16,-71,-17,-71,-19,-69,-18,-69,-17,-69,-19,-69,-20,-70,-21,-69,-16,-70,-15,-67,-18,-66,-19,-66,-17,-64,-17,-64,-19,-63,-18,-65,-21,-64,-21,-66,-22,-63,-22,-66,-24,-63,-24,-65,-25,-64,-25,-66,-27,-63,-27,-91,-30,-92,-30,-93,-31,-90,-31,-88,-31,-87,-30,-86,-30,-85,-31,-87,-34,-88,-33,-86,-34,-85,-33,-90,-33,-92,-34,-91,-34,-92,-36,-91,-36,-90,-37,-88,-37,-87,-36,-86,-36,-85,-37,-92,-39,-91,-39,-90,-40,-92,-43,-91,-43,-90,-42,-88,-41,-87,-41,-86,-39,-84,-39,-86,-43,-84,-43,-83,-31,-83,-33,-82,-34,-80,-34,-82,-30,-80,-30,-83,-37,-82,-38,-81,-38,-80,-37,-82,-40,-82,-40,-81,-40,-83,-41,-80,-41,-78,-39,-79,-39,-77,-39,-77,-37,-77,-41,-78,-34,-78,-30,-76,-31,-76,-32,-76,-33,-75,-30,-75,-34,-74,-30,-74,-34,-73,-31,-73,-33,-71,-31,-71,-33,-70,-30,-70,-34,-69,-34,-69,-30,-68,-31,-68,-33,-75,-37,-75,-41,-75,-39,-74,-39,-73,-39,-73,-37,-72,-37,-73,-41,-72,-41,-71,-40,-71,-38,-69,-39,-69,-40,-69,-38,-69,-37,-70,-36,-69,-41,-70,-42,-67,-39,-66,-38,-66,-40,-64,-40,-64,-38,-63,-39,-65,-36,-64,-36,-66,-35,-63,-35,-66,-33,-63,-33,-65,-32,-64,-32,-66,-30,-63,-30,-62,-46,-61,-46,-62,-45,-62,-44,-62,-43,-62,-42,-62,-41,-60,-46,-59,-46,-58,-46,-56,-46,-55,-46,-54,-46,-53,-46,-51,-46,-50,-46,-49,-46,-60,-42,-59,-42,-57,-42,-56,-42,-54,-42,-53,-42,-54,-44,-52,-42,-50,-42,-49,-42,-49,-44,-49,-41,-49,-40,-51,-40,-51,-39,-51,-38,-50,-37,-52,-37,-53,-37,-54,-36,-54,-35,-56,-39,-56,-38,-55,-38,-56,-40,-57,-40,-58,-40,-61,-40,-61,-39,-61,-38,-58,-36,-59,-36,-60,-36,-61,-37,-61,-36,-58,-35,-57,-34,-56,-34,-60,-33,-59,-33,-54,-32,-54,-33,-54,-31,-54,-29,-53,-29,-53,-28,-52,-27,-56,-27,-52,-26,-52,-25,-56,-31,-56,-32,-57,-30,-58,-30,-60,-31,-60,-30,-60,-29,-60,-28,-35,-74,-36,-74,-37,-74,-38,-74,-39,-74,-40,-74,-41,-74,-42,-74,-43,-74,-44,-74,-45,-74,-46,-74,-47,-74,-48,-74,-49,-74,-50,-74,-51,-74,-52,-74,-53,-74,-54,-74,-55,-74,-56,-74,-57,-74,-58,-74,-59,-74,-60,-74,-61,-74,-62,-74,-63,-74,-64,-74,-65,-74,-66,-74,-67,-74,-68,-74,-69,-74,-70,-74,-71,-74,-72,-74,-73,-74,-74,-74,-75,-74,-76,-74,-77,-74,-78,-74,-79,-74,-80,-74,-81,-74,-82,-74,-83,-74,-84,-74,-85,-74,-86,-74,-87,-74,-88,-74,-89,-74,-90,-74,-91,-74,-92,-74,-93,-74,-94,-74,-94,-73,-94,-72,-94,-71,-94,-70,-94,-69,-94,-68,-94,-67,-94,-66,-94,-65,-94,-64,-94,-63,-94,-62,-94,-61,-94,-60,-94,-59,-94,-58,-94,-57,-94,-56,-94,-55,-94,-54,-94,-53,-94,-52,-94,-51,-94,-50,-94,-49,-94,-48,-94,-47,-94,-46,-94,-45,-94,-44,-94,-43,-94,-42,-94,-41,-94,-40,-94,-39,-94,-38,-94,-37,-94,-36,-94,-35,-94,-34,-94,-33,-94,-32,-94,-31,-94,-30,-94,-29,-94,-28,-94,-27,-94,-26,-94,-25,-94,-24,-94,-23,-94,-22,-94,-21,-94,-20,-94,-19,-94,-18,-94,-17,-94,-16,-94,-15,-94,-14,-47,-40,-47,-41,-47,-42,-46,-42,-47,-44,-47,-45,-46,-45,-46,-46,-44,-46,-44,-45,-44,-44,-42,-44,-42,-45,-40,-45,-37,-45,-38,-45,-38,-43,-38,-39,-39,-39,-41,-39,-42,-39,-43,-37,-45,-37,-45,-38,-45,-39,-44,-41,-43,-41,-43,-42,-42,-42,-41,-42,-40,-41,-47,-37,-57,-27,-54,-25,-55,-25,-56,-23,-58,-23,-57,-23,-59,-23,-58,-24,-61,-22,-61,-21,-61,-20,-60,-20,-59,-20,-58,-19,-57,-19,-60,-19,-60,-18,-60,-17,-50,-18,-50,-22,-50,-20,-51,-20,-52,-20,-52,-19,-52,-22,-54,-21,-55,-21,-55,-20,-55,-18,-55,-16,-57,-16,-59,-16,-46,-17,-47,-17,-47,-16,-47,-15,-48,-16,-49,-15,-50,-16,-51,-15,-51,-14,-54,-14,-53,-15,-57,-14,-60,-14,-45,-15,-38,-14,-38,-15,-36,-15,-35,-15,-38,-16,-39,-16,-40,-16,-42,-16,-43,-16,-44,-16,-45,-16,-65,-8,-63,-8,-61,-8,-59,-8,-61,-9,-60,-10,-61,-10,-59,-10,-58,-10,-57,-10,-56,-9,-55,-8,-63,-9,-63,-10,-50,-11,-52,-11,-51,-9,-48,-10,-48,-11,-48,-12,-55,-12,-56,-11,-57,-11,-61,-11,-62,-11,-63,-11,-66,-11,-67,-11,-68,-11,-69,-12,-69,-11,-70,-12,-72,-12,-70,-11,-70,-10,-72,-11,-68,-9,-70,-9,-68,-8,-75,-9,-75,-10,-75,-11,-73,-8,-73,-9,-73,-11,-75,-12,-79,-12,-79,-10,-77,-11,-81,-12,-81,-10,-81,-9,-81,-8,-83,-9,-84,-9,-84,-11,-84,-12,-85,-11,-86,-10,-86,-11,-86,-9,-86,-8,-94,-8,-94,-9,-94,-10,-94,-11,-92,-8,-91,-8,-92,-9,-92,-11,-91,-9,-90,-9,-91,-11,-89,-9,-87,-8,-87,-11,-86,-12,-89,-12,-91,-12,-94,-12,-55,-13,-69,-13,-70,-13,-72,-13,-75,-13,-79,-13,-81,-13,-84,-13,-86,-13,-88,-13,-89,-13,-91,-13,-94,-13,-95,10,-95,9,-95,8,-95,7,-95,6,-95,5,-95,4,-95,2,-95,3,-95,19,-95,18,-95,17,-95,16,-95,15,-95,14,-95,13,-95,11,-95,12,-95,28,-95,27,-95,26,-95,25,-95,24,-95,23,-95,22,-95,20,-95,21,-95,37,-95,36,-95,35,-95,34,-95,33,-95,32,-95,31,-95,29,-95,30,-95,46,-95,45,-95,44,-95,43,-95,42,-95,41,-95,40,-95,38,-95,39,-94,68,-95,68,-95,66,-95,67,-95,65,-95,63,-95,64,-95,62,-95,60,-95,61,-92,64,-95,58,-95,59,-95,57,-95,55,-95,56,-95,54,-95,52,-95,53,-95,51,-95,49,-95,50,-95,47,-95,48,-34,-17,-32,-17,-31,-17,-30,-17,-34,-14,-34,-15,-34,-16,-19,-14,-19,-16,-19,-17,-19,-18,-15,-14,-15,-15,-16,-14,-17,-14,-18,-14,-15,-18,-12,-15,-12,-16,-12,-17,-12,-19,-13,-19,-14,-19,-14,-14,-14,-15,-14,-16,-14,-17,-27,-17,-25,-17,-24,-17,-23,-17,-27,-14,-27,-15,-27,-16,-13,-20,-13,-21,-13,-22,-14,-20,-15,-20,-16,-20,-17,-20,-18,-20,-20,-20,-20,-21,-20,-22,-15,-22,-16,-22,-17,-22,-18,-22,-13,-23,-12,-23,-18,-27,-18,-26,-22,-26,-18,-25,-18,-24,-17,-26,-16,-26,-15,-26,-14,-26,-13,-26,-13,-27,-16,-24,-15,-24,-14,-24,-13,-24,-18,-23,-19,-23,-20,-23,-22,-23,-23,-23,-34,-22,-33,-22,-32,-22,-31,-22,-31,-23,-29,-23,-28,-23,-29,-22,-29,-21,-29,-20,-34,-20,-33,-20,-32,-20,-31,-20,-25,-23,-29,-26,-28,-26,-27,-26,-26,-26,-26,-27,-24,-27,-24,-26,-24,-25,-24,-24,-29,-24,-28,-24,-27,-24,-26,-24,-30,-26,-31,-26,-32,-26,-33,-26,-33,-27,-30,-24,-31,-24,-32,-24,-33,-24,-21,-29,-20,-29,-20,-30,-20,-31,-24,-29,-24,-31,-27,-30,-28,-30,-29,-30,-27,-31,-27,-33,-20,-32,-20,-33,-19,-31,-18,-31,-17,-31,-16,-31,-15,-31,-15,-30,-13,-30,-12,-30,-13,-29,-13,-31,-13,-32,-13,-33,-18,-33,-17,-33,-16,-33,-15,-33,-20,-34,-21,-34,-22,-34,-24,-34,-25,-34,-26,-34,-27,-34,-28,-33,-29,-33,-15,-37,-15,-35,-16,-37,-17,-37,-18,-37,-19,-37,-20,-37,-22,-37,-22,-36,-22,-35,-17,-35,-18,-35,-19,-35,-20,-35,-15,-34,-14,-34,-13,-34,-32,-34,-31,-34,-30,-34,-29,-34,-34,-36,-34,-37,-34,-29,-34,-31,-31,-30,-30,-30,-31,-31,-31,-33,-30,-33,-20,-45,-20,-44,-24,-44,-27,-45,-28,-45,-29,-45,-27,-44,-27,-42,-20,-43,-20,-42,-19,-44,-18,-44,-17,-44,-16,-44,-15,-44,-15,-45,-13,-45,-12,-45,-13,-44,-13,-43,-13,-42,-18,-42,-17,-42,-16,-42,-15,-42,-20,-41,-22,-41,-24,-41,-25,-41,-26,-41,-27,-41,-28,-42,-29,-42,-15,-38,-15,-39,-15,-40,-16,-38,-17,-38,-18,-38,-19,-38,-20,-38,-22,-38,-22,-39,-22,-40,-17,-40,-18,-40,-19,-40,-20,-40,-15,-41,-14,-41,-13,-41,-32,-41,-31,-41,-30,-41,-29,-41,-34,-39,-34,-38,-34,-44,-31,-45,-30,-45,-31,-44,-31,-42,-30,-42,16,-74,17,-74,18,-74,22,-74,21,-74,19,-74,20,-74,23,-74,24,-74,31,-74,30,-74,28,-74,29,-74,27,-74,26,-74,25,-74,32,-74,33,-74,16,-55,17,-64,17,-65,17,-67,17,-68,17,-69,18,-68,19,-66,20,-66,20,-67,20,-65,19,-70,20,-69,20,-72,22,-70,22,-72,18,-55,19,-55,19,-54,19,-63,21,-55,22,-54,22,-55,22,-63,22,-66,22,-68,17,-52,17,-51,17,-49,19,-50,20,-50,20,-49,20,-51,22,-50,23,-55,24,-63,24,-55,24,-54,24,-72,24,-70,24,-67,24,-65,25,-72,24,-49,25,-49,25,-50,24,-53,25,-52,27,-50,27,-51,27,-53,27,-54,27,-55,28,-54,29,-52,30,-52,30,-53,30,-51,30,-55,29,-49,32,-49,32,-52,32,-54,34,-49,34,-53,34,-51,26,-69,26,-68,26,-66,26,-65,26,-64,27,-65,28,-67,29,-67,29,-66,29,-68,28,-63,29,-64,31,-63,27,-72,28,-72,28,-73,28,-70,30,-72,31,-73,31,-72,31,-70,31,-67,31,-65,33,-63,33,-64,33,-66,34,-66,36,-66,35,-68,34,-68,33,-68,32,-68,33,-72,33,-70,34,-74,35,-74,34,-72,35,-72,36,-74,37,-74,36,-72,37,-66,37,-49,37,-53,37,-51,36,-63,36,-64,51,-72,51,-54,51,-55,51,-63,51,-50,51,-52,51,-68,50,-68,50,-67,50,-69,51,-64,50,-65,49,-69,48,-67,48,-66,48,-64,48,-63,48,-55,47,-63,46,-65,45,-65,45,-64,45,-66,45,-55,47,-69,46,-69,46,-70,46,-68,44,-69,43,-70,43,-69,43,-68,43,-65,43,-63,48,-73,42,-69,41,-68,41,-69,41,-70,41,-64,41,-66,41,-72,40,-73,49,-49,49,-51,49,-52,49,-53,48,-52,47,-50,46,-50,46,-51,46,-49,47,-54,46,-53,44,-54,44,-50,44,-52,42,-54,42,-53,42,-51,41,-51,39,-51,40,-49,41,-49,42,-49,43,-49,38,-51,39,-69,38,-68,38,-69,38,-70,38,-64,38,-66,38,-72,39,-54,39,-53,42,-74,41,-74,39,-74,40,-74,38,-74,43,-74,44,-74,45,-74,46,-74,47,-74,48,-74,53,-74,52,-74,50,-74,51,-74,49,-74,54,-74,55,-74,56,-74,57,-74,58,-74,59,-74,52,-72,52,-54,52,-63,52,-50,52,-52,52,-68,53,-68,53,-67,53,-69,52,-64,53,-65,54,-69,55,-67,55,-66,55,-64,55,-63,55,-55,56,-63,57,-65,58,-65,58,-64,58,-66,58,-55,56,-69,57,-69,57,-70,57,-68,60,-70,60,-68,60,-65,60,-63,55,-73,54,-49,54,-51,54,-52,54,-53,55,-52,56,-50,57,-50,57,-51,57,-49,56,-54,57,-53,59,-54,59,-50,59,-52,60,-49,60,-74,61,-74,61,-72,61,-73,61,-70,61,-68,61,-69,61,-67,61,-65,61,-66,58,-69,61,-63,61,-64,61,-55,61,-53,61,-54,61,-52,61,-50,61,-51,61,-49,17,-48,17,-46,19,-47,20,-47,20,-46,20,-48,22,-47,24,-46,25,-46,25,-47,27,-47,27,-48,30,-48,29,-46,32,-46,34,-46,34,-48,37,-46,37,-48,49,-46,49,-48,47,-47,46,-47,46,-48,46,-46,44,-47,42,-48,41,-48,39,-48,40,-46,41,-46,42,-46,43,-46,38,-48,17,-61,17,-60,17,-58,17,-57,17,-56,18,-57,19,-59,20,-59,20,-58,20,-60,20,-56,19,-62,22,-62,22,-59,22,-57,24,-62,24,-58,24,-60,26,-56,26,-57,26,-59,26,-60,26,-61,27,-60,28,-58,29,-58,29,-59,29,-57,28,-62,29,-61,31,-62,31,-58,31,-60,33,-62,33,-61,33,-59,34,-59,36,-59,35,-57,34,-57,33,-57,32,-57,37,-59,36,-62,36,-61,51,-62,50,-57,50,-58,50,-56,51,-61,50,-60,49,-56,48,-58,48,-59,48,-61,48,-62,47,-62,46,-60,45,-60,45,-61,45,-59,47,-56,46,-56,46,-57,44,-56,43,-56,43,-57,43,-60,43,-62,42,-56,41,-57,41,-56,41,-61,41,-59,39,-56,38,-57,38,-56,38,-61,38,-59,52,-62,52,-57,53,-57,53,-58,53,-56,52,-61,53,-60,54,-56,55,-58,55,-59,55,-61,55,-62,56,-62,57,-60,58,-60,58,-61,58,-59,56,-56,57,-56,57,-57,60,-57,60,-60,60,-62,61,-57,61,-56,61,-58,61,-60,61,-59,58,-56,61,-62,61,-61,15,-74,14,-74,13,-74,9,-74,10,-74,12,-74,11,-74,8,-74,7,-74,0,-74,1,-74,3,-74,2,-74,4,-74,5,-74,6,-74,-1,-74,-2,-74,15,-55,14,-64,14,-65,14,-67,14,-68,14,-69,13,-68,12,-66,11,-66,11,-67,11,-65,12,-70,11,-69,11,-72,9,-70,9,-72,13,-55,12,-55,12,-54,12,-63,10,-55,9,-54,9,-55,9,-63,9,-66,9,-68,14,-52,14,-51,14,-49,12,-50,11,-50,11,-49,11,-51,9,-50,8,-55,7,-63,7,-55,7,-54,7,-72,7,-70,7,-67,7,-65,6,-72,7,-49,6,-49,6,-50,7,-53,6,-52,4,-50,4,-51,4,-53,4,-54,4,-55,3,-54,2,-52,1,-52,1,-53,1,-51,1,-55,2,-49,-1,-49,-1,-52,-1,-54,-3,-49,-3,-53,-3,-51,5,-69,5,-68,5,-66,5,-65,5,-64,4,-65,3,-67,2,-67,2,-66,2,-68,3,-63,2,-64,0,-63,4,-72,3,-72,3,-73,3,-70,0,-73,0,-72,0,-70,0,-67,0,-65,-2,-63,-2,-64,-2,-66,-3,-66,-5,-66,-4,-68,-3,-68,-2,-68,-1,-68,-2,-72,-2,-70,-3,-74,-4,-74,-4,-72,-5,-74,-6,-74,-5,-72,-6,-66,-6,-49,-6,-53,-6,-51,-5,-63,-5,-64,-18,-69,-17,-67,-17,-66,-17,-64,-17,-63,-17,-55,-16,-63,-15,-65,-14,-65,-14,-64,-14,-66,-14,-55,-16,-69,-15,-69,-15,-70,-15,-68,-13,-69,-12,-70,-12,-69,-12,-68,-12,-65,-12,-63,-17,-73,-11,-69,-10,-68,-10,-69,-10,-70,-10,-64,-10,-66,-9,-73,-18,-49,-18,-51,-18,-52,-18,-53,-17,-52,-16,-50,-15,-50,-15,-51,-15,-49,-16,-54,-15,-53,-13,-54,-13,-50,-13,-52,-11,-54,-11,-53,-11,-51,-10,-51,-8,-51,-9,-49,-10,-49,-11,-49,-12,-49,-7,-51,-8,-69,-7,-68,-7,-69,-7,-70,-7,-64,-7,-66,-7,-72,-8,-54,-8,-53,-11,-74,-10,-74,-8,-74,-9,-74,-7,-74,-12,-74,-13,-74,-14,-74,-15,-74,-16,-74,-17,-74,-18,-74,14,-48,14,-46,12,-47,11,-47,11,-46,11,-48,9,-47,7,-46,6,-46,6,-47,4,-47,4,-48,1,-48,2,-46,-1,-46,-3,-46,-3,-48,-6,-46,-6,-48,-18,-46,-18,-48,-16,-47,-15,-47,-15,-48,-15,-46,-13,-47,-11,-48,-10,-48,-8,-48,-9,-46,-10,-46,-11,-46,-12,-46,-7,-48,14,-61,14,-60,14,-58,14,-57,14,-56,13,-57,12,-59,11,-59,11,-58,11,-60,12,-62,9,-62,9,-59,9,-57,7,-62,7,-58,7,-60,5,-56,5,-57,5,-59,5,-60,5,-61,4,-60,3,-58,2,-58,2,-59,2,-57,3,-62,2,-61,0,-62,0,-58,0,-60,-2,-62,-2,-61,-2,-59,-3,-59,-5,-59,-4,-57,-3,-57,-2,-57,-1,-57,-6,-59,-5,-62,-5,-61,-18,-56,-17,-58,-17,-59,-17,-61,-17,-62,-16,-62,-15,-60,-14,-60,-14,-61,-14,-59,-16,-56,-15,-56,-15,-57,-13,-56,-12,-56,-12,-57,-12,-60,-12,-62,-11,-56,-10,-57,-10,-56,-10,-61,-10,-59,-8,-56,-7,-57,-7,-56,-7,-61,-7,-59,-20,-74,-19,-74,-21,-74,-22,-74,-19,-52,-19,-53,-19,-51,-19,-55,-21,-49,-21,-52,-21,-54,-23,-49,-23,-53,-23,-51,-20,-63,-19,-72,-20,-73,-20,-72,-20,-70,-20,-67,-20,-65,-22,-63,-22,-64,-22,-66,-23,-66,-25,-66,-24,-68,-23,-68,-22,-68,-21,-68,-22,-72,-22,-70,-23,-74,-24,-74,-23,-72,-24,-72,-25,-74,-26,-74,-25,-72,-26,-66,-26,-49,-26,-53,-26,-51,-25,-63,-25,-64,-34,-65,-34,-64,-34,-66,-34,-55,-33,-69,-32,-70,-32,-69,-32,-68,-32,-65,-32,-63,-31,-69,-30,-68,-30,-69,-30,-70,-30,-64,-30,-66,-30,-72,-33,-54,-33,-50,-33,-52,-31,-54,-31,-53,-31,-51,-30,-51,-28,-51,-30,-49,-31,-49,-32,-49,-27,-51,-28,-69,-27,-68,-27,-69,-27,-70,-27,-64,-27,-66,-27,-72,-28,-54,-28,-53,-31,-74,-30,-74,-28,-74,-29,-74,-27,-74,-32,-74,-33,-74,-34,-74,-19,-48,-21,-46,-23,-46,-23,-48,-26,-46,-26,-48,-33,-47,-31,-48,-30,-48,-28,-48,-29,-46,-30,-46,-31,-46,-32,-46,-27,-48,-20,-62,-20,-58,-20,-60,-22,-62,-22,-61,-22,-59,-23,-59,-25,-59,-24,-57,-23,-57,-22,-57,-21,-57,-26,-59,-25,-62,-25,-61,-34,-60,-34,-61,-34,-59,-33,-56,-32,-56,-32,-57,-32,-60,-32,-62,-31,-56,-30,-57,-30,-56,-30,-61,-30,-59,-28,-56,-27,-57,-27,-56,-27,-61,-27,-59,19,-71,20,-71,22,-71,26,-71,29,-71,33,-71,34,-71,36,-71,37,-71,48,-71,45,-71,41,-71,38,-71,55,-71,58,-71,61,-71,12,-71,11,-71,9,-71,5,-71,2,-71,-2,-71,-5,-71,-17,-71,-14,-71,-10,-71,-7,-71,-25,-71,-26,-71,-34,-71,-30,-71,-27,-71,-5,50,-5,51,-5,52,-5,53,-7,49,-7,50,-7,53,-7,52};
const uint wall_size = 13938;
#define MOVE_SPEED 3.3f
#define STRAFE_SPEED 2.2f
#define MONSTER_SPEED 1.2f
float px=0.f, py=0.f;
float fx=0.f, fy=0.f;
float caught=0.f;
float winst = 0.f;
float ga = 0.f;
uint gah = 0;
uint prot = 0;
uint protc = 0;
float prota = 0.f;
uint spint = 0;
float spintc = 0.f;
uint pid;
float pix, piy;
float ft = 0.f;
float rm = 0.f;
float rmb = 0.f;
float pr = 0.f;
#define MAX_MONSTER 27
float cx[MAX_MONSTER], cy[MAX_MONSTER], lcx[MAX_MONSTER], lcy[MAX_MONSTER], cdx[MAX_MONSTER], cdy[MAX_MONSTER];
float cnt[MAX_MONSTER];
uint cm[MAX_MONSTER];
float cds[MAX_MONSTER];
void mSetRot90(mat *r, const uint s)
{
if(s == 0)
{
r->m[0][0] = 0.f;
r->m[0][1] = -1.f;
r->m[0][2] = 0.f;
r->m[0][3] = 0.f;
r->m[1][0] = 1.f;
r->m[1][1] = 0.f;
r->m[1][2] = 0.f;
r->m[1][3] = 0.f;
r->m[2][0] = 0.f;
r->m[2][1] = 0.f;
r->m[2][2] = 1.f;
r->m[2][3] = 0.f;
}
else if(s == 1)
{
r->m[0][0] = -1.f;
r->m[0][1] = 0.f;
r->m[0][2] = 0.f;
r->m[0][3] = 0.f;
r->m[1][0] = 0.f;
r->m[1][1] = -1.f;
r->m[1][2] = 0.f;
r->m[1][3] = 0.f;
r->m[2][0] = 0.f;
r->m[2][1] = 0.f;
r->m[2][2] = 1.f;
r->m[2][3] = 0.f;
}
else if(s == 2)
{
r->m[0][0] = 0.f;
r->m[0][1] = 1.f;
r->m[0][2] = 0.f;
r->m[0][3] = 0.f;
r->m[1][0] = -1.f;
r->m[1][1] = 0.f;
r->m[1][2] = 0.f;
r->m[1][3] = 0.f;
r->m[2][0] = 0.f;
r->m[2][1] = 0.f;
r->m[2][2] = 1.f;
r->m[2][3] = 0.f;
}
else if(s == 3)
{
r->m[0][0] = 1.f;
r->m[0][1] = 0.f;
r->m[0][2] = 0.f;
r->m[0][3] = 0.f;
r->m[1][0] = 0.f;
r->m[1][1] = 1.f;
r->m[1][2] = 0.f;
r->m[1][3] = 0.f;
r->m[2][0] = 0.f;
r->m[2][1] = 0.f;
r->m[2][2] = 1.f;
r->m[2][3] = 0.f;
}
}
void updateWindowSize(int width, int height)
{
winw = width, winh = height;
ww = (float)winw, wh = (float)winh;
rww = 1.f/ww, rwh = 1.f/wh;
glViewport(0, 0, winw, winh);
aspect = ww / wh;
mIdent(&projection);
mPerspective(&projection, 60.f, aspect, 0.01f, FAR_DISTANCE);
glUniformMatrix4fv(projection_id, 1, GL_FALSE, (float*)&projection.m[0][0]);
}
void activateJOY(){json=1;puts("!! Gamepad / Joystick ACTIVATED, mouse disabled until game restart.");}
uint insideFrustum(const float x, const float y)
{
const float xm = px+x, ym = py+y;
const float d = xm*xm + ym*ym;
if(d > 1.f && (xm*lookz.x) + (ym*lookz.y) <= 0.f){return 0;}
if(d < DRAW_DISTANCE){return 1;}else{return 0;}
return 0;
}
void resetMonster(uint i)
{
float d = 42.f, tcx, tcy;
do
{
const uint pi = esRand(0, 15464)*2;
tcx = level_floor[pi], tcy = level_floor[pi+1];
const float xm = px+tcx;
const float ym = py+tcy;
d = xm*xm + ym*ym;
}
while(d < 36.f);
cx[i] = tcx, cy[i] = tcy;
lcx[i] = cx[i], lcy[i] = cy[i];
cdx[i]=1, cdy[i]=0;
cnt[i] = t+1.f;
cm[i] = 0;
cds[i] = 0.f;
#ifdef TEST
printf("%u/%.0f: reset\n", i, d);
#endif
}
void retargetStraglers()
{
for(uint i=0; i < MAX_MONSTER; i++)
{
if(cds[i] != 0.f){continue;}
const float xm = px+cx[i];
const float ym = py+cy[i];
float d = xm*xm + ym*ym;
if(d > 81.f)
{
float tcx, tcy;
do
{
const uint pi = esRand(0, 15464)*2;
tcx = level_floor[pi], tcy = level_floor[pi+1];
const float xm = px+tcx;
const float ym = py+tcy;
d = xm*xm + ym*ym;
}
while(d < 36.f || d > 81.f);
cx[i] = tcx, cy[i] = tcy;
lcx[i] = cx[i], lcy[i] = cy[i];
cds[i] = 0.f;
#ifdef TEST
printf("%u/%.0f: retargeted\n", i, d);
#endif
}
}
}
void resetGame(uint mode)
{
if(mode == 1){char strts[16];timestamp(&strts[0]);printf("[%s] Game Reset.\n", strts);}
else if(mode == 2){char strts[16];timestamp(&strts[0]);printf("[%s] You died.\n", strts);}
px=0.f, py=0.f;
fx=0.f, fy=0.f;
pid = 33;
caught = 0.f;
xrot = PI;
ft = 0.f;
prot=0;
protc=0;
prota=0.f;
float d = 42.f, tx, ty;
do
{
const uint pi = esRand(0, 15464)*2;
tx = level_floor[pi], ty = level_floor[pi+1];
const float xm = px+tx;
const float ym = py+ty;
d = xm*xm + ym*ym;
}
while(d < 36.f);
pix = tx, piy = ty;
for(uint i=0; i < MAX_MONSTER; i++){resetMonster(i);}
SDL_SetWindowTitle(wnd, appTitle);
}
void doAttack()
{
float nlx = lookz.x, nly = lookz.y;
const float len = 1.f/sqrtf(nlx*nlx + nly*nly);
nlx *= len, nly *= len;
int sid = -1;
float dist = 99999.f;
for(uint i = 0; i < MAX_MONSTER; i++)
{
if(cds[i] != 0.f){continue;}
const float xm = px+cx[i], ym = py+cy[i];
const float d = xm*xm + ym*ym;
if(d < 0.42f)
{
sid=i;
dist=d;
break;
}
else if(d < 16.f)
{
const float len = 1.f/sqrtf(d);
const float ex = xm*len, ey = ym*len;
const float dot = (nlx * ex) + (nly * ey);
if(dot > 0.94f && d < dist)
{
sid=i;
dist=d;
}
}
}
if(sid != -1)
{
cds[sid] = t;
protc++;
if(protc >= 4){prot=1;protc=0;}
gah=1;
}
else
{
const float xm = px+pix, ym = py+piy;
const float d = xm*xm + ym*ym;
if(d < 16.f && ft == 0.f)
{
const float len = 1.f/sqrtf(d);
const float ex = xm*len, ey = ym*len;
const float dot = (nlx * ex) + (nly * ey);
if(dot > 0.94f && ft == 0.f)
{
ft = t+1.f;
rm = 0.f;
rmb = 0.f;
}
}
gah=0;
}
ga=t;
}
void main_loop()
{
fc++;t=((float)SDL_GetTicks())*0.001f,dt=t-lt,lt=t;
SDL_Event event;
while(SDL_PollEvent(&event))
{
switch(event.type)
{
case SDL_WINDOWEVENT:
{
if(event.window.event == SDL_WINDOWEVENT_RESIZED)
{
updateWindowSize(event.window.data1, event.window.data2);
}
}
break;
case SDL_KEYDOWN:
{
if(NOINPUT){return;}
const SDL_Keycode key = event.key.keysym.sym;
const SDL_Keycode scan = event.key.keysym.scancode;
if( key == SDLK_LEFT || key == SDLK_a || scan == SDL_SCANCODE_A){ks[0]=1;}
else if(key == SDLK_RIGHT || key == SDLK_d || scan == SDL_SCANCODE_D){ks[1]=1;}
else if(key == SDLK_UP || key == SDLK_w || scan == SDL_SCANCODE_W){ks[2]=1;}
else if(key == SDLK_DOWN || key == SDLK_s || scan == SDL_SCANCODE_S){ks[3]=1;}
else if(key == SDLK_j || scan == SDL_SCANCODE_J) {ks[4]=1;}
else if(key == SDLK_l || scan == SDL_SCANCODE_L) {ks[5]=1;}
else if((key == SDLK_SPACE || key == SDLK_i || scan == SDL_SCANCODE_I) && caught == 0.f && ga == 0.f){doAttack();}
else if(key == SDLK_1){sens = 0.0001f;}
else if(key == SDLK_2){sens = 0.0003f;}
else if(key == SDLK_3){sens = 0.0006f;}
else if(key == SDLK_4){sens = 0.0012f;}
else if(key == SDLK_5){sens = 0.0022f;}
else if(key == SDLK_6){sens = 0.006f;}
else if(key == SDLK_7){sens = 0.012f;}
else if(key == SDLK_8){sens = 0.03f;}
else if(key == SDLK_9){sens = 0.06f;}
else if(key == SDLK_0){sens = 0.003f;}
else if(key == SDLK_e)
{
if(spint == 0)
{
spintc = xrot - PI;
spint = 1;
}
}
else if(key == SDLK_f)
{
if(t-lfct > 2.0)
{
char strts[16];timestamp(&strts[0]);
printf("[%s] FPS: %g\n", strts, fc/(t-lfct));
lfct = t; fc = 0;
}
}
else if(key == SDLK_r){resetGame(1);}
else if(key == SDLK_ESCAPE)
{
lock_mouse = 0;
SDL_GetRelativeMouseState(&xd, &yd);
SDL_SetRelativeMouseMode(SDL_FALSE);
}
}
break;
case SDL_KEYUP:
{
if(NOINPUT){return;}
const SDL_Keycode key = event.key.keysym.sym;
const SDL_Keycode scan = event.key.keysym.scancode;
if( key == SDLK_LEFT || key == SDLK_a || scan == SDL_SCANCODE_A){ks[0]=0;}
else if(key == SDLK_RIGHT || key == SDLK_d || scan == SDL_SCANCODE_D){ks[1]=0;}
else if(key == SDLK_UP || key == SDLK_w || scan == SDL_SCANCODE_W){ks[2]=0;}
else if(key == SDLK_DOWN || key == SDLK_s || scan == SDL_SCANCODE_S){ks[3]=0;}
else if(key == SDLK_j || scan == SDL_SCANCODE_J) {ks[4]=0;}
else if(key == SDLK_l || scan == SDL_SCANCODE_L) {ks[5]=0;}
}
break;
case SDL_MOUSEBUTTONDOWN:
{
if(event.button.button == SDL_BUTTON_LEFT)
{
if(lock_mouse == 0)
{
if(json == 1){jspause = 0;}
lock_mouse = 1;
SDL_GetRelativeMouseState(&xd, &yd);
SDL_SetRelativeMouseMode(SDL_TRUE);
}
else if(caught == 0.f && ga == 0.f){doAttack();}
}
else if(event.button.button == SDL_BUTTON_RIGHT)
{
if(spint == 0)
{
spintc = xrot - PI;
spint = 1;
}
}
}
break;
case SDL_QUIT:
{
SDL_FreeSurface(s_icon);
SDL_GL_DeleteContext(glc);
SDL_DestroyWindow(wnd);
SDL_Quit();
exit(0);
}
break;
}
}
if(js == NULL)
{
if(t > jsc)
{
const uint nj = SDL_NumJoysticks();
if(nj >= 1)
{
js = SDL_JoystickOpen(0);
puts("!! Gamepad / Joystick detected.");
}
jsc = t + 6.f;
}
}
else
{
if(YESINPUT)
{
if(caught == 0.f && spint == 0)
{
const float nj0 = -(((float)SDL_JoystickGetAxis(js, 0)) / 32768.f);
const float nj1 = -(((float)SDL_JoystickGetAxis(js, 1)) / 32768.f);
if(json == 0){if(fabsf(nj0) > 0.1f || fabsf(nj1) > 0.1f){activateJOY();}}
if(fabsf(nj0) > 0.1f || fabsf(nj1) > 0.1f)
{
float ttdx = nj0 * 7.f;
float ttdy = nj1 * 10.f;
if(ttdx > STRAFE_SPEED){ttdx = STRAFE_SPEED;}
else if(ttdx < -STRAFE_SPEED){ttdx = -STRAFE_SPEED;}
if(ttdy > MOVE_SPEED){ttdy = MOVE_SPEED;}
else if(ttdy < -MOVE_SPEED){ttdy = -MOVE_SPEED;}
px -= lookx.x * ttdx * dt, py -= lookx.y * ttdx * dt;
px -= lookz.x * ttdy * dt, py -= lookz.y * ttdy * dt;
}
}
if(caught == 0.f && ga == 0.f && (SDL_JoystickGetAxis(js, 2) > 0 || SDL_JoystickGetAxis(js, 5) > 0 || SDL_JoystickGetButton(js, 2) == 1)){doAttack();}
if(SDL_JoystickGetButton(js, 3) == 1)
{
static float nt = 0.f;
if(t > nt)
{
resetGame(1);
nt = t+0.333f;
}
}
}
}
if(caught == 0.f)
{
float fms = MOVE_SPEED;
if(ks[0]==1){px -= lookx.x * STRAFE_SPEED * dt, py -= lookx.y * STRAFE_SPEED * dt; fms=STRAFE_SPEED;}
else if(ks[1]==1){px += lookx.x * STRAFE_SPEED * dt, py += lookx.y * STRAFE_SPEED * dt; fms=STRAFE_SPEED;}
if(ks[2]==1){px -= lookz.x * fms * dt, py -= lookz.y * fms * dt;}
else if(ks[3]==1){px += lookz.x * fms * dt, py += lookz.y * fms * dt;}
if(ks[4]==1){xrot += 3.f*dt;}
else if(ks[5]==1){xrot -= 3.f*dt;}
}
if(json == 1 && YESINPUT)
{
const float nj3 = -(((float)SDL_JoystickGetAxis(js, 3)) / 32768.f);
if(fabsf(nj3) > 0.1f){xrot += nj3*3.33f*dt;}
}
else if(json == 0 && spint == 0 && lock_mouse == 1)
{
SDL_GetRelativeMouseState(&xd, &yd);
xrot -= ((float)xd)*sens;
}
mIdent(&view);
if(caught != 0.f)
{
const float dc = caught-t;
mRotate(&view, d2PI, 1.f, 0.f, 0.f);
mRotate(&view, xrot, 0.f, 0.f, 1.f);
mRotate(&view, -d2PI+(dc*0.523598767f), 0.f, 1.f, 0.f);
mTranslate(&view, px, py, -0.5f + (0.4f-(dc*0.133333333f)));
if(dc < 0.f){resetGame(2);}
}
else
{
mRotate(&view, d2PI, 1.f, 0.f, 0.f);
mRotate(&view, xrot, 0.f, 0.f, 1.f);
mTranslate(&view, px, py, -0.5f);
}
mGetViewZ(&lookz, view);
mGetViewY(&looky, view);
mGetViewX(&lookx, view);
if(spint == 1)
{
xrot -= 16.f*dt;
if(xrot <= spintc){xrot=spintc;spint=0;}
}
{
const float xm = px+pix, ym = py+piy;
const float d = xm*xm + ym*ym;
if(d < 0.6f)
{
const float len = 1.f/sqrtf(d);
const float ex = xm*len, ey = ym*len;
const float dl = 0.6f-d;
px += ex*dl, py += ey*dl;
}
}
{
static float nt = 0.f;
if(t > nt)
{
retargetStraglers();
#ifdef TEST
printf("%f: Attempting Retarget\n", t);
#endif
nt = t+3.f;
}
}
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
const float viewdistance = 0.175f-((sinf(t)-1.f)*0.01f);
const float specpow = 4.f+(sinf(t*3.f)+1.f)*5.f;
shadePhong(&position_id, &projection_id, &modelview_id, &lightpos_id, &normal_id, &color_id, &ambient_id, &specular_id, &specpower_id, &hsv_id, &viewdist_id, &opacity_id);
glUniform1f(ambient_id, 0.26f);
glUniform1f(specular_id, 0.6f);
glUniform1f(specpower_id, specpow);
glUniform1f(viewdist_id, viewdistance);
glUniform3f(hsv_id, (px+py)*0.01f, 0.f, 0.f);
glUniformMatrix4fv(projection_id, 1, GL_FALSE, (float*)&projection.m[0][0]);
for(uint i = 0; i < floor_size; i+=2)
{
if(insideFrustum(level_floor[i], level_floor[i+1]) == 1)
{
const uint rnum = (((uint)fabsf((level_floor[i]+level_floor[i+1])*0.06f))%7);
mIdent(&model);
mSetPos(&model, (vec){level_floor[i], level_floor[i+1], 0.f});
mSetRot90(&model, ((uint)fabsf((level_floor[i]+level_floor[i+1])*0.1f))%4);
updateModelView();
if(rnum == 6){esBindRender(1);}else{esBindRender(63+rnum);}
}
}
for(uint i = 0; i < wall_size; i+=2)
{
const float xd = px+level_wall[i], yd = py+level_wall[i+1];
const float fxd = fabsf(xd), fyd = fabsf(yd);
const uint xif = fxd < 0.6f, yif = fyd < 0.6f;
if(xif && yif)
{
if(xif && fxd > fyd)
{
if(xd < 0.f){px -= 0.6f+xd;}
else{px += 0.6f-xd;}
}
if(yif && fyd > fxd)
{
if(yd < 0.f){py -= 0.6f+yd;}
else{py += 0.6f-yd;}
}
}
if(insideFrustum(level_wall[i], level_wall[i+1]) == 1)
{
const uint rnum = (((uint)fabsf((level_wall[i]+level_wall[i+1])*0.06f))%7);
mIdent(&model);
mSetPos(&model, (vec){level_wall[i], level_wall[i+1], 0.f});
mSetRot90(&model, ((uint)fabsf((level_wall[i]+level_wall[i+1])*0.1f))%4);
updateModelView();
if(rnum == 6){esBindRender(0);}else{esBindRender(69+rnum);}
}
}
glUniform3f(hsv_id, 0.f, 0.f, 0.f);
if(insideFrustum(pix, piy) == 1)
{
mIdent(&model);
mSetPos(&model, (vec){pix, piy, 0.f});
mSetRotZ(&model, pr);
float dx = px+pix, dy = py+piy;
float len = 1.f/sqrtf(dx*dx + dy*dy);
const float ax = dx*len, ay = dy*len;
const float bx = cosf(-pr), by = sinf(-pr);
const float dot = (ax * bx) + (ay * by);
if(dot < -0.01f){pr += 0.5f*fabsf(dot)*dt;}
else if(dot > 0.01f){pr -= 0.5f*fabsf(dot)*dt;}
mRotZ(&model, sinf(t)*0.333f);
if(ft != 0.f)
{
const float ftd = ft-t;
rm += (1.f-ftd)*16.5f*dt;
rmb += (1.5f-ftd)*16.5f*dt;
mRotZ(&model, rm);
if(ftd <= 0.f)
{
ft = 0.f;
pid++;
if(pid > 48){pid = 33;}
float d2 = 42.f, tx, ty;
do
{
const uint pi = esRand(0, 15464)*2;
tx = level_floor[pi], ty = level_floor[pi+1];
const float xm = px+tx;
const float ym = py+ty;
d2 = xm*xm + ym*ym;
}
while(d2 < 36.f);
pix = tx, piy = ty;
mSetPos(&model, (vec){pix, piy, 0.f});
}
updateModelView();
glUniform1f(opacity_id, ftd);
glEnable(GL_BLEND);
if(pid == 48){esBindRender(78);}else{esBindRender(pid);}
shadeLambertSolid(&position_id, &projection_id, &modelview_id, &lightpos_id, &normal_id, &color_id, &ambient_id, &saturate_id, &opacity_id);
glUniform3f(color_id, 255.f, 0.f, 0.f);
glUniform1f(ambient_id, 0.26f);
glUniform1f(saturate_id, 1.0f);
glUniform1f(opacity_id, ftd);
glUniformMatrix4fv(projection_id, 1, GL_FALSE, (float*)&projection.m[0][0]);
vec bp = (vec){pix, piy, 0.3f};
const uint po = 32;
if(pid == po+1) {bp.z = 0.32f;}
else if(pid == po+2) {bp.z = 0.21f;}
else if(pid == po+3) {bp.z = 0.33f;}
else if(pid == po+4) {bp.z = 0.30f;}
else if(pid == po+5) {bp.z = 0.21f;}
else if(pid == po+6) {bp.z = 0.31f;}
else if(pid == po+7) {bp.z = 0.16f;}
else if(pid == po+8) {bp.z = 0.28f;}
else if(pid == po+9) {bp.z = 0.21f;}
else if(pid == po+10){bp.z = 0.33f;}
else if(pid == po+11){bp.z = 0.43f;}
else if(pid == po+12){bp.z = 0.43f;}
else if(pid == po+13){bp.z = 0.27f;}
else if(pid == po+14){bp.z = 0.27f;}
else if(pid == po+15){bp.z = 0.39f;}
else if(pid == po+16){bp.z = 0.22f;}
mIdent(&model);
mSetPos(&model, bp);
mSetRotY(&model, -90.f*DEG2RAD);
mRotX(&model, -rmb);
mScale1(&model, 0.6f);
updateModelView();
esBindRenderS(4);
mIdent(&model);
mSetPos(&model, bp);
mSetRotY(&model, -90.f*DEG2RAD);
mScale1(&model, 0.6f);
updateModelView();
esBindRenderS(4);
glDisable(GL_BLEND);
shadePhong(&position_id, &projection_id, &modelview_id, &lightpos_id, &normal_id, &color_id, &ambient_id, &specular_id, &specpower_id, &hsv_id, &viewdist_id, &opacity_id);
glUniform1f(ambient_id, 0.26f);
glUniform1f(specular_id, 0.6f);
glUniform1f(specpower_id, specpow);
glUniform1f(viewdist_id, viewdistance);
glUniformMatrix4fv(projection_id, 1, GL_FALSE, (float*)&projection.m[0][0]);
}
else
{
updateModelView();
if(pid == 48)
{
esBindRender(78);
mSetPos(&model, (vec){pix, piy+0.007534f, 0.388511f});
mScale1(&model, 0.236f);
updateModelView();
esBindRender(6);
}
else
{
esBindRender(pid);
esBindRender(pid+15);
}
}
}
float highred = 16.f;
for(uint i=0; i < MAX_MONSTER; i++)
{
if(cds[i] != 0.f)
{
const float ddt = t-cds[i];
if(ddt > 6.f){resetMonster(i);}
}
const uint isvis = insideFrustum(cx[i], cy[i]);
if(cds[i] == 0.f)
{
if(PAUSE_CHECK && caught == 0.f && isvis == 1)
{
if(cm[i] == 1)
{
cdx[i] = cx[i]+px, cdy[i] = cy[i]+py;
const float len = 1.f/sqrtf(cdx[i]*cdx[i] + cdy[i]*cdy[i]);
cdx[i] *= len;
cdy[i] *= len;
cx[i] -= cdx[i]*MONSTER_SPEED*dt, cy[i] -= cdy[i]*MONSTER_SPEED*dt;
}
else{cx[i] -= cdx[i]*MOVE_SPEED*dt, cy[i] -= cdy[i]*MOVE_SPEED*dt;}
}
#ifndef TEST
if(PAUSE_CHECK && caught == 0.f)
{
const float xm = px+cx[i];
const float ym = py+cy[i];
const float d = xm*xm + ym*ym;
if(isvis == 1 && d < 16.f)
{
cm[i] = 1;
cnt[i] = t+1.3f;
if(d < highred){highred = d;}
}
if(d < 0.3f)
{
if(prot == 1)
{
cds[i] = t;
protc=0;
if(prota == 0.f){prota=t+1.f;}
}
else{caught=t+3.f;}
}
}
#endif
for(uint j=0; j < MAX_MONSTER; j++)
{
if(j == i || cds[j] != 0.f){continue;}
const float xm = cx[j]-cx[i];
const float ym = cy[j]-cy[i];
const float d = xm*xm + ym*ym;
if(d < 0.3f)
{
cds[i] = t;
#ifdef TEST
printf("%u/%u: collision\n", i,j);
#endif
}
}
if(PAUSE_CHECK && t > cnt[i] && caught == 0.f)
{
const float xm = cx[i]-lcx[i];
const float ym = cy[i]-lcy[i];
const float d = xm*xm + ym*ym;
cm[i] = d > 1.f;
if(cm[i] == 0)
{
const uint rd = esRand(0, 3);
if(rd == 0){cdx[i]= 1.f, cdy[i]= 0.f;}
else if(rd == 1){cdx[i]=-1.f, cdy[i]= 0.f;}
else if(rd == 2){cdx[i]= 0.f, cdy[i]= 1.f;}
else if(rd == 3){cdx[i]= 0.f, cdy[i]=-1.f;}
}
lcx[i] = cx[i];
lcy[i] = cy[i];
cnt[i] = t+esRand(1.f, 3.f);
}
for(uint j=0; j < wall_size; j+=2)
{
const float colb = 0.8f;
const float xd = cx[i]-level_wall[j], yd = cy[i]-level_wall[j+1];
const float fxd = fabsf(xd), fyd = fabsf(yd);
const uint xif = fxd < colb, yif = fyd < colb;
if(xif && yif)
{
if(xif && fxd > fyd)
{
if(xd < 0.f){cx[i] -= colb+xd;}
else{cx[i] += colb-xd;}
}
if(yif && fyd > fxd)
{
if(yd < 0.f){cy[i] -= colb+yd;}
else{cy[i] += colb-yd;}
}
}
}
}
if(isvis == 1)
{
mIdent(&model);
mSetPos(&model, (vec){cx[i], cy[i], 0.f});
static const vec up_norm = (vec){0.f, 0.f, 1.f};
const vec dir_norm = (vec){cdx[i], cdy[i], 0.f};
vec c;
vCross(&c, up_norm, dir_norm);
vNorm(&c);
vec rup;
vCross(&rup, dir_norm, c);
model.m[0][0] = c.x;
model.m[0][1] = c.y;
model.m[0][2] = c.z;
model.m[2][0] = rup.x;
model.m[2][1] = rup.y;
model.m[2][2] = rup.z;
model.m[1][0] = -dir_norm.x;
model.m[1][1] = -dir_norm.y;
model.m[1][2] = -dir_norm.z;
if(cds[i] != 0.f)
{
const float ddt = t-cds[i];
const float dd = ddt*6.f;
if(dd <= d2PI)
{
cdx[i] = cx[i]+px, cdy[i] = cy[i]+py;
const float len = 1.f/sqrtf(cdx[i]*cdx[i] + cdy[i]*cdy[i]);
cdx[i] *= len;
cdy[i] *= len;
mRotY(&model, -dd);
updateModelView();
const uint mid = 9+i;
if(mid == 35)
{
esBindRender(76);
esBindRender(77);
}
else if(mid > 32)
{
esBindRender(75+(mid-32));
}
else{esBindRender(mid);}
mRotZ(&model, t*4.f);
mScale1(&model, 1.f+(ddt*3.333333333f));
updateModelView();
glUniform1f(opacity_id, (0.3f-ddt)*3.333333333f);
glEnable(GL_BLEND);
esBindRender(7);
glDisable(GL_BLEND);
}
mIdent(&model);
mSetPos(&model, (vec){cx[i], cy[i], 0.f});
mSetRotZ(&model, t*6.f);
const float ds = (1.f-(ddt*0.166666667f));
mScale1(&model, ds*0.5f);
updateModelView();
glUniform1f(opacity_id, ds);
glUniform3f(hsv_id, (cx[i]+cy[i])*0.1f, 0.f, 0.f);
glEnable(GL_BLEND);
esBindRender(75);
glDisable(GL_BLEND);
glUniform3f(hsv_id, 0.f, 0.f, 0.f);
}
else
{
updateModelView();
const uint mid = 9+i;
if(mid == 35)
{
esBindRender(76);
esBindRender(77);
}
else if(mid > 32)
{
esBindRender(75+(mid-32));
}
else{esBindRender(mid);}
}
}
}
if(caught == 0)
{
shadeLambert(&position_id, &projection_id, &modelview_id, &lightpos_id, &normal_id, &color_id, &ambient_id, &saturate_id, &opacity_id);
glUniform1f(ambient_id, 0.26f);
glUniform1f(saturate_id, 1.0f);
glUniformMatrix4fv(projection_id, 1, GL_FALSE, (float*)&projection.m[0][0]);
}
{
const float uxi = pix - fx;
const float uyi = piy - fy;
fx += uxi*0.3f*dt;
fy += uyi*0.3f*dt;
float height = 5.5f;
const float xm = px+fx;
const float ym = py+fy;
const float d = xm*xm + ym*ym;
if(d < 196.f){height -= 4.f-(d*0.020408163f);}
mIdent(&model);
vec dirn = (vec){-px, -py, 0.5f};
const vec origin = (vec){fx, fy, height};
vSub(&dirn, dirn, origin);
vNorm(&dirn);
static const vec up = (vec){0.f, 0.f, -1.f};
vec c;
vCross(&c, up, dirn);
vNorm(&c);
vec rup;
vCross(&rup, dirn, c);
model.m[0][0] = c.x;
model.m[0][1] = c.y;
model.m[0][2] = c.z;
model.m[2][0] = -rup.x;
model.m[2][1] = -rup.y;
model.m[2][2] = -rup.z;
model.m[1][0] = dirn.x;
model.m[1][1] = dirn.y;
model.m[1][2] = dirn.z;
model.m[3][0] = origin.x;
model.m[3][1] = origin.y;
model.m[3][2] = origin.z;
updateModelView();
esBindRender(6);
}
if(caught == 0.f)
{
glClear(GL_DEPTH_BUFFER_BIT);
{
const float td = t-ga;
if(ga != 0.f)
{
if(td < 0.62f)
{
vec ld = lookz;
ld.z = 0.f;
vMulS(&ld, ld, 1.5f);
vec np = (vec){-px, -py, 0.5f};
vAdd(&np, np, ld);
mIdent(&model);
mSetPos(&model, (vec){np.x, np.y, 0.16f});
mSetRotZ(&model, -xrot);
mRotX(&model, 4.8f*td);
updateModelView();
glUniform1f(opacity_id, 1.f-(td*1.219512195f));
glEnable(GL_BLEND);
esBindRender(4);
glDisable(GL_BLEND);
}
}
static float kp1 = 3.8f;
static float kp2 = -0.8f;
static float kp3 = 8.8f;
static float bob = 0.f;
vec ld = lookz;
vMulS(&ld, ld, 1.f);
vec np = (vec){-px, -py, 0.5f};
vAdd(&np, np, ld);
mIdent(&model);
static float lpx=0.f, lpy=0.f;
if(fabsf(lpx-px) > 0.03f || fabsf(lpy-py) > 0.03f)
{
mSetPos(&model, (vec){np.x, np.y, 0.1f+sinf(bob)*0.03f});