0
0
0
0
1
1
1
1
1
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
26
29
29
29
30
32
32
32
35
35
38
38
38
42
47
50
57
64
74
84
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
103
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
104
105
106
106
106
106
106
107
107
108
108
108
109
109
109
109
109
110
110
110
110
110
111
111
111
111
111
112
112
112
112
112
112
112
112
112
113
114
114
114
114
114
114
115
116
116
117
118
118
118
118
118
118
119
120
120
121
122
122
122
122
122
122
123
124
124
125
126
126
126
127
127
127
127
127
127
127
128
128
128
128
128
128
130
130
130
130
130
130
130
130
130
132
136
136
139
139
140
144
144
147
152
157
162
162
165
170
175
180
180
180
180
180
182
189
201
206
218
230
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
236
236
236
236
236
236
237
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
239
240
240
244
248
252
256
260
265
269
273
278
279
280
281
282
282
282
282
283
283
283
283
283
283
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
308
311
311
313
315
317
320
323
326
331
336
341
343
348
353
355
362
374
386
396
410
410
410
410
410
410
410
410
410
410
410
410
410
411
411
412
413
413
414
414
414
414
414
415
415
416
416
416
416
416
417
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
418
419
420
421
422
423
424
425
425
426
426
426
427
427
428
429
430
431
431
431
431
431
432
432
432
432
432
433
433
434
434
434
435
435
435
436
437
438
438
438
438
438
438
439
440
440
441
442
442
442
442
442
443
444
445
446
447
448
448
448
448
448
448
449
450
451
452
453
453
453
454
454
454
454
454
454
454
455
455
455
459
462
466
471
473
476
478
480
483
487
491
495
500
505
505
510
515
520
525
529
534
539
544
549
553
558
563
568
573
576
581
586
591
594
606
617
629
641
653
663
663
663
663
663
663
663
663
664
665
665
665
665
666
667
667
667
667
667
667
667
667
667
667
667
667
667
667
667
668
669
670
670
670
671
672
672
672
672
673
674
674
674
674
675
676
677
677
677
677
677
678
679
680
680
680
680
681
682
682
682
682
682
682
682
682
682
683
683
684
685
685
690
694
698
703
708
713
718
722
727
728
729
730
731
