0
1
2
3
3
3
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
14
17
20
20
21
22
22
22
25
25
25
25
25
25
25
27
30
33
36
37
41
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
46
46
46
46
47
47
53
56
56
61
66
68
70
70
73
75
75
76
78
79
82
82
85
86
86
89
93
96
97
98
99
99
99
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
102
107
111
114
117
117
117
117
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
120
121
122
122
122
122
122
122
123
125
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
130
130
133
134
134
134
135
135
137
139
139
139
139
139
139
139
139
139
139
140
140
141
141
141
143
144
144
146
146
146
146
146
146
154
155
156
165
175
182
189
195
200
207
213
213
216
217
218
220
222
225
227
230
244
256
263
265
271
271
271
271
271
271
271
271
271
271
273
274
274
276
276
276
276
276
276
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
277
278
279
279
279
279
280
283
283
285
285
287
290
293
293
295
299
300
300
303
305
308
309
312
317
317
320
323
326
329
334
339
342
342
345
345
348
349
350
353
358
363
364
364
364
364
364
364
374
378
378
380
391
401
407
418
428
434
446
450
461
461
465
468
468
470
475
477
480
485
488
493
493
496
501
506
507
508
509
509
509
510
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
511
516
516
516
516
516
524
527
527
537
540
547
552
555
555
555
555
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
556
558
560
563
566
567
568
569
569
569
569
569
571
572
574
575
576
576
576
578
580
580
580
580
580
580
580
580
584
584
584
584
584
584
585
585
585
586
588
588
588
588
588
588
588
591
593
597
600
603
604
606
606
607
607
609
611
611
611
611
611
611
611
612
613
613
616
616
617
619
619
630
640
645
656
658
660
664
666
666
666
667
668
679
689
700
709
715
721
731
739
739
744
747
750
752
757
762
764
772
786
798
805
808
815
819
822
827
827
827
827
827
827
829
832
835
838
843
843
846
849
852
852
857
860
865
869
870
873
878
883
886
889
894
899
899
899
903
904
904
904
904
905
907
910
910
910
913
916
916
918
918
920
923
926
927
929
933
934
935
938
942
945
947
951
955
955
958
961
964
967
972
977
980
981
984
984
987
990
993
996
1001
1006
1007
1007
1007
1009
1010
1011
1023
1034
1042
1049
1059
1068
1074
1085
1095
1101
1112
1116
1127
1132
1137
1142
1142
1147
1152
1154
1157
1162
1165
1170
1175
1178
1183
1188
