0
0
1
2
3
4
4
4
4
4
4
4
4
4
5
6
7
7
7
7
8
9
11
14
15
15
16
16
20
23
24
26
30
34
36
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
42
43
43
43
43
43
43
43
43
43
43
43
44
44
45
45
45
45
46
47
49
49
49
49
49
49
49
54
54
54
54
59
59
59
59
61
63
63
64
65
65
65
65
70
73
73
85
95
97
98
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
107
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
109
110
110
110
110
110
110
110
110
111
111
111
111
111
111
111
111
111
111
111
111
112
112
112
113
113
113
114
114
115
115
115
115
116
117
117
117
117
118
118
123
123
123
125
127
130
133
136
141
144
146
151
154
154
155
156
157
158
159
160
161
162
163
163
163
164
165
166
167
167
167
167
167
167
167
167
167
168
169
170
170
170
170
171
172
174
177
178
179
180
180
184
187
188
190
197
204
208
213
213
213
213
214
214
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
216
217
217
217
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
221
222
222
222
222
222
223
223
223
223
223
223
224
224
225
225
225
225
226
228
231
231
231
231
231
231
231
236
236
236
236
241
241
241
243
247
252
252
254
255
255
255
256
261
264
264
276
288
294
297
305
305
305
305
305
305
305
305
305
305
305
306
306
306
306
306
306
306
306
307
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
308
309
310
310
310
310
310
310
310
310
311
311
311
311
311
311
311
311
311
311
311
311
312
312
312
313
313
313
314
315
316
316
316
316
317
318
318
318
318
319
319
324
324
324
326
328
331
334
337
342
345
350
355
358
358
359
360
361
362
363
364
365
366
367
368
368
369
370
371
372
372
372
372
372
372
372
372
372
373
374
375
375
375
375
376
379
381
385
387
388
389
389
393
396
397
402
412
420
425
430
430
430
431
432
432
433
433
433
433
434
434
434
434
434
434
434
434
435
435
435
435
435
435
435
435
436
436
436
436
436
436
437
438
439
439
440
441
441
442
443
444
445
445
445
445
445
445
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
446
447
448
448
449
449
449
449
449
449
450
451
451
451
451
451
452
452
452
452
453
453
454
454
455
455
455
458
461
463
468
468
468
471
471
471
471
476
476
479
482
487
490
491
495
499
502
502
505
506
506
509
514
519
522
529
541
552
557
562
570
570
570
570
570
570
570
570
570
571
572
573
574
575
575
575
575
575
575
576
577
577
577
577
578
579
579
579
580
580
580
580
581
581
581
581
581
581
581
582
583
583
583
583
584
585
585
585
586
586
586
586
587
587
588
588
589
590
591
592
593
593
594
595
595
596
597
598
599
600
601
602
603
604
604
605
606
607
607
612
617
620
623
626
631
634
639
643
646
651
656
659
659
660
661
662
663
664
665
666
667
668
669
