0
0
0
1
1
1
1
1
1
1
1
1
1
2
3
4
5
6
7
7
8
8
8
9
9
9
9
9
11
13
15
15
15
19
26
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
32
33
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
37
38
39
40
41
42
42
42
42
42
42
42
42
43
44
45
46
47
47
47
52
52
52
52
52
52
52
52
52
52
52
52
53
55
59
62
62
64
68
72
73
75
78
81
83
88
92
95
104
109
114
119
128
135
135
135
135
135
135
135
135
135
135
136
137
137
137
138
138
138
138
139
139
140
140
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
142
143
143
143
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
144
145
145
145
145
145
145
145
146
146
146
147
148
149
150
151
152
152
152
152
152
152
157
162
167
171
174
177
180
185
189
191
196
200
205
210
210
211
212
213
214
215
215
216
216
217
218
219
220
221
221
221
222
222
222
222
222
222
222
222
222
222
223
224
225
226
227
228
228
229
229
229
231
232
232
232
232
234
237
241
241
242
247
254
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
261
262
262
262
262
262
262
262
262
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
264
264
264
265
266
267
268
269
270
270
270
270
270
270
270
270
271
272
273
274
275
275
275
280
280
280
280
280
280
280
280
280
280
280
280
281
283
287
290
290
292
296
300
301
303
306
309
311
316
320
324
335
341
347
353
362
373
373
373
373
373
373
373
373
373
373
374
375
375
375
376
376
376
376
377
377
378
378
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
379
380
381
381
381
381
381
381
381
381
381
381
381
382
382
382
382
382
382
382
382
383
383
383
384
385
385
385
386
386
386
387
388
389
390
391
392
392
392
393
393
394
399
404
409
413
416
420
423
428
432
434
439
443
448
453
453
454
455
456
457
458
458
459
459
460
461
462
463
464
464
464
465
465
465
465
465
465
465
465
465
465
466
467
468
469
470
471
471
472
472
472
474
475
475
475
475
477
480
484
484
485
490
497
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
504
505
506
506
506
506
506
506
506
506
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
507
508
508
508
509
510
511
512
513
514
514
514
514
514
514
514
514
515
516
517
518
519
519
519
524
524
524
524
524
524
524
524
524
524
524
524
525
527
531
534
534
536
539
543
544
546
549
551
553
558
562
566
578
584
590
596
605
617
617
617
617
617
617
617
617
617
617
618
619
619
619
620
620
620
620
621
621
622
622
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
623
624
625
625
625
625
625
625
625
625
625
625
625
626
627
627
627
628
629
629
629
630
630
630
631
632
632
632
633
633
633
634
635
636
637
638
639
640
640
641
641
642
647
652
657
661
664
668
671
676
680
682
687
691
696
701
701
702
703
704
705
706
706
707
707
708
709
710
711
712
712
712
713
713
713
713
713
713
713
713
713
713
714
715
716
717
718
719
719
720
720
720
722
723
723
723
723
725
728
732
739
745
751
757
762
762
762
762
762
762
762
762
762
762
762
762
762
762
762
763
764
764
764
764
764
765
766
766
766
766
766
766
766
766
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
768
769
770
770
770
770
770
770
771
771
771
771
771
771
771
771
772
773
773
774
774
774
775
776
777
778
779
780
781
781
781
781
781
781
781
782
783
784
785
786
786
786
791
791
791
791
791
791
791
791
794
797
800
805
809
814
819
822
822
826
830
834
837
842
846
849
851
853
858
862
874
881
891
897
907
914
914
914
914
914
914
914
914
914
914
915
916
916
916
917
917
917
917
918
918
919
919
920
920
920
920
920
920
920
920
920
920
920
920
921
922
922
922
922
922
922
922
922
922
923
924
924
924
924
924
925
925
925
926
926
926
927
928
928
928
929
930
931
932
933
933
934
935
936
937
937
938
938
939
940
941
942
943
944
945
946
947
948
949
950
955
960
965
969
974
979
983
988
993
997
1002
1007
1012
1017
1017
1018
1019
1020
1021
1022
1022
1023
1023
1024
1025
1026
1027
1028
