0
1
1
1
1
2
3
3
3
3
4
5
6
6
7
8
9
9
10
11
12
12
13
14
14
15
16
17
17
18
19
19
20
21
22
23
23
23
23
23
24
24
24
24
24
25
27
27
29
31
34
34
37
40
49
59
81
81
81
81
81
81
81
81
82
83
83
83
83
83
83
83
83
83
83
83
83
83
83
84
84
84
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
85
86
87
87
88
88
89
89
89
89
89
89
89
89
89
90
90
90
91
92
92
93
93
93
94
95
95
96
96
96
96
97
98
99
99
100
100
100
100
101
102
103
103
103
103
103
103
103
103
105
106
106
106
106
106
106
106
109
114
114
114
118
122
122
124
124
126
128
128
128
129
131
141
156
171
176
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
187
187
187
187
188
189
189
189
189
189
189
189
189
189
190
191
191
191
191
191
191
195
199
204
204
208
212
213
214
215
216
216
216
216
217
218
218
218
218
219
220
221
221
222
223
224
224
225
226
227
227
228
229
229
230
231
232
232
233
234
234
235
236
237
238
238
240
240
243
246
249
254
257
257
262
267
270
275
280
285
291
302
315
330
342
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
369
370
371
371
371
371
372
372
372
372
372
372
372
373
373
373
373
373
373
374
375
375
375
375
376
377
378
379
379
380
381
381
381
382
383
384
385
386
387
388
389
390
390
390
390
391
392
392
392
392
393
393
393
394
395
395
396
397
398
399
400
401
402
403
403
404
404
404
405
406
407
408
408
409
409
410
411
412
412
413
414
415
416
417
418
419
419
419
419
421
421
421
421
425
429
431
431
431
434
438
438
443
448
448
452
457
462
467
471
476
481
485
489
492
497
502
517
532
546
558
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
572
573
574
574
574
575
576
576
576
576
576
577
578
578
578
579
580
581
581
581
582
583
583
583
583
584
585
586
586
586
587
588
588
592
597
602
602
607
612
613
614
615
