0
0
1
2
2
2
2
2
3
4
4
5
6
7
7
8
8
9
9
9
10
10
10
14
14
17
20
20
22
24
27
29
34
43
45
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
53
54
55
56
56
57
58
59
59
59
59
59
59
59
59
59
59
59
59
59
60
61
62
63
63
64
65
66
66
66
66
66
67
68
68
69
70
71
71
71
72
73
74
75
75
76
77
78
78
78
79
79
79
79
79
79
79
80
80
80
80
80
81
81
81
81
82
82
84
87
89
93
95
95
95
95
95
95
96
99
102
106
109
111
114
118
123
126
129
132
135
140
143
143
144
144
147
149
150
150
153
156
159
165
172
179
190
200
209
218
218
218
219
220
220
220
220
220
220
220
220
221
222
223
224
225
225
226
226
227
228
229
230
231
231
232
232
233
233
233
234
234
234
235
235
236
237
237
237
237
238
238
239
239
240
241
241
241
241
241
241
241
241
241
241
242
242
242
242
242
242
243
243
243
244
245
246
247
247
247
247
248
249
250
251
251
252
252
252
253
253
253
253
254
255
256
256
256
256
257
257
257
257
257
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
258
258
258
258
258
258
259
259
259
260
260
264
268
273
278
282
285
285
289
289
291
296
300
304
309
313
318
318
322
327
327
327
327
328
329
329
329
330
330
331
332
333
334
335
335
335
335
336
337
338
339
339
340
341
341
341
341
341
342
343
343
344
345
346
346
347
347
348
348
348
349
349
353
357
357
360
363
363
368
371
374
374
382
389
391
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
393
394
395
395
395
395
396
396
396
396
396
396
396
396
396
396
396
396
396
396
397
397
398
399
400
400
401
402
403
403
403
403
403
403
403
403
403
403
403
403
403
404
405
406
407
407
408
409
410
411
412
413
414
415
416
416
417
418
419
420
420
421
422
423
424
424
425
426
427
428
429
430
430
431
432
432
432
433
434
435
436
437
437
438
439
440
440
441
442
444
447
450
455
458
458
458
458
458
458
458
458
462
466
469
474
477
482
487
490
494
497
502
506
508
510
513
517
522
524
525
529
533
538
541
551
551
555
565
572
581
591
591
591
592
593
594
594
594
594
594
594
594
595
596
597
598
599
599
600
601
602
603
604
605
606
606
607
607
608
609
609
610
611
611
612
612
613
613
613
613
613
613
614
614
615
616
617
617
617
617
617
617
617
618
619
620
621
621
621
621
621
621
621
622
623
624
625
626
627
627
628
629
630
631
632
633
634
635
636
637
638
638
639
640
641
642
643
644
645
646
647
647
647
647
647
647
647
648
649
649
649
649
650
651
651
651
651
652
653
653
653
653
653
653
653
654
654
655
655
655
656
656
660
665
670
675
680
682
682
685
685
689
694
698
702
707
712
717
717
722
727
727
727
727
728
729
729
729
730
730
731
732
733
734
735
735
735
735
736
737
738
739
