0
0
0
0
0
0
0
0
0
1
1
2
2
3
4
5
6
7
7
7
8
9
9
10
10
10
12
12
15
18
23
26
27
33
39
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
50
50
50
50
50
54
54
54
54
57
57
57
60
64
65
65
66
68
68
68
72
72
72
85
95
101
103
112
112
112
112
112
112
112
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
116
116
116
116
116
116
117
117
117
117
117
117
118
118
118
119
120
125
125
125
126
129
129
132
135
139
143
147
151
155
155
156
156
156
156
156
157
158
159
160
161
161
161
161
161
161
161
161
161
162
162
163
163
164
165
166
167
168
168
168
169
170
170
171
171
171
173
173
176
179
184
187
189
197
205
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
221
221
221
221
221
221
222
222
222
222
222
222
223
223
223
223
223
224
225
226
226
227
227
227
227
228
228
228
228
229
229
229
229
229
229
229
229
229
229
229
231
231
231
231
231
235
235
235
235
238
238
238
241
245
246
246
247
249
249
249
253
253
253
266
280
287
290
301
301
301
301
301
301
301
302
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
303
304
304
304
304
304
304
304
305
306
306
306
307
307
307
308
308
308
308
308
308
309
309
309
310
311
316
316
316
317
321
321
324
327
331
335
340
344
348
348
349
349
349
350
350
351
352
353
354
355
355
355
355
355
356
357
357
357
358
359
360
360
361
362
363
364
365
366
367
368
369
369
370
370
372
376
377
380
384
389
392
398
407
416
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
431
432
432
433
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
434
435
435
435
436
436
437
437
438
438
438
439
439
439
440
440
440
441
442
443
444
445
445
446
446
446
446
447
447
447
447
448
448
448
448
448
448
448
448
448
448
448
450
450
450
450
450
454
454
454
455
458
458
458
461
465
467
469
471
473
473
473
477
477
477
490
504
514
517
528
528
528
528
528
528
528
529
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
530
531
531
531
531
531
531
531
532
533
533
533
534
534
534
535
535
535
535
535
535
536
536
536
537
538
543
543
543
544
548
548
551
554
558
562
567
571
575
575
576
576
576
577
577
578
579
580
581
582
582
582
582
582
583
584
584
584
585
586
587
587
588
589
590
591
592
593
594
595
597
597
598
598
600
604
607
610
614
619
626
632
642
650
668
668
668
668
668
668
668
668
668
668
668
668
669
669
669
669
670
670
671
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
672
673
673
673
673
673
673
673
673
673
673
674
674
674
674
674
674
674
674
674
674
675
675
676
676
676
677
677
678
678
679
679
679
680
680
681
682
682
682
683
684
685
686
687
687
688
688
688
689
690
690
690
690
691
691
691
691
691
691
691
691
691
691
691
694
694
696
700
702
707
710
714
716
720
724
724
728
732
734
739
744
747
748
753
758
763
772
785
798
813
823
833
833
833
833
833
833
833
834
835
835
835
835
835
835
835
835
835
835
835
836
837
837
837
837
837
837
837
837
837
837
837
837
838
838
838
838
838
838
838
838
838
838
838
839
840
840
840
840
840
840
840
840
840
841
842
842
842
843
844
845
845
846
847
847
847
848
848
848
849
849
849
849
850
851
852
852
853
854
855
860
865
870
873
878
883
888
891
896
901
906
911
916
916
917
917
917
918
918
919
920
921
922
923
