0
0
1
2
2
3
3
3
3
3
3
3
3
3
4
5
6
6
6
6
7
8
10
12
13
13
16
19
22
22
25
27
29
36
42
47
47
47
47
47
47
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
49
49
49
49
50
50
50
50
50
50
50
50
50
50
50
51
51
51
51
51
51
51
51
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
54
54
54
55
55
55
55
55
55
56
56
56
56
57
59
61
61
61
61
61
61
61
61
66
66
66
66
71
71
72
73
76
77
77
80
83
83
83
86
89
89
100
110
114
120
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
129
130
130
131
131
131
131
132
132
132
132
132
132
132
132
133
133
133
133
133
133
133
134
134
134
135
136
136
137
137
138
138
138
138
138
139
139
139
139
139
140
141
141
141
141
141
144
147
148
151
156
159
162
167
168
169
169
169
170
170
171
171
172
172
173
173
174
175
175
176
176
176
176
176
176
176
176
176
177
178
179
179
179
179
180
181
183
185
186
187
190
193
197
199
203
205
210
219
225
230
230
230
230
230
231
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
233
233
233
233
233
234
235
236
236
236
237
237
238
239
239
239
240
240
240
240
240
240
240
240
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
241
242
243
244
244
245
246
246
246
247
247
247
247
247
247
248
248
248
248
250
251
254
254
254
254
254
254
254
254
259
259
259
259
264
264
266
268
271
273
275
279
284
284
285
289
293
293
305
318
322
332
342
342
342
342
342
342
342
342
342
342
342
343
343
343
343
343
343
343
343
344
344
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
345
346
346
347
347
347
347
348
348
348
348
348
348
348
348
349
349
349
349
349
349
349
350
350
350
351
352
352
353
354
355
355
355
355
355
356
356
356
356
356
357
362
362
362
364
366
369
372
376
380
385
390
394
399
400
401
402
402
403
403
404
404
405
406
407
407
408
409
409
410
410
410
410
410
410
410
410
410
411
412
413
413
413
413
414
417
419
421
423
424
427
430
434
436
440
446
454
464
471
477
477
477
478
478
479
480
480
480
480
480
481
481
481
481
481
481
481
481
482
482
482
482
482
482
482
482
483
483
483
484
484
484
485
486
487
488
489
489
489
490
491
492
493
493
493
494
494
495
496
497
497
497
497
498
498
498
498
498
498
498
498
498
498
498
498
498
499
499
500
500
500
500
500
500
500
501
502
503
503
504
505
505
505
506
506
506
506
506
506
507
507
507
510
512
517
522
522
522
522
527
527
527
527
532
535
539
544
549
549
552
555
558
561
565
570
575
578
583
588
593
601
614
627
632
640
650
650
650
650
650
650
650
650
650
651
652
653
654
655
655
655
655
655
655
656
656
657
657
657
657
658
658
658
659
660
660
660
660
660
660
660
660
660
660
661
661
662
662
662
662
663
663
663
664
665
665
665
665
666
667
668
669
669
670
671
672
673
674
675
676
677
678
679
680
680
680
681
682
683
684
685
686
687
688
693
696
701
704
708
711
716
720
724
729
734
738
743
744
745
746
746
747
747
748
748
749
750
751
