0
0
0
1
1
1
1
1
1
1
1
2
3
4
5
6
7
7
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
35
35
35
36
37
38
39
40
41
41
41
41
41
41
41
41
42
43
44
45
46
46
46
51
51
51
51
51
52
52
52
52
52
52
52
53
54
57
59
59
61
65
69
70
72
75
78
80
85
89
92
101
106
111
116
125
132
132
132
132
132
132
132
132
132
132
133
134
134
134
135
135
135
135
136
136
137
137
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
139
139
140
140
141
142
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
144
144
144
145
146
147
148
149
150
150
150
150
150
150
155
160
165
169
172
176
179
184
188
189
194
198
203
208
208
209
210
211
212
213
213
214
214
215
216
217
218
219
219
219
220
220
220
220
220
220
220
220
221
222
223
224
225
226
226
226
226
227
227
227
229
230
230
230
230
232
235
239
239
240
245
252
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
259
260
260
260
260
260
260
260
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
262
263
264
265
266
267
267
267
267
267
267
267
267
268
269
270
271
272
272
272
277
277
277
277
277
278
278
278
278
278
278
278
279
281
285
287
287
289
293
297
298
300
303
306
308
313
317
321
332
338
344
350
359
370
370
370
370
370
370
370
370
370
370
371
372
372
372
373
373
373
373
374
374
375
375
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
376
377
377
377
377
378
378
379
380
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
381
382
383
383
383
384
384
384
385
386
387
388
389
390
390
390
391
391
392
397
402
407
411
415
419
422
427
431
432
437
441
446
451
451
452
453
454
455
456
456
457
457
458
459
460
461
462
462
462
463
463
463
463
463
463
463
463
464
465
466
467
468
469
469
469
469
470
470
470
472
473
473
473
473
475
478
482
482
483
488
495
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
502
503
504
504
504
504
504
504
504
504
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
505
506
507
508
509
510
511
511
511
511
511
511
511
511
512
513
514
515
516
516
516
521
521
521
521
521
522
522
522
522
522
522
522
523
525
529
531
531
533
536
540
541
543
546
548
550
555
559
563
575
581
587
593
602
614
614
614
614
614
614
614
614
614
614
615
616
616
616
617
617
617
617
618
618
619
619
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
620
621
621
621
621
622
622
623
624
625
625
625
625
625
625
625
625
625
625
625
626
626
626
627
628
628
628
628
628
628
629
630
630
630
631
631
631
632
633
634
635
636
637
638
638
639
639
640
645
650
655
659
663
667
670
675
679
680
685
689
694
699
699
700
701
702
703
704
704
705
705
706
707
708
709
710
710
710
711
711
711
711
711
711
711
711
712
713
714
715
716
717
717
717
717
718
718
718
720
721
723
724
724
726
729
733
740
745
751
757
763
763
763
763
763
763
763
763
763
763
763
763
763
764
764
764
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
771
772
773
774
775
775
775
775
775
776
777
777
777
777
777
777
777
778
779
780
781
782
783
783
783
783
783
783
783
783
784
785
786
787
788
788
788
793
793
793
793
793
795
795
795
798
801
804
809
812
817
822
824
824
828
832
836
839
844
848
851
853
858
863
867
879
889
898
904
914
921
921
921
921
921
921
921
921
921
921
922
923
923
923
924
924
924
924
925
925
926
926
927
927
927
927
927
927
927
927
927
927
927
927
928
929
929
929
930
930
930
930
931
931
932
933
934
934
934
934
935
935
935
936
936
936
936
937
937
937
938
939
939
939
939
939
940
941
942
943
943
944
944
945
946
947
948
949
950
951
952
953
954
955
956
961
966
971
975
980
985
989
994
999
1003
1008
1013
1018
1023
1023
1024
1025
1026
1027
1028
1028
1029
1029
1030
1031
1032
1033
1034
