0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
2
2
2
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
8
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
12
13
13
13
14
14
14
14
14
14
14
15
16
17
17
17
17
17
17
17
17
17
19
20
20
20
21
22
25
27
27
27
30
33
35
35
36
37
37
37
37
37
37
37
39
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
46
46
46
47
48
48
48
49
50
51
52
52
52
52
52
52
52
53
54
55
55
55
55
55
55
55
55
56
57
58
58
58
59
60
60
60
60
61
62
63
63
63
63
63
64
65
65
65
65
65
65
65
65
65
65
66
67
68
68
68
68
68
68
69
69
69
69
70
71
71
74
77
78
78
79
81
83
86
87
89
89
89
90
90
91
92
93
94
95
96
97
98
98
99
100
101
101
102
102
102
102
102
102
103
104
104
104
104
104
104
104
104
104
104
104
105
105
106
106
106
106
106
106
106
106
106
106
106
109
115
120
123
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
131
132
133
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
135
136
137
137
137
138
138
138
138
138
138
138
139
140
141
141
141
143
144
144
147
149
152
155
157
157
157
159
160
165
167
168
173
178
182
185
185
186
187
187
187
187
191
195
198
205
210
219
222
225
232
232
232
232
232
232
232
232
232
232
233
234
234
235
235
236
236
237
238
239
239
240
241
242
243
244
244
244
244
244
244
244
245
246
247
247
247
247
247
247
247
247
248
249
250
250
250
251
252
252
252
252
253
254
255
255
256
257
257
258
259
259
260
261
261
261
261
261
262
262
263
264
265
265
265
265
265
265
266
266
266
266
267
268
268
273
276
279
284
286
288
290
294
295
298
303
304
306
309
310
311
312
313
314
315
316
317
317
318
319
320
321
322
322
322
322
322
322
323
324
324
324
324
324
324
324
324
324
324
324
325
325
326
326
326
326
326
326
326
326
326
326
326
329
336
341
344
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
349
350
351
351
351
352
352
352
352
352
352
352
352
352
352
352
352
352
352
353
354
355
356
357
357
357
357
357
357
357
357
357
357
357
357
357
357
358
358
358
358
358
358
358
358
358
359
360
361
361
361
362
362
362
362
362
362
362
363
364
365
365
365
368
370
372
375
378
381
385
388
388
390
393
395
400
403
406
411
416
420
423
423
424
425
425
426
426
431
435
438
445
450
459
462
465
472
472
472
472
472
472
472
472
472
472
473
474
474
475
475
476
476
477
478
479
479
480
481
482
483
484
484
484
484
484
485
485
486
487
488
488
488
488
488
488
489
489
490
491
492
492
492
493
494
494
494
494
495
496
497
497
498
499
499
500
501
502
503
504
504
505
506
506
507
507
508
509
510
510
510
510
510
510
511
511
511
511
512
513
513
518
521
524
529
533
535
538
542
545
548
553
554
557
560
561
562
563
564
565
566
567
568
568
569
570
571
572
573
573
573
573
573
573
574
575
575
575
575
575
575
575
575
575
575
575
576
576
577
577
579
581
583
585
585
585
587
589
589
592
600
605
608
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
613
614
614
614
614
615
615
615
616
617
617
618
619
619
619
619
620
621
621
621
621
621
622
622
622
622
622
622
623
624
625
625
625
625
625
625
625
625
625
625
625
625
625
625
626
626
627
627
628
629
629
630
630
630
631
632
632
633
634
634
634
634
634
634
634
635
636
637
640
640
643
645
647
649
652
655
659
662
662
665
668
670
675
678
681
686
691
696
699
699
700
701
701
702
702
704
708
710
717
722
729
732
735
738
739
740
740
741
741
741
741
741
742
743
744
744
745
746
747
747
748
749
750
751
752
753
754
755
756
756
756
756
756
757
757
758
759
760
760
760
760
760
760
761
761
762
763
764
765
765
766
767
767
768
768
769
770
771
772
773
774
775
776
777
778
779
780
780
781
782
782
783
783
784
785
786
786
786
786
786
786
787
788
789
789
790
791
791
796
799
802
807
811
813
816
820
823
826
831
832
835
837
838
839
840
841
842
843
844
845
845
846
847
848
849
850
