0
0
1
1
1
2
3
4
5
6
7
7
8
9
9
9
9
9
10
10
11
11
12
13
13
14
15
16
16
17
18
19
20
21
22
23
23
23
23
23
24
24
24
25
25
27
30
30
33
33
33
36
36
42
53
57
76
76
76
76
77
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
79
79
79
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
80
81
81
82
82
82
82
83
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
85
85
85
86
87
87
88
88
88
89
90
90
91
91
91
91
92
93
94
94
95
95
95
95
96
97
98
98
98
98
99
101
101
101
101
101
101
101
101
105
109
109
109
109
109
109
110
112
112
113
113
115
118
118
118
122
126
141
150
160
164
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
181
182
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
184
185
185
190
194
194
198
202
206
207
208
209
209
210
210
210
211
212
213
214
215
216
216
217
218
218
218
218
218
219
219
220
220
221
222
222
223
224
225
225
226
227
228
229
230
231
232
233
233
233
235
238
240
243
248
250
255
260
263
268
273
278
283
293
307
322
334
361
361
361
361
361
361
361
361
361
361
361
361
361
361
362
362
362
362
362
362
362
362
362
362
362
362
363
363
363
364
365
365
365
365
365
366
366
366
367
368
369
369
370
370
371
372
373
373
373
374
375
375
375
376
377
378
379
380
381
382
383
383
383
383
384
385
386
387
387
388
389
389
389
390
391
392
393
394
395
396
397
398
399
400
400
401
401
401
402
403
404
405
405
405
406
407
408
409
409
410
411
412
413
414
415
416
416
416
418
420
424
424
424
424
427
427
427
427
432
437
437
440
444
444
448
452
456
460
463
468
473
477
482
487
492
497
512
527
541
553
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
568
569
570
570
570
571
572
573
573
574
575
576
576
576
576
577
578
578
578
579
580
580
580
580
581
582
582
582
582
583
584
585
585
590
594
594
599
604
609
610
611
612
