0
0
0
0
0
0
0
1
1
1
2
2
3
4
5
5
5
6
7
8
9
12
15
20
23
25
27
32
37
40
44
50
55
63
69
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
74
74
74
74
74
74
74
74
74
74
74
74
75
76
77
77
77
78
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
81
82
83
83
83
84
85
86
86
86
86
86
86
86
87
88
89
90
90
90
90
90
90
90
90
90
90
91
91
92
92
92
93
93
93
94
94
94
95
96
97
98
98
98
99
99
100
101
101
101
101
101
101
101
102
102
103
103
104
105
105
106
110
111
114
117
120
124
124
126
131
135
140
140
140
140
140
140
142
145
150
155
155
157
160
163
167
171
172
175
176
176
179
184
188
196
201
209
216
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
222
222
222
222
222
222
223
224
224
224
225
225
226
226
226
227
227
227
228
228
228
228
229
230
230
230
230
230
230
230
230
231
232
233
234
234
234
234
235
235
236
236
236
237
237
237
237
237
237
237
237
238
238
238
239
240
241
242
243
243
243
244
244
245
245
245
245
245
245
245
245
245
245
245
245
246
247
247
247
247
248
249
249
249
249
249
249
249
251
256
260
263
267
272
276
281
285
288
292
297
301
305
310
315
318
318
319
320
321
321
322
323
324
325
326
327
328
329
329
330
331
332
332
332
332
332
332
332
333
333
333
334
334
335
336
337
337
337
338
339
340
341
344
347
352
355
357
358
363
368
371
375
381
385
393
399
402
402
402
402
402
402
402
402
402
403
404
405
405
406
407
408
408
409
409
410
411
411
411
411
411
412
412
413
414
415
415
415
416
417
417
417
417
417
417
417
417
417
417
418
418
418
419
419
420
421
422
423
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
438
439
440
440
441
442
442
443
443
444
444
445
446
446
446
447
447
448
449
450
451
452
453
453
454
455
456
457
457
457
457
457
458
458
459
460
461
461
462
463
463
467
471
472
475
478
483
487
492
496
501
506
511
511
512
514
517
520
525
527
532
537
542
545
549
553
558
562
563
568
572
575
578
581
585
593
606
614
620
626
626
626
626
626
626
626
626
627
627
627
627
627
628
628
628
628
628
628
628
629
630
631
631
631
632
632
633
633
633
634
634
634
635
635
635
635
636
637
637
637
637
637
638
638
639
640
641
642
643
644
644
644
645
646
647
647
648
649
650
650
651
652
653
654
655
656
657
658
659
660
661
662
663
663
664
665
666
667
667
667
667
667
667
668
668
668
668
668
668
669
670
670
670
670
671
672
672
672
672
672
673
673
676
681
685
689
694
699
703
708
712
716
721
726
731
736
741
746
750
750
751
752
753
753
754
755
756
757
758
759
760
761
761
762
763
764
