0
0
0
0
0
0
0
1
1
1
1
2
2
3
3
3
3
4
4
4
4
5
5
6
6
6
7
7
8
8
9
9
9
10
10
10
10
10
10
10
10
11
15
15
17
22
22
24
24
29
29
31
33
42
42
51
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
60
61
61
61
61
61
61
61
61
61
61
61
61
61
61
61
62
62
63
63
63
63
64
64
64
64
64
65
65
65
65
68
72
72
72
72
75
76
76
76
80
80
80
83
83
83
86
91
91
94
94
98
98
101
113
127
132
142
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
151
152
152
152
152
153
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
155
155
155
155
156
156
156
156
156
156
156
156
156
156
156
156
156
157
157
157
157
157
157
159
164
168
169
174
178
182
185
189
190
191
192
193
193
193
193
193
193
193
194
194
194
194
195
195
196
196
196
196
197
197
197
197
198
198
199
199
199
200
200
201
201
202
202
202
203
203
203
203
203
203
203
203
204
208
208
210
215
215
218
218
223
223
227
229
243
243
253
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
266
266
266
266
267
267
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
269
269
269
270
270
270
270
270
270
270
270
271
271
272
272
273
273
274
274
274
274
274
274
274
274
274
274
274
275
275
276
276
277
277
278
278
278
278
278
279
279
279
279
282
286
286
286
286
289
292
292
292
296
296
296
299
299
299
302
307
307
310
310
314
314
318
333
347
352
362
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
376
376
376
376
377
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
378
379
379
379
380
381
381
381
381
381
381
381
381
381
381
381
381
381
382
382
382
382
382
382
386
391
395
396
401
405
409
412
416
417
418
419
420
420
420
420
420
420
420
421
422
422
422
422
422
423
423
423
423
424
424
424
424
425
425
425
425
425
426
427
428
429
430
430
431
432
432
432
434
434
437
439
439
444
448
452
457
462
466
469
473
477
482
497
502
517
531
538
550
550
550
550
550
550
550
550
550
550
551
551
551
551
551
551
551
551
551
551
551
551
551
551
551
552
552
552
552
553
553
553
554
555
555
555
555
556
556
556
556
556
557
557
557
558
559
560
560
561
562
563
563
564
564
565
566
567
568
568
569
570
571
571
572
572
572
573
573
573
574
574
574
575
575
575
575
575
575
575
576
577
578
578
579
580
581
582
582
582
582
583
583
584
585
586
586
587
588
589
590
591
592
593
594
595
595
595
597
600
604
604
604
609
614
614
614
614
619
622
622
622
627
630
630
635
640
643
646
651
656
659
664
669
674
678
693
707
712
722
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
737
738
739
739
739
740
741
742
742
742
743
744
744
744
744
744
744
744
744
744
744
744
744
745
745
746
746
747
748
749
749
749
749
749
749
749
749
749
750
750
751
751
752
752
752
753
753
754
758
763
767
770
775
780
785
790
795
796
797
798
799
