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
6
6
6
6
6
6
6
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
8
9
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
14
14
14
14
14
14
14
14
14
14
15
16
16
16
16
17
17
17
18
18
20
21
21
21
22
25
27
32
35
35
39
42
46
49
49
49
49
49
49
49
52
56
59
61
68
71
72
72
76
76
76
76
76
76
76
76
76
76
76
76
76
76
76
77
77
77
77
78
79
80
81
82
83
84
84
84
84
84
84
84
84
85
86
86
86
86
87
88
89
90
91
92
93
93
93
94
95
95
95
95
95
96
97
97
98
99
99
100
101
101
101
101
101
101
101
101
101
101
102
102
102
102
102
102
102
102
103
104
105
105
106
107
107
111
113
114
117
121
124
127
132
133
136
140
140
143
146
147
148
149
150
151
152
153
154
154
155
156
157
158
159
160
161
162
162
162
163
164
164
164
164
164
164
164
164
164
164
164
165
165
166
166
166
166
166
166
166
166
166
166
166
167
173
177
180
183
183
183
184
184
184
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
186
187
188
188
188
188
188
188
188
188
188
188
188
188
188
188
189
190
191
192
192
192
193
193
193
193
193
193
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
196
197
197
197
198
198
198
198
198
198
198
199
200
200
200
200
201
201
201
203
205
210
211
212
212
213
216
218
223
226
227
232
235
239
242
242
242
242
242
242
242
247
252
255
260
268
272
274
277
284
284
284
284
284
284
284
284
284
284
284
285
285
286
286
287
287
288
289
290
291
292
293
294
295
296
296
296
296
296
297
297
298
299
300
300
300
300
301
302
303
304
305
306
307
307
307
308
309
309
309
309
310
311
312
312
313
314
314
315
316
316
316
316
316
316
316
316
316
316
317
318
319
319
319
319
319
319
320
321
322
322
323
324
324
329
332
335
340
344
347
350
355
356
359
363
364
367
370
371
372
373
374
375
376
377
378
378
379
380
381
382
383
384
385
386
386
386
387
388
388
388
388
388
388
388
388
388
388
388
389
389
390
390
390
390
390
390
390
390
391
391
391
392
399
403
406
409
409
409
410
410
410
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
412
413
414
414
414
414
414
414
414
414
414
414
414
414
414
414
415
416
417
418
418
418
419
419
419
419
419
419
420
420
420
420
420
420
420
421
421
421
421
421
421
421
421
422
423
424
424
424
425
425
425
425
425
425
425
426
427
427
427
427
429
430
432
435
438
443
446
448
450
452
456
459
464
467
470
473
476
480
483
483
484
485
485
486
486
491
496
499
506
515
519
521
524
531
531
531
531
531
531
531
531
531
531
532
533
533
534
534
535
535
536
537
538
539
540
541
542
543
544
544
544
544
544
545
545
546
547
548
548
549
549
550
551
552
553
554
555
556
556
556
557
558
558
558
558
559
560
561
561
562
563
563
564
565
566
566
566
566
567
568
568
569
569
570
571
572
572
572
572
572
572
573
574
575
575
576
577
577
582
585
588
593
598
601
604
609
612
615
619
620
623
626
627
628
629
630
631
632
633
634
634
635
636
637
638
639
639
639
639
639
639
639
639
639
639
639
640
640
641
642
643
643
643
643
643
643
643
646
649
649
649
649
649
652
654
654
658
665
668
671
674
674
674
674
674
674
674
674
674
675
675
675
675
675
675
675
675
676
676
676
676
676
676
677
678
679
680
681
682
683
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
684
685
685
685
685
685
686
686
686
686
686
686
687
687
687
687
687
687
687
688
689
689
690
691
691
692
692
693
694
694
694
694
694
694
694
694
694
694
694
695
696
696
696
696
700
702
705
710
713
718
721
723
725
728
732
735
740
743
746
751
754
758
761
761
762
763
763
764
764
766
771
774
781
789
793
795
798
802
802
802
802
802
802
802
802
802
803
804
805
805
806
807
808
808
809
810
811
812
813
814
815
816
817
817
817
817
817
818
818
819
820
821
821
822
822
823
824
825
826
827
828
829
829
829
830
831
831
831
831
832
833
834
835
836
837
838
839
840
841
841
841
841
842
843
843
844
844
845
846
847
847
847
847
847
847
848
849
850
850
851
852
852
857
860
863
868
873
876
879
884
887
890
895
896
899
902
903
904
905
906
907
908
909
910
910
911
912
913
914
915
