-
Notifications
You must be signed in to change notification settings - Fork 1
/
13.in
804 lines (803 loc) · 6.38 KB
/
13.in
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
95,196
500,420
681,633
31,581
694,348
438,824
408,555
1277,380
472,129
80,779
1290,159
823,626
1191,668
1005,334
676,742
1191,500
264,658
1238,756
192,201
241,673
366,236
354,518
1255,691
567,511
703,102
816,660
1128,183
647,238
319,348
1173,434
805,665
1131,362
681,806
129,178
974,329
927,546
743,442
537,33
1205,544
1243,868
264,276
621,604
355,140
396,452
694,546
169,159
373,36
991,686
422,872
1208,574
1081,728
470,291
587,26
731,868
505,82
1164,598
1022,236
334,3
371,838
3,402
991,432
226,459
323,268
1303,656
408,885
507,876
629,485
592,658
105,350
1141,733
105,110
470,63
1279,49
689,634
1203,333
323,178
43,672
694,98
493,380
1113,44
894,320
159,385
333,698
792,366
982,428
674,61
487,11
980,506
718,658
987,64
835,140
246,488
792,528
791,868
792,864
957,826
718,210
283,0
1148,786
1027,166
1104,147
984,681
803,707
364,215
415,190
87,511
897,353
628,376
552,11
487,152
167,298
1275,642
659,600
710,740
731,623
1203,561
1170,166
1036,33
320,3
32,721
920,724
700,33
813,161
33,260
222,72
334,891
956,854
689,311
218,96
151,296
1046,434
924,744
1113,472
912,513
164,213
1039,427
483,432
21,702
907,847
35,642
681,460
990,891
661,250
175,150
1248,771
234,211
487,600
1230,794
415,638
554,52
517,766
835,466
179,532
659,742
681,261
842,614
827,880
74,259
495,807
1266,84
487,61
1071,480
682,376
105,558
731,26
288,658
721,863
853,828
572,488
1151,61
917,415
1084,50
827,462
26,201
7,238
689,310
229,280
125,399
1250,291
447,674
838,129
179,588
323,492
927,427
159,197
927,318
1089,126
1163,187
472,765
1183,372
55,691
1150,10
85,550
63,150
607,558
155,98
1078,213
336,631
492,108
1064,885
1036,714
102,883
1235,868
536,33
791,26
651,152
1151,659
238,574
504,39
938,215
1046,276
815,87
1058,411
1290,600
497,285
542,344
146,598
577,438
703,571
987,659
874,96
146,856
528,161
561,856
818,876
300,210
505,665
267,590
306,742
577,736
1121,688
793,882
179,259
1275,638
127,397
1022,348
1151,309
971,864
26,357
877,560
308,114
1225,669
361,534
813,285
147,466
803,428
1029,410
196,362
984,817
840,63
514,728
1298,87
293,492
600,154
271,585
536,609
45,726
935,683
939,0
864,493
189,688
964,711
711,875
231,644
79,402
823,61
629,261
417,668
1282,614
816,100
803,635
1275,229
962,742
1166,294
75,666
733,886
878,822
364,679
1285,429
110,824
774,705
294,721
279,344
464,264
1109,847
267,486
1091,266
20,735
1011,866
888,479
1205,110
26,89
105,544
822,234
497,161
31,357
463,103
537,484
279,550
525,780
232,661
443,883
20,607
1278,621
386,296
197,472
957,460
246,339
267,366
1260,438
1099,435
305,334
644,582
238,747
311,458
1174,366
1082,394
1073,500
75,175
1120,264
902,324
77,606
741,344
323,626
733,438
201,847
756,883
8,777
610,455
1251,38
507,259
768,550
967,716
980,10
32,621
272,126
299,866
1175,474
1272,595
264,618
927,602
281,278
800,394
1026,249
159,61
552,834
621,220
422,479
977,196
1292,562
600,740
810,420
264,434
323,659
1002,780
602,852
1027,894
417,21
621,584
1295,803
472,487
976,891
793,12
89,674
1081,166
736,884
140,614
537,861
939,838
1141,159
1072,299
572,739
219,628
1099,11
383,467
572,155
808,700
798,735
1078,479
552,399
349,560
197,102
1028,663
140,280
514,838
359,805
169,733
610,138
62,236
1275,256
1208,847
642,87
167,294
117,96
182,711
1166,855
206,299
674,71
974,397
499,572
408,100
1135,150
863,614
288,819
110,768
382,96
646,777
708,42
169,161
992,117
499,98
150,71
18,52
1143,509
1113,828
293,422
383,322
125,847
807,150
335,546
186,280
383,602
1134,199
1134,695
735,514
403,847
135,252
554,842
35,126
832,487
274,180
422,239
21,192
294,49
388,689
226,50
890,435
1031,344
1113,850
1002,375
555,710
1284,133
951,537
949,534
1285,485
294,621
415,862
838,173
1110,187
182,183
211,446
927,539
961,192
1198,886
1126,63
1042,598
517,576
766,481
1210,724
251,271
835,428
1027,614
708,33
1307,95
89,425
336,117
984,77
1284,805
105,784
646,845
75,868
773,120
1046,771
85,102
100,571
835,259
344,374
1173,460
1298,15
311,436
44,33
472,686
815,61
300,854
579,175
1084,396
392,394
465,688
1233,158
691,574
823,152
967,268
793,409
949,583
495,659
715,408
498,227
1275,252
967,436
918,500
290,679
848,693
159,509
636,610
211,435
232,479
238,320
112,120
1305,196
827,14
611,670
738,406
457,850
823,742
2,212
629,633
805,82
1233,456
371,614
331,659
847,103
336,329
703,558
1118,425
396,4
35,574
972,203
1143,298
1225,792
371,504
507,466
1043,486
445,33
750,470
160,122
966,520
408,324
283,614
812,227
472,407
718,877
217,94
589,165
634,287
197,344
282,663
907,495
986,234
336,341
699,224
602,42
691,480
1113,344
1221,674
343,763
387,366
957,68
619,344
306,511
457,828
1061,886
1181,178
1146,213
504,743
93,856
112,8
353,429
1255,796
982,681
457,8
420,556
1233,509
939,446
1290,63
924,150
1285,409
544,126
380,628
136,366
196,810
536,717
687,89
1052,4
806,599
470,831
633,558
293,583
1038,126
838,721
599,1
494,660
1284,537
417,469
758,462
383,427
619,32
927,322
422,22
92,883
237,873
1198,774
1093,94
211,459
582,138
1300,243
102,856
846,21
7,656
318,777
567,442
1307,229
927,501
390,170
661,644
465,651
647,656
493,514
627,28
89,469
1089,320
1017,135
27,530
967,10
35,256
1039,124
820,892
847,791
636,61
1223,511
574,772
691,677
636,833
1128,711
689,738
514,504
65,367
927,585
700,756
1160,599
1277,514
865,33
636,562
629,409
1174,30
492,18
1282,147
893,226
1284,201
447,280
1208,856
355,306
10,651
60,603
504,855
488,436
398,625
863,728
258,890
857,47
33,514
974,631
238,443
264,771
423,250
758,11
293,759
982,466
992,777
495,665
519,26
55,484
197,646
629,434
783,820
1073,469
354,854
775,730
504,599
1263,344
432,822
433,560
319,208
1208,435
1017,402
1183,397
1027,418
239,480
495,742
565,668
1005,478
905,61
623,537
902,772
651,809
966,374
1091,355
346,780
1079,250
535,730
800,500
127,497
1078,22
1010,684
1114,362
241,120
462,537
408,122
1113,8
494,100
709,352
241,497
701,168
922,607
920,276
127,845
44,84
371,418
827,432
1072,707
838,487
293,135
873,878
237,425
72,756
1139,14
1012,299
855,596
621,634
1131,84
1263,323
773,774
979,659
609,168
420,435
505,229
815,833
1164,856
917,479
602,490
301,68
179,84
589,729
50,456
554,883
507,18
967,178
510,500
845,243
475,428
1265,278
1078,661
544,861
621,738
1005,560
1072,443
875,355
18,114
361,583
1102,493
954,280
221,574
428,571
623,89
1114,84
749,262
1267,224
803,876
1121,542
510,208
1150,548
321,698
820,786
627,812
1205,784
92,694
1307,117
1192,625
363,798
10,203
216,152
817,514
308,375
378,886
592,877
1285,261
311,716
335,686
514,56
610,756
1059,26
774,285
fold along x=655
fold along y=447
fold along x=327
fold along y=223
fold along x=163
fold along y=111
fold along x=81
fold along y=55
fold along x=40
fold along y=27
fold along y=13
fold along y=6