aboutsummaryrefslogtreecommitdiffstats
path: root/nihav-itu/src/codecs/h264/cabac_coder.rs
blob: 82c20b00ee63e67a4fa96f1f2465e133da5caaf8 (plain) (blame)
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
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
use nihav_core::codecs::{DecoderResult, DecoderError};
use super::slice::SliceType;
#[cfg(target_arch="x86_64")]
use std::arch::asm;

const NUM_CABAC_CONTEXTS: usize = 1024;

#[repr(C)]
pub struct CABAC<'a> {
    pub src:    &'a [u8],
    pub pos:    usize,
    states: [u8; NUM_CABAC_CONTEXTS], // top bit - MPS, the rest is state index

    cod_range:  u16,
    cod_offset: u16,
    bitbuf:     u16,
    bits:       u8,
}


impl<'a> CABAC<'a> {
    fn calc_state(qp: u8, m: i8, n: i8) -> u8 {
        let pre_ctx_state = (((i16::from(m) * i16::from(qp)) >> 4) + i16::from(n)).max(1).min(126) as u8;
        if pre_ctx_state < 64 {
            63 - pre_ctx_state
        } else {
            (pre_ctx_state - 64) | 0x80
        }
    }
    fn calc_range(qp: u8, idx: usize, states: &mut [u8], start: usize, end: usize) {
        for (state, &mn) in states[start..=end].iter_mut().zip(CTX_PARAMS[idx][start..=end].iter()) {
            *state = Self::calc_state(qp, mn[0], mn[1]);
        }
    }
    pub fn new(src: &'a [u8], slice_type: SliceType, slice_qp: u8, cabac_init_idc: usize) -> DecoderResult<Self> {
        let mut states = [0; NUM_CABAC_CONTEXTS];
        let idx = if slice_type.is_intra() { 0 } else { cabac_init_idc + 1 };
        Self::calc_range(slice_qp, idx, &mut states, 60, 63);
        Self::calc_range(slice_qp, idx, &mut states, 64, 67);
        Self::calc_range(slice_qp, idx, &mut states, 68, 68);
        Self::calc_range(slice_qp, idx, &mut states, 69, 69);
        Self::calc_range(slice_qp, idx, &mut states, 70, 72);
        Self::calc_range(slice_qp, idx, &mut states, 73, 76);
        Self::calc_range(slice_qp, idx, &mut states, 77, 84);
        Self::calc_range(slice_qp, idx, &mut states, 85, 104);
        Self::calc_range(slice_qp, idx, &mut states, 105, 165);
        Self::calc_range(slice_qp, idx, &mut states, 166, 226);
        Self::calc_range(slice_qp, idx, &mut states, 227, 275);
        Self::calc_range(slice_qp, idx, &mut states, 277, 337);
        Self::calc_range(slice_qp, idx, &mut states, 338, 398);
        Self::calc_range(slice_qp, idx, &mut states, 399, 401);
        Self::calc_range(slice_qp, idx, &mut states, 402, 416);
        Self::calc_range(slice_qp, idx, &mut states, 417, 425);
        Self::calc_range(slice_qp, idx, &mut states, 426, 435);
        match slice_type {
            SliceType::I => {
                Self::calc_range(slice_qp, idx, &mut states, 3, 10);
            },
            SliceType::SI => {
                Self::calc_range(slice_qp, idx, &mut states, 0, 10);
            },
            SliceType::P | SliceType::SP => {
                Self::calc_range(slice_qp, idx, &mut states, 11, 13);
                Self::calc_range(slice_qp, idx, &mut states, 14, 20);
                Self::calc_range(slice_qp, idx, &mut states, 21, 23);
                Self::calc_range(slice_qp, idx, &mut states, 40, 46);
                Self::calc_range(slice_qp, idx, &mut states, 47, 53);
                Self::calc_range(slice_qp, idx, &mut states, 54, 59);
            },
            SliceType::B => {
                Self::calc_range(slice_qp, idx, &mut states, 24, 26);
                Self::calc_range(slice_qp, idx, &mut states, 27, 35);
                Self::calc_range(slice_qp, idx, &mut states, 36, 39);
                Self::calc_range(slice_qp, idx, &mut states, 40, 46);
                Self::calc_range(slice_qp, idx, &mut states, 47, 53);
                Self::calc_range(slice_qp, idx, &mut states, 54, 59);
            },
        }

        let mut ctx = Self {
                src,
                pos:        0,
                states,
                cod_range:  0,
                cod_offset: 0,
                bitbuf:     0,
                bits:       0,
            };
        ctx.reinit()?;
        Ok(ctx)
    }
    pub fn reinit(&mut self) -> DecoderResult<()> {
        self.bitbuf = 0;
        self.bits   = 0;
        self.refill();
        self.refill();
        self.cod_range  = 0x1FE;
        self.cod_offset = self.bitbuf >> 7;
        validate!(self.cod_offset < self.cod_range);
        self.bitbuf <<= 9;
        self.bits    -= 9;
        Ok(())
    }
    pub fn decode_bypass(&mut self) -> bool {
        if self.bits == 0 {
            self.refill();
        }
        self.cod_offset <<= 1;
        self.cod_offset |= self.bitbuf >> 15;
        self.bitbuf <<= 1;
        self.bits    -= 1;
        if self.cod_offset >= self.cod_range {
            self.cod_offset -= self.cod_range;
            true
        } else {
            false
        }
    }
    pub fn decode_bypass_bits(&mut self, nbits: u8) -> u32 {
        let mut val = 0;
        for _ in 0..nbits {
            val = (val << 1) | (self.decode_bypass() as u32)
        }
        val
    }
    pub fn decode_terminate(&mut self) -> bool {
        self.cod_range -= 2;
        if self.cod_offset >= self.cod_range {
            true
        } else {
            self.renorm();
            false
        }
    }
    #[cfg(not(target_arch="x86_64"))]
    pub fn decode_bit(&mut self, idx: usize) -> bool {
        let mut val_mps = (self.states[idx] & 0x80) != 0;
        let state_idx = (self.states[idx] & 0x3F) as usize;
        let range_idx = ((self.cod_range >> 6) & 3) as usize;
        let range_lps = u16::from(RANGE_TBL_LPS[range_idx + state_idx * 4]);
        self.cod_range -= range_lps;
        let bit = if self.cod_offset >= self.cod_range {
                self.cod_offset -= self.cod_range;
                self.cod_range   = range_lps;
                !val_mps
            } else {
                val_mps
            };
        self.states[idx] = if bit == val_mps {
                TRANS_IDX_MPS[state_idx] + (if val_mps { 0x80 } else { 0 })
            } else {
                if state_idx == 0 {
                    val_mps = !val_mps;
                }
                TRANS_IDX_LPS[state_idx] + (if val_mps { 0x80 } else { 0 })
            };
        self.renorm();
        bit
    }
    #[cfg(target_arch="x86_64")]
    pub fn decode_bit(&mut self, idx: usize) -> bool {
        unsafe {
            // states offset - 0x18
            // cod_range offset - 0x418
            // cod_offset offset - 0x41A
            let mut bit: u16;
            asm!(
                // unpack state
                "movzx  {state_idx:e},  byte ptr [{ctx} + 0x18 + {idx}]",
                "mov    {val_mps:x},    {state_idx:x}",
                "and    {state_idx},    0x3F",
                "and    {val_mps:r},    0x80",
                "movzx  {tmp},          word ptr [{ctx} + 0x418]",
                "mov    {bit:r},        {val_mps:r}",
                "shr    {tmp},          6",
                "and    {tmp},          3",
                "lea    {range_lps:r},  {range_tab}[rip]",
                "lea    {range_lps:r},  [{range_lps:r} + {state_idx} * 4]",
                "movzx  {range_lps:x},  byte ptr [{range_lps:r} + {tmp}]",
                // self.cod_range -= range_lps;
                "sub    word ptr [{ctx} + 0x418], {range_lps:x}",
                // determine bit value
                "mov    {tmp:x},        word ptr [{ctx} + 0x41A]",
                "cmp    {tmp:x},        word ptr [{ctx} + 0x418]",
                "jl     1f",
                "sub    {tmp:x},        word ptr [{ctx} + 0x418]",
                "mov    word ptr [{ctx} + 0x418], {range_lps:x}",
                "mov    word ptr [{ctx} + 0x41A], {tmp:x}",
                "xor    {bit:l},        0x80",
                "1:",
                // update state[idx]
                "cmp    {bit:x},        {val_mps:x}",
                "jne    2f",
                "lea    {tmp},          {trans_idx_mps}[rip]",
                "jmp    3f",
                "2:",
                "lea    {tmp},          {trans_idx_lps}[rip]",
                "cmp    {state_idx},    0",
                "jnz    3f",
                "xor    {val_mps:x},    0x80",
                "3:",
                "movzx  {tmp},          byte ptr [{tmp} + {state_idx}]",
                "or     {tmp:x},        {val_mps:x}",
                "mov    byte ptr [{ctx} + 0x18 + {idx}], {tmp:l}",

                ctx = inout(reg) self => _,
                idx = inout(reg) idx => _,
                bit = out(reg) bit,
                range_tab = sym RANGE_TBL_LPS,
                trans_idx_mps = sym TRANS_IDX_MPS,
                trans_idx_lps = sym TRANS_IDX_LPS,
                val_mps = out(reg) _,
                state_idx = out(reg) _,
                tmp = out(reg) _,
                range_lps = out(reg) _,
            );

            self.renorm();
            bit != 0
        }
    }
    pub fn decode_bits(&mut self, mut start: usize, maxidx: usize, len: usize) -> u8 {
        let mut val = 0;
        for _ in 0..len {
            val <<= 1;
            if self.decode_bit(start) {
                val |= 1;
            }
            if start < maxidx {
                start += 1;
            }
        }
        val
    }
    pub fn decode_012(&mut self, start: usize) -> u8 {
        if !self.decode_bit(start) {
            0
        } else if !self.decode_bit(start + 1) {
            1
        } else {
            2
        }
    }
    fn refill(&mut self) {
        if self.pos < self.src.len() {
            self.bitbuf |= u16::from(self.src[self.pos]) << (8 - self.bits);
            self.pos += 1;
        }
        self.bits += 8;
    }
    fn renorm(&mut self) {
        let shift = (self.cod_range.leading_zeros() - 7) as u8;
        if shift > 0 {
            if self.bits < shift {
                self.refill();
            }
            self.cod_range  <<= shift;
            self.cod_offset <<= shift;
            self.cod_offset  |= self.bitbuf >> (16 - shift);
            self.bitbuf <<= shift;
            self.bits -= shift;
        }
    }
}

static RANGE_TBL_LPS: [u8; 64 * 4] = [
    128, 176, 208, 240,
    128, 167, 197, 227,
    128, 158, 187, 216,
    123, 150, 178, 205,
    116, 142, 169, 195,
    111, 135, 160, 185,
    105, 128, 152, 175,
    100, 122, 144, 166,
     95, 116, 137, 158,
     90, 110, 130, 150,
     85, 104, 123, 142,
     81,  99, 117, 135,
     77,  94, 111, 128,
     73,  89, 105, 122,
     69,  85, 100, 116,
     66,  80,  95, 110,
     62,  76,  90, 104,
     59,  72,  86,  99,
     56,  69,  81,  94,
     53,  65,  77,  89,
     51,  62,  73,  85,
     48,  59,  69,  80,
     46,  56,  66,  76,
     43,  53,  63,  72,
     41,  50,  59,  69,
     39,  48,  56,  65,
     37,  45,  54,  62,
     35,  43,  51,  59,
     33,  41,  48,  56,
     32,  39,  46,  53,
     30,  37,  43,  50,
     29,  35,  41,  48,
     27,  33,  39,  45,
     26,  31,  37,  43,
     24,  30,  35,  41,
     23,  28,  33,  39,
     22,  27,  32,  37,
     21,  26,  30,  35,
     20,  24,  29,  33,
     19,  23,  27,  31,
     18,  22,  26,  30,
     17,  21,  25,  28,
     16,  20,  23,  27,
     15,  19,  22,  25,
     14,  18,  21,  24,
     14,  17,  20,  23,
     13,  16,  19,  22,
     12,  15,  18,  21,
     12,  14,  17,  20,
     11,  14,  16,  19,
     11,  13,  15,  18,
     10,  12,  15,  17,
     10,  12,  14,  16,
      9,  11,  13,  15,
      9,  11,  12,  14,
      8,  10,  12,  14,
      8,   9,  11,  13,
      7,   9,  11,  12,
      7,   9,  10,  12,
      7,   8,  10,  11,
      6,   8,   9,  11,
      6,   7,   9,  10,
      6,   7,   8,   9,
      2,   2,   2,   2
];
static TRANS_IDX_MPS: [u8; 64] = [
     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, 62, 63
];
static TRANS_IDX_LPS: [u8; 64] = [
     0,  0,  1,  2,  2,  4,  4,  5,  6,  7,  8,  9,  9, 11, 11, 12,
    13, 13, 15, 15, 16, 16, 18, 18, 19, 19, 21, 21, 22, 22, 23, 24,
    24, 25, 26, 26, 27, 27, 28, 29, 29, 30, 30, 30, 31, 32, 32, 33,
    33, 33, 34, 34, 35, 35, 35, 36, 36, 36, 37, 37, 37, 38, 38, 63
];

const CTX_PARAMS: [[[i8; 2]; NUM_CABAC_CONTEXTS]; 4] = [
  [
    [ 20, -15], [  2,  54], [  3,  74], [ 20, -15],
    [  2,  54], [  3,  74], [-28, 127], [-23, 104],
    [ -6,  53], [ -1,  54], [  7,  51], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,   0], [  0,   0], [  0,   0], [  0,   0],
    [  0,  41], [  0,  63], [  0,  63], [  0,  63],
    [ -9,  83], [  4,  86], [  0,  97], [ -7,  72],
    [ 13,  41], [  3,  62], [  0,  11], [  1,  55],
    [  0,  69], [-17, 127], [-13, 102], [  0,  82],
    [ -7,  74], [-21, 107], [-27, 127], [-31, 127],
    [-24, 127], [-18,  95], [-27, 127], [-21, 114],
    [-30, 127], [-17, 123], [-12, 115], [-16, 122],
    [-11, 115], [-12,  63], [ -2,  68], [-15,  84],
    [-13, 104], [ -3,  70], [ -8,  93], [-10,  90],
    [-30, 127], [ -1,  74], [ -6,  97], [ -7,  91],
    [-20, 127], [ -4,  56], [ -5,  82], [ -7,  76],
    [-22, 125], [ -7,  93], [-11,  87], [ -3,  77],
    [ -5,  71], [ -4,  63], [ -4,  68], [-12,  84],
    [ -7,  62], [ -7,  65], [  8,  61], [  5,  56],
    [ -2,  66], [  1,  64], [  0,  61], [ -2,  78],
    [  1,  50], [  7,  52], [ 10,  35], [  0,  44],
    [ 11,  38], [  1,  45], [  0,  46], [  5,  44],
    [ 31,  17], [  1,  51], [  7,  50], [ 28,  19],
    [ 16,  33], [ 14,  62], [-13, 108], [-15, 100],
    [-13, 101], [-13,  91], [-12,  94], [-10,  88],
    [-16,  84], [-10,  86], [ -7,  83], [-13,  87],
    [-19,  94], [  1,  70], [  0,  72], [ -5,  74],
    [ 18,  59], [ -8, 102], [-15, 100], [  0,  95],
    [ -4,  75], [  2,  72], [-11,  75], [ -3,  71],
    [ 15,  46], [-13,  69], [  0,  62], [  0,  65],
    [ 21,  37], [-15,  72], [  9,  57], [ 16,  54],
    [  0,  62], [ 12,  72], [ 24,   0], [ 15,   9],
    [  8,  25], [ 13,  18], [ 15,   9], [ 13,  19],
    [ 10,  37], [ 12,  18], [  6,  29], [ 20,  33],
    [ 15,  30], [  4,  45], [  1,  58], [  0,  62],
    [  7,  61], [ 12,  38], [ 11,  45], [ 15,  39],
    [ 11,  42], [ 13,  44], [ 16,  45], [ 12,  41],
    [ 10,  49], [ 30,  34], [ 18,  42], [ 10,  55],
    [ 17,  51], [ 17,  46], [  0,  89], [ 26, -19],
    [ 22, -17], [ 26, -17], [ 30, -25], [ 28, -20],
    [ 33, -23], [ 37, -27], [ 33, -23], [ 40, -28],
    [ 38, -17], [ 33, -11], [ 40, -15], [ 41,  -6],
    [ 38,   1], [ 41,  17], [ 30,  -6], [ 27,   3],
    [ 26,  22], [ 37, -16], [ 35,  -4], [ 38,  -8],
    [ 38,  -3], [ 37,   3], [ 38,   5], [ 42,   0],
    [ 35,  16], [ 39,  22], [ 14,  48], [ 27,  37],
    [ 21,  60], [ 12,  68], [  2,  97], [ -3,  71],
    [ -6,  42], [ -5,  50], [ -3,  54], [ -2,  62],
    [  0,  58], [  1,  63], [ -2,  72], [ -1,  74],
    [ -9,  91], [ -5,  67], [ -5,  27], [ -3,  39],
    [ -2,  44], [  0,  46], [-16,  64], [ -8,  68],
    [-10,  78], [ -6,  77], [-10,  86], [-12,  92],
    [-15,  55], [-10,  60], [ -6,  62], [ -4,  65],
    [-12,  73], [ -8,  76], [ -7,  80], [ -9,  88],
    [-17, 110], [-11,  97], [-20,  84], [-11,  79],
    [ -6,  73], [ -4,  74], [-13,  86], [-13,  96],
    [-11,  97], [-19, 117], [ -8,  78], [ -5,  33],
    [ -4,  48], [ -2,  53], [ -3,  62], [-13,  71],
    [-10,  79], [-12,  86], [-13,  90], [-14,  97],
    [  0,   0], [ -6,  93], [ -6,  84], [ -8,  79],
    [  0,  66], [ -1,  71], [  0,  62], [ -2,  60],
    [ -2,  59], [ -5,  75], [ -3,  62], [ -4,  58],
    [ -9,  66], [ -1,  79], [  0,  71], [  3,  68],
    [ 10,  44], [ -7,  62], [ 15,  36], [ 14,  40],
    [ 16,  27], [ 12,  29], [  1,  44], [ 20,  36],
    [ 18,  32], [  5,  42], [  1,  48], [ 10,  62],
    [ 17,  46], [  9,  64], [-12, 104], [-11,  97],
    [-16,  96], [ -7,  88], [ -8,  85], [ -7,  85],
    [ -9,  85], [-13,  88], [  4,  66], [ -3,  77],
    [ -3,  76], [ -6,  76], [ 10,  58], [ -1,  76],
    [ -1,  83], [ -7,  99], [-14,  95], [  2,  95],
    [  0,  76], [ -5,  74], [  0,  70], [-11,  75],
    [  1,  68], [  0,  65], [-14,  73], [  3,  62],
    [  4,  62], [ -1,  68], [-13,  75], [ 11,  55],
    [  5,  64], [ 12,  70], [ 15,   6], [  6,  19],
    [  7,  16], [ 12,  14], [ 18,  13], [ 13,  11],
    [ 13,  15], [ 15,  16], [ 12,  23], [ 13,  23],
    [ 15,  20], [ 14,  26], [ 14,  44], [ 17,  40],
    [ 17,  47], [ 24,  17], [ 21,  21], [ 25,  22],
    [ 31,  27], [ 22,  29], [ 19,  35], [ 14,  50],
    [ 10,  57], [  7,  63], [ -2,  77], [ -4,  82],
    [ -3,  94], [  9,  69], [-12, 109], [ 36, -35],
    [ 36, -34], [ 32, -26], [ 37, -30], [ 44, -32],
    [ 34, -18], [ 34, -15], [ 40, -15], [ 33,  -7],
    [ 35,  -5], [ 33,   0], [ 38,   2], [ 33,  13],
    [ 23,  35], [ 13,  58], [ 29,  -3], [ 26,   0],
    [ 22,  30], [ 31,  -7], [ 35, -15], [ 34,  -3],
    [ 34,   3], [ 36,  -1], [ 34,   5], [ 32,  11],
    [ 35,   5], [ 34,  12], [ 39,  11], [ 30,  29],
    [ 34,  26], [ 29,  39], [ 19,  66], [ 31,  21],
    [ 31,  31], [ 25,  50], [-17, 120], [-20, 112],
    [-18, 114], [-11,  85], [-15,  92], [-14,  89],
    [-26,  71], [-15,  81], [-14,  80], [  0,  68],
    [-14,  70], [-24,  56], [-23,  68], [-24,  50],
    [-11,  74], [ 23, -13], [ 26, -13], [ 40, -15],
    [ 49, -14], [ 44,   3], [ 45,   6], [ 44,  34],
    [ 33,  54], [ 19,  82], [ -3,  75], [ -1,  23],
    [  1,  34], [  1,  43], [  0,  54], [ -2,  55],
    [  0,  61], [  1,  64], [  0,  68], [ -9,  92],
    [-14, 106], [-13,  97], [-15,  90], [-12,  90],
    [-18,  88], [-10,  73], [ -9,  79], [-14,  86],
    [-10,  73], [-10,  70], [-10,  69], [ -5,  66],
    [ -9,  64], [ -5,  58], [  2,  59], [ 21, -10],
    [ 24, -11], [ 28,  -8], [ 28,  -1], [ 29,   3],
    [ 29,   9], [ 35,  20], [ 29,  36], [ 14,  67],
    [-17, 123], [-12, 115], [-16, 122], [-11, 115],
    [-12,  63], [ -2,  68], [-15,  84], [-13, 104],
    [ -3,  70], [ -8,  93], [-10,  90], [-30, 127],
    [-17, 123], [-12, 115], [-16, 122], [-11, 115],
    [-12,  63], [ -2,  68], [-15,  84], [-13, 104],
    [ -3,  70], [ -8,  93], [-10,  90], [-30, 127],
    [ -7,  93], [-11,  87], [ -3,  77], [ -5,  71],
    [ -4,  63], [ -4,  68], [-12,  84], [ -7,  62],
    [ -7,  65], [  8,  61], [  5,  56], [ -2,  66],
    [  1,  64], [  0,  61], [ -2,  78], [  1,  50],
    [  7,  52], [ 10,  35], [  0,  44], [ 11,  38],
    [  1,  45], [  0,  46], [  5,  44], [ 31,  17],
    [  1,  51], [  7,  50], [ 28,  19], [ 16,  33],
    [ 14,  62], [-13, 108], [-15, 100], [-13, 101],
    [-13,  91], [-12,  94], [-10,  88], [-16,  84],
    [-10,  86], [ -7,  83], [-13,  87], [-19,  94],
    [  1,  70], [  0,  72], [ -5,  74], [ 18,  59],
    [ -7,  93], [-11,  87], [ -3,  77], [ -5,  71],
    [ -4,  63], [ -4,  68], [-12,  84], [ -7,  62],
    [ -7,  65], [  8,  61], [  5,  56], [ -2,  66],
    [  1,  64], [  0,  61], [ -2,  78], [  1,  50],
    [  7,  52], [ 10,  35], [  0,  44], [ 11,  38],
    [  1,  45], [  0,  46], [  5,  44], [ 31,  17],
    [  1,  51], [  7,  50], [ 28,  19], [ 16,  33],
    [ 14,  62], [-13, 108], [-15, 100], [-13, 101],
    [-13,  91], [-12,  94], [-10,  88], [-16,  84],
    [-10,  86], [ -7,  83], [-13,  87], [-19,  94],
    [  1,  70], [  0,  72], [ -5,  74], [ 18,  59],
    [ 24,   0], [ 15,   9], [  8,  25], [ 13,  18],
    [ 15,   9], [ 13,  19], [ 10,  37], [ 12,  18],
    [  6,  29], [ 20,  33], [ 15,  30], [  4,  45],
    [  1,  58], [  0,  62], [  7,  61], [ 12,  38],
    [ 11,  45], [ 15,  39], [ 11,  42], [ 13,  44],
    [ 16,  45], [ 12,  41], [ 10,  49], [ 30,  34],
    [ 18,  42], [ 10,  55], [ 17,  51], [ 17,  46],
    [  0,  89], [ 26, -19], [ 22, -17], [ 26, -17],
    [ 30, -25], [ 28, -20], [ 33, -23], [ 37, -27],
    [ 33, -23], [ 40, -28], [ 38, -17], [ 33, -11],
    [ 40, -15], [ 41,  -6], [ 38,   1], [ 41,  17],
    [ 24,   0], [ 15,   9], [  8,  25], [ 13,  18],
    [ 15,   9], [ 13,  19], [ 10,  37], [ 12,  18],
    [  6,  29], [ 20,  33], [ 15,  30], [  4,  45],
    [  1,  58], [  0,  62], [  7,  61], [ 12,  38],
    [ 11,  45], [ 15,  39], [ 11,  42], [ 13,  44],
    [ 16,  45], [ 12,  41], [ 10,  49], [ 30,  34],
    [ 18,  42], [ 10,  55], [ 17,  51], [ 17,  46],
    [  0,  89], [ 26, -19], [ 22, -17], [ 26, -17],
    [ 30, -25], [ 28, -20], [ 33, -23], [ 37, -27],
    [ 33, -23], [ 40, -28], [ 38, -17], [ 33, -11],
    [ 40, -15], [ 41,  -6], [ 38,   1], [ 41,  17],
    [-17, 120], [-20, 112], [-18, 114], [-11,  85],
    [-15,  92], [-14,  89], [-26,  71], [-15,  81],
    [-14,  80], [  0,  68], [-14,  70], [-24,  56],
    [-23,  68], [-24,  50], [-11,  74], [-14, 106],
    [-13,  97], [-15,  90], [-12,  90], [-18,  88],
    [-10,  73], [ -9,  79], [-14,  86], [-10,  73],
    [-10,  70], [-10,  69], [ -5,  66], [ -9,  64],
    [ -5,  58], [  2,  59], [ 23, -13], [ 26, -13],
    [ 40, -15], [ 49, -14], [ 44,   3], [ 45,   6],
    [ 44,  34], [ 33,  54], [ 19,  82], [ 21, -10],
    [ 24, -11], [ 28,  -8], [ 28,  -1], [ 29,   3],
    [ 29,   9], [ 35,  20], [ 29,  36], [ 14,  67],
    [ -3,  75], [ -1,  23], [  1,  34], [  1,  43],
    [  0,  54], [ -2,  55], [  0,  61], [  1,  64],
    [  0,  68], [ -9,  92], [-17, 120], [-20, 112],
    [-18, 114], [-11,  85], [-15,  92], [-14,  89],
    [-26,  71], [-15,  81], [-14,  80], [  0,  68],
    [-14,  70], [-24,  56], [-23,  68], [-24,  50],
    [-11,  74], [-14, 106], [-13,  97], [-15,  90],
    [-12,  90], [-18,  88], [-10,  73], [ -9,  79],
    [-14,  86], [-10,  73], [-10,  70], [-10,  69],
    [ -5,  66], [ -9,  64], [ -5,  58], [  2,  59],
    [ 23, -13], [ 26, -13], [ 40, -15], [ 49, -14],
    [ 44,   3], [ 45,   6], [ 44,  34], [ 33,  54],
    [ 19,  82], [ 21, -10], [ 24, -11], [ 28,  -8],
    [ 28,  -1], [ 29,   3], [ 29,   9], [ 35,  20],
    [ 29,  36], [ 14,  67], [ -3,  75], [ -1,  23],
    [  1,  34], [  1,  43], [  0,  54], [ -2,  55],
    [  0,  61], [  1,  64], [  0,  68], [ -9,  92],
    [ -6,  93], [ -6,  84], [ -8,  79], [  0,  66],
    [ -1,  71], [  0,  62], [ -2,  60], [ -2,  59],
    [ -5,  75], [ -3,  62], [ -4,  58], [ -9,  66],
    [ -1,  79], [  0,  71], [  3,  68], [ 10,  44],
    [ -7,  62], [ 15,  36], [ 14,  40], [ 16,  27],
    [ 12,  29], [  1,  44], [ 20,  36], [ 18,  32],
    [  5,  42], [  1,  48], [ 10,  62], [ 17,  46],
    [  9,  64], [-12, 104], [-11,  97], [-16,  96],
    [ -7,  88], [ -8,  85], [ -7,  85], [ -9,  85],
    [-13,  88], [  4,  66], [ -3,  77], [ -3,  76],
    [ -6,  76], [ 10,  58], [ -1,  76], [ -1,  83],
    [ -6,  93], [ -6,  84], [ -8,  79], [  0,  66],
    [ -1,  71], [  0,  62], [ -2,  60], [ -2,  59],
    [ -5,  75], [ -3,  62], [ -4,  58], [ -9,  66],
    [ -1,  79], [  0,  71], [  3,  68], [ 10,  44],
    [ -7,  62], [ 15,  36], [ 14,  40], [ 16,  27],
    [ 12,  29], [  1,  44], [ 20,  36], [ 18,  32],
    [  5,  42], [  1,  48], [ 10,  62], [ 17,  46],
    [  9,  64], [-12, 104], [-11,  97], [-16,  96],
    [ -7,  88], [ -8,  85], [ -7,  85], [ -9,  85],
    [-13,  88], [  4,  66], [ -3,  77], [ -3,  76],
    [ -6,  76], [ 10,  58], [ -1,  76], [ -1,  83],
    [ 15,   6], [  6,  19], [  7,  16], [ 12,  14],
    [ 18,  13], [ 13,  11], [ 13,  15], [ 15,  16],
    [ 12,  23], [ 13,  23], [ 15,  20], [ 14,  26],
    [ 14,  44], [ 17,  40], [ 17,  47], [ 24,  17],
    [ 21,  21], [ 25,  22], [ 31,  27], [ 22,  29],
    [ 19,  35], [ 14,  50], [ 10,  57], [  7,  63],
    [ -2,  77], [ -4,  82], [ -3,  94], [  9,  69],
    [-12, 109], [ 36, -35], [ 36, -34], [ 32, -26],
    [ 37, -30], [ 44, -32], [ 34, -18], [ 34, -15],
    [ 40, -15], [ 33,  -7], [ 35,  -5], [ 33,   0],
    [ 38,   2], [ 33,  13], [ 23,  35], [ 13,  58],
    [ 15,   6], [  6,  19], [  7,  16], [ 12,  14],
    [ 18,  13], [ 13,  11], [ 13,  15], [ 15,  16],
    [ 12,  23], [ 13,  23], [ 15,  20], [ 14,  26],
    [ 14,  44], [ 17,  40], [ 17,  47], [ 24,  17],
    [ 21,  21], [ 25,  22], [ 31,  27], [ 22,  29],
    [ 19,  35], [ 14,  50], [ 10,  57], [  7,  63],
    [ -2,  77], [ -4,  82], [ -3,  94], [  9,  69],
    [-12, 109], [ 36, -35], [ 36, -34], [ 32, -26],
    [ 37, -30], [ 44, -32], [ 34, -18], [ 34, -15],
    [ 40, -15], [ 33,  -7], [ 35,  -5], [ 33,   0],
    [ 38,   2], [ 33,  13], [ 23,  35], [ 13,  58],
    [ -3,  71], [ -6,  42], [ -5,  50], [ -3,  54],
    [ -2,  62], [  0,  58], [  1,  63], [ -2,  72],
    [ -1,  74], [ -9,  91], [ -5,  67], [ -5,  27],
    [ -3,  39], [ -2,  44], [  0,  46], [-16,  64],
    [ -8,  68], [-10,  78], [ -6,  77], [-10,  86],
    [-12,  92], [-15,  55], [-10,  60], [ -6,  62],
    [ -4,  65], [-12,  73], [ -8,  76], [ -7,  80],
    [ -9,  88], [-17, 110], [ -3,  71], [ -6,  42],
    [ -5,  50], [ -3,  54], [ -2,  62], [  0,  58],
    [  1,  63], [ -2,  72], [ -1,  74], [ -9,  91],
    [ -5,  67], [ -5,  27], [ -3,  39], [ -2,  44],
    [  0,  46], [-16,  64], [ -8,  68], [-10,  78],
    [ -6,  77], [-10,  86], [-12,  92], [-15,  55],
    [-10,  60], [ -6,  62], [ -4,  65], [-12,  73],
    [ -8,  76], [ -7,  80], [ -9,  88], [-17, 110],
    [ -3,  70], [ -8,  93], [-10,  90], [-30, 127],
    [ -3,  70], [ -8,  93], [-10,  90], [-30, 127],
    [ -3,  70], [ -8,  93], [-10,  90], [-30, 127]
  ], [
    [ 20, -15], [  2,  54], [  3,  74], [ 20, -15],
    [  2,  54], [  3,  74], [-28, 127], [-23, 104],
    [ -6,  53], [ -1,  54], [  7,  51], [ 23,  33],
    [ 23,   2], [ 21,   0], [  1,   9], [  0,  49],
    [-37, 118], [  5,  57], [-13,  78], [-11,  65],
    [  1,  62], [ 12,  49], [ -4,  73], [ 17,  50],
    [ 18,  64], [  9,  43], [ 29,   0], [ 26,  67],
    [ 16,  90], [  9, 104], [-46, 127], [-20, 104],
    [  1,  67], [-13,  78], [-11,  65], [  1,  62],
    [ -6,  86], [-17,  95], [ -6,  61], [  9,  45],
    [ -3,  69], [ -6,  81], [-11,  96], [  6,  55],
    [  7,  67], [ -5,  86], [  2,  88], [  0,  58],
    [ -3,  76], [-10,  94], [  5,  54], [  4,  69],
    [ -3,  81], [  0,  88], [ -7,  67], [ -5,  74],
    [ -4,  74], [ -5,  80], [ -7,  72], [  1,  58],
    [  0,  41], [  0,  63], [  0,  63], [  0,  63],
    [ -9,  83], [  4,  86], [  0,  97], [ -7,  72],
    [ 13,  41], [  3,  62], [  0,  45], [ -4,  78],
    [ -3,  96], [-27, 126], [-28,  98], [-25, 101],
    [-23,  67], [-28,  82], [-20,  94], [-16,  83],
    [-22, 110], [-21,  91], [-18, 102], [-13,  93],
    [-29, 127], [ -7,  92], [ -5,  89], [ -7,  96],
    [-13, 108], [ -3,  46], [ -1,  65], [ -1,  57],
    [ -9,  93], [ -3,  74], [ -9,  92], [ -8,  87],
    [-23, 126], [  5,  54], [  6,  60], [  6,  59],
    [  6,  69], [ -1,  48], [  0,  68], [ -4,  69],
    [ -8,  88], [ -2,  85], [ -6,  78], [ -1,  75],
    [ -7,  77], [  2,  54], [  5,  50], [ -3,  68],
    [  1,  50], [  6,  42], [ -4,  81], [  1,  63],
    [ -4,  70], [  0,  67], [  2,  57], [ -2,  76],
    [ 11,  35], [  4,  64], [  1,  61], [ 11,  35],
    [ 18,  25], [ 12,  24], [ 13,  29], [ 13,  36],
    [-10,  93], [ -7,  73], [ -2,  73], [ 13,  46],
    [  9,  49], [ -7, 100], [  9,  53], [  2,  53],
    [  5,  53], [ -2,  61], [  0,  56], [  0,  56],
    [-13,  63], [ -5,  60], [ -1,  62], [  4,  57],
    [ -6,  69], [  4,  57], [ 14,  39], [  4,  51],
    [ 13,  68], [  3,  64], [  1,  61], [  9,  63],
    [  7,  50], [ 16,  39], [  5,  44], [  4,  52],
    [ 11,  48], [ -5,  60], [ -1,  59], [  0,  59],
    [ 22,  33], [  5,  44], [ 14,  43], [ -1,  78],
    [  0,  60], [  9,  69], [ 11,  28], [  2,  40],
    [  3,  44], [  0,  49], [  0,  46], [  2,  44],
    [  2,  51], [  0,  47], [  4,  39], [  2,  62],
    [  6,  46], [  0,  54], [  3,  54], [  2,  58],
    [  4,  63], [  6,  51], [  6,  57], [  7,  53],
    [  6,  52], [  6,  55], [ 11,  45], [ 14,  36],
    [  8,  53], [ -1,  82], [  7,  55], [ -3,  78],
    [ 15,  46], [ 22,  31], [ -1,  84], [ 25,   7],
    [ 30,  -7], [ 28,   3], [ 28,   4], [ 32,   0],
    [ 34,  -1], [ 30,   6], [ 30,   6], [ 32,   9],
    [ 31,  19], [ 26,  27], [ 26,  30], [ 37,  20],
    [ 28,  34], [ 17,  70], [  1,  67], [  5,  59],
    [  9,  67], [ 16,  30], [ 18,  32], [ 18,  35],
    [ 22,  29], [ 24,  31], [ 23,  38], [ 18,  43],
    [ 20,  41], [ 11,  63], [  9,  59], [  9,  64],
    [ -1,  94], [ -2,  89], [ -9, 108], [ -6,  76],
    [ -2,  44], [  0,  45], [  0,  52], [ -3,  64],
    [ -2,  59], [ -4,  70], [ -4,  75], [ -8,  82],
    [-17, 102], [ -9,  77], [  3,  24], [  0,  42],
    [  0,  48], [  0,  55], [ -6,  59], [ -7,  71],
    [-12,  83], [-11,  87], [-30, 119], [  1,  58],
    [ -3,  29], [ -1,  36], [  1,  38], [  2,  43],
    [ -6,  55], [  0,  58], [  0,  64], [ -3,  74],
    [-10,  90], [  0,  70], [ -4,  29], [  5,  31],
    [  7,  42], [  1,  59], [ -2,  58], [ -3,  72],
    [ -3,  81], [-11,  97], [  0,  58], [  8,   5],
    [ 10,  14], [ 14,  18], [ 13,  27], [  2,  40],
    [  0,  58], [ -3,  70], [ -6,  79], [ -8,  85],
    [  0,   0], [-13, 106], [-16, 106], [-10,  87],
    [-21, 114], [-18, 110], [-14,  98], [-22, 110],
    [-21, 106], [-18, 103], [-21, 107], [-23, 108],
    [-26, 112], [-10,  96], [-12,  95], [ -5,  91],
    [ -9,  93], [-22,  94], [ -5,  86], [  9,  67],
    [ -4,  80], [-10,  85], [ -1,  70], [  7,  60],
    [  9,  58], [  5,  61], [ 12,  50], [ 15,  50],
    [ 18,  49], [ 17,  54], [ 10,  41], [  7,  46],
    [ -1,  51], [  7,  49], [  8,  52], [  9,  41],
    [  6,  47], [  2,  55], [ 13,  41], [ 10,  44],
    [  6,  50], [  5,  53], [ 13,  49], [  4,  63],
    [  6,  64], [ -2,  69], [ -2,  59], [  6,  70],
    [ 10,  44], [  9,  31], [ 12,  43], [  3,  53],
    [ 14,  34], [ 10,  38], [ -3,  52], [ 13,  40],
    [ 17,  32], [  7,  44], [  7,  38], [ 13,  50],
    [ 10,  57], [ 26,  43], [ 14,  11], [ 11,  14],
    [  9,  11], [ 18,  11], [ 21,   9], [ 23,  -2],
    [ 32, -15], [ 32, -15], [ 34, -21], [ 39, -23],
    [ 42, -33], [ 41, -31], [ 46, -28], [ 38, -12],
    [ 21,  29], [ 45, -24], [ 53, -45], [ 48, -26],
    [ 65, -43], [ 43, -19], [ 39, -10], [ 30,   9],
    [ 18,  26], [ 20,  27], [  0,  57], [-14,  82],
    [ -5,  75], [-19,  97], [-35, 125], [ 27,   0],
    [ 28,   0], [ 31,  -4], [ 27,   6], [ 34,   8],
    [ 30,  10], [ 24,  22], [ 33,  19], [ 22,  32],
    [ 26,  31], [ 21,  41], [ 26,  44], [ 23,  47],
    [ 16,  65], [ 14,  71], [  8,  60], [  6,  63],
    [ 17,  65], [ 21,  24], [ 23,  20], [ 26,  23],
    [ 27,  32], [ 28,  23], [ 28,  24], [ 23,  40],
    [ 24,  32], [ 28,  29], [ 23,  42], [ 19,  57],
    [ 22,  53], [ 22,  61], [ 11,  86], [ 12,  40],
    [ 11,  51], [ 14,  59], [ -4,  79], [ -7,  71],
    [ -5,  69], [ -9,  70], [ -8,  66], [-10,  68],
    [-19,  73], [-12,  69], [-16,  70], [-15,  67],
    [-20,  62], [-19,  70], [-16,  66], [-22,  65],
    [-20,  63], [  9,  -2], [ 26,  -9], [ 33,  -9],
    [ 39,  -7], [ 41,  -2], [ 45,   3], [ 49,   9],
    [ 45,  27], [ 36,  59], [ -6,  66], [ -7,  35],
    [ -7,  42], [ -8,  45], [ -5,  48], [-12,  56],
    [ -6,  60], [ -5,  62], [ -8,  66], [ -8,  76],
    [ -5,  85], [ -6,  81], [-10,  77], [ -7,  81],
    [-17,  80], [-18,  73], [ -4,  74], [-10,  83],
    [ -9,  71], [ -9,  67], [ -1,  61], [ -8,  66],
    [-14,  66], [  0,  59], [  2,  59], [ 21, -13],
    [ 33, -14], [ 39,  -7], [ 46,  -2], [ 51,   2],
    [ 60,   6], [ 61,  17], [ 55,  34], [ 42,  62],
    [ -7,  92], [ -5,  89], [ -7,  96], [-13, 108],
    [ -3,  46], [ -1,  65], [ -1,  57], [ -9,  93],
    [ -3,  74], [ -9,  92], [ -8,  87], [-23, 126],
    [ -7,  92], [ -5,  89], [ -7,  96], [-13, 108],
    [ -3,  46], [ -1,  65], [ -1,  57], [ -9,  93],
    [ -3,  74], [ -9,  92], [ -8,  87], [-23, 126],
    [ -2,  85], [ -6,  78], [ -1,  75], [ -7,  77],
    [  2,  54], [  5,  50], [ -3,  68], [  1,  50],
    [  6,  42], [ -4,  81], [  1,  63], [ -4,  70],
    [  0,  67], [  2,  57], [ -2,  76], [ 11,  35],
    [  4,  64], [  1,  61], [ 11,  35], [ 18,  25],
    [ 12,  24], [ 13,  29], [ 13,  36], [-10,  93],
    [ -7,  73], [ -2,  73], [ 13,  46], [  9,  49],
    [ -7, 100], [  9,  53], [  2,  53], [  5,  53],
    [ -2,  61], [  0,  56], [  0,  56], [-13,  63],
    [ -5,  60], [ -1,  62], [  4,  57], [ -6,  69],
    [  4,  57], [ 14,  39], [  4,  51], [ 13,  68],
    [ -2,  85], [ -6,  78], [ -1,  75], [ -7,  77],
    [  2,  54], [  5,  50], [ -3,  68], [  1,  50],
    [  6,  42], [ -4,  81], [  1,  63], [ -4,  70],
    [  0,  67], [  2,  57], [ -2,  76], [ 11,  35],
    [  4,  64], [  1,  61], [ 11,  35], [ 18,  25],
    [ 12,  24], [ 13,  29], [ 13,  36], [-10,  93],
    [ -7,  73], [ -2,  73], [ 13,  46], [  9,  49],
    [ -7, 100], [  9,  53], [  2,  53], [  5,  53],
    [ -2,  61], [  0,  56], [  0,  56], [-13,  63],
    [ -5,  60], [ -1,  62], [  4,  57], [ -6,  69],
    [  4,  57], [ 14,  39], [  4,  51], [ 13,  68],
    [ 11,  28], [  2,  40], [  3,  44], [  0,  49],
    [  0,  46], [  2,  44], [  2,  51], [  0,  47],
    [  4,  39], [  2,  62], [  6,  46], [  0,  54],
    [  3,  54], [  2,  58], [  4,  63], [  6,  51],
    [  6,  57], [  7,  53], [  6,  52], [  6,  55],
    [ 11,  45], [ 14,  36], [  8,  53], [ -1,  82],
    [  7,  55], [ -3,  78], [ 15,  46], [ 22,  31],
    [ -1,  84], [ 25,   7], [ 30,  -7], [ 28,   3],
    [ 28,   4], [ 32,   0], [ 34,  -1], [ 30,   6],
    [ 30,   6], [ 32,   9], [ 31,  19], [ 26,  27],
    [ 26,  30], [ 37,  20], [ 28,  34], [ 17,  70],
    [ 11,  28], [  2,  40], [  3,  44], [  0,  49],
    [  0,  46], [  2,  44], [  2,  51], [  0,  47],
    [  4,  39], [  2,  62], [  6,  46], [  0,  54],
    [  3,  54], [  2,  58], [  4,  63], [  6,  51],
    [  6,  57], [  7,  53], [  6,  52], [  6,  55],
    [ 11,  45], [ 14,  36], [  8,  53], [ -1,  82],
    [  7,  55], [ -3,  78], [ 15,  46], [ 22,  31],
    [ -1,  84], [ 25,   7], [ 30,  -7], [ 28,   3],
    [ 28,   4], [ 32,   0], [ 34,  -1], [ 30,   6],
    [ 30,   6], [ 32,   9], [ 31,  19], [ 26,  27],
    [ 26,  30], [ 37,  20], [ 28,  34], [ 17,  70],
    [ -4,  79], [ -7,  71], [ -5,  69], [ -9,  70],
    [ -8,  66], [-10,  68], [-19,  73], [-12,  69],
    [-16,  70], [-15,  67], [-20,  62], [-19,  70],
    [-16,  66], [-22,  65], [-20,  63], [ -5,  85],
    [ -6,  81], [-10,  77], [ -7,  81], [-17,  80],
    [-18,  73], [ -4,  74], [-10,  83], [ -9,  71],
    [ -9,  67], [ -1,  61], [ -8,  66], [-14,  66],
    [  0,  59], [  2,  59], [  9,  -2], [ 26,  -9],
    [ 33,  -9], [ 39,  -7], [ 41,  -2], [ 45,   3],
    [ 49,   9], [ 45,  27], [ 36,  59], [ 21, -13],
    [ 33, -14], [ 39,  -7], [ 46,  -2], [ 51,   2],
    [ 60,   6], [ 61,  17], [ 55,  34], [ 42,  62],
    [ -6,  66], [ -7,  35], [ -7,  42], [ -8,  45],
    [ -5,  48], [-12,  56], [ -6,  60], [ -5,  62],
    [ -8,  66], [ -8,  76], [ -4,  79], [ -7,  71],
    [ -5,  69], [ -9,  70], [ -8,  66], [-10,  68],
    [-19,  73], [-12,  69], [-16,  70], [-15,  67],
    [-20,  62], [-19,  70], [-16,  66], [-22,  65],
    [-20,  63], [ -5,  85], [ -6,  81], [-10,  77],
    [ -7,  81], [-17,  80], [-18,  73], [ -4,  74],
    [-10,  83], [ -9,  71], [ -9,  67], [ -1,  61],
    [ -8,  66], [-14,  66], [  0,  59], [  2,  59],
    [  9,  -2], [ 26,  -9], [ 33,  -9], [ 39,  -7],
    [ 41,  -2], [ 45,   3], [ 49,   9], [ 45,  27],
    [ 36,  59], [ 21, -13], [ 33, -14], [ 39,  -7],
    [ 46,  -2], [ 51,   2], [ 60,   6], [ 61,  17],
    [ 55,  34], [ 42,  62], [ -6,  66], [ -7,  35],
    [ -7,  42], [ -8,  45], [ -5,  48], [-12,  56],
    [ -6,  60], [ -5,  62], [ -8,  66], [ -8,  76],
    [-13, 106], [-16, 106], [-10,  87], [-21, 114],
    [-18, 110], [-14,  98], [-22, 110], [-21, 106],
    [-18, 103], [-21, 107], [-23, 108], [-26, 112],
    [-10,  96], [-12,  95], [ -5,  91], [ -9,  93],
    [-22,  94], [ -5,  86], [  9,  67], [ -4,  80],
    [-10,  85], [ -1,  70], [  7,  60], [  9,  58],
    [  5,  61], [ 12,  50], [ 15,  50], [ 18,  49],
    [ 17,  54], [ 10,  41], [  7,  46], [ -1,  51],
    [  7,  49], [  8,  52], [  9,  41], [  6,  47],
    [  2,  55], [ 13,  41], [ 10,  44], [  6,  50],
    [  5,  53], [ 13,  49], [  4,  63], [  6,  64],
    [-13, 106], [-16, 106], [-10,  87], [-21, 114],
    [-18, 110], [-14,  98], [-22, 110], [-21, 106],
    [-18, 103], [-21, 107], [-23, 108], [-26, 112],
    [-10,  96], [-12,  95], [ -5,  91], [ -9,  93],
    [-22,  94], [ -5,  86], [  9,  67], [ -4,  80],
    [-10,  85], [ -1,  70], [  7,  60], [  9,  58],
    [  5,  61], [ 12,  50], [ 15,  50], [ 18,  49],
    [ 17,  54], [ 10,  41], [  7,  46], [ -1,  51],
    [  7,  49], [  8,  52], [  9,  41], [  6,  47],
    [  2,  55], [ 13,  41], [ 10,  44], [  6,  50],
    [  5,  53], [ 13,  49], [  4,  63], [  6,  64],
    [ 14,  11], [ 11,  14], [  9,  11], [ 18,  11],
    [ 21,   9], [ 23,  -2], [ 32, -15], [ 32, -15],
    [ 34, -21], [ 39, -23], [ 42, -33], [ 41, -31],
    [ 46, -28], [ 38, -12], [ 21,  29], [ 45, -24],
    [ 53, -45], [ 48, -26], [ 65, -43], [ 43, -19],
    [ 39, -10], [ 30,   9], [ 18,  26], [ 20,  27],
    [  0,  57], [-14,  82], [ -5,  75], [-19,  97],
    [-35, 125], [ 27,   0], [ 28,   0], [ 31,  -4],
    [ 27,   6], [ 34,   8], [ 30,  10], [ 24,  22],
    [ 33,  19], [ 22,  32], [ 26,  31], [ 21,  41],
    [ 26,  44], [ 23,  47], [ 16,  65], [ 14,  71],
    [ 14,  11], [ 11,  14], [  9,  11], [ 18,  11],
    [ 21,   9], [ 23,  -2], [ 32, -15], [ 32, -15],
    [ 34, -21], [ 39, -23], [ 42, -33], [ 41, -31],
    [ 46, -28], [ 38, -12], [ 21,  29], [ 45, -24],
    [ 53, -45], [ 48, -26], [ 65, -43], [ 43, -19],
    [ 39, -10], [ 30,   9], [ 18,  26], [ 20,  27],
    [  0,  57], [-14,  82], [ -5,  75], [-19,  97],
    [-35, 125], [ 27,   0], [ 28,   0], [ 31,  -4],
    [ 27,   6], [ 34,   8], [ 30,  10], [ 24,  22],
    [ 33,  19], [ 22,  32], [ 26,  31], [ 21,  41],
    [ 26,  44], [ 23,  47], [ 16,  65], [ 14,  71],
    [ -6,  76], [ -2,  44], [  0,  45], [  0,  52],
    [ -3,  64], [ -2,  59], [ -4,  70], [ -4,  75],
    [ -8,  82], [-17, 102], [ -9,  77], [  3,  24],
    [  0,  42], [  0,  48], [  0,  55], [ -6,  59],
    [ -7,  71], [-12,  83], [-11,  87], [-30, 119],
    [  1,  58], [ -3,  29], [ -1,  36], [  1,  38],
    [  2,  43], [ -6,  55], [  0,  58], [  0,  64],
    [ -3,  74], [-10,  90], [ -6,  76], [ -2,  44],
    [  0,  45], [  0,  52], [ -3,  64], [ -2,  59],
    [ -4,  70], [ -4,  75], [ -8,  82], [-17, 102],
    [ -9,  77], [  3,  24], [  0,  42], [  0,  48],
    [  0,  55], [ -6,  59], [ -7,  71], [-12,  83],
    [-11,  87], [-30, 119], [  1,  58], [ -3,  29],
    [ -1,  36], [  1,  38], [  2,  43], [ -6,  55],
    [  0,  58], [  0,  64], [ -3,  74], [-10,  90],
    [ -3,  74], [ -9,  92], [ -8,  87], [-23, 126],
    [ -3,  74], [ -9,  92], [ -8,  87], [-23, 126],
    [ -3,  74], [ -9,  92], [ -8,  87], [-23, 126]
  ], [
    [ 20, -15], [  2,  54], [  3,  74], [ 20, -15],
    [  2,  54], [  3,  74], [-28, 127], [-23, 104],
    [ -6,  53], [ -1,  54], [  7,  51], [ 22,  25],
    [ 34,   0], [ 16,   0], [ -2,   9], [  4,  41],
    [-29, 118], [  2,  65], [ -6,  71], [-13,  79],
    [  5,  52], [  9,  50], [ -3,  70], [ 10,  54],
    [ 26,  34], [ 19,  22], [ 40,   0], [ 57,   2],
    [ 41,  36], [ 26,  69], [-45, 127], [-15, 101],
    [ -4,  76], [ -6,  71], [-13,  79], [  5,  52],
    [  6,  69], [-13,  90], [  0,  52], [  8,  43],
    [ -2,  69], [ -5,  82], [-10,  96], [  2,  59],
    [  2,  75], [ -3,  87], [ -3, 100], [  1,  56],
    [ -3,  74], [ -6,  85], [  0,  59], [ -3,  81],
    [ -7,  86], [ -5,  95], [ -1,  66], [ -1,  77],
    [  1,  70], [ -2,  86], [ -5,  72], [  0,  61],
    [  0,  41], [  0,  63], [  0,  63], [  0,  63],
    [ -9,  83], [  4,  86], [  0,  97], [ -7,  72],
    [ 13,  41], [  3,  62], [ 13,  15], [  7,  51],
    [  2,  80], [-39, 127], [-18,  91], [-17,  96],
    [-26,  81], [-35,  98], [-24, 102], [-23,  97],
    [-27, 119], [-24,  99], [-21, 110], [-18, 102],
    [-36, 127], [  0,  80], [ -5,  89], [ -7,  94],
    [ -4,  92], [  0,  39], [  0,  65], [-15,  84],
    [-35, 127], [ -2,  73], [-12, 104], [ -9,  91],
    [-31, 127], [  3,  55], [  7,  56], [  7,  55],
    [  8,  61], [ -3,  53], [  0,  68], [ -7,  74],
    [ -9,  88], [-13, 103], [-13,  91], [ -9,  89],
    [-14,  92], [ -8,  76], [-12,  87], [-23, 110],
    [-24, 105], [-10,  78], [-20, 112], [-17,  99],
    [-78, 127], [-70, 127], [-50, 127], [-46, 127],
    [ -4,  66], [ -5,  78], [ -4,  71], [ -8,  72],
    [  2,  59], [ -1,  55], [ -7,  70], [ -6,  75],
    [ -8,  89], [-34, 119], [ -3,  75], [ 32,  20],
    [ 30,  22], [-44, 127], [  0,  54], [ -5,  61],
    [  0,  58], [ -1,  60], [ -3,  61], [ -8,  67],
    [-25,  84], [-14,  74], [ -5,  65], [  5,  52],
    [  2,  57], [  0,  61], [ -9,  69], [-11,  70],
    [ 18,  55], [ -4,  71], [  0,  58], [  7,  61],
    [  9,  41], [ 18,  25], [  9,  32], [  5,  43],
    [  9,  47], [  0,  44], [  0,  51], [  2,  46],
    [ 19,  38], [ -4,  66], [ 15,  38], [ 12,  42],
    [  9,  34], [  0,  89], [  4,  45], [ 10,  28],
    [ 10,  31], [ 33, -11], [ 52, -43], [ 18,  15],
    [ 28,   0], [ 35, -22], [ 38, -25], [ 34,   0],
    [ 39, -18], [ 32, -12], [102, -94], [  0,   0],
    [ 56, -15], [ 33,  -4], [ 29,  10], [ 37,  -5],
    [ 51, -29], [ 39,  -9], [ 52, -34], [ 69, -58],
    [ 67, -63], [ 44,  -5], [ 32,   7], [ 55, -29],
    [ 32,   1], [  0,   0], [ 27,  36], [ 33, -25],
    [ 34, -30], [ 36, -28], [ 38, -28], [ 38, -27],
    [ 34, -18], [ 35, -16], [ 34, -14], [ 32,  -8],
    [ 37,  -6], [ 35,   0], [ 30,  10], [ 28,  18],
    [ 26,  25], [ 29,  41], [  0,  75], [  2,  72],
    [  8,  77], [ 14,  35], [ 18,  31], [ 17,  35],
    [ 21,  30], [ 17,  45], [ 20,  42], [ 18,  45],
    [ 27,  26], [ 16,  54], [  7,  66], [ 16,  56],
    [ 11,  73], [ 10,  67], [-10, 116], [-23, 112],
    [-15,  71], [ -7,  61], [  0,  53], [ -5,  66],
    [-11,  77], [ -9,  80], [ -9,  84], [-10,  87],
    [-34, 127], [-21, 101], [ -3,  39], [ -5,  53],
    [ -7,  61], [-11,  75], [-15,  77], [-17,  91],
    [-25, 107], [-25, 111], [-28, 122], [-11,  76],
    [-10,  44], [-10,  52], [-10,  57], [ -9,  58],
    [-16,  72], [ -7,  69], [ -4,  69], [ -5,  74],
    [ -9,  86], [  2,  66], [ -9,  34], [  1,  32],
    [ 11,  31], [  5,  52], [ -2,  55], [ -2,  67],
    [  0,  73], [ -8,  89], [  3,  52], [  7,   4],
    [ 10,   8], [ 17,   8], [ 16,  19], [  3,  37],
    [ -1,  61], [ -5,  73], [ -1,  70], [ -4,  78],
    [  0,   0], [-21, 126], [-23, 124], [-20, 110],
    [-26, 126], [-25, 124], [-17, 105], [-27, 121],
    [-27, 117], [-17, 102], [-26, 117], [-27, 116],
    [-33, 122], [-10,  95], [-14, 100], [ -8,  95],
    [-17, 111], [-28, 114], [ -6,  89], [ -2,  80],
    [ -4,  82], [ -9,  85], [ -8,  81], [ -1,  72],
    [  5,  64], [  1,  67], [  9,  56], [  0,  69],
    [  1,  69], [  7,  69], [ -7,  69], [ -6,  67],
    [-16,  77], [ -2,  64], [  2,  61], [ -6,  67],
    [ -3,  64], [  2,  57], [ -3,  65], [ -3,  66],
    [  0,  62], [  9,  51], [ -1,  66], [ -2,  71],
    [ -2,  75], [ -1,  70], [ -9,  72], [ 14,  60],
    [ 16,  37], [  0,  47], [ 18,  35], [ 11,  37],
    [ 12,  41], [ 10,  41], [  2,  48], [ 12,  41],
    [ 13,  41], [  0,  59], [  3,  50], [ 19,  40],
    [  3,  66], [ 18,  50], [ 19,  -6], [ 18,  -6],
    [ 14,   0], [ 26, -12], [ 31, -16], [ 33, -25],
    [ 33, -22], [ 37, -28], [ 39, -30], [ 42, -30],
    [ 47, -42], [ 45, -36], [ 49, -34], [ 41, -17],
    [ 32,   9], [ 69, -71], [ 63, -63], [ 66, -64],
    [ 77, -74], [ 54, -39], [ 52, -35], [ 41, -10],
    [ 36,   0], [ 40,  -1], [ 30,  14], [ 28,  26],
    [ 23,  37], [ 12,  55], [ 11,  65], [ 37, -33],
    [ 39, -36], [ 40, -37], [ 38, -30], [ 46, -33],
    [ 42, -30], [ 40, -24], [ 49, -29], [ 38, -12],
    [ 40, -10], [ 38,  -3], [ 46,  -5], [ 31,  20],
    [ 29,  30], [ 25,  44], [ 12,  48], [ 11,  49],
    [ 26,  45], [ 22,  22], [ 23,  22], [ 27,  21],
    [ 33,  20], [ 26,  28], [ 30,  24], [ 27,  34],
    [ 18,  42], [ 25,  39], [ 18,  50], [ 12,  70],
    [ 21,  54], [ 14,  71], [ 11,  83], [ 25,  32],
    [ 21,  49], [ 21,  54], [ -5,  85], [ -6,  81],
    [-10,  77], [ -7,  81], [-17,  80], [-18,  73],
    [ -4,  74], [-10,  83], [ -9,  71], [ -9,  67],
    [ -1,  61], [ -8,  66], [-14,  66], [  0,  59],
    [  2,  59], [ 17, -10], [ 32, -13], [ 42,  -9],
    [ 49,  -5], [ 53,   0], [ 64,   3], [ 68,  10],
    [ 66,  27], [ 47,  57], [ -5,  71], [  0,  24],
    [ -1,  36], [ -2,  42], [ -2,  52], [ -9,  57],
    [ -6,  63], [ -4,  65], [ -4,  67], [ -7,  82],
    [ -3,  81], [ -3,  76], [ -7,  72], [ -6,  78],
    [-12,  72], [-14,  68], [ -3,  70], [ -6,  76],
    [ -5,  66], [ -5,  62], [  0,  57], [ -4,  61],
    [ -9,  60], [  1,  54], [  2,  58], [ 17, -10],
    [ 32, -13], [ 42,  -9], [ 49,  -5], [ 53,   0],
    [ 64,   3], [ 68,  10], [ 66,  27], [ 47,  57],
    [  0,  80], [ -5,  89], [ -7,  94], [ -4,  92],
    [  0,  39], [  0,  65], [-15,  84], [-35, 127],
    [ -2,  73], [-12, 104], [ -9,  91], [-31, 127],
    [  0,  80], [ -5,  89], [ -7,  94], [ -4,  92],
    [  0,  39], [  0,  65], [-15,  84], [-35, 127],
    [ -2,  73], [-12, 104], [ -9,  91], [-31, 127],
    [-13, 103], [-13,  91], [ -9,  89], [-14,  92],
    [ -8,  76], [-12,  87], [-23, 110], [-24, 105],
    [-10,  78], [-20, 112], [-17,  99], [-78, 127],
    [-70, 127], [-50, 127], [-46, 127], [ -4,  66],
    [ -5,  78], [ -4,  71], [ -8,  72], [  2,  59],
    [ -1,  55], [ -7,  70], [ -6,  75], [ -8,  89],
    [-34, 119], [ -3,  75], [ 32,  20], [ 30,  22],
    [-44, 127], [  0,  54], [ -5,  61], [  0,  58],
    [ -1,  60], [ -3,  61], [ -8,  67], [-25,  84],
    [-14,  74], [ -5,  65], [  5,  52], [  2,  57],
    [  0,  61], [ -9,  69], [-11,  70], [ 18,  55],
    [-13, 103], [-13,  91], [ -9,  89], [-14,  92],
    [ -8,  76], [-12,  87], [-23, 110], [-24, 105],
    [-10,  78], [-20, 112], [-17,  99], [-78, 127],
    [-70, 127], [-50, 127], [-46, 127], [ -4,  66],
    [ -5,  78], [ -4,  71], [ -8,  72], [  2,  59],
    [ -1,  55], [ -7,  70], [ -6,  75], [ -8,  89],
    [-34, 119], [ -3,  75], [ 32,  20], [ 30,  22],
    [-44, 127], [  0,  54], [ -5,  61], [  0,  58],
    [ -1,  60], [ -3,  61], [ -8,  67], [-25,  84],
    [-14,  74], [ -5,  65], [  5,  52], [  2,  57],
    [  0,  61], [ -9,  69], [-11,  70], [ 18,  55],
    [  4,  45], [ 10,  28], [ 10,  31], [ 33, -11],
    [ 52, -43], [ 18,  15], [ 28,   0], [ 35, -22],
    [ 38, -25], [ 34,   0], [ 39, -18], [ 32, -12],
    [102, -94], [  0,   0], [ 56, -15], [ 33,  -4],
    [ 29,  10], [ 37,  -5], [ 51, -29], [ 39,  -9],
    [ 52, -34], [ 69, -58], [ 67, -63], [ 44,  -5],
    [ 32,   7], [ 55, -29], [ 32,   1], [  0,   0],
    [ 27,  36], [ 33, -25], [ 34, -30], [ 36, -28],
    [ 38, -28], [ 38, -27], [ 34, -18], [ 35, -16],
    [ 34, -14], [ 32,  -8], [ 37,  -6], [ 35,   0],
    [ 30,  10], [ 28,  18], [ 26,  25], [ 29,  41],
    [  4,  45], [ 10,  28], [ 10,  31], [ 33, -11],
    [ 52, -43], [ 18,  15], [ 28,   0], [ 35, -22],
    [ 38, -25], [ 34,   0], [ 39, -18], [ 32, -12],
    [102, -94], [  0,   0], [ 56, -15], [ 33,  -4],
    [ 29,  10], [ 37,  -5], [ 51, -29], [ 39,  -9],
    [ 52, -34], [ 69, -58], [ 67, -63], [ 44,  -5],
    [ 32,   7], [ 55, -29], [ 32,   1], [  0,   0],
    [ 27,  36], [ 33, -25], [ 34, -30], [ 36, -28],
    [ 38, -28], [ 38, -27], [ 34, -18], [ 35, -16],
    [ 34, -14], [ 32,  -8], [ 37,  -6], [ 35,   0],
    [ 30,  10], [ 28,  18], [ 26,  25], [ 29,  41],
    [ -5,  85], [ -6,  81], [-10,  77], [ -7,  81],
    [-17,  80], [-18,  73], [ -4,  74], [-10,  83],
    [ -9,  71], [ -9,  67], [ -1,  61], [ -8,  66],
    [-14,  66], [  0,  59], [  2,  59], [ -3,  81],
    [ -3,  76], [ -7,  72], [ -6,  78], [-12,  72],
    [-14,  68], [ -3,  70], [ -6,  76], [ -5,  66],
    [ -5,  62], [  0,  57], [ -4,  61], [ -9,  60],
    [  1,  54], [  2,  58], [ 17, -10], [ 32, -13],
    [ 42,  -9], [ 49,  -5], [ 53,   0], [ 64,   3],
    [ 68,  10], [ 66,  27], [ 47,  57], [ 17, -10],
    [ 32, -13], [ 42,  -9], [ 49,  -5], [ 53,   0],
    [ 64,   3], [ 68,  10], [ 66,  27], [ 47,  57],
    [ -5,  71], [  0,  24], [ -1,  36], [ -2,  42],
    [ -2,  52], [ -9,  57], [ -6,  63], [ -4,  65],
    [ -4,  67], [ -7,  82], [ -5,  85], [ -6,  81],
    [-10,  77], [ -7,  81], [-17,  80], [-18,  73],
    [ -4,  74], [-10,  83], [ -9,  71], [ -9,  67],
    [ -1,  61], [ -8,  66], [-14,  66], [  0,  59],
    [  2,  59], [ -3,  81], [ -3,  76], [ -7,  72],
    [ -6,  78], [-12,  72], [-14,  68], [ -3,  70],
    [ -6,  76], [ -5,  66], [ -5,  62], [  0,  57],
    [ -4,  61], [ -9,  60], [  1,  54], [  2,  58],
    [ 17, -10], [ 32, -13], [ 42,  -9], [ 49,  -5],
    [ 53,   0], [ 64,   3], [ 68,  10], [ 66,  27],
    [ 47,  57], [ 17, -10], [ 32, -13], [ 42,  -9],
    [ 49,  -5], [ 53,   0], [ 64,   3], [ 68,  10],
    [ 66,  27], [ 47,  57], [ -5,  71], [  0,  24],
    [ -1,  36], [ -2,  42], [ -2,  52], [ -9,  57],
    [ -6,  63], [ -4,  65], [ -4,  67], [ -7,  82],
    [-21, 126], [-23, 124], [-20, 110], [-26, 126],
    [-25, 124], [-17, 105], [-27, 121], [-27, 117],
    [-17, 102], [-26, 117], [-27, 116], [-33, 122],
    [-10,  95], [-14, 100], [ -8,  95], [-17, 111],
    [-28, 114], [ -6,  89], [ -2,  80], [ -4,  82],
    [ -9,  85], [ -8,  81], [ -1,  72], [  5,  64],
    [  1,  67], [  9,  56], [  0,  69], [  1,  69],
    [  7,  69], [ -7,  69], [ -6,  67], [-16,  77],
    [ -2,  64], [  2,  61], [ -6,  67], [ -3,  64],
    [  2,  57], [ -3,  65], [ -3,  66], [  0,  62],
    [  9,  51], [ -1,  66], [ -2,  71], [ -2,  75],
    [-21, 126], [-23, 124], [-20, 110], [-26, 126],
    [-25, 124], [-17, 105], [-27, 121], [-27, 117],
    [-17, 102], [-26, 117], [-27, 116], [-33, 122],
    [-10,  95], [-14, 100], [ -8,  95], [-17, 111],
    [-28, 114], [ -6,  89], [ -2,  80], [ -4,  82],
    [ -9,  85], [ -8,  81], [ -1,  72], [  5,  64],
    [  1,  67], [  9,  56], [  0,  69], [  1,  69],
    [  7,  69], [ -7,  69], [ -6,  67], [-16,  77],
    [ -2,  64], [  2,  61], [ -6,  67], [ -3,  64],
    [  2,  57], [ -3,  65], [ -3,  66], [  0,  62],
    [  9,  51], [ -1,  66], [ -2,  71], [ -2,  75],
    [ 19,  -6], [ 18,  -6], [ 14,   0], [ 26, -12],
    [ 31, -16], [ 33, -25], [ 33, -22], [ 37, -28],
    [ 39, -30], [ 42, -30], [ 47, -42], [ 45, -36],
    [ 49, -34], [ 41, -17], [ 32,   9], [ 69, -71],
    [ 63, -63], [ 66, -64], [ 77, -74], [ 54, -39],
    [ 52, -35], [ 41, -10], [ 36,   0], [ 40,  -1],
    [ 30,  14], [ 28,  26], [ 23,  37], [ 12,  55],
    [ 11,  65], [ 37, -33], [ 39, -36], [ 40, -37],
    [ 38, -30], [ 46, -33], [ 42, -30], [ 40, -24],
    [ 49, -29], [ 38, -12], [ 40, -10], [ 38,  -3],
    [ 46,  -5], [ 31,  20], [ 29,  30], [ 25,  44],
    [ 19,  -6], [ 18,  -6], [ 14,   0], [ 26, -12],
    [ 31, -16], [ 33, -25], [ 33, -22], [ 37, -28],
    [ 39, -30], [ 42, -30], [ 47, -42], [ 45, -36],
    [ 49, -34], [ 41, -17], [ 32,   9], [ 69, -71],
    [ 63, -63], [ 66, -64], [ 77, -74], [ 54, -39],
    [ 52, -35], [ 41, -10], [ 36,   0], [ 40,  -1],
    [ 30,  14], [ 28,  26], [ 23,  37], [ 12,  55],
    [ 11,  65], [ 37, -33], [ 39, -36], [ 40, -37],
    [ 38, -30], [ 46, -33], [ 42, -30], [ 40, -24],
    [ 49, -29], [ 38, -12], [ 40, -10], [ 38,  -3],
    [ 46,  -5], [ 31,  20], [ 29,  30], [ 25,  44],
    [-23, 112], [-15,  71], [ -7,  61], [  0,  53],
    [ -5,  66], [-11,  77], [ -9,  80], [ -9,  84],
    [-10,  87], [-34, 127], [-21, 101], [ -3,  39],
    [ -5,  53], [ -7,  61], [-11,  75], [-15,  77],
    [-17,  91], [-25, 107], [-25, 111], [-28, 122],
    [-11,  76], [-10,  44], [-10,  52], [-10,  57],
    [ -9,  58], [-16,  72], [ -7,  69], [ -4,  69],
    [ -5,  74], [ -9,  86], [-23, 112], [-15,  71],
    [ -7,  61], [  0,  53], [ -5,  66], [-11,  77],
    [ -9,  80], [ -9,  84], [-10,  87], [-34, 127],
    [-21, 101], [ -3,  39], [ -5,  53], [ -7,  61],
    [-11,  75], [-15,  77], [-17,  91], [-25, 107],
    [-25, 111], [-28, 122], [-11,  76], [-10,  44],
    [-10,  52], [-10,  57], [ -9,  58], [-16,  72],
    [ -7,  69], [ -4,  69], [ -5,  74], [ -9,  86],
    [ -2,  73], [-12, 104], [ -9,  91], [-31, 127],
    [ -2,  73], [-12, 104], [ -9,  91], [-31, 127],
    [ -2,  73], [-12, 104], [ -9,  91], [-31, 127]
  ], [
    [ 20, -15], [  2,  54], [  3,  74], [ 20, -15],
    [  2,  54], [  3,  74], [-28, 127], [-23, 104],
    [ -6,  53], [ -1,  54], [  7,  51], [ 29,  16],
    [ 25,   0], [ 14,   0], [-10,  51], [ -3,  62],
    [-27,  99], [ 26,  16], [ -4,  85], [-24, 102],
    [  5,  57], [  6,  57], [-17,  73], [ 14,  57],
    [ 20,  40], [ 20,  10], [ 29,   0], [ 54,   0],
    [ 37,  42], [ 12,  97], [-32, 127], [-22, 117],
    [ -2,  74], [ -4,  85], [-24, 102], [  5,  57],
    [ -6,  93], [-14,  88], [ -6,  44], [  4,  55],
    [-11,  89], [-15, 103], [-21, 116], [ 19,  57],
    [ 20,  58], [  4,  84], [  6,  96], [  1,  63],
    [ -5,  85], [-13, 106], [  5,  63], [  6,  75],
    [ -3,  90], [ -1, 101], [  3,  55], [ -4,  79],
    [ -2,  75], [-12,  97], [ -7,  50], [  1,  60],
    [  0,  41], [  0,  63], [  0,  63], [  0,  63],
    [ -9,  83], [  4,  86], [  0,  97], [ -7,  72],
    [ 13,  41], [  3,  62], [  7,  34], [ -9,  88],
    [-20, 127], [-36, 127], [-17,  91], [-14,  95],
    [-25,  84], [-25,  86], [-12,  89], [-17,  91],
    [-31, 127], [-14,  76], [-18, 103], [-13,  90],
    [-37, 127], [ 11,  80], [  5,  76], [  2,  84],
    [  5,  78], [ -6,  55], [  4,  61], [-14,  83],
    [-37, 127], [ -5,  79], [-11, 104], [-11,  91],
    [-30, 127], [  0,  65], [ -2,  79], [  0,  72],
    [ -4,  92], [ -6,  56], [  3,  68], [ -8,  71],
    [-13,  98], [ -4,  86], [-12,  88], [ -5,  82],
    [ -3,  72], [ -4,  67], [ -8,  72], [-16,  89],
    [ -9,  69], [ -1,  59], [  5,  66], [  4,  57],
    [ -4,  71], [ -2,  71], [  2,  58], [ -1,  74],
    [ -4,  44], [ -1,  69], [  0,  62], [ -7,  51],
    [ -4,  47], [ -6,  42], [ -3,  41], [ -6,  53],
    [  8,  76], [ -9,  78], [-11,  83], [  9,  52],
    [  0,  67], [ -5,  90], [  1,  67], [-15,  72],
    [ -5,  75], [ -8,  80], [-21,  83], [-21,  64],
    [-13,  31], [-25,  64], [-29,  94], [  9,  75],
    [ 17,  63], [ -8,  74], [ -5,  35], [ -2,  27],
    [ 13,  91], [  3,  65], [ -7,  69], [  8,  77],
    [-10,  66], [  3,  62], [ -3,  68], [-20,  81],
    [  0,  30], [  1,   7], [ -3,  23], [-21,  74],
    [ 16,  66], [-23, 124], [ 17,  37], [ 44, -18],
    [ 50, -34], [-22, 127], [  4,  39], [  0,  42],
    [  7,  34], [ 11,  29], [  8,  31], [  6,  37],
    [  7,  42], [  3,  40], [  8,  33], [ 13,  43],
    [ 13,  36], [  4,  47], [  3,  55], [  2,  58],
    [  6,  60], [  8,  44], [ 11,  44], [ 14,  42],
    [  7,  48], [  4,  56], [  4,  52], [ 13,  37],
    [  9,  49], [ 19,  58], [ 10,  48], [ 12,  45],
    [  0,  69], [ 20,  33], [  8,  63], [ 35, -18],
    [ 33, -25], [ 28,  -3], [ 24,  10], [ 27,   0],
    [ 34, -14], [ 52, -44], [ 39, -24], [ 19,  17],
    [ 31,  25], [ 36,  29], [ 24,  33], [ 34,  15],
    [ 30,  20], [ 22,  73], [ 20,  34], [ 19,  31],
    [ 27,  44], [ 19,  16], [ 15,  36], [ 15,  36],
    [ 21,  28], [ 25,  21], [ 30,  20], [ 31,  12],
    [ 27,  16], [ 24,  42], [  0,  93], [ 14,  56],
    [ 15,  57], [ 26,  38], [-24, 127], [-24, 115],
    [-22,  82], [ -9,  62], [  0,  53], [  0,  59],
    [-14,  85], [-13,  89], [-13,  94], [-11,  92],
    [-29, 127], [-21, 100], [-14,  57], [-12,  67],
    [-11,  71], [-10,  77], [-21,  85], [-16,  88],
    [-23, 104], [-15,  98], [-37, 127], [-10,  82],
    [ -8,  48], [ -8,  61], [ -8,  66], [ -7,  70],
    [-14,  75], [-10,  79], [ -9,  83], [-12,  92],
    [-18, 108], [ -4,  79], [-22,  69], [-16,  75],
    [ -2,  58], [  1,  58], [-13,  78], [ -9,  83],
    [ -4,  81], [-13,  99], [-13,  81], [ -6,  38],
    [-13,  62], [ -6,  58], [ -2,  59], [-16,  73],
    [-10,  76], [-13,  86], [ -9,  83], [-10,  87],
    [  0,   0], [-22, 127], [-25, 127], [-25, 120],
    [-27, 127], [-19, 114], [-23, 117], [-25, 118],
    [-26, 117], [-24, 113], [-28, 118], [-31, 120],
    [-37, 124], [-10,  94], [-15, 102], [-10,  99],
    [-13, 106], [-50, 127], [ -5,  92], [ 17,  57],
    [ -5,  86], [-13,  94], [-12,  91], [ -2,  77],
    [  0,  71], [ -1,  73], [  4,  64], [ -7,  81],
    [  5,  64], [ 15,  57], [  1,  67], [  0,  68],
    [-10,  67], [  1,  68], [  0,  77], [  2,  64],
    [  0,  68], [ -5,  78], [  7,  55], [  5,  59],
    [  2,  65], [ 14,  54], [ 15,  44], [  5,  60],
    [  2,  70], [ -2,  76], [-18,  86], [ 12,  70],
    [  5,  64], [-12,  70], [ 11,  55], [  5,  56],
    [  0,  69], [  2,  65], [ -6,  74], [  5,  54],
    [  7,  54], [ -6,  76], [-11,  82], [ -2,  77],
    [ -2,  77], [ 25,  42], [ 17, -13], [ 16,  -9],
    [ 17, -12], [ 27, -21], [ 37, -30], [ 41, -40],
    [ 42, -41], [ 48, -47], [ 39, -32], [ 46, -40],
    [ 52, -51], [ 46, -41], [ 52, -39], [ 43, -19],
    [ 32,  11], [ 61, -55], [ 56, -46], [ 62, -50],
    [ 81, -67], [ 45, -20], [ 35,  -2], [ 28,  15],
    [ 34,   1], [ 39,   1], [ 30,  17], [ 20,  38],
    [ 18,  45], [ 15,  54], [  0,  79], [ 36, -16],
    [ 37, -14], [ 37, -17], [ 32,   1], [ 34,  15],
    [ 29,  15], [ 24,  25], [ 34,  22], [ 31,  16],
    [ 35,  18], [ 31,  28], [ 33,  41], [ 36,  28],
    [ 27,  47], [ 21,  62], [ 18,  31], [ 19,  26],
    [ 36,  24], [ 24,  23], [ 27,  16], [ 24,  30],
    [ 31,  29], [ 22,  41], [ 22,  42], [ 16,  60],
    [ 15,  52], [ 14,  60], [  3,  78], [-16, 123],
    [ 21,  53], [ 22,  56], [ 25,  61], [ 21,  33],
    [ 19,  50], [ 17,  61], [ -3,  78], [ -8,  74],
    [ -9,  72], [-10,  72], [-18,  75], [-12,  71],
    [-11,  63], [ -5,  70], [-17,  75], [-14,  72],
    [-16,  67], [ -8,  53], [-14,  59], [ -9,  52],
    [-11,  68], [  9,  -2], [ 30, -10], [ 31,  -4],
    [ 33,  -1], [ 33,   7], [ 31,  12], [ 37,  23],
    [ 31,  38], [ 20,  64], [ -9,  71], [ -7,  37],
    [ -8,  44], [-11,  49], [-10,  56], [-12,  59],
    [ -8,  63], [ -9,  67], [ -6,  68], [-10,  79],
    [ -3,  78], [ -8,  74], [ -9,  72], [-10,  72],
    [-18,  75], [-12,  71], [-11,  63], [ -5,  70],
    [-17,  75], [-14,  72], [-16,  67], [ -8,  53],
    [-14,  59], [ -9,  52], [-11,  68], [  9,  -2],
    [ 30, -10], [ 31,  -4], [ 33,  -1], [ 33,   7],
    [ 31,  12], [ 37,  23], [ 31,  38], [ 20,  64],
    [ 11,  80], [  5,  76], [  2,  84], [  5,  78],
    [ -6,  55], [  4,  61], [-14,  83], [-37, 127],
    [ -5,  79], [-11, 104], [-11,  91], [-30, 127],
    [ 11,  80], [  5,  76], [  2,  84], [  5,  78],
    [ -6,  55], [  4,  61], [-14,  83], [-37, 127],
    [ -5,  79], [-11, 104], [-11,  91], [-30, 127],
    [ -4,  86], [-12,  88], [ -5,  82], [ -3,  72],
    [ -4,  67], [ -8,  72], [-16,  89], [ -9,  69],
    [ -1,  59], [  5,  66], [  4,  57], [ -4,  71],
    [ -2,  71], [  2,  58], [ -1,  74], [ -4,  44],
    [ -1,  69], [  0,  62], [ -7,  51], [ -4,  47],
    [ -6,  42], [ -3,  41], [ -6,  53], [  8,  76],
    [ -9,  78], [-11,  83], [  9,  52], [  0,  67],
    [ -5,  90], [  1,  67], [-15,  72], [ -5,  75],
    [ -8,  80], [-21,  83], [-21,  64], [-13,  31],
    [-25,  64], [-29,  94], [  9,  75], [ 17,  63],
    [ -8,  74], [ -5,  35], [ -2,  27], [ 13,  91],
    [ -4,  86], [-12,  88], [ -5,  82], [ -3,  72],
    [ -4,  67], [ -8,  72], [-16,  89], [ -9,  69],
    [ -1,  59], [  5,  66], [  4,  57], [ -4,  71],
    [ -2,  71], [  2,  58], [ -1,  74], [ -4,  44],
    [ -1,  69], [  0,  62], [ -7,  51], [ -4,  47],
    [ -6,  42], [ -3,  41], [ -6,  53], [  8,  76],
    [ -9,  78], [-11,  83], [  9,  52], [  0,  67],
    [ -5,  90], [  1,  67], [-15,  72], [ -5,  75],
    [ -8,  80], [-21,  83], [-21,  64], [-13,  31],
    [-25,  64], [-29,  94], [  9,  75], [ 17,  63],
    [ -8,  74], [ -5,  35], [ -2,  27], [ 13,  91],
    [  4,  39], [  0,  42], [  7,  34], [ 11,  29],
    [  8,  31], [  6,  37], [  7,  42], [  3,  40],
    [  8,  33], [ 13,  43], [ 13,  36], [  4,  47],
    [  3,  55], [  2,  58], [  6,  60], [  8,  44],
    [ 11,  44], [ 14,  42], [  7,  48], [  4,  56],
    [  4,  52], [ 13,  37], [  9,  49], [ 19,  58],
    [ 10,  48], [ 12,  45], [  0,  69], [ 20,  33],
    [  8,  63], [ 35, -18], [ 33, -25], [ 28,  -3],
    [ 24,  10], [ 27,   0], [ 34, -14], [ 52, -44],
    [ 39, -24], [ 19,  17], [ 31,  25], [ 36,  29],
    [ 24,  33], [ 34,  15], [ 30,  20], [ 22,  73],
    [  4,  39], [  0,  42], [  7,  34], [ 11,  29],
    [  8,  31], [  6,  37], [  7,  42], [  3,  40],
    [  8,  33], [ 13,  43], [ 13,  36], [  4,  47],
    [  3,  55], [  2,  58], [  6,  60], [  8,  44],
    [ 11,  44], [ 14,  42], [  7,  48], [  4,  56],
    [  4,  52], [ 13,  37], [  9,  49], [ 19,  58],
    [ 10,  48], [ 12,  45], [  0,  69], [ 20,  33],
    [  8,  63], [ 35, -18], [ 33, -25], [ 28,  -3],
    [ 24,  10], [ 27,   0], [ 34, -14], [ 52, -44],
    [ 39, -24], [ 19,  17], [ 31,  25], [ 36,  29],
    [ 24,  33], [ 34,  15], [ 30,  20], [ 22,  73],
    [ -3,  78], [ -8,  74], [ -9,  72], [-10,  72],
    [-18,  75], [-12,  71], [-11,  63], [ -5,  70],
    [-17,  75], [-14,  72], [-16,  67], [ -8,  53],
    [-14,  59], [ -9,  52], [-11,  68], [ -3,  78],
    [ -8,  74], [ -9,  72], [-10,  72], [-18,  75],
    [-12,  71], [-11,  63], [ -5,  70], [-17,  75],
    [-14,  72], [-16,  67], [ -8,  53], [-14,  59],
    [ -9,  52], [-11,  68], [  9,  -2], [ 30, -10],
    [ 31,  -4], [ 33,  -1], [ 33,   7], [ 31,  12],
    [ 37,  23], [ 31,  38], [ 20,  64], [  9,  -2],
    [ 30, -10], [ 31,  -4], [ 33,  -1], [ 33,   7],
    [ 31,  12], [ 37,  23], [ 31,  38], [ 20,  64],
    [ -9,  71], [ -7,  37], [ -8,  44], [-11,  49],
    [-10,  56], [-12,  59], [ -8,  63], [ -9,  67],
    [ -6,  68], [-10,  79], [ -3,  78], [ -8,  74],
    [ -9,  72], [-10,  72], [-18,  75], [-12,  71],
    [-11,  63], [ -5,  70], [-17,  75], [-14,  72],
    [-16,  67], [ -8,  53], [-14,  59], [ -9,  52],
    [-11,  68], [ -3,  78], [ -8,  74], [ -9,  72],
    [-10,  72], [-18,  75], [-12,  71], [-11,  63],
    [ -5,  70], [-17,  75], [-14,  72], [-16,  67],
    [ -8,  53], [-14,  59], [ -9,  52], [-11,  68],
    [  9,  -2], [ 30, -10], [ 31,  -4], [ 33,  -1],
    [ 33,   7], [ 31,  12], [ 37,  23], [ 31,  38],
    [ 20,  64], [  9,  -2], [ 30, -10], [ 31,  -4],
    [ 33,  -1], [ 33,   7], [ 31,  12], [ 37,  23],
    [ 31,  38], [ 20,  64], [ -9,  71], [ -7,  37],
    [ -8,  44], [-11,  49], [-10,  56], [-12,  59],
    [ -8,  63], [ -9,  67], [ -6,  68], [-10,  79],
    [-22, 127], [-25, 127], [-25, 120], [-27, 127],
    [-19, 114], [-23, 117], [-25, 118], [-26, 117],
    [-24, 113], [-28, 118], [-31, 120], [-37, 124],
    [-10,  94], [-15, 102], [-10,  99], [-13, 106],
    [-50, 127], [ -5,  92], [ 17,  57], [ -5,  86],
    [-13,  94], [-12,  91], [ -2,  77], [  0,  71],
    [ -1,  73], [  4,  64], [ -7,  81], [  5,  64],
    [ 15,  57], [  1,  67], [  0,  68], [-10,  67],
    [  1,  68], [  0,  77], [  2,  64], [  0,  68],
    [ -5,  78], [  7,  55], [  5,  59], [  2,  65],
    [ 14,  54], [ 15,  44], [  5,  60], [  2,  70],
    [-22, 127], [-25, 127], [-25, 120], [-27, 127],
    [-19, 114], [-23, 117], [-25, 118], [-26, 117],
    [-24, 113], [-28, 118], [-31, 120], [-37, 124],
    [-10,  94], [-15, 102], [-10,  99], [-13, 106],
    [-50, 127], [ -5,  92], [ 17,  57], [ -5,  86],
    [-13,  94], [-12,  91], [ -2,  77], [  0,  71],
    [ -1,  73], [  4,  64], [ -7,  81], [  5,  64],
    [ 15,  57], [  1,  67], [  0,  68], [-10,  67],
    [  1,  68], [  0,  77], [  2,  64], [  0,  68],
    [ -5,  78], [  7,  55], [  5,  59], [  2,  65],
    [ 14,  54], [ 15,  44], [  5,  60], [  2,  70],
    [ 17, -13], [ 16,  -9], [ 17, -12], [ 27, -21],
    [ 37, -30], [ 41, -40], [ 42, -41], [ 48, -47],
    [ 39, -32], [ 46, -40], [ 52, -51], [ 46, -41],
    [ 52, -39], [ 43, -19], [ 32,  11], [ 61, -55],
    [ 56, -46], [ 62, -50], [ 81, -67], [ 45, -20],
    [ 35,  -2], [ 28,  15], [ 34,   1], [ 39,   1],
    [ 30,  17], [ 20,  38], [ 18,  45], [ 15,  54],
    [  0,  79], [ 36, -16], [ 37, -14], [ 37, -17],
    [ 32,   1], [ 34,  15], [ 29,  15], [ 24,  25],
    [ 34,  22], [ 31,  16], [ 35,  18], [ 31,  28],
    [ 33,  41], [ 36,  28], [ 27,  47], [ 21,  62],
    [ 17, -13], [ 16,  -9], [ 17, -12], [ 27, -21],
    [ 37, -30], [ 41, -40], [ 42, -41], [ 48, -47],
    [ 39, -32], [ 46, -40], [ 52, -51], [ 46, -41],
    [ 52, -39], [ 43, -19], [ 32,  11], [ 61, -55],
    [ 56, -46], [ 62, -50], [ 81, -67], [ 45, -20],
    [ 35,  -2], [ 28,  15], [ 34,   1], [ 39,   1],
    [ 30,  17], [ 20,  38], [ 18,  45], [ 15,  54],
    [  0,  79], [ 36, -16], [ 37, -14], [ 37, -17],
    [ 32,   1], [ 34,  15], [ 29,  15], [ 24,  25],
    [ 34,  22], [ 31,  16], [ 35,  18], [ 31,  28],
    [ 33,  41], [ 36,  28], [ 27,  47], [ 21,  62],
    [-24, 115], [-22,  82], [ -9,  62], [  0,  53],
    [  0,  59], [-14,  85], [-13,  89], [-13,  94],
    [-11,  92], [-29, 127], [-21, 100], [-14,  57],
    [-12,  67], [-11,  71], [-10,  77], [-21,  85],
    [-16,  88], [-23, 104], [-15,  98], [-37, 127],
    [-10,  82], [ -8,  48], [ -8,  61], [ -8,  66],
    [ -7,  70], [-14,  75], [-10,  79], [ -9,  83],
    [-12,  92], [-18, 108], [-24, 115], [-22,  82],
    [ -9,  62], [  0,  53], [  0,  59], [-14,  85],
    [-13,  89], [-13,  94], [-11,  92], [-29, 127],
    [-21, 100], [-14,  57], [-12,  67], [-11,  71],
    [-10,  77], [-21,  85], [-16,  88], [-23, 104],
    [-15,  98], [-37, 127], [-10,  82], [ -8,  48],
    [ -8,  61], [ -8,  66], [ -7,  70], [-14,  75],
    [-10,  79], [ -9,  83], [-12,  92], [-18, 108],
    [ -5,  79], [-11, 104], [-11,  91], [-30, 127],
    [ -5,  79], [-11, 104], [-11,  91], [-30, 127],
    [ -5,  79], [-11, 104], [-11,  91], [-30, 127]
  ]
];