0
0
1
1
1
2
3
4
5
6
7
7
8
9
9
10
11
12
13
14
14
14
15
15
16
17
17
18
19
20
20
21
22
22
23
23
23
24
24
24
25
27
27
29
29
29
32
32
32
32
32
35
41
41
52
56
74
74
74
74
74
74
74
74
74
74
74
74
74
74
75
76
76
76
76
76
76
76
76
77
77
77
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
81
81
82
82
82
82
82
82
82
82
82
82
83
83
84
84
84
84
85
86
87
87
88
88
88
88
89
89
89
89
90
90
90
91
91
91
91
91
91
92
93
93
93
94
94
94
95
95
95
96
96
96
96
99
104
104
104
104
104
104
104
104
104
105
106
106
106
106
107
107
109
109
111
111
113
115
115
115
119
122
137
146
156
160
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
175
176
177
177
177
178
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
180
181
181
186
190
190
194
198
202
203
204
205
205
206
206
206
207
208
209
210
211
212
212
213
214
214
215
216
217
218
219
219
219
220
220
221
222
222
223
224
225
225
226
227
227
228
228
229
233
233
236
240
245
247
252
253
253
258
263
266
269
274
281
295
305
320
332
355
355
355
355
355
355
355
355
355
355
355
355
355
355
356
357
357
357
357
357
357
357
357
358
358
359
360
360
360
361
362
362
363
363
363
363
364
365
366
366
367
368
368
369
369
369
369
370
370
371
371
372
373
374
374
375
376
377
378
379
380
380
380
381
381
381
382
382
383
383
384
385
385
386
387
388
389
390
391
391
391
392
393
394
394
395
396
397
397
398
399
400
401
402
402
403
404
405
406
407
408
408
409
410
411
412
412
412
412
417
422
422
422
422
422
425
428
428
431
434
438
441
444
444
448
448
452
456
459
464
469
473
478
483
488
493
508
523
538
550
565
565
565
565
565
565
565
565
565
565
566
566
567
567
567
568
569
570
570
571
572
573
573
573
573
573
573
573
573
574
575
575
575
576
577
577
577
577
577
577
578
578
578
579
579
579
580
580
581
582
582
587
591
591
596
601
606
607
608
609
