-
Notifications
You must be signed in to change notification settings - Fork 0
/
part2.js
1083 lines (1075 loc) · 10.3 KB
/
part2.js
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
const inputCase = `10
21
30
41
7
31
43
13
18
16
8
27
48
49
19
46
50
37
9
26
42
15
23
47
14
17
20
29
21
92
22
31
76
24
25
28
30
73
41
33
32
34
45
38
35
36
37
70
39
50
42
51
43
46
47
49
61
52
58
53
63
102
65
66
67
68
87
71
88
73
75
76
95
85
140
89
90
115
96
100
101
118
128
116
131
129
132
246
208
135
139
165
164
148
161
151
166
179
181
205
289
186
196
277
201
217
268
290
247
316
261
328
312
286
449
287
327
299
309
317
403
347
367
377
382
387
397
413
615
749
529
508
533
534
547
843
573
664
616
586
596
608
714
676
1094
724
1222
915
759
1193
784
1357
1145
1459
1080
1318
1142
1067
1081
1120
1159
1169
1182
1194
1204
1272
1284
1460
1400
1508
1869
1543
1674
1826
2454
1851
2324
2222
2236
2147
2262
2148
2868
4087
2289
2351
3656
3636
2488
3226
2556
3821
2908
3751
5104
3217
3910
3500
3677
3998
4175
4369
7498
4383
7407
6544
4704
4640
5396
4907
7136
5044
5464
7128
5773
9547
9217
6408
6717
6894
7127
7177
9219
8544
8173
8879
9413
9779
9023
13184
11776
11881
10104
10440
9951
10508
10817
15301
12181
17567
13302
13585
13125
13611
14021
18903
22478
16717
17196
17052
18292
19127
22132
18974
20391
20459
24402
34204
20948
27869
22998
23942
25306
25483
26427
32488
26710
32738
27632
39195
35009
44719
33769
44280
43376
39586
38101
39922
40850
41339
41407
43946
44890
46431
46940
48304
49248
79678
51910
66827
54342
92250
107677
82991
123841
126367
77715
73355
126109
86297
77687
89643
80772
82189
121017
96188
88836
93194
203824
95244
97552
118737
106252
121169
137333
127697
154127
151042
151070
155402
155544
158459
159652
159876
310946
162961
169608
171025
175383
184080
255840
186388
248622
192796
201496
203804
246434
299048
609994
265030
278739
318363
326425
306472
313861
438615
343732
319528
322837
332569
346408
622471
355105
421817
370468
379184
405300
582988
716876
447930
450238
668251
543769
571502
578891
585211
620333
793970
629309
633389
1033141
642365
652097
655406
678977
701513
776922
938093
1084277
749652
855538
853230
1662450
1473563
1068263
1205544
1115271
2206219
1221256
1212280
1297771
2600543
1262698
1532207
1275754
1432328
1294462
2199548
2708082
1380490
2768025
1526574
1602882
4241588
1605190
2865580
4806762
2183534
2273807
3878997
2320815
2336527
4473355
2592233
3886695
2538452
2557160
4859267
2807961
6076237
3654297
2674952
4373215
2907064
3131764
3129456
3208072
7540992
4874979
7682940
5990824
4457341
4504349
4594622
4657342
4928760
4893687
6965448
5095612
5213404
7485920
5232112
5582016
5482913
5804408
5806716
7802694
6036520
8440184
6261220
6337528
7865414
10024372
8961690
9114683
15606388
9051963
9523382
9251964
13333871
10107091
9989299
10309016
10327724
10445516
11287321
19595091
24046572
15006295
12141936
11843236
14063914
12297740
12598748
14126634
14202942
16827104
18013653
18638065
18166646
20317023
19697480
19579688
19241263
22288752
20096390
20434815
23429257
35333893
37493171
31030046
32701979
23985172
24140976
30612401
33305177
24896488
26424374
32216595
28329576
32369588
38448468
36180299
36804711
39793870
38820951
38938743
39676078
39337653
31161678
40531205
51047216
63732025
48126148
48881660
49037464
50409546
50565350
51320862
53226064
71308331
64690358
62604673
71037546
59491254
142345877
67341977
67966389
87214257
69982629
70837756
70100421
115468125
70499331
140481960
91096555
114141571
97919124
97007808
99447010
99602814
100974896
132656747
104546926
123326485
122095927
124181612
133642219
194680943
264663572
211319716
135308366
137949018
140083050
140599752
167845564
161196976
221542937
300502311
188104363
220334293
196454818
203993936
355877919
199049824
405049237
228728538
226642853
227873411
262130630
345724549
366725903
268950585
273257384
446977146
349268734
305794582
278548770
395718975
308445316
329042540
423327606
384559181
387154187
392098299
400448754
395504642
651201017
425692677
426923235
454516264
455371391
570575946
490004041
531081215
597993125
542207969
547499355
700543615
754735217
627817504
584343352
637487856
755965775
693004497
882102340
1179293381
771713368
817790976
787602941
854965018
821197319
852615912
880208941
881439499
909887655
945375432
1427708296
1131842707
1240503852
1393453631
1089707324
1636837557
2264655061
2518939897
1212160856
1221831208
1330492353
1448970272
1944672342
1971809664
2093600355
1697999917
1670406888
3166503550
1673813231
2372346559
1732824853
1761648440
2035082756
2150391507
2077218139
2221550031
3365263295
2301868180
2311538532
4236464725
3796731196
4554022653
2552323561
2661131128
2892238096
2779462625
3119377160
3344220119
3371813148
3368406805
4738349267
3494473293
3406638084
4046159790
3767907609
3810042992
3838866579
6938397886
4227609646
4298768170
4523418211
4613406712
6005351247
6862880098
6576193821
5213454689
6491190308
7184549339
5440593753
5671700721
5898839785
11314543088
6712626924
7599422794
12496541555
6901111377
9668203399
10622353611
7577950601
10415060400
7648909571
17198547432
8526377816
17019959766
8822186381
9136824923
10054000465
14577418676
13477305198
13476790386
10885155410
26156784689
12341705130
12153220677
21300215810
12611466709
13613738301
14312049718
14479061978
17663202739
15427489193
30675852630
22568281077
16400136982
16175287387
16471095952
39039377029
22140116117
22299491579
17959011304
21290045600
20939155875
23038376087
25197205128
27090528687
23226860540
24494925807
25955443431
24764687386
32871232934
26225205010
27925788019
32438073282
29906551171
31602776580
38743568464
32575424369
32646383339
68945928200
34134298691
34430107256
46904803503
43238647454
46054732986
59682724339
57843588467
43977531962
48424065668
57832339190
50720130817
50989892396
80896443567
66669356483
107121648577
54150993029
60363861301
59528564599
61509327751
62481975540
85753769609
71318992833
80484840242
66780682030
68564405947
77668754710
93958671855
99413958064
105583297585
102575058697
92401597630
139904762638
94697662779
108822231586
101710023213
204285081910
105140885425
114514854330
137988349316
113679557628
115660320780
121873189052
121037892350
201522732592
342273431226
171139464644
170274429160
135345087977
144449436740
237533509832
170070352340
197984895215
325322974260
215735555129
187099260409
194111620843
239147099519
223337085916
206850908638
215389580841
218820443053
249024645605
229339878408
305415440317
341413893804
236698213130
322444348386
422586463767
279794524717
305619517137
358238725053
388890795393
383596536259
314519789080
417448706759
357169612749
381210881252
393950169047
764807417511
423451499251
400962529481
655933682884
746060408142
422240489479
534959395545
533340232133
478364524013
466038091538
516492737847
542317730267
1168300897621
585414041854
594314313797
715408337802
772487331652
671689401829
1134951203535
695730670332
715482318561
1008355821805
738380494001
823203018960
794912698528
1262553145989
824414028732
1533293192529
1150053925842
994857261860
888278581017
1161768761870
1332694807798
1060352405335
982530829385
1058810468114
1127731772121
1290044984129
1179728355651
1266003715626
1367420072161
1387171720390
1410069895830
1411212988893
2132584755227
1538685337521
1733237755861
2113248003089
1618115717488
2191834100893
3294353517097
2041341297499
1870809410402
2188084177456
1883135842877
2298348476847
2537801667951
3271923093382
2238538823765
3500004827388
2186542240235
5005160849243
3307345013125
2445732071277
2797241616220
2754591792551
2798384709283
3726769514977
2949898326414
3156801055009
3846485758950
3351353473349
3488925127890
3501251560365
3753945253279
3912150707901
4069678083112
4057351650637
4071220020333
4121674666642
4425081064000
4632274311512
4684270895042
4941134032786
7473028139991
4983783856455
5704490118965
5753077084402
5552976501834
6106699381423
7482655604325
5748283035697
9595624509313
6301251799763
9665227792303
8546755730642
6840278601239
13177518258956
11781412634025
7666095961180
7969502358538
8701952394624
10645624151751
8496301084333
8753948978154
10736860940857
9316545206554
22518273574882
9924917889241
20328168364667
15148601011147
11301259537531
11306053586236
11659675883257
11854982417120
19233162025190
20535361612179
26808276894404
15542230995863
19241463095795
14506374562419
15635598319718
16162397045513
16723451336692
35562225872558
16671454753162
17198253478957
24131899404051
27490580736838
18070494184708
27463656583044
20617804744085
21226177426772
21230971475477
22607313123767
23156241954651
22960935420788
22965729469493
23514658300377
28526437170282
52041095470659
37393368520990
30048605558282
31229825899111
55361725303162
30141972882137
31797995365231
32833851798675
33394906089854
33869708232119
51274782985054
38688298928793
43833490550539
39296671611480
44191906896265
41843982170857
44382419381423
42457148902249
43838284599244
46670900255028
64624731988965
90729394399452
66703560030794
53563263858659
68736904487075
60190578440419
61278431457393
61371798781248
61939968247368
62975824680812
64011681114256
124124300489306
66228757888529
67264614321973
77984970540273
89963081913847
81140653782337
134921301295717
81753820513729
89128049157277
110682581369284
86295433501493
100234164113687
115503232106027
108042699036276
182767846428000`;