0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
2
2
3
3
3
3
3
4
4
4
4
5
6
6
6
7
9
9
9
10
10
13
15
20
21
21
24
24
28
28
30
36
44
52
65
70
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
87
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
88
89
89
89
89
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
92
92
92
92
92
92
93
93
93
93
93
93
95
100
100
100
100
102
103
105
105
105
105
105
105
105
105
105
105
105
105
105
105
108
108
111
111
111
111
114
114
117
122
127
131
140
145
154
159
167
180
180
180
180
180
180
180
180
180
180
180
180
181
181
181
181
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
183
183
183
183
183
183
183
184
184
184
184
184
185
185
188
192
196
196
200
205
208
213
217
218
219
220
220
220
220
220
220
220
220
220
221
221
221
221
221
221
221
221
221
221
221
222
222
223
223
223
223
223
224
224
224
224
225
226
226
226
227
229
229
229
230
230
233
235
240
241
241
244
244
248
248
250
256
264
272
285
294
313
313
313
313
313
313
313
313
313
313
313
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
315
315
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
316
317
317
317
317
318
318
318
318
318
318
318
318
318
319
319
319
319
319
319
319
319
319
319
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
320
321
321
321
321
321
321
322
322
322
322
323
323
324
324
325
325
325
325
327
332
332
332
332
334
335
337
337
337
337
337
337
337
337
337
337
337
337
337
337
340
340
343
343
343
343
346
346
349
354
359
363
374
381
391
396
405
419
419
419
419
419
419
419
419
419
419
419
419
420
420
420
420
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
421
422
422
422
422
422
422
422
423
423
423
423
423
424
424
428
432
436
436
440
445
448
453
457
458
459
460
460
460
460
460
460
461
462
463
464
464
464
465
465
465
465
465
465
465
465
466
466
467
467
467
467
468
469
469
470
471
472
473
473
473
474
477
477
477
480
480
485
489
494
497
501
505
505
510
513
517
527
541
555
569
579
598
598
598
598
598
598
598
598
598
598
598
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
599
600
601
602
602
602
603
603
604
604
605
605
606
606
607
607
607
607
607
608
608
608
608
609
609
610
611
611
611
612
613
613
613
614
615
616
616
617
617
617
618
618
618
619
620
620
620
621
622
623
624
625
626
627
628
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
629
630
630
630
630
630
630
631
631
631
631
632
632
633
633
634
634
634
634
638
643
643
643
643
647
648
652
652
652
655
657
657
657
657
657
660
664
668
668
672
676
681
686
691
691
696
701
701
706
711
716
721
734
746
761
774
784
798
798
798
798
798
798
798
798
798
798
798
798
799
799
799
799
800
800
800
800
801
801
801
801
801
801
801
801
801
801
801
801
801
802
802
802
802
803
803
803
803
803
803
803
803
803
803
803
803
803
804
804
804
804
804
804
804
805
805
805
805
805
806
806
810
815
820
820
825
830
835
840
845
846
847
848
