0
1
1
1
2
3
4
4
4
4
5
6
7
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
17
24
24
32
34
34
34
34
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
46
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
48
49
50
51
52
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
54
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
57
57
57
59
59
59
59
59
62
62
62
62
62
62
62
62
62
62
63
63
63
63
63
65
65
65
65
66
67
71
74
77
77
77
78
78
78
78
78
78
78
79
80
80
80
82
82
82
82
82
82
82
82
82
85
90
95
96
96
96
96
97
100
100
100
100
103
106
114
124
133
138
145
152
154
163
163
164
173
173
183
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
190
191
192
192
192
193
193
194
194
195
195
196
196
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
197
198
198
199
199
200
200
201
202
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
203
204
204
204
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
205
206
207
207
207
207
207
207
207
207
207
207
207
208
209
210
211
211
211
211
211
211
211
212
212
212
212
212
212
213
213
213
214
215
215
215
215
215
215
215
220
225
227
232
232
232
233
233
234
234
236
239
240
245
245
247
250
250
254
259
263
266
271
275
280
284
288
291
295
295
296
297
298
299
299
299
300
300
301
301
302
303
304
305
305
306
307
308
309
309
309
310
311
312
312
312
312
313
314
315
316
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
318
319
320
321
322
323
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
324
325
325
325
325
325
325
325
325
325
325
325
325
325
325
326
327
327
327
327
327
327
327
328
328
328
328
328
328
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
329
331
331
334
336
339
339
339
339
339
339
339
339
339
339
341
342
343
343
343
343
344
344
347
347
347
347
347
347
347
347
347
347
347
347
347
347
347
348
348
348
348
348
348
348
348
348
348
348
348
354
364
364
381
389
389
389
389
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
406
406
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
408
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
409
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
411
412
413
414
415
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
416
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
417
417
417
417
417
417
417
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
422
423
423
423
423
423
423
423
423
423
423
425
425
425
425
425
428
428
428
428
428
428
428
428
428
428
431
431
431
431
431
433
433
433
433
435
437
442
446
451
451
452
453
453
453
454
454
455
456
457
458
458
458
460
460
460
460
460
460
460
460
460
463
468
473
474
474
474
474
476
486
486
486
486
491
496
505
515
524
531
540
548
555
566
566
567
576
576
586
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
596
597
598
598
598
599
599
600
600
601
601
602
602
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
603
604
604
605
605
606
606
607
608
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
609
610
610
610
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
611
612
613
613
614
615
615
615
616
616
616
616
616
617
618
619
620
620
620
621
621
622
622
623
623
623
623
623
623
624
624
624
625
626
626
626
626
626
626
626
631
636
641
646
646
646
647
647
648
650
654
657
658
663
663
665
669
669
673
678
682
685
690
694
699
703
707
710
714
714
715
716
717
718
718
718
719
719
720
720
721
722
723
724
724
725
726
727
728
728
728
729
730
731
731
731
731
732
733
734
735
736
736
736
736
736
736
736
736
736
736
736
736
740
742
743
747
751
753
755
759
763
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
766
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
767
768
769
770
770
770
770
770
770
770
770
770
770
771
772
772
772
772
772
772
772
772
772
772
772
773
773
773
773
773
773
773
773
773
773
773
773
774
774
774
774
774
774
774
774
774
774
774
774
774
774
774
775
776
777
778
779
780
780
780
780
780
780
780
780
780
781
782
783
783
784
785
786
786
787
788
788
788
789
789
789
789
789
789
789
790
790
790
790
790
790
790
790
790
790
793
796
798
798
801
804
805
805
809
810
811
811
814
814
814
814
817
820
821
821
821
821
821
821
821
821
821
821
821
821
821
824
824
824
827
830
833
833
835
835
838
842
846
846
846
846
850
854
855
855
855
855
859
861
862
862
862
862
865
868
872
872
872
872
872
872
872
872
872
874
884
888
897
898
900
904
907
907
907
907
908
909
911
914
916
924
937
951
963
981
999
1011
1016
1020
1026
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1045
1046
1047
1047
1048
1049
1050
1050
1051
1052
1052
1052
1053
1054
1055
1055
1055
1055
1055
1055
1055
1055
1055
1056
1057
1057
1057
1058
1059
1060
1060
1060
1060
1060
1060
1060
1060
1061
1062
1063
1063
1063
1064
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1066
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1067
1068
1068
1068
1068
1068
1068
1068
1069
1070
1071
1072
1072
1072
1072
1073
1074
1075
1076
1076
1076
1077
1078
1079
1079
1079
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1088
1089
1090
1091
1091
1091
1091
1092
1093
1094
1094
1094
1094
1094
1095
1096
1097
1098
1098
1098
1098
1098
1098
1098
1098
1098
1099
1100
1101
1102
1102
1103
1103
1103
1103
1103
1103
1104
1105
1106
1106
1106
1106
1106
1106
1106
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1109
1111
1111
1111
1111
1111
1113
1113
1113
1113
1113
1115
1115
1115
1115
1117
1120
1120
1120
1120
1122
1126
1128
1133
1135
1138
1142
1145
1148
1153
1158
1163
1164
1167
1171
1174
1176
1181
1186
1191
1191
1192
1194
1194
1194
1195
1195
1196
1200
1204
1206
1207
1212
1217
1222
1222
1225
1225
1225
1225
1225
1227
1232
1237
1242
1244
1245
1249
1254
1257
1269
1280
1290
1301
1309
1319
1328
1338
1349
1360
1369
1379
1390
1404
1408
1415
1427
1431
1442
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1454
1455
1456
1456
1456
1457
1457
1458
1458
1459
1459
1460
1460
1461
1461
1461
1461
1461
1461
1461
1461
1461
1461
1461
1461
1462
1463
1463
1463
1463
1463
1463
1463
1463
1463
1463
1463
1463
1463
1463
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1464
1465
1466
1466
1466
1467
1467
1468
1468
1469
1469
1470
1471
1472
1472
1472
1472
1472
1472
1472
1472
1472
1472
1472
1472
1473
1474
1474
1474
1474
1474
1474
1474
1474
1474
1474
1474
1474
1474
1474
1475
1475
1476
1476
1476
1477
1477
1477
1477
1477
1477
1477
1477
1478
1479
1479
1479
1480
1481
1482
1482
1483
1484
1484
1485
1486
1486
1486
1487
1487
1487
1488
1489
1490
1491
1492
1493
1494
1494
1495
1495
1496
1496
1497
1497
1497
1497
1498
1499
1500
1500
1501
1502
1503
1503
1503
1503
1503
1504
1505
1510
1515
1520
1525
1529
1534
1537
1542
1545
1548
1552
1557
1562
1567
1572
1577
1581
1586
1591
1596
1601
1606
1611
1616
1621
1626
1631
1636
1641
1641
1642
1643
1644
1645
1645
1645
1646
1646
1647
1647
1648
1649
1650
1651
1651
1652
1653
1654
