0
0
0
1
1
2
3
4
5
6
6
7
7
8
8
8
8
8
8
8
9
10
11
12
13
14
14
15
16
17
18
19
20
21
22
23
25
25
25
25
27
27
27
27
30
30
30
30
33
36
41
46
46
49
57
71
97
97
97
98
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
99
100
100
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
102
102
103
104
104
104
105
105
105
105
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
107
108
109
109
109
109
109
109
109
109
109
109
109
109
109
110
110
110
110
111
112
112
113
114
115
115
116
116
116
116
117
118
119
119
119
121
123
123
123
123
123
123
123
123
123
123
126
131
131
131
131
131
135
135
139
141
141
144
147
147
147
148
150
158
173
188
196
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
207
207
207
208
209
209
209
209
209
209
209
209
209
209
209
210
211
211
211
211
211
211
215
219
224
224
228
232
233
234
235
235
235
236
236
237
238
239
240
241
241
242
242
243
243
243
243
243
243
243
244
245
246
247
248
249
249
250
251
252
253
254
255
256
257
258
262
262
264
264
268
270
275
278
283
285
290
294
299
304
309
319
329
342
357
372
406
406
406
407
408
408
408
408
408
408
408
408
408
408
408
409
409
409
409
409
409
409
410
411
411
411
412
412
412
412
412
412
412
412
412
413
413
413
414
414
415
416
416
416
416
417
418
419
420
420
421
422
422
422
422
422
423
424
425
426
427
428
429
430
431
432
433
434
434
435
436
437
438
439
440
441
442
443
444
445
445
446
447
448
448
449
450
451
452
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
468
468
472
476
479
479
479
479
482
486
486
486
486
491
496
496
499
499
503
508
513
518
522
527
532
537
541
544
548
553
568
583
598
613
628
628
628
628
628
628
628
628
628
628
628
628
628
628
629
630
630
630
631
632
632
632
632
632
632
632
632
633
633
634
634
635
636
637
637
637
638
639
639
639
639
639
639
640
641
642
642
642
643
644
644
648
653
658
658
663
668
669
670
671
