0
0
1
1
1
1
2
3
4
4
5
5
5
5
5
5
5
5
6
7
7
7
8
9
9
10
11
12
13
14
15
16
17
18
19
20
20
20
20
20
21
21
21
21
23
24
24
24
25
29
30
32
32
37
41
51
67
67
67
67
67
67
67
68
69
69
69
69
70
70
71
71
71
71
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
72
73
74
74
74
74
75
75
76
76
76
77
77
77
77
78
79
79
79
79
80
80
81
81
81
81
81
81
81
81
82
83
83
84
84
84
84
85
85
85
85
85
85
85
85
85
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
88
88
88
89
89
89
89
89
89
89
90
90
92
93
95
95
95
96
99
99
101
101
101
105
109
109
109
109
109
109
109
109
109
112
112
112
117
126
131
146
156
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
171
172
173
173
173
173
173
173
173
173
173
173
173
174
175
175
175
175
175
175
175
175
175
175
175
175
175
175
176
176
180
184
184
189
193
197
198
199
200
200
201
201
201
201
202
203
204
204
205
205
205
205
205
205
205
205
206
207
207
207
208
209
209
210
211
212
213
214
215
216
217
218
219
220
221
221
221
221
224
227
230
234
237
241
246
249
253
258
263
268
277
290
304
315
337
337
337
337
337
337
338
338
338
338
338
338
339
339
339
339
339
339
340
340
340
340
340
340
341
341
341
341
341
341
342
342
343
343
344
345
345
346
347
348
349
350
351
351
352
352
352
352
353
354
355
355
356
357
358
359
360
361
362
362
363
363
364
365
365
366
367
368
369
370
371
372
373
374
375
376
376
376
376
376
376
377
378
379
380
381
382
383
384
385
386
386
387
387
387
388
389
389
389
390
391
392
393
393
394
395
395
397
401
405
405
409
411
413
417
422
427
431
432
434
439
444
449
454
454
454
454
454
457
461
461
461
466
466
466
471
485
497
507
522
537
537
537
537
537
537
538
538
539
539
539
539
540
540
541
541
541
541
541
541
541
542
543
544
544
544
544
544
545
546
546
546
547
547
548
549
549
549
549
549
549
549
550
551
551
551
552
552
552
553
553
557
562
562
567
572
577
578
579
580
