0
0
1
1
1
2
2
2
3
4
5
6
7
8
9
9
9
10
11
12
13
13
13
18
21
22
22
22
26
29
34
34
35
42
51
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
59
59
60
61
61
61
62
62
62
62
62
63
63
63
63
63
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
67
67
68
69
70
70
70
70
71
72
73
73
73
73
74
74
75
76
77
78
79
80
81
81
81
83
83
83
83
83
84
84
84
84
84
84
84
85
87
91
95
95
95
97
99
100
101
105
108
109
111
115
120
128
134
141
146
154
159
159
159
159
159
159
159
159
159
159
160
161
161
161
162
162
163
163
164
164
165
165
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
166
167
167
168
168
169
169
170
171
172
172
172
172
172
172
172
172
172
172
173
174
174
174
175
176
176
176
177
177
177
178
179
179
179
179
179
179
179
179
180
181
182
183
183
183
183
183
183
188
193
197
200
204
208
210
213
214
217
222
224
227
231
231
232
233
234
235
236
236
237
237
238
239
240
241
242
242
242
242
242
243
243
243
244
245
246
247
248
249
250
250
250
251
252
253
254
254
256
261
264
267
270
273
277
281
286
296
305
315
324
331
331
331
331
331
331
331
331
332
333
334
334
334
335
336
337
338
338
339
339
340
341
342
342
343
344
344
344
344
344
345
345
345
345
345
346
346
346
346
346
346
346
347
347
347
348
348
348
349
350
351
352
353
354
354
354
355
356
357
357
358
358
359
360
361
362
363
364
365
366
367
368
369
369
369
369
370
371
372
372
372
372
373
374
375
375
376
377
378
379
380
380
380
385
385
385
385
385
387
387
387
390
395
398
402
406
411
416
421
421
426
429
432
435
439
444
447
449
453
458
463
474
483
494
500
509
518
518
518
518
518
518
518
518
518
518
519
520
520
520
521
521
522
522
523
523
524
524
525
525
525
525
525
525
525
525
525
525
525
525
526
527
527
527
528
528
529
529
530
530
531
532
533
533
533
533
534
534
534
535
535
535
536
537
537
537
538
539
539
540
541
542
543
544
545
546
546
546
546
547
547
547
548
549
550
551
551
552
553
554
555
560
565
570
574
579
584
589
594
599
603
608
611
616
621
621
622
623
624
625
626
626
627
627
628
629
630
631
632
