-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfont_enri.c
2391 lines (2387 loc) · 141 KB
/
font_enri.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 "fontheader.h"
const bezier_t font_enri_data[] = {
{25600, 14592, 25600, 23296, 30208, 27008},
{30208, 27008, 34816, 30720, 43008, 30720},
{43008, 30720, 51200, 30720, 55040, 26624},
{55040, 26624, 58880, 22528, 58880, 14592},
{58880, 14592, 58880, -2560, 39936, -2560},
{39936, -2560, 31232, -2560, 28416, 1664},
{28416, 1664, 25600, 5888, 25600, 14592},
{25600, 14592, 25600, 14592, 25600, 14592},
{33792, 44544, 31872, 93696, 29952, 142848},
{29952, 142848, 29440, 163584, 28928, 184320},
{28928, 184320, 41600, 184320, 54272, 184320},
{54272, 184320, 53888, 163584, 53504, 142848},
{53504, 142848, 51456, 93696, 49408, 44544},
{49408, 44544, 41600, 44544, 33792, 44544},
{33792, 44544, 33792, 44544, 33792, 44544},
{27904, 202240, 37632, 202240, 37632, 193024},
{37632, 193024, 37632, 192000, 37632, 190976},
{37632, 190976, 35712, 164224, 33792, 137472},
{33792, 137472, 26112, 137472, 18432, 137472},
{18432, 137472, 16512, 164224, 14592, 190976},
{14592, 190976, 14592, 192896, 14592, 194816},
{14592, 194816, 14592, 194816, 17152, 199936},
{17152, 199936, 19712, 205056, 27904, 202240},
{27904, 202240, 27904, 202240, 27904, 202240},
{69376, 202240, 79104, 202240, 79104, 193024},
{79104, 193024, 79104, 192000, 79104, 190976},
{79104, 190976, 77184, 164224, 75264, 137472},
{75264, 137472, 67584, 137472, 59904, 137472},
{59904, 137472, 57984, 164224, 56064, 190976},
{56064, 190976, 56064, 192896, 56064, 194816},
{56064, 194816, 56064, 194816, 58624, 199936},
{58624, 199936, 61184, 205056, 69376, 202240},
{69376, 202240, 69376, 202240, 69376, 202240},
{97536, 2560, 88832, 2560, 80128, 2560},
{80128, 2560, 83072, 19200, 86016, 35840},
{86016, 35840, 70016, 35840, 54016, 35840},
{54016, 35840, 51072, 19200, 48128, 2560},
{48128, 2560, 39424, 2560, 30720, 2560},
{30720, 2560, 33664, 19200, 36608, 35840},
{36608, 35840, 23424, 35840, 10240, 35840},
{10240, 35840, 10240, 43776, 10240, 51712},
{10240, 51712, 24832, 51712, 39424, 51712},
{39424, 51712, 42752, 70912, 46080, 90112},
{46080, 90112, 31616, 90112, 17152, 90112},
{17152, 90112, 17152, 97920, 17152, 105728},
{17152, 105728, 33024, 105728, 48896, 105728},
{48896, 105728, 52480, 125696, 56064, 145664},
{56064, 145664, 64768, 145664, 73472, 145664},
{73472, 145664, 69888, 125696, 66304, 105728},
{66304, 105728, 82304, 105728, 98304, 105728},
{98304, 105728, 101888, 125696, 105472, 145664},
{105472, 145664, 114176, 145664, 122880, 145664},
{122880, 145664, 119296, 125696, 115712, 105728},
{115712, 105728, 128512, 105728, 141312, 105728},
{141312, 105728, 141312, 97920, 141312, 90112},
{141312, 90112, 127104, 90112, 112896, 90112},
{112896, 90112, 109568, 70912, 106240, 51712},
{106240, 51712, 120320, 51712, 134400, 51712},
{134400, 51712, 134400, 43776, 134400, 35840},
{134400, 35840, 118912, 35840, 103424, 35840},
{103424, 35840, 100480, 19200, 97536, 2560},
{63488, 90112, 60160, 70912, 56832, 51712},
{56832, 51712, 72832, 51712, 88832, 51712},
{88832, 51712, 92160, 70912, 95488, 90112},
{95488, 90112, 79488, 90112, 63488, 90112},
{63488, 90112, 63488, 90112, 63488, 90112},
{123136, 165632, 121600, 147456, 120064, 129280},
{120064, 129280, 110976, 129280, 101888, 129280},
{101888, 129280, 100096, 140032, 98304, 150784},
{98304, 150784, 85248, 157440, 69504, 157440},
{69504, 157440, 53760, 157440, 46976, 152064},
{46976, 152064, 40192, 146688, 40192, 135936},
{40192, 135936, 40192, 125184, 46080, 119680},
{46080, 119680, 51968, 114176, 67328, 105728},
{67328, 105728, 81408, 98944, 95488, 92160},
{95488, 92160, 112384, 83968, 120576, 75136},
{120576, 75136, 128768, 66304, 128768, 47616},
{128768, 47616, 128768, 28928, 114944, 16000},
{114944, 16000, 101120, 3072, 77056, 1280},
{77056, 1280, 77568, -14592, 78080, -30464},
{78080, -30464, 68480, -30464, 58880, -30464},
{58880, -30464, 59392, -14720, 59904, 1024},
{59904, 1024, 41984, 1536, 31872, 4480},
{31872, 4480, 21760, 7424, 11520, 10752},
{11520, 10752, 13440, 29440, 15360, 48128},
{15360, 48128, 24576, 47616, 33792, 47104},
{33792, 47104, 34944, 35840, 36096, 24576},
{36096, 24576, 50944, 18432, 68352, 18432},
{68352, 18432, 85760, 18432, 95488, 25344},
{95488, 25344, 105216, 32256, 105216, 43392},
{105216, 43392, 105216, 54528, 100480, 59648},
{100480, 59648, 95744, 64768, 78592, 73984},
{78592, 73984, 62976, 82176, 47360, 90368},
{47360, 90368, 32256, 98304, 24576, 107136},
{24576, 107136, 16896, 115968, 16896, 131968},
{16896, 131968, 16896, 147968, 28160, 159360},
{28160, 159360, 39424, 170752, 59648, 173056},
{59648, 173056, 59136, 188288, 58624, 203520},
{58624, 203520, 68096, 203520, 77568, 203520},
{77568, 203520, 76928, 188416, 76288, 173312},
{76288, 173312, 97280, 172544, 123136, 165632},
{123136, 165632, 123136, 165632, 123136, 165632},
{74496, 138368, 82944, 128512, 82944, 113920},
{82944, 113920, 82944, 99328, 72832, 90240},
{72832, 90240, 62720, 81152, 48512, 81152},
{48512, 81152, 34304, 81152, 25728, 90368},
{25728, 90368, 17152, 99584, 17152, 113664},
{17152, 113664, 17152, 127744, 26112, 137984},
{26112, 137984, 35072, 148224, 50560, 148224},
{50560, 148224, 66048, 148224, 74496, 138368},
{74496, 138368, 74496, 138368, 74496, 138368},
{63360, 100736, 67328, 106752, 67328, 115712},
{67328, 115712, 67328, 124672, 62080, 129920},
{62080, 129920, 56832, 135168, 48640, 135168},
{48640, 135168, 40448, 135168, 36608, 129536},
{36608, 129536, 32768, 123904, 32768, 114944},
{32768, 114944, 32768, 105984, 37888, 100352},
{37888, 100352, 43008, 94720, 51200, 94720},
{51200, 94720, 59392, 94720, 63360, 100736},
{63360, 100736, 63360, 100736, 63360, 100736},
{43776, -5888, 37120, -1280, 30464, 3328},
{30464, 3328, 78976, 77824, 127488, 152320},
{127488, 152320, 134016, 147712, 140544, 143104},
{140544, 143104, 92160, 68608, 43776, -5888},
{146688, 54144, 155136, 44288, 155136, 29696},
{155136, 29696, 155136, 15104, 145024, 6016},
{145024, 6016, 134912, -3072, 120704, -3072},
{120704, -3072, 106496, -3072, 97920, 6144},
{97920, 6144, 89344, 15360, 89344, 29440},
{89344, 29440, 89344, 43520, 98304, 53760},
{98304, 53760, 107264, 64000, 122752, 64000},
{122752, 64000, 138240, 64000, 146688, 54144},
{146688, 54144, 146688, 54144, 146688, 54144},
{135552, 15872, 139520, 22016, 139520, 30976},
{139520, 30976, 139520, 39936, 134272, 45184},
{134272, 45184, 129024, 50432, 120832, 50432},
{120832, 50432, 112640, 50432, 108800, 44800},
{108800, 44800, 104960, 39168, 104960, 30080},
{104960, 30080, 104960, 20992, 110208, 15360},
{110208, 15360, 115456, 9728, 123520, 9728},
{123520, 9728, 131584, 9728, 135552, 15872},
{135552, 15872, 135552, 15872, 135552, 15872},
{151296, 65536, 154496, 58752, 157696, 51968},
{157696, 51968, 147328, 44416, 136960, 36864},
{136960, 36864, 138240, 35328, 139520, 33792},
{139520, 33792, 154368, 14848, 167936, 14848},
{167936, 14848, 173312, 14848, 178176, 16896},
{178176, 16896, 177536, 9728, 176896, 2560},
{176896, 2560, 167936, -2560, 158976, -2560},
{158976, -2560, 150016, -2560, 142848, 1408},
{142848, 1408, 135680, 5376, 131712, 9344},
{131712, 9344, 127744, 13312, 118784, 23808},
{118784, 23808, 117504, 23040, 108672, 17280},
{108672, 17280, 99840, 11520, 93312, 7936},
{93312, 7936, 86784, 4352, 75648, 768},
{75648, 768, 64512, -2816, 52736, -2816},
{52736, -2816, 40960, -2816, 31360, 1792},
{31360, 1792, 21760, 6400, 16896, 13824},
{16896, 13824, 7936, 28416, 7936, 43904},
{7936, 43904, 7936, 59392, 12800, 68224},
{12800, 68224, 17664, 77056, 27648, 85760},
{27648, 85760, 40064, 96384, 52480, 107008},
{52480, 107008, 49408, 111872, 42112, 121344},
{42112, 121344, 34816, 130816, 31872, 137216},
{31872, 137216, 28928, 143616, 28928, 150784},
{28928, 150784, 28928, 157952, 31104, 163584},
{31104, 163584, 33280, 169216, 38400, 174592},
{38400, 174592, 49408, 186880, 74880, 186880},
{74880, 186880, 100352, 186880, 123392, 174080},
{123392, 174080, 121088, 156672, 118784, 139264},
{118784, 139264, 109184, 139264, 99584, 139264},
{99584, 139264, 99584, 151552, 99584, 163840},
{99584, 163840, 89856, 171264, 73472, 171264},
{73472, 171264, 64768, 171264, 59520, 165888},
{59520, 165888, 54272, 160512, 54272, 151808},
{54272, 151808, 54272, 141824, 64512, 129024},
{64512, 129024, 70144, 121600, 75392, 115712},
{75392, 115712, 80640, 109824, 81664, 108544},
{81664, 108544, 104320, 79232, 126976, 49920},
{126976, 49920, 139136, 57728, 151296, 65536},
{107776, 37120, 86528, 65536, 65280, 93952},
{65280, 93952, 57472, 86272, 49664, 78592},
{49664, 78592, 39680, 68864, 36608, 63232},
{36608, 63232, 33536, 57600, 33536, 46080},
{33536, 46080, 33536, 34560, 41216, 25600},
{41216, 25600, 48896, 16640, 64256, 16640},
{64256, 16640, 73984, 16640, 87168, 23808},
{87168, 23808, 100352, 30976, 107776, 37120},
{107776, 37120, 107776, 37120, 107776, 37120},
{33792, 137472, 26112, 137472, 18432, 137472},
{18432, 137472, 13312, 190464, 13312, 192768},
{13312, 192768, 13312, 202240, 26112, 202240},
{26112, 202240, 38912, 202240, 38912, 192768},
{38912, 192768, 38912, 186880, 33792, 137472},
{33792, 137472, 33792, 137472, 33792, 137472},
{73984, -43264, 67968, -48512, 61952, -53760},
{61952, -53760, 43520, -33536, 29440, 896},
{29440, 896, 15360, 35328, 15360, 73728},
{15360, 73728, 15360, 112128, 29568, 146432},
{29568, 146432, 43776, 180736, 62208, 200960},
{62208, 200960, 68224, 195200, 74240, 189440},
{74240, 189440, 55040, 163328, 46464, 131328},
{46464, 131328, 37888, 99328, 37888, 73088},
{37888, 73088, 37888, 46848, 46336, 14848},
{46336, 14848, 54784, -17152, 73984, -43264},
{73984, -43264, 73984, -43264, 73984, -43264},
{18176, -53760, 12160, -48512, 6144, -43264},
{6144, -43264, 25344, -17152, 33792, 14848},
{33792, 14848, 42240, 46848, 42240, 73088},
{42240, 73088, 42240, 99328, 33664, 131328},
{33664, 131328, 25088, 163328, 5888, 189440},
{5888, 189440, 11904, 195200, 17920, 200960},
{17920, 200960, 36352, 180736, 50560, 146432},
{50560, 146432, 64768, 112128, 64768, 73728},
{64768, 73728, 64768, 35328, 50688, 896},
{50688, 896, 36608, -33536, 18176, -53760},
{18176, -53760, 18176, -53760, 18176, -53760},
{46080, 183552, 48896, 183424, 51712, 183296},
{51712, 183296, 50304, 167040, 48896, 150784},
{48896, 150784, 69632, 165120, 73600, 165120},
{73600, 165120, 77568, 165120, 79232, 163328},
{79232, 163328, 80896, 161536, 83712, 155648},
{83712, 155648, 68864, 148608, 54016, 141568},
{54016, 141568, 63872, 136704, 73728, 131840},
{73728, 131840, 80384, 128512, 80384, 122880},
{80384, 122880, 80384, 120576, 76288, 113920},
{76288, 113920, 62592, 123264, 48896, 132608},
{48896, 132608, 50432, 116736, 50432, 110848},
{50432, 110848, 50432, 104960, 47744, 102400},
{47744, 102400, 45056, 99840, 41984, 99840},
{41984, 99840, 38912, 99840, 35840, 100352},
{35840, 100352, 37120, 116480, 38400, 132608},
{38400, 132608, 25856, 123904, 21120, 121088},
{21120, 121088, 16384, 118272, 13312, 118272},
{13312, 118272, 10240, 118272, 8320, 120320},
{8320, 120320, 6400, 122368, 3840, 127744},
{3840, 127744, 18560, 134656, 33280, 141568},
{33280, 141568, 16128, 149504, 11648, 152832},
{11648, 152832, 7168, 156160, 7168, 159488},
{7168, 159488, 7168, 162816, 11264, 169472},
{11264, 169472, 24832, 160128, 38400, 150784},
{38400, 150784, 37120, 163584, 37120, 171008},
{37120, 171008, 37120, 183552, 46080, 183552},
{46080, 183552, 46080, 183552, 46080, 183552},
{73984, 2560, 65280, 2560, 56576, 2560},
{56576, 2560, 56576, 27008, 56576, 51456},
{56576, 51456, 33408, 51456, 10240, 51456},
{10240, 51456, 10240, 60160, 10240, 68864},
{10240, 68864, 33408, 68864, 56576, 68864},
{56576, 68864, 56576, 94080, 56576, 119296},
{56576, 119296, 65280, 119296, 73984, 119296},
{73984, 119296, 73984, 94080, 73984, 68864},
{73984, 68864, 97920, 68864, 121856, 68864},
{121856, 68864, 121856, 60160, 121856, 51456},
{121856, 51456, 97920, 51456, 73984, 51456},
{73984, 51456, 73984, 27008, 73984, 2560},
{73984, 2560, 73984, 2560, 73984, 2560},
{46080, 9216, 46080, -3072, 38272, -15488},
{38272, -15488, 30464, -27904, 18432, -35072},
{18432, -35072, 14720, -31232, 11008, -27392},
{11008, -27392, 28416, -16384, 30208, -1280},
{30208, -1280, 27136, -1792, 23680, -1792},
{23680, -1792, 20224, -1792, 16512, 1920},
{16512, 1920, 12800, 5632, 12800, 12032},
{12800, 12032, 12800, 28928, 28416, 28928},
{28416, 28928, 46080, 28928, 46080, 9216},
{46080, 9216, 46080, 9216, 46080, 9216},
{15360, 54784, 15360, 64384, 15360, 73984},
{15360, 73984, 50688, 73984, 86016, 73984},
{86016, 73984, 86016, 64384, 86016, 54784},
{86016, 54784, 50688, 54784, 15360, 54784},
{15360, 54784, 15360, 54784, 15360, 54784},
{45568, 13824, 45568, 4608, 41472, 1536},
{41472, 1536, 37376, -1536, 26880, -1536},
{26880, -1536, 12800, -1536, 12800, 12800},
{12800, 12800, 12800, 22784, 16640, 27008},
{16640, 27008, 20480, 31232, 30208, 31232},
{30208, 31232, 39936, 31232, 42752, 27136},
{42752, 27136, 45568, 23040, 45568, 13824},
{45568, 13824, 45568, 13824, 45568, 13824},
{82944, 184320, 92672, 184320, 102400, 184320},
{102400, 184320, 63488, 73728, 24576, -36864},
{24576, -36864, 14848, -36864, 5120, -36864},
{5120, -36864, 44032, 73728, 82944, 184320},
{123520, 113152, 140032, 95232, 140032, 66816},
{140032, 66816, 140032, 38400, 121728, 17920},
{121728, 17920, 103424, -2560, 72704, -2560},
{72704, -2560, 41984, -2560, 25472, 15360},
{25472, 15360, 8960, 33280, 8960, 61696},
{8960, 61696, 8960, 90112, 27264, 110592},
{27264, 110592, 45568, 131072, 76288, 131072},
{76288, 131072, 107008, 131072, 123520, 113152},
{123520, 113152, 123520, 113152, 123520, 113152},
{106880, 28416, 116992, 42496, 116992, 65152},
{116992, 65152, 116992, 87808, 104704, 100992},
{104704, 100992, 92416, 114176, 72320, 114176},
{72320, 114176, 52224, 114176, 42112, 100096},
{42112, 100096, 32000, 86016, 32000, 63360},
{32000, 63360, 32000, 40704, 44160, 27520},
{44160, 27520, 56320, 14336, 76544, 14336},
{76544, 14336, 96768, 14336, 106880, 28416},
{106880, 28416, 106880, 28416, 106880, 28416},
{59136, 129280, 59136, 78080, 59136, 26880},
{59136, 26880, 59136, 21248, 60288, 19200},
{60288, 19200, 61440, 17152, 65280, 16896},
{65280, 16896, 74880, 16000, 84480, 15104},
{84480, 15104, 84480, 7552, 84480, 0},
{84480, 0, 48384, 0, 12288, 0},
{12288, 0, 12288, 7552, 12288, 15104},
{12288, 15104, 22528, 16000, 32768, 16896},
{32768, 16896, 36608, 17408, 37760, 19328},
{37760, 19328, 38912, 21248, 38912, 26880},
{38912, 26880, 38912, 66304, 38912, 105728},
{38912, 105728, 26112, 99968, 13312, 94208},
{13312, 94208, 13312, 103424, 13312, 112640},
{13312, 112640, 29568, 120960, 45824, 129280},
{45824, 129280, 52480, 129280, 59136, 129280},
{59136, 129280, 59136, 129280, 59136, 129280},
{105216, 19200, 105216, 9600, 105216, 0},
{105216, 0, 56832, 0, 8448, 0},
{8448, 0, 8448, 2048, 8448, 4096},
{8448, 4096, 8448, 19200, 13568, 27392},
{13568, 27392, 18688, 35584, 25984, 41088},
{25984, 41088, 33280, 46592, 41472, 51584},
{41472, 51584, 49664, 56576, 55552, 60416},
{55552, 60416, 61440, 64256, 67584, 69120},
{67584, 69120, 79616, 78848, 79616, 90624},
{79616, 90624, 79616, 102400, 73088, 108672},
{73088, 108672, 66560, 114944, 56448, 114944},
{56448, 114944, 46336, 114944, 34048, 110848},
{34048, 110848, 32128, 100992, 30208, 91136},
{30208, 91136, 22528, 91136, 14848, 91136},
{14848, 91136, 13952, 106624, 13056, 122112},
{13056, 122112, 37888, 130048, 58880, 130048},
{58880, 130048, 79872, 130048, 90880, 119936},
{90880, 119936, 101888, 109824, 101888, 92416},
{101888, 92416, 101888, 73472, 86016, 60160},
{86016, 60160, 77824, 53504, 72704, 50176},
{72704, 50176, 67584, 46848, 62080, 43904},
{62080, 43904, 56576, 40960, 52096, 38656},
{52096, 38656, 47616, 36352, 45312, 34944},
{45312, 34944, 43008, 33536, 39936, 31232},
{39936, 31232, 34048, 26624, 33536, 19200},
{33536, 19200, 69376, 19200, 105216, 19200},
{105216, 19200, 105216, 19200, 105216, 19200},
{30464, 38400, 29824, 46592, 29184, 54784},
{29184, 54784, 42240, 56832, 58880, 64512},
{58880, 64512, 67840, 68864, 73600, 76416},
{73600, 76416, 79360, 83968, 79360, 93440},
{79360, 93440, 79360, 102912, 72960, 109184},
{72960, 109184, 66560, 115456, 56832, 115456},
{56832, 115456, 47104, 115456, 41344, 114304},
{41344, 114304, 35584, 113152, 33536, 112896},
{33536, 112896, 32128, 103680, 30720, 94464},
{30720, 94464, 22784, 94464, 14848, 94464},
{14848, 94464, 13952, 109312, 13056, 124160},
{13056, 124160, 41984, 130048, 61184, 130048},
{61184, 130048, 80384, 130048, 90880, 119424},
{90880, 119424, 101376, 108800, 101376, 92928},
{101376, 92928, 101376, 65280, 67840, 51456},
{67840, 51456, 85504, 47104, 96384, 37888},
{96384, 37888, 107264, 28672, 107264, 7680},
{107264, 7680, 107264, -13312, 92288, -28672},
{92288, -28672, 77312, -44032, 53376, -44032},
{53376, -44032, 29440, -44032, 6400, -32512},
{6400, -32512, 8320, -25856, 10240, -19200},
{10240, -19200, 15360, -20992, 29440, -23680},
{29440, -23680, 43520, -26368, 50176, -26368},
{50176, -26368, 67072, -26368, 76160, -15488},
{76160, -15488, 85248, -4608, 85248, 7680},
{85248, 7680, 85248, 33536, 54784, 36352},
{54784, 36352, 42624, 37376, 30464, 38400},
{121600, 19200, 121600, 9600, 121600, 0},
{121600, 0, 111872, 0, 102144, 0},
{102144, 0, 102144, -20992, 102144, -41984},
{102144, -41984, 92032, -41984, 81920, -41984},
{81920, -41984, 81920, -20992, 81920, 0},
{81920, 0, 49408, 0, 16896, 0},
{16896, 0, 11648, 9472, 6400, 18944},
{6400, 18944, 44416, 75392, 82432, 131840},
{82432, 131840, 88576, 125440, 94720, 119040},
{94720, 119040, 62976, 69120, 31232, 19200},
{31232, 19200, 56576, 19200, 81920, 19200},
{81920, 19200, 81920, 41600, 81920, 64000},
{81920, 64000, 92032, 64000, 102144, 64000},
{102144, 64000, 102144, 41600, 102144, 19200},
{102144, 19200, 111872, 19200, 121600, 19200},
{121600, 19200, 121600, 19200, 121600, 19200},
{101376, 129024, 101376, 119552, 101376, 110080},
{101376, 110080, 71808, 110080, 42240, 110080},
{42240, 110080, 40320, 87040, 38400, 64000},
{38400, 64000, 51840, 61952, 65280, 59904},
{65280, 59904, 91136, 56320, 99840, 41472},
{99840, 41472, 106496, 29952, 106496, 14592},
{106496, 14592, 106496, -11520, 90496, -27264},
{90496, -27264, 74496, -43008, 51328, -43008},
{51328, -43008, 28160, -43008, 5120, -31488},
{5120, -31488, 7040, -24832, 8960, -18176},
{8960, -18176, 14848, -19968, 28032, -22656},
{28032, -22656, 41216, -25344, 47104, -25344},
{47104, -25344, 65280, -25344, 74880, -13440},
{74880, -13440, 84480, -1536, 84480, 12032},
{84480, 12032, 84480, 25600, 77056, 32896},
{77056, 32896, 69632, 40192, 51712, 42752},
{51712, 42752, 35072, 45184, 18432, 47616},
{18432, 47616, 21760, 88320, 25088, 129024},
{25088, 129024, 63232, 129024, 101376, 129024},
{101376, 129024, 101376, 129024, 101376, 129024},
{111488, 94848, 124416, 79872, 124416, 53888},
{124416, 53888, 124416, 27904, 108544, 12672},
{108544, 12672, 92672, -2560, 65536, -2560},
{65536, -2560, 50944, -2560, 40064, 3200},
{40064, 3200, 29184, 8960, 23040, 18944},
{23040, 18944, 11264, 38400, 11264, 66944},
{11264, 66944, 11264, 95488, 19456, 118272},
{19456, 118272, 27648, 141056, 46848, 159744},
{46848, 159744, 74752, 186880, 112384, 186880},
{112384, 186880, 112384, 178944, 112384, 171008},
{112384, 171008, 82432, 169728, 60800, 145920},
{60800, 145920, 39168, 122112, 34560, 92160},
{34560, 92160, 42752, 102400, 52096, 106112},
{52096, 106112, 61440, 109824, 74240, 109824},
{74240, 109824, 98560, 109824, 111488, 94848},
{111488, 94848, 111488, 94848, 111488, 94848},
{102400, 54528, 102400, 92160, 69376, 92160},
{69376, 92160, 60160, 92160, 52864, 88832},
{52864, 88832, 45568, 85504, 42240, 81152},
{42240, 81152, 34816, 71168, 34944, 53632},
{34944, 53632, 35072, 36096, 44416, 25472},
{44416, 25472, 53760, 14848, 70272, 14848},
{70272, 14848, 86784, 14848, 94592, 26112},
{94592, 26112, 102400, 37376, 102400, 54528},
{102400, 54528, 102400, 54528, 102400, 54528},
{30208, -45312, 21504, -39936, 12800, -34560},
{12800, -34560, 32512, -256, 57472, 47232},
{57472, 47232, 82432, 94720, 86016, 109312},
{86016, 109312, 60416, 109312, 34816, 109312},
{34816, 109312, 29696, 109312, 27520, 108032},
{27520, 108032, 25344, 106752, 25088, 102400},
{25088, 102400, 24320, 93824, 23552, 85248},
{23552, 85248, 15488, 85248, 7424, 85248},
{7424, 85248, 6272, 107136, 5120, 129024},
{5120, 129024, 56960, 129024, 108800, 129024},
{108800, 129024, 108800, 126208, 108800, 123392},
{108800, 123392, 108800, 113408, 105728, 105088},
{105728, 105088, 102656, 96768, 90880, 73216},
{90880, 73216, 34048, -38400, 30208, -45312},
{30208, -45312, 30208, -45312, 30208, -45312},
{16640, 139520, 16640, 163584, 30592, 175232},
{30592, 175232, 44544, 186880, 65920, 186880},
{65920, 186880, 87296, 186880, 99584, 175744},
{99584, 175744, 111872, 164608, 111872, 145152},
{111872, 145152, 111872, 134144, 106752, 122112},
{106752, 122112, 105216, 118528, 99712, 112896},
{99712, 112896, 94208, 107264, 92416, 105856},
{92416, 105856, 90624, 104448, 82688, 97792},
{82688, 97792, 96512, 89088, 103424, 82944},
{103424, 82944, 118272, 69376, 118272, 46336},
{118272, 46336, 118272, 23296, 102528, 10368},
{102528, 10368, 86784, -2560, 62592, -2560},
{62592, -2560, 38400, -2560, 24320, 8960},
{24320, 8960, 10240, 20480, 10240, 44800},
{10240, 44800, 10240, 62464, 21248, 74240},
{21248, 74240, 30208, 83456, 45568, 94464},
{45568, 94464, 30976, 104704, 23808, 115200},
{23808, 115200, 16640, 125696, 16640, 139520},
{16640, 139520, 16640, 139520, 16640, 139520},
{37760, 69120, 31744, 60672, 31744, 46080},
{31744, 46080, 31744, 31488, 41856, 22144},
{41856, 22144, 51968, 12800, 66944, 12800},
{66944, 12800, 81920, 12800, 89216, 20992},
{89216, 20992, 96512, 29184, 96512, 43008},
{96512, 43008, 96512, 56832, 88832, 64768},
{88832, 64768, 81152, 72704, 61440, 84480},
{61440, 84480, 59136, 85760, 56832, 87040},
{56832, 87040, 43776, 77568, 37760, 69120},
{37760, 69120, 37760, 69120, 37760, 69120},
{89216, 128384, 92160, 136192, 92160, 147200},
{92160, 147200, 92160, 158208, 83072, 165120},
{83072, 165120, 73984, 172032, 61952, 172032},
{61952, 172032, 37120, 172032, 37120, 144640},
{37120, 144640, 37120, 133376, 44928, 125056},
{44928, 125056, 52736, 116736, 71424, 104704},
{71424, 104704, 78848, 111872, 82560, 116224},
{82560, 116224, 86272, 120576, 89216, 128384},
{89216, 128384, 89216, 128384, 89216, 128384},
{20864, 33024, 7168, 48128, 7168, 74496},
{7168, 74496, 7168, 100864, 22272, 115840},
{22272, 115840, 37376, 130816, 63616, 130816},
{63616, 130816, 89856, 130816, 104960, 112896},
{104960, 112896, 120064, 94976, 120064, 65024},
{120064, 65024, 120064, -4352, 77824, -41216},
{77824, -41216, 51712, -64000, 20992, -64000},
{20992, -64000, 19072, -55680, 17152, -47360},
{17152, -47360, 44544, -47360, 68736, -22528},
{68736, -22528, 92928, 2304, 96768, 36864},
{96768, 36864, 83712, 17920, 59136, 17920},
{59136, 17920, 34560, 17920, 20864, 33024},
{20864, 33024, 20864, 33024, 20864, 33024},
{29184, 70912, 29184, 36096, 62464, 36096},
{62464, 36096, 72448, 36096, 80512, 40320},
{80512, 40320, 88576, 44544, 92544, 50432},
{92544, 50432, 96512, 56320, 96512, 73600},
{96512, 73600, 96512, 90880, 87424, 102016},
{87424, 102016, 78336, 113152, 60160, 113152},
{60160, 113152, 29184, 113152, 29184, 70912},
{29184, 70912, 29184, 70912, 29184, 70912},
{45568, 13824, 45568, 4608, 41472, 1536},
{41472, 1536, 37376, -1536, 26880, -1536},
{26880, -1536, 12800, -1536, 12800, 12800},
{12800, 12800, 12800, 22784, 16640, 27008},
{16640, 27008, 20480, 31232, 30208, 31232},
{30208, 31232, 39936, 31232, 42752, 27136},
{42752, 27136, 45568, 23040, 45568, 13824},
{45568, 13824, 45568, 13824, 45568, 13824},
{45568, 108032, 45568, 98816, 41472, 95744},
{41472, 95744, 37376, 92672, 26880, 92672},
{26880, 92672, 12800, 92672, 12800, 107008},
{12800, 107008, 12800, 116992, 16640, 121216},
{16640, 121216, 20480, 125440, 30208, 125440},
{30208, 125440, 39936, 125440, 42752, 121344},
{42752, 121344, 45568, 117248, 45568, 108032},
{45568, 108032, 45568, 108032, 45568, 108032},
{46080, 9216, 46080, -3072, 38272, -15488},
{38272, -15488, 30464, -27904, 18432, -35072},
{18432, -35072, 14720, -31232, 11008, -27392},
{11008, -27392, 28416, -16384, 30208, -1280},
{30208, -1280, 27136, -1792, 23680, -1792},
{23680, -1792, 20224, -1792, 16512, 1920},
{16512, 1920, 12800, 5632, 12800, 12032},
{12800, 12032, 12800, 28928, 28416, 28928},
{28416, 28928, 46080, 28928, 46080, 9216},
{46080, 9216, 46080, 9216, 46080, 9216},
{46336, 108032, 46336, 98816, 42240, 95744},
{42240, 95744, 38144, 92672, 27648, 92672},
{27648, 92672, 13568, 92672, 13568, 107008},
{13568, 107008, 13568, 116992, 17408, 121216},
{17408, 121216, 21248, 125440, 30976, 125440},
{30976, 125440, 40704, 125440, 43520, 121344},
{43520, 121344, 46336, 117248, 46336, 108032},
{46336, 108032, 46336, 108032, 46336, 108032},
{116480, -5120, 64000, 28160, 11520, 61440},
{11520, 61440, 64000, 94720, 116480, 128000},
{116480, 128000, 121216, 121600, 125952, 115200},
{125952, 115200, 84352, 88320, 42752, 61440},
{42752, 61440, 84096, 34560, 125440, 7680},
{125440, 7680, 120960, 1280, 116480, -5120},
{15360, 73728, 15360, 82176, 15360, 90624},
{15360, 90624, 69632, 90624, 123904, 90624},
{123904, 90624, 123904, 82176, 123904, 73728},
{123904, 73728, 69632, 73728, 15360, 73728},
{15360, 73728, 15360, 73728, 15360, 73728},
{15360, 29440, 15360, 37888, 15360, 46336},
{15360, 46336, 69632, 46336, 123904, 46336},
{123904, 46336, 123904, 37888, 123904, 29440},
{123904, 29440, 69632, 29440, 15360, 29440},
{15360, 29440, 15360, 29440, 15360, 29440},
{23040, 128000, 75520, 94720, 128000, 61440},
{128000, 61440, 75520, 28160, 23040, -5120},
{23040, -5120, 18304, 1280, 13568, 7680},
{13568, 7680, 55168, 34560, 96768, 61440},
{96768, 61440, 55424, 88320, 14080, 115200},
{14080, 115200, 18560, 121600, 23040, 128000},
{92160, 147712, 92160, 171520, 65024, 171520},
{65024, 171520, 52224, 171520, 39168, 166144},
{39168, 166144, 37888, 156032, 36608, 145920},
{36608, 145920, 28416, 145920, 20224, 145920},
{20224, 145920, 18816, 162176, 17408, 178432},
{17408, 178432, 41984, 186624, 65664, 186624},
{65664, 186624, 89344, 186624, 101120, 175872},
{101120, 175872, 112896, 165120, 112896, 147712},
{112896, 147712, 112896, 134912, 108928, 125056},
{108928, 125056, 104960, 115200, 98944, 109568},
{98944, 109568, 92928, 103936, 85888, 98816},
{85888, 98816, 78848, 93696, 72704, 90112},
{72704, 90112, 58624, 81920, 57600, 68864},
{57600, 68864, 56960, 57728, 56320, 46592},
{56320, 46592, 48640, 45696, 40960, 44800},
{40960, 44800, 40320, 50944, 39680, 57088},
{39680, 57088, 38400, 69376, 38400, 77568},
{38400, 77568, 38400, 85760, 42368, 91392},
{42368, 91392, 46336, 97024, 52352, 100864},
{52352, 100864, 58368, 104704, 65280, 109440},
{65280, 109440, 72192, 114176, 78208, 118784},
{78208, 118784, 84224, 123392, 88192, 130944},
{88192, 130944, 92160, 138496, 92160, 147712},
{92160, 147712, 92160, 147712, 92160, 147712},
{36864, 768, 34304, 4352, 34304, 13696},
{34304, 13696, 34304, 23040, 38016, 25984},
{38016, 25984, 41728, 28928, 50944, 28928},
{50944, 28928, 60160, 28928, 63104, 25856},
{63104, 25856, 66048, 22784, 66048, 13696},
{66048, 13696, 66048, 4608, 62464, 896},
{62464, 896, 58880, -2816, 49152, -2816},
{49152, -2816, 39424, -2816, 36864, 768},
{36864, 768, 36864, 768, 36864, 768},
{127744, 113664, 135936, 115200, 144128, 116736},
{144128, 116736, 139904, 89984, 135680, 63232},
{135680, 63232, 135168, 61184, 135168, 58112},
{135168, 58112, 135168, 55040, 137728, 51968},
{137728, 51968, 140288, 48896, 144640, 48896},
{144640, 48896, 154368, 48896, 161536, 63104},
{161536, 63104, 168704, 77312, 168704, 96768},
{168704, 96768, 168704, 122112, 151680, 136192},
{151680, 136192, 134656, 150272, 109568, 150272},
{109568, 150272, 98048, 150272, 84608, 147456},
{84608, 147456, 71168, 144640, 63232, 139520},
{63232, 139520, 51200, 132096, 40448, 109312},
{40448, 109312, 29696, 86528, 29696, 61440},
{29696, 61440, 29696, 30464, 47872, 14336},
{47872, 14336, 66048, -1792, 91904, -1792},
{91904, -1792, 126464, -1792, 167424, 17408},
{167424, 17408, 171776, 10880, 176128, 4352},
{176128, 4352, 131072, -20736, 85504, -20736},
{85504, -20736, 54272, -20736, 31104, 640},
{31104, 640, 7936, 22016, 7936, 55808},
{7936, 55808, 7936, 84992, 17024, 106368},
{17024, 106368, 26112, 127744, 37120, 139520},
{37120, 139520, 65024, 168960, 112128, 168960},
{112128, 168960, 147968, 168960, 167808, 148352},
{167808, 148352, 187648, 127744, 187648, 98944},
{187648, 98944, 187648, 70144, 173440, 50816},
{173440, 50816, 159232, 31488, 141056, 31488},
{141056, 31488, 129024, 31488, 120064, 44800},
{120064, 44800, 97536, 27648, 82432, 27648},
{82432, 27648, 70912, 27648, 61952, 37376},
{61952, 37376, 52992, 47104, 52992, 59776},
{52992, 59776, 52992, 72448, 57856, 84864},
{57856, 84864, 62720, 97280, 69120, 104192},
{69120, 104192, 83200, 119296, 103168, 119296},
{103168, 119296, 116480, 119296, 127744, 113664},
{127744, 113664, 127744, 113664, 127744, 113664},
{118784, 59392, 121216, 78208, 123648, 97024},
{123648, 97024, 115200, 104448, 102912, 104576},
{102912, 104576, 90624, 104704, 84224, 97792},
{84224, 97792, 71680, 85248, 71680, 64000},
{71680, 64000, 71680, 45312, 89088, 45312},
{89088, 45312, 94208, 45312, 103552, 49920},
{103552, 49920, 112896, 54528, 118784, 59392},
{118784, 59392, 118784, 59392, 118784, 59392},
{17920, 28672, 45440, 106496, 72960, 184320},
{72960, 184320, 84864, 184320, 96768, 184320},
{96768, 184320, 124160, 106496, 151552, 28672},
{151552, 28672, 153856, 22272, 156288, 20096},
{156288, 20096, 158720, 17920, 163840, 16896},
{163840, 16896, 168832, 16000, 173824, 15104},
{173824, 15104, 173824, 7552, 173824, 0},
{173824, 0, 140928, 0, 108032, 0},
{108032, 0, 108032, 7296, 108032, 14592},
{108032, 14592, 115072, 15744, 122112, 16896},
{122112, 16896, 128768, 17920, 128768, 23040},
{128768, 23040, 128768, 25344, 127744, 28160},
{127744, 28160, 122112, 44416, 116480, 60672},
{116480, 60672, 82560, 60672, 48640, 60672},
{48640, 60672, 43264, 44800, 37888, 28928},
{37888, 28928, 36864, 26112, 36864, 23552},
{36864, 23552, 36864, 17920, 43776, 16896},
{43776, 16896, 50688, 15744, 57600, 14592},
{57600, 14592, 57600, 7296, 57600, 0},
{57600, 0, 26880, 0, -3840, 0},
{-3840, 0, -3840, 7552, -3840, 15104},
{-3840, 15104, 1024, 16000, 5888, 16896},
{5888, 16896, 11008, 17920, 13312, 20096},
{13312, 20096, 15616, 22272, 17920, 28672},
{17920, 28672, 17920, 28672, 17920, 28672},
{85248, 150784, 83840, 156544, 82432, 162304},
{82432, 162304, 81024, 156544, 79616, 150784},
{79616, 150784, 67200, 114688, 54784, 78592},
{54784, 78592, 82432, 78592, 110080, 78592},
{110080, 78592, 97664, 114688, 85248, 150784},
{35840, 27136, 35840, 92160, 35840, 157184},
{35840, 157184, 35840, 162304, 34432, 164224},
{34432, 164224, 33024, 166144, 28416, 166912},
{28416, 166912, 21632, 168064, 14848, 169216},
{14848, 169216, 14848, 176768, 14848, 184320},
{14848, 184320, 47616, 184320, 80384, 184320},
{80384, 184320, 109824, 184320, 124544, 175616},
{124544, 175616, 139264, 166912, 139264, 142848},
{139264, 142848, 139264, 125696, 130048, 113664},
{130048, 113664, 120832, 101632, 110336, 99072},
{110336, 99072, 129280, 97280, 140672, 86784},
{140672, 86784, 152064, 76288, 152064, 55552},
{152064, 55552, 152064, 29696, 135168, 14848},
{135168, 14848, 118272, 0, 89088, 0},
{89088, 0, 51968, 0, 14848, 0},
{14848, 0, 14848, 7552, 14848, 15104},
{14848, 15104, 21632, 16256, 28416, 17408},
{28416, 17408, 33024, 18176, 34432, 20096},
{34432, 20096, 35840, 22016, 35840, 27136},
{35840, 27136, 35840, 27136, 35840, 27136},
{57856, 166400, 57856, 135424, 57856, 104448},
{57856, 104448, 67840, 104448, 77824, 104448},
{77824, 104448, 97792, 104448, 106496, 110976},
{106496, 110976, 115200, 117504, 115200, 138496},
{115200, 138496, 115200, 154880, 104704, 160640},
{104704, 160640, 94208, 166400, 74496, 166400},
{74496, 166400, 66176, 166400, 57856, 166400},
{57856, 166400, 57856, 166400, 57856, 166400},
{57856, 87040, 57856, 52480, 57856, 17920},
{57856, 17920, 71680, 17920, 85504, 17920},
{85504, 17920, 105216, 17920, 114944, 23552},
{114944, 23552, 128000, 31488, 128000, 55040},
{128000, 55040, 128000, 87040, 85504, 87040},
{85504, 87040, 71680, 87040, 57856, 87040},
{57856, 87040, 57856, 87040, 57856, 87040},
{145408, 29440, 147968, 21120, 150528, 12800},
{150528, 12800, 149760, 12032, 143616, 9856},
{143616, 9856, 137472, 7680, 132608, 5888},
{132608, 5888, 127744, 4096, 122624, 2688},
{122624, 2688, 117504, 1280, 111616, 0},
{111616, 0, 100352, -2560, 87552, -2560},
{87552, -2560, 10752, -2560, 10752, 90112},
{10752, 90112, 10752, 133120, 31616, 160000},
{31616, 160000, 52480, 186880, 94208, 186880},
{94208, 186880, 109312, 186880, 121984, 184192},
{121984, 184192, 134656, 181504, 151552, 172288},
{151552, 172288, 149504, 151424, 147456, 130560},
{147456, 130560, 138240, 130560, 129024, 130560},
{129024, 130560, 126336, 144640, 123648, 158720},
{123648, 158720, 113664, 163584, 106112, 165632},
{106112, 165632, 98560, 167680, 85632, 167680},
{85632, 167680, 72704, 167680, 64640, 164096},
{64640, 164096, 56576, 160512, 50176, 154112},
{50176, 154112, 43776, 147712, 39680, 127872},
{39680, 127872, 35584, 108032, 35584, 91904},
{35584, 91904, 35584, 57344, 50176, 37376},
{50176, 37376, 64768, 17408, 92160, 17408},
{92160, 17408, 113408, 17408, 145408, 29440},
{145408, 29440, 145408, 29440, 145408, 29440},
{132736, 36352, 147200, 54016, 147200, 94336},
{147200, 94336, 147200, 134656, 132992, 150144},
{132992, 150144, 118784, 165632, 87552, 165632},
{87552, 165632, 72704, 165632, 57856, 165632},
{57856, 165632, 57856, 92160, 57856, 18688},
{57856, 18688, 72704, 18688, 87552, 18688},
{87552, 18688, 118272, 18688, 132736, 36352},
{132736, 36352, 132736, 36352, 132736, 36352},
{14848, 184320, 53120, 184320, 91392, 184320},
{91392, 184320, 172032, 184320, 172032, 94976},
{172032, 94976, 172032, 50944, 152576, 25472},
{152576, 25472, 133120, 0, 91392, 0},
{91392, 0, 53120, 0, 14848, 0},
{14848, 0, 14848, 7680, 14848, 15360},
{14848, 15360, 21632, 16512, 28416, 17664},
{28416, 17664, 33024, 18432, 34432, 20608},
{34432, 20608, 35840, 22784, 35840, 27904},
{35840, 27904, 35840, 93056, 35840, 158208},
{35840, 158208, 35840, 163328, 34432, 165632},
{34432, 165632, 33024, 167936, 28416, 168448},
{28416, 168448, 21632, 169216, 14848, 169984},
{14848, 169984, 14848, 177152, 14848, 184320},
{14848, 184320, 14848, 184320, 14848, 184320},
{147456, 0, 81152, 0, 14848, 0},
{14848, 0, 14848, 7680, 14848, 15360},
{14848, 15360, 21632, 16512, 28416, 17664},
{28416, 17664, 33024, 18432, 34432, 20352},
{34432, 20352, 35840, 22272, 35840, 27392},
{35840, 27392, 35840, 92800, 35840, 158208},
{35840, 158208, 35840, 163328, 34432, 165632},
{34432, 165632, 33024, 167936, 28416, 168448},
{28416, 168448, 21632, 169216, 14848, 169984},
{14848, 169984, 14848, 177152, 14848, 184320},
{14848, 184320, 80640, 184320, 146432, 184320},
{146432, 184320, 145664, 162304, 144896, 140288},
{144896, 140288, 136704, 140288, 128512, 140288},
{128512, 140288, 127744, 149248, 126976, 158208},
{126976, 158208, 126720, 162816, 124416, 164224},
{124416, 164224, 122112, 165632, 117248, 165632},
{117248, 165632, 87552, 165632, 57856, 165632},
{57856, 165632, 57856, 135552, 57856, 105472},
{57856, 105472, 87808, 105472, 117760, 105472},
{117760, 105472, 117760, 96128, 117760, 86784},
{117760, 86784, 87808, 86784, 57856, 86784},
{57856, 86784, 57856, 52736, 57856, 18688},
{57856, 18688, 87680, 18688, 117504, 18688},
{117504, 18688, 122368, 18688, 124672, 20096},
{124672, 20096, 126976, 21504, 127232, 26112},
{127232, 26112, 128000, 35712, 128768, 45312},
{128768, 45312, 137344, 45312, 145920, 45312},
{145920, 45312, 146688, 22656, 147456, 0},
{14848, 184320, 79360, 184320, 143872, 184320},
{143872, 184320, 143104, 162304, 142336, 140288},
{142336, 140288, 134144, 140288, 125952, 140288},
{125952, 140288, 125184, 149248, 124416, 158208},
{124416, 158208, 124160, 162816, 121856, 164224},
{121856, 164224, 119552, 165632, 114688, 165632},
{114688, 165632, 86272, 165632, 57856, 165632},
{57856, 165632, 57856, 134784, 57856, 103936},
{57856, 103936, 85248, 103936, 112640, 103936},
{112640, 103936, 112640, 94592, 112640, 85248},
{112640, 85248, 85248, 85248, 57856, 85248},
{57856, 85248, 57856, 56192, 57856, 27136},
{57856, 27136, 57856, 22016, 59392, 19968},
{59392, 19968, 60928, 17920, 65536, 17408},
{65536, 17408, 74624, 16384, 83712, 15360},
{83712, 15360, 83712, 7680, 83712, 0},
{83712, 0, 49280, 0, 14848, 0},
{14848, 0, 14848, 7552, 14848, 15104},
{14848, 15104, 21632, 16256, 28416, 17408},
{28416, 17408, 33024, 18176, 34432, 20096},
{34432, 20096, 35840, 22016, 35840, 27136},
{35840, 27136, 35840, 93184, 35840, 159232},
{35840, 159232, 35840, 163840, 34304, 165888},
{34304, 165888, 32768, 167936, 28416, 168448},
{28416, 168448, 21632, 169216, 14848, 169984},
{14848, 169984, 14848, 177152, 14848, 184320},
{14848, 184320, 14848, 184320, 14848, 184320},
{36352, 91904, 36352, 58112, 50176, 37504},
{50176, 37504, 64000, 16896, 92416, 16896},
{92416, 16896, 109824, 16896, 130304, 23296},
{130304, 23296, 130304, 40320, 130304, 57344},
{130304, 57344, 130304, 62208, 128896, 64256},
{128896, 64256, 127488, 66304, 122880, 67072},
{122880, 67072, 115584, 68224, 108288, 69376},
{108288, 69376, 108288, 76928, 108288, 84480},
{108288, 84480, 138496, 84480, 168704, 84480},
{168704, 84480, 168704, 76928, 168704, 69376},
{168704, 69376, 163712, 68480, 158720, 67584},
{158720, 67584, 154112, 66560, 152960, 64768},
{152960, 64768, 151808, 62976, 151808, 57856},
{151808, 57856, 151808, 35456, 151808, 13056},
{151808, 13056, 116480, -2560, 88576, -2560},
{88576, -2560, 11520, -2560, 11520, 90112},
{11520, 90112, 11520, 133120, 32384, 160000},
{32384, 160000, 53248, 186880, 94976, 186880},
{94976, 186880, 110848, 186880, 124416, 184192},
{124416, 184192, 137984, 181504, 155392, 172288},
{155392, 172288, 153344, 151424, 151296, 130560},
{151296, 130560, 142080, 130560, 132864, 130560},
{132864, 130560, 130176, 144640, 127488, 158720},
{127488, 158720, 116992, 163584, 108544, 165632},
{108544, 165632, 100096, 167680, 86784, 167680},
{86784, 167680, 73472, 167680, 65408, 164096},
{65408, 164096, 57344, 160512, 50944, 154112},
{50944, 154112, 44544, 147712, 40448, 128000},
{40448, 128000, 36352, 108288, 36352, 91904},
{36352, 91904, 36352, 91904, 36352, 91904},
{166400, 157184, 166400, 92160, 166400, 27136},
{166400, 27136, 166400, 22016, 167808, 20096},
{167808, 20096, 169216, 18176, 173824, 17408},
{173824, 17408, 180608, 16256, 187392, 15104},
{187392, 15104, 187392, 7552, 187392, 0},
{187392, 0, 154752, 0, 122112, 0},
{122112, 0, 122112, 7552, 122112, 15104},
{122112, 15104, 129536, 16256, 136960, 17408},
{136960, 17408, 141568, 18176, 142976, 20096},
{142976, 20096, 144384, 22016, 144384, 27136},
{144384, 27136, 144384, 57216, 144384, 87296},
{144384, 87296, 101120, 87296, 57856, 87296},
{57856, 87296, 57856, 57216, 57856, 27136},
{57856, 27136, 57856, 22016, 59264, 20096},
{59264, 20096, 60672, 18176, 65280, 17408},
{65280, 17408, 72704, 16256, 80128, 15104},
{80128, 15104, 80128, 7552, 80128, 0},
{80128, 0, 47488, 0, 14848, 0},
{14848, 0, 14848, 7552, 14848, 15104},
{14848, 15104, 21632, 16256, 28416, 17408},
{28416, 17408, 33024, 18176, 34432, 20096},
{34432, 20096, 35840, 22016, 35840, 27136},
{35840, 27136, 35840, 92160, 35840, 157184},
{35840, 157184, 35840, 162304, 34432, 164224},
{34432, 164224, 33024, 166144, 28416, 166912},
{28416, 166912, 21632, 168064, 14848, 169216},
{14848, 169216, 14848, 176768, 14848, 184320},
{14848, 184320, 47488, 184320, 80128, 184320},
{80128, 184320, 80128, 176768, 80128, 169216},
{80128, 169216, 72704, 168064, 65280, 166912},
{65280, 166912, 60672, 166144, 59264, 164224},
{59264, 164224, 57856, 162304, 57856, 157184},
{57856, 157184, 57856, 131456, 57856, 105728},
{57856, 105728, 101120, 105728, 144384, 105728},
{144384, 105728, 144384, 131456, 144384, 157184},
{144384, 157184, 144384, 162304, 142976, 164224},
{142976, 164224, 141568, 166144, 136960, 166912},
{136960, 166912, 129536, 168064, 122112, 169216},
{122112, 169216, 122112, 176768, 122112, 184320},
{122112, 184320, 154752, 184320, 187392, 184320},
{187392, 184320, 187392, 176768, 187392, 169216},
{187392, 169216, 180608, 168064, 173824, 166912},
{173824, 166912, 169216, 166144, 167808, 164224},
{167808, 164224, 166400, 162304, 166400, 157184},
{166400, 157184, 166400, 157184, 166400, 157184},
{78848, 15104, 78848, 7552, 78848, 0},
{78848, 0, 46848, 0, 14848, 0},
{14848, 0, 14848, 7552, 14848, 15104},
{14848, 15104, 21632, 16256, 28416, 17408},
{28416, 17408, 33024, 18176, 34432, 20096},
{34432, 20096, 35840, 22016, 35840, 27136},
{35840, 27136, 35840, 92160, 35840, 157184},
{35840, 157184, 35840, 162304, 34432, 164224},
{34432, 164224, 33024, 166144, 28416, 166912},
{28416, 166912, 21632, 168064, 14848, 169216},
{14848, 169216, 14848, 176768, 14848, 184320},
{14848, 184320, 46848, 184320, 78848, 184320},
{78848, 184320, 78848, 176768, 78848, 169216},
{78848, 169216, 72064, 168064, 65280, 166912},
{65280, 166912, 60672, 166144, 59264, 164224},
{59264, 164224, 57856, 162304, 57856, 157184},
{57856, 157184, 57856, 92160, 57856, 27136},
{57856, 27136, 57856, 22016, 59264, 20096},
{59264, 20096, 60672, 18176, 65280, 17408},
{65280, 17408, 72064, 16256, 78848, 15104},
{3584, -39424, -1408, -32512, -6400, -25600},
{-6400, -25600, 21504, -8448, 28672, 3840},
{28672, 3840, 35840, 16128, 35840, 45824},
{35840, 45824, 35840, 101504, 35840, 157184},
{35840, 157184, 35840, 162304, 34432, 164224},
{34432, 164224, 33024, 166144, 28416, 166912},
{28416, 166912, 21632, 168064, 14848, 169216},
{14848, 169216, 14848, 176768, 14848, 184320},
{14848, 184320, 46848, 184320, 78848, 184320},
{78848, 184320, 78848, 176768, 78848, 169216},
{78848, 169216, 72064, 168064, 65280, 166912},
{65280, 166912, 60672, 166144, 59264, 164224},
{59264, 164224, 57856, 162304, 57856, 157184},
{57856, 157184, 57856, 97536, 57856, 37888},
{57856, 37888, 57856, 13568, 54272, 4480},
{54272, 4480, 50688, -4608, 47616, -9216},
{47616, -9216, 44544, -13824, 37376, -19200},
{37376, -19200, 25856, -27904, 3584, -39424},
{3584, -39424, 3584, -39424, 3584, -39424},
{57856, 98304, 57856, 62720, 57856, 27136},
{57856, 27136, 57856, 22016, 59264, 20096},
{59264, 20096, 60672, 18176, 65280, 17408},
{65280, 17408, 72576, 16256, 79872, 15104},
{79872, 15104, 79872, 7552, 79872, 0},
{79872, 0, 47360, 0, 14848, 0},
{14848, 0, 14848, 7552, 14848, 15104},
{14848, 15104, 21632, 16256, 28416, 17408},
{28416, 17408, 33024, 18176, 34432, 20096},
{34432, 20096, 35840, 22016, 35840, 27136},
{35840, 27136, 35840, 92160, 35840, 157184},
{35840, 157184, 35840, 162304, 34432, 164224},
{34432, 164224, 33024, 166144, 28416, 166912},
{28416, 166912, 21632, 168064, 14848, 169216},
{14848, 169216, 14848, 176768, 14848, 184320},
{14848, 184320, 47360, 184320, 79872, 184320},
{79872, 184320, 79872, 176768, 79872, 169216},
{79872, 169216, 72576, 168064, 65280, 166912},
{65280, 166912, 60672, 166144, 59264, 164224},
{59264, 164224, 57856, 162304, 57856, 157184},
{57856, 157184, 57856, 130176, 57856, 103168},
{57856, 103168, 90496, 138240, 123136, 173312},
{123136, 173312, 133376, 184320, 146944, 184320},
{146944, 184320, 153216, 184320, 159488, 184320},
{159488, 184320, 159488, 176384, 159488, 168448},
{159488, 168448, 151040, 168448, 146048, 166528},
{146048, 166528, 141056, 164608, 134656, 157952},
{134656, 157952, 108800, 129920, 82944, 101888},
{82944, 101888, 105984, 70528, 129024, 39168},
{129024, 39168, 139264, 25088, 145280, 20224},
{145280, 20224, 151296, 15360, 157696, 15360},
{157696, 15360, 164096, 15360, 169216, 17152},
{169216, 17152, 168448, 9728, 167680, 2304},
{167680, 2304, 158464, -2560, 146816, -2560},
{146816, -2560, 135168, -2560, 127744, 3968},
{127744, 3968, 120320, 10496, 110336, 24832},
{110336, 24832, 84096, 61568, 57856, 98304},
{138752, 0, 76800, 0, 14848, 0},
{14848, 0, 14848, 7552, 14848, 15104},
{14848, 15104, 21632, 16256, 28416, 17408},
{28416, 17408, 33024, 18176, 34432, 20096},
{34432, 20096, 35840, 22016, 35840, 27136},
{35840, 27136, 35840, 92160, 35840, 157184},
{35840, 157184, 35840, 162304, 34432, 164224},
{34432, 164224, 33024, 166144, 28416, 166912},
{28416, 166912, 21632, 168064, 14848, 169216},
{14848, 169216, 14848, 176768, 14848, 184320},
{14848, 184320, 47616, 184320, 80384, 184320},
{80384, 184320, 80384, 176768, 80384, 169216},
{80384, 169216, 72832, 168064, 65280, 166912},
{65280, 166912, 60672, 166144, 59264, 164224},
{59264, 164224, 57856, 162304, 57856, 157184},
{57856, 157184, 57856, 87936, 57856, 18688},
{57856, 18688, 83328, 18688, 108800, 18688},
{108800, 18688, 113664, 18688, 115968, 20096},
{115968, 20096, 118272, 21504, 118528, 26112},
{118528, 26112, 119296, 35712, 120064, 45312},
{120064, 45312, 128640, 45312, 137216, 45312},
{137216, 45312, 137984, 22656, 138752, 0},
{65792, 0, 35328, 0, 4864, 0},
{4864, 0, 4864, 7552, 4864, 15104},
{4864, 15104, 11648, 16256, 18432, 17408},
{18432, 17408, 23040, 18176, 24192, 19968},
{24192, 19968, 25344, 21760, 25856, 26880},
{25856, 26880, 30336, 93440, 34816, 160000},
{34816, 160000, 34816, 166656, 27136, 167680},
{27136, 167680, 20480, 168448, 13824, 169216},
{13824, 169216, 13824, 176768, 13824, 184320},
{13824, 184320, 39424, 184320, 65024, 184320},
{65024, 184320, 90368, 109312, 115712, 34304},
{115712, 34304, 138368, 109312, 161024, 184320},
{161024, 184320, 188160, 184320, 215296, 184320},
{215296, 184320, 215296, 176768, 215296, 169216},
{215296, 169216, 208128, 168448, 200960, 167680},
{200960, 167680, 196352, 167168, 194688, 165376},
{194688, 165376, 193024, 163584, 193024, 159488},