0
0
1
2
2
2
3
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
9
9
12
15
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
23
23
23
23
23
23
23
24
25
25
25
25
25
25
25
26
27
27
27
27
27
27
27
28
29
29
29
29
29
29
29
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
33
33
34
35
35
35
36
36
36
36
36
36
37
37
37
37
37
37
38
38
39
40
40
40
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
45
45
46
48
48
51
54
54
54
56
58
58
58
61
64
66
66
69
72
74
74
77
80
80
80
80
80
80
81
84
87
93
99
104
110
115
118
124
124
124
125
125
125
125
125
125
125
125
125
125
125
126
126
126
126
126
126
126
127
128
128
128
128
128
128
128
129
129
130
131
132
132
133
134
134
134
134
134
134
134
135
136
136
137
137
137
137
137
137
137
137
138
138
139
140
140
140
141
142
142
142
142
142
142
142
143
144
144
144
145
145
145
145
145
145
145
145
145
145
145
146
147
148
148
148
149
149
150
151
151
151
151
151
151
151
152
153
153
154
154
154
154
154
154
154
155
156
156
156
156
156
156
159
162
165
165
167
167
170
173
173
176
176
176
179
182
184
186
186
189
191
192
192
192
193
193
193
194
195
195
196
197
198
199
200
200
201
201
202
203
203
204
205
205
205
206
207
208
208
208
208
208
208
208
208
208
208
208
208
208
209
209
209
212
215
216
217
217
217
218
223
223
226
229
235
235
235
235
235
235
235
235
235
235
235
235
235
235
236
237
237
237
237
237
237
237
238
239
239
239
239
239
239
239
240
241
241
241
241
241
241
241
242
243
243
243
243
243
243
243
244
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
246
247
247
248
249
249
249
250
250
250
250
250
250
251
251
251
251
251
251
252
252
253
254
254
254
255
255
255
255
255
255
256
256
256
256
256
256
256
256
256
256
256
256
257
257
257
257
257
259
259
260
263
263
266
269
269
269
271
273
273
273
276
279
281
281
284
287
289
289
292
295
295
295
295
295
295
296
299
302
308
314
319
325
331
334
340
340
340
341
341
341
341
341
341
341
341
341
341
341
342
342
342
342
342
342
342
343
344
344
344
344
344
344
344
345
345
346
347
348
348
349
350
350
350
350
350
350
350
351
352
352
353
353
353
353
353
353
353
353
354
354
355
356
356
356
357
358
358
358
358
358
358
358
359
360
360
360
361
361
361
361
361
361
361
361
361
361
361
362
363
364
364
364
365
365
366
367
367
367
367
367
367
367
368
369
369
370
370
370
370
370
370
370
371
372
372
372
372
372
372
375
378
381
381
383
384
387
390
390
393
393
393
396
399
401
403
403
406
408
409
409
409
410
410
410
411
412
412
413
414
415
416
417
417
418
418
419
420
420
421
422
422
422
423
424
425
425
425
425
425
425
425
425
425
425
425
425
425
426
426
426
429
432
433
434
434
434
435
440
440
443
446
452
452
452
452
452
452
452
452
452
452
452
452
452
452
453
454
454
454
454
454
454
454
455
456
456
456
456
456
456
456
457
458
458
458
458
458
458
458
459
460
460
460
460
460
460
460
461
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
463
464
464
465
466
466
466
467
467
467
467
467
467
468
468
468
468
468
468
469
469
470
471
471
471
472
472
472
472
472
472
473
473
473
473
473
473
473
473
473
473
473
473
474
474
474
474
477
480
480
481
484
484
487
490
490
490
493
496
496
496
499
502
505
505
508
511
513
513
516
519
519
519
519
519
519
520
523
526
532
538
543
549
555
558
564
564
564
565
565
565
565
565
566
566
566
566
566
566
567
567
567
567
567
567
567
568
569
569
569
569
569
569
569
570
570
571
572
573
573
574
575
575
575
575
575
575
576
577
578
578
579
580
580
580
580
580
580
580
581
581
582
583
584
584
585
586
586
586
586
586
586
586
587
588
588
588
589
589
589
590
591
591
591
591
591
591
591
592
593
594
594
595
596
596
597
598
598
598
598
598
598
598
599
600
600
601
601
601
601
601
601
602
603
604
604
604
604
604
604
607
610
613
613
615
616
619
622
622
625
626
626
629
632
634
636
636
639
641
642
642
643
644
644
644
645
646
646
647
648
649
650
651
651
652
652
653
654
654
655
656
656
656
657
658
659
659
659
659
659
659
659
659
659
659
659
659
659
662
662
662
665
668
669
670
670
670
671
677
677
680
683
689
690
691
691
692
692
692
693
693
694
694
694
695
696
697
698
699
700
700
700
701
702
703
704
704
704
704
704
705
706
707
708
709
710
710
710
711
712
713
714
714
714
714
714
714
714
715
716
716
716
716
716
716
716
716
716
716
716
716
716
717
718
719
720
720
721
722
722
722
723
723
724
725
725
725
726
726
726
726
726
726
727
727
728
729
729
729
730
730
730
730
730
730
731
731
731
731
731
731
731
731
731
731
731
731
732
735
738
741
744
747
748
750
753
753
756
759
762
762
765
768
770
770
773
776
779
779
782
785
787
787
790
793
793
793
794
795
796
797
802
807
813
819
825
831
837
840
850
851
852
853
853
853
854
855
856
856
857
858
858
859
860
860
861
861
862
862
863
864
865
865
865
865
865
866
867
868
868
869
870
871
871
872
873
873
873
873
873
873
874
875
876
877
878
879
879
880
880
880
881
882
883
883
884
885
886
886
887
888
888
888
888
888
888
889
890
891
891
891
891
891
891
892
893
894
894
895
896
896
897
898
899
900
900
901
902
902
903
904
905
905
906
907
907
907
908
909
909
909
909
909
910
911
911
912
913
914
915
915
916
917
918
921
924
927
929
933
936
939
942
942
946
949
952
957
960
963
968
971
976
981
982
983
984
985
985
985
986
987
987
988
989
990
991
992
992
993
994
995
996
