0
0
0
0
1
1
1
1
2
3
3
3
4
5
5
6
7
7
8
9
10
11
12
13
13
14
14
15
16
17
18
19
20
21
22
23
25
25
27
27
27
30
33
35
35
39
43
47
49
51
51
54
60
71
79
86
105
105
105
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
106
107
107
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
109
109
109
110
110
111
111
111
111
111
111
111
112
112
112
112
113
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
114
115
115
115
115
115
115
115
115
115
116
116
117
117
117
117
119
119
119
119
119
119
121
123
123
123
123
127
131
131
131
131
135
135
139
139
139
140
140
140
140
140
140
142
142
144
146
150
150
154
165
180
194
207
216
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
231
232
232
233
233
233
233
233
233
234
235
235
235
235
235
235
235
235
235
235
235
235
236
237
237
237
237
237
237
237
237
237
237
237
237
237
237
238
239
239
239
239
239
239
239
240
241
241
241
241
241
241
241
241
242
242
242
242
242
242
242
242
243
247
251
254
258
262
265
269
273
277
281
284
288
289
290
291
292
293
294
294
294
294
295
295
295
295
296
297
297
297
298
299
299
300
301
301
302
303
304
305
306
307
307
308
308
309
310
311
312
313
314
315
316
317
319
319
322
323
323
326
330
333
336
341
345
350
353
357
361
363
370
381
388
394
414
414
414
415
415
415
415
415
415
415
415
415
415
415
415
415
415
415
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
417
417
417
417
417
417
417
417
417
417
417
418
419
420
421
422
422
422
422
423
423
423
423
424
424
424
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
426
426
426
427
427
428
428
429
430
431
432
433
434
435
436
437
438
439
439
439
439
439
439
440
440
441
441
441
442
442
442
443
443
443
443
444
445
446
446
447
448
449
449
449
450
450
451
452
452
452
456
456
456
458
460
460
464
468
468
470
473
478
483
483
485
490
495
500
505
505
505
509
514
519
524
529
532
537
542
545
549
554
559
564
575
589
603
617
628
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
642
643
644
644
645
646
647
647
647
647
647
648
649
650
650
650
651
652
652
652
652
652
652
652
653
654
655
655
656
656
657
657
657
657
657
657
658
659
659
660
661
662
662
662
662
662
662
663
664
665
665
665
666
667
667
667
668
669
669
669
669
670
670
671
671
672
676
680
683
687
691
695
700
705
710
715
720
725
726
727
728
729
730
731
