0
1
2
2
2
2
3
4
4
4
5
6
7
8
9
10
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
29
29
29
29
29
30
30
31
31
34
38
39
44
48
53
53
55
64
77
89
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
115
116
116
116
116
116
116
116
116
116
116
116
116
117
118
119
119
119
119
120
120
120
120
120
120
120
120
120
120
121
122
123
124
124
125
125
125
126
126
126
127
127
127
127
127
127
128
129
130
130
131
132
133
134
135
135
135
135
135
135
135
135
135
136
136
136
136
139
144
144
147
151
151
152
155
159
159
161
166
171
174
174
174
178
182
197
211
225
237
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
251
252
253
253
253
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
256
257
257
257
258
259
259
259
259
259
259
259
259
259
260
261
261
261
261
261
261
265
270
274
278
283
287
291
295
299
300
301
302
303
303
303
303
303
303
304
305
305
305
306
307
308
309
310
311
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
333
335
337
341
344
349
354
358
363
368
372
376
381
386
391
404
413
427
441
453
477
477
477
478
478
478
478
478
478
478
479
479
479
479
480
480
480
480
480
481
481
482
482
482
483
484
484
485
485
485
485
485
485
486
486
486
486
487
487
488
489
489
489
489
490
491
492
493
493
494
495
495
496
497
498
499
500
501
502
503
504
505
505
505
506
507
508
509
509
510
511
511
512
513
514
515
516
517
518
519
520
521
522
523
523
524
524
524
525
526
527
528
529
530
530
530
530
531
531
531
532
533
534
535
536
537
537
537
540
542
545
545
545
548
550
555
555
555
560
565
565
570
574
574
578
583
588
593
593
597
601
604
608
613
618
623
638
652
663
668
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
681
682
683
684
684
685
686
687
687
687
688
689
689
689
689
690
690
691
691
691
692
693
694
694
695
696
697
697
697
697
697
698
699
699
700
701
702
702
702
703
703
704
708
713
717
721
726
731
736
741
746
747
748
749
750
