0
0
0
2
2
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
5
5
5
5
5
5
8
10
10
13
15
15
15
15
15
17
17
17
17
22
22
22
31
31
31
37
42
42
42
42
60
70
76
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
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
110
110
110
110
110
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
111
112
112
112
112
114
114
114
116
116
116
120
120
120
120
120
120
120
123
123
123
123
125
125
125
127
127
127
129
129
129
129
129
129
129
131
131
131
131
133
133
133
133
133
133
133
133
133
136
136
136
136
139
139
139
139
139
139
139
139
139
139
141
147
147
147
147
154
162
162
162
162
169
169
172
172
172
179
179
179
179
179
179
184
184
184
184
193
193
199
223
249
277
300
317
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
353
353
353
353
353
353
354
354
354
354
354
354
354
354
354
354
354
354
354
354
358
358
358
358
358
358
358
358
358
358
358
358
358
358
358
362
362
362
362
362
362
362
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
368
376
384
387
396
406
406
406
415
420
429
429
436
441
446
451
455
460
465
465
465
466
466
466
466
466
466
466
466
467
467
467
467
467
467
469
469
469
469
470
470
470
470
470
470
470
470
473
474
474
478
481
484
487
487
487
490
490
490
497
501
502
504
516
521
528
534
542
550
550
560
578
591
603
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
648
649
651
652
653
653
654
654
656
657
660
660
660
661
661
661
661
662
662
665
665
666
666
669
669
670
670
670
671
672
673
674
677
679
679
679
679
682
683
684
687
688
692
697
697
699
699
701
706
710
714
719
724
729
734
739
739
739
739
739
741
741
744
745
750
754
756
760
763
765
767
771
774
777
780
783
783
785
788
790
794
797
800
800
804
808
808
808
815
815
815
816
820
820
832
844
844
844
851
865
877
877
880
890
904
919
934
936
940
951
961
976
985
998
1006
1017
1030
1037
1050
1064
1079
1093
1118
1148
1182
1213
1242
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1276
1279
1283
1283
1283
1284
1288
1288
1288
1288
1288
1288
1291
1293
1293
1293
1296
1300
1300
1300
1300
1300
1300
1300
1302
1307
1312
1312
1312
1312
1313
1313
1313
1313
1313
1313
1316
1318
1318
1320
1324
1329
1329
1329
1329
1329
1329
1331
1335
1338
1338
1338
1341
1345
1345
1345
1347
1350
1350
1350
1350
1352
1352
1355
1355
1360
1369
1377
1383
1393
1403
1408
1422
1437
1452
1467
1482
1497
1502
1507
1512
1517
1522
1527
