0
0
0
0
0
0
1
2
2
2
2
2
2
2
3
4
5
6
7
8
9
9
9
9
9
11
11
12
12
14
16
17
26
35
43
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
63
64
64
64
65
66
66
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
68
68
69
70
70
70
71
71
72
72
72
72
72
72
72
72
72
72
72
72
72
72
74
74
74
74
75
75
77
79
82
85
89
90
93
96
99
99
99
100
103
115
126
134
141
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
152
152
153
153
154
154
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
155
160
165
170
175
180
184
189
190
191
192
192
192
192
192
192
193
194
194
194
194
194
194
194
195
196
197
198
199
200
201
201
201
201
201
203
204
207
207
209
213
219
230
239
248
273
273
273
273
273
273
273
273
273
273
273
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
274
275
276
277
277
277
278
279
279
280
280
280
280
280
280
280
280
280
280
280
280
280
280
280
281
282
283
284
285
286
287
288
289
290
291
291
292
293
293
294
295
296
297
298
298
298
298
298
298
298
302
302
302
303
306
309
312
314
318
322
327
330
334
338
343
345
349
352
356
371
383
396
408
420
420
420
420
420
420
420
420
420
420
420
421
421
422
422
423
423
424
424
425
425
426
426
427
427
428
428
429
429
430
430
431
432
432
433
433
433
433
433
434
435
435
436
441
446
451
456
461
465
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
498
503
508
513
517
519
522
527
532
536
548
562
574
585
602
602
603
604
605
606
607
607
608
608
608
609
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
632
632
633
634
634
635
636
637
638
639
640
641
642
643
644
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
672
676
679
682
686
691
696
701
706
711
716
721
726
731
736
741
746
751
756
761
766
771
776
781
786
801
815
827
838
850
851
852
853
854
855
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
896
901
906
911
916
921
926
927
928
929
