525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
526
527
528
529
529
533
534
537
537
538
538
538
538
539
540
540
541
541
541
541
541
542
542
542
542
542
542
543
548
549
549
552
561
569
615
618
623
625
635
636
636
636
636
635
635
634
632
632
631
631
631
630
630
630
629
629
629
627
627
627
627
627
627
627
627
627
626
626
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
625
626
627
627
628
631
631
634
637
638
641
642
646
649
649
650
650
651
651
651
651
651
651
652
652
652
652
653
654
655
656
656
658
659
660
661
662
663
664
665
665
666
666
666
666
667
667
670
671
671
671
672
676
677
678
679
681
685
687
691
698
704
707
710
719
720
722
724
725
728
733
736
738
744
758
764
773
783
784
786
787
788
797
800
803
804
809
811
812
814
815
817
819
824
828
832
833
835
844
846
855
858
859
859
866
870
871
872
875
878
879
880
880
880
880
880
881
881
881
883
884
885
885
886
886
886
886
887
887
887
887
888
889
894
898
906
909
914
920
923
925
929
931
933
935
936
936
938
939
939
939
940
943
945
945
945
945
946
947
947
948
948
948
948
949
949
949
949
950
950
951
952
953
955
955
956
956
957
958
959
959
961
962
962
962
963
963
963
963
962
962
962
962
961
960
959
958
958
957
956
955
953
957
960
976
980
984
985
986
990
992
996
997
1005
1016
1022
1023
1025
1025
1026
1026
1027
1027
1031
1032
1033
1034
1034
1034
1035
1036
1036
1037
1040
1041
1041
1044
1045
1046
1050
1051
1051
1052
1053
1059
1060
1061
1061
1062
1063
1066
1066
1069
1070
1073
1076
1078
1080
1085
1085
1085
1086
1087
1088
1088
1089
1090
1090
1091
1091
1092
1093
1094
1094
1094
1095
1096
1096
1097
1097
1098
1098
1099
1099
1100
1100
1101
1101
1102
1103
1104
1104
1106
1107
1107
1108
1112
1113
1114
1114
1116
1116
1117
1117
1118
1119
1121
1123
1124
1125
1125
1125
1126
1126
1127
1127
1127
1127
1128
1128
1128
1129
1129
1129
1129
1130
1130
1130
1136
1137
1137
1139
1143
1146
1147
1148
1149
1150
1150
1152
1152
1153
1162
1163
1163
1164
1165
1166
1166
1167
1168
1169
1169
1169
1170
1172
1173
1173
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1173
1170
1165
1161
1157
1156
1154
1150
1145
1143
1141
1138
1136
1136
1135
1134
1133
1132
1130
1129
1129
1127
1123
1122
1122
1120
1115
1112
1111
1110
1110
1109
1107
1105
1096
1091
1086
1073
1068
1066
1065
1062
1060
1058
1056
1054
1051
1049
1047
1044
1037
1033
1026
1021
1018
1016
1013
1011
1009
1007
1006
1003
1000
998
996
990
986
981
977
973
971
964
962
960
957
952
949
947
943
941
939
935
935
934
934
933
933
931
930
930
930
930
929
929
929
929
929
928
927
927
927
925
925
924
923
923
922
921
920
920
920
919
918
918
918
917
916
915
915
914
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
913
912
912
912
911
911
911
911
911
910
910
910
910
910
909
909
909
909
908
908
908
908
908
904
902
897
895
895
893
890
888
886
884
883
882
880
877
875
874
872
870
867
866
863
862
861
858
850
843
838
833
825
811
803
801
797
795
791
778
774
770
759
752
737
732
725
719
711
689
685
678
673
667
655
651
638
620
611
603
582
568
560
555
551
538
525
516
505
500
494
487
482
476
470
463
451
437
399
398
397
396
395
393
393
392
392
391
390
389
388
388
387
385
384
383
383
382
382
380
379
379
378
378
377
375
374
374
373
373
373
373
373
373
373
373
373
373
373
373
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
374
373
373
373
373
373
373
373
373
373
373
373
373
373
372
372
372
372
372
372
372
372
372
372
371
371
370
370
370
369
368
367
367
366
366
365
364
364
364
363
362
362
361
360
359
358
358
358
358
358
358
358
358
359
359
360
360
360
360
360
361
361
362
362
362
363
363
363
364
365
365
365
366
367
367
367
368
368
368
368
368
368
369
369
369
369
369
369
369
370
370
370
370
370
370
370
370
368
366
363
361
360
360
360
359
358
358
357
356
356
355
355
354
354
352
350
349
349
347
346
346
346
346
346
345
345
345
345
345
345
345
345
345
345
345
345
345
346
346
346
346
346
346
346
346
347
347
347
347
347
347
347
347
347
347
348
348
348
348
348
348
348
349
349
349
349
349
350
350
350
350
351
351
351
351
352
352
352
352
352
352
350
349
349
348
348
347
347
345
344
344
343
342
341
339
337
336
336
335
335
334
333
332
330
329
327
327
325
325
324
324
323
321
321
320
320
319
319
318
318
318
318
317
317
317
317
316
316
315
315
314
314
313
313
312
312
312
312
311
310
310
310
309
308
308
308
308
308
308
308
307
307
306
306
306
304
303
302
300
300
300
299
299
298
298
298
298
298
298
298
298
297
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
296
295
294
294
294
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
292
292
292
291
291
290
289
289
289
289
289
288
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
287
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
286
285
285
285
285
285
285
285
285
285
285
285
284
284
284
284
284
283
283
282
282
282
282
282
281
281
281
281
280
280
280
280
280
280
279
279
279
278
278
278
277
277
277
277
277
276
276
276
276
276
276
276
276
276
275
275
275
275
275
275
275
275
275
275
276
276
276
276
276
276
275
275
275
275
275
275
275
274
274
274
274
274
273
273
273
273
272
272
271
271
271
271
271
271
271
270
269
269
269
269
269
269
269
269
269
269
269
269
268
268
267
267
267
267
267
267
267
266
266
266
266
266
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
265
264
264
264
264
264
263
263
263
263
263
263
263
263
262
262
262
262
262
262
262
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
260
260
259
259
259
259
258
258
258
258
258
258
258
258
258
257
257
258
260
261
261
266
266
267
270
271
272
274
274
275
277
278
278
280
281
283
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
284
282
281
281
281
280
280
279
279
279
279
278
278
277
275
275
274
274
273
272
270
269
265
265
264
263
262
262
262
261
261
261
261
261
263
263
264
264
264
264
264
264
264
264
265
265
265
265
266
266
266
267
267
268
268
267
267
266
265
265
264
263
263
262
261
260
259
258
258
247
246
246
246
246
246
246
245
245
244
244
244
244
244
244
243
243
243
243
243
242
241
241
241
241
240
240
240
240
239
238
238
237
237
237
237
237
237
237
237
238
238
238
238
238
238
238
238
238
238
238
238
238
237
237
236
235
235
234
234
234
234
233
233
233
232
232
231
231
231
231
230
229
228
228
222
221
219
219
219
219
218
218
218
218
218
218
218
218
218
217
217
217
217
217
217
216
216
216
216
216
216
216
216
215
214
214
214
213
212
212
212
212
212
212
212
212
212
212
211
211
210
210
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
210
210
210
210
211
211
211
209
209
208
208
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
207
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
207
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
205
204
204
204
204
204
205
205
205
206
206
207
208
208
208
208
208
208
208
208
208
207
205
204
204
203
203
203
202
202
202
201
201
201
201
201
201
201
201
201
201
201
201
201
201
200
200
200
200
200
200
200
201
202
203
204
204
205
206
206
207
207
207
208
210
214
216
216
217
218
218
217
217
216
216
216
215
215
214
213
213
213
212
212
212
211
211
210
209
209
209
209
209
208
207
207
206
206
204
203
203
202
202
201
201
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
202
202
202
203
203
203
205
207
207
209
210
211
211
212
212
213
213
213
213
215
216
216
216
221
225
227
229
231
234
242
242
244
244
246
246
246
247
247
248
248
248
249
249
250
250
251
251
251
251
252
252
252
253
253
254
254
254
255
255
255
256
256
256
256
257
258
259
259
260
260
261
261
261
262
262
262
263
263
265
265
265
266
266
267
267
267
268
269
269
270
271
271
271
272
272
274
274
275
275
275
276
276
277
277
277
278
278
279
279
280
281
282
282
283
284
285
287
288
289
290
290
291
292
293
294
295
297
298
300
300
301
302
304
305
307
308
309
310
312
315
317
320
321
321
322
324
325
336
338
341
342
343
345
346
347
349
351
352
353
354
355
355
357
359
362
363
365
366
370
373
374
376
380
381
383
386
387
389
395
397
399
401
403
404
405
406
406
407
413
414
415
415
416
418
419
419
420
421
426
427
428
429
429
431
432
436
440
440
442
443
459
460
462
463
465
468
470
471
472
473
478
478
478
479
485
485
486
494
495
496
496
504
504
505
520
523
527
528
530
531
532
540
541
554
555
556
556
557
558
563
563
563
563
564
568
569
569
574
576
579
579
584
585
585
590
591
593
597
599
605
606
611
612
615
616
619
621
622
629
631
635
637
641
643
645
649
650
653
657
658
659
661
663
665
666
667
667
668
668
669
678
678
679
679
680
685
698
699
699
702
703
703
703
703
704
704
704
705
706
706
706
706
707
707
708
708
708
709
712
712
714
714
714
715
716
719
721
722
724
725
725
727
727
728
735
739
741
744
747
755
764
767
768
769
769
770
771
773
774
775
775
776
777
779
781
784
786
789
792
795
797
799
803
804
804
805
805
806
810
811
811
811
812
812
812
813
814
816
817
819
819
820
821
822
832
832
832
833
833
834
834
835
838
838
839
839
839
840
842
843
846
847
848
848
849
850
853
858
862
863
871
871
872
872
873
873
879
880
880
880
887
889
890
891
896
898
900
901
901
901
902
903
904
905
906
907
908
909
910
912
918
919
921
926
928
931
935
938
939
942
943
945
949
950
951
952
953
954
954
960
961
970
977
988
995
999
1002
1021
1039
1041
1057
1066
1066
1066
1065
1065
1065
1065
1065
1065
1065
1065
1065
1065
1066
1066
1067
1068
1068
1068
1068
1068
1068
1068
1069
1070
1070
1071
1072
1073
1073
1077
1077
1077
1077
1077
1077
1077
1077
1077
1077
1078
1078
1078
1078
1078
1078
1078
1078
1078
1078
1078
1078
1078
1078
1079
1081
1083
1084
1085
1085
1088
1089
1090
1092
1092
1094
1094
1094
1095
1096
1096
1097
1098
1098
1102
1110
1112
1119
1121
1124
1127
1131
1133
1134
1138
1146
1153
1155
1160
1166
1167
1169
1170
1172
1173
1177
1185
1190
1207
1210
1215
1219
1220
1221
1223
1226
1228
1231
1232
1232
1233
1234
1236
1241
1245
1250
1253
1254
1255
1256
1257
1263
1266
1270
1270
1269
1269
1268
1268
1268
1267
1266
1265
1265
1265
1264
1263
1263
1262
1261
1261
1260
1259
1258
1257
1256
1255
1256
1257
1258
1258
1259
1260
1262
1264
1265
1267
1269
1269
1270
1270
1271
1271
1273
1274
1274
1274
1274
1275
1276
1276
1277
1278
1278
1278
1279
1279
1284
1289
1294
1298
1307
1312
1314
1316
1317
1320
1328
1329
1331
1333
1336
1342
1344
1346
1349
1352
1354
1355
1358
1361
1363
1365
1368
1370
1379
1381
1390
1391
1396
1399
1406
1409
1417
1420
1423
1424
1425
1425
1426
1426
1428
1432
1438
1439
1439
1440
1442
1444
1448
1451
1456
1458
1460
1461
1461
1466
1467
1471
1474
1475
1476
1479
1480
1481
1481
1481
1482
1486
1489
1497
1498
1503
1506
1510
1513
1517
1519
1521
1523
1525
1529
1532
1536
1541
1542
1544
1547
1549
1551
1551
1551
1552
1553
1555
1557
1558
1558
1559
1560
1563
1567
1569
1571
1574
1579
1586
1592
1594
1596
1601
1604
1610
1619
1626
1630
1640
1644
1654
1658
1660
1662
1663
1671
1676
1677
1677
1678
1678
1679
1685
1686
1686
1692
1700
1700
1701
1702
1703
1704
1704
1708
1708
1709
1715
1717
1726
1729
1731
1732
1732
1734
1735
1735
1736
1747
1750
1751
1751
1752
1754
1755
1756
1759
1760
1761
1762
1767
1777
1784
1791
1793
1794
1795
1796
1798
1803
1817
1818
1819
1821
1822
1823
1825
1830
1836
1838
1838
1845
1846
1848
1852
1853
1858
1863
1867
1868
1874
1880
1881
1882
1885
1885
1886
1886
1886
1891
1891
1891
1892
1892
1899
1900
1901
1903
1903
1903
1903
1903
1903
1903
1903
1903
1903
1903
1902
1902
1902
1902
1902
1902
1902
1902
1902
1902
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1901
1902
1903
1903
1903
1903
1903
1903
1904
1911
1912
1913
1920
1928
1931
1934
1935
1935
1936
1942
1942
1943
1946
1948
1949
1951
1953
1955
1964
1972
1973
1973
1974
1974
1976
1976
1977
1977
1979
1983
1984
1987
1990
1991
1994
1995
1995
1995
2000
2001
2002
2003
2003
2004
2006
2007
2008
2019
2020
2021
2025
2027
2027
2028
2028
2032
2034
2034
2035
2035
2038
2046
2052
2052
2052
2052
2056
2056
2057
2057
2059
2065
2070
2078
2079
2082
2082
2083
2083
2083
2084
2085
2085
2085
2085
2086
2086
2086
2087
2087
2089
2089
2089
2090
2091
2091
2093
2093
2094
2094
2094
2093
2091
2089
2080
2074
2073
2068
2067
2062
2060
2058
2056
2055
2052
2049
2047
2040
2039
2038
2037
2036
2035
2034
2032
2031
2030
2030
2029
2026
2026
2026
2025
2025
2022
2020
2019
2017
2016
2015
2013
2009
2009
2008
2007
2003
2001
1999
1998
1997
1994
1993
1991
1991
1991
1990
1990
1988
1987
1985
1984
1981
1978
1974
1973
1973
1972
1968
1967
1966
1964
1962
1960
1956
1955
1955
1954
1951
1950
1947
1946
1942
1941
1939
1937
1933
1932
1930
1928
1927
1924
1922
1919
1918
1914
1913
1911
1910
1909
1909
1908
1908
1906
1903
1899
1899
1899
1898
1896
1896
1891
1891
1890
1887
1886
1883
1883
1882
1882
1880
1875
1875
1874
1874
1872
1866
1866
1865
1865
1859
1859
1858
1858
1858
1856
1855
1852
1852
1851
1846
1845
1845
1845
1843
1842
1838
1838
1835
1833
1830
1826
1822
1816
1812
1806
1799
1798
1797
1796
1796
1795
1794
1793
1792
1791
1788
1787
1786
1784
1783
1782
1780
1779
1779
1778
1777
1776
1773
1772
1770
1767
1761
1758
1756
1751
1748
1744
1739
1731
1727
1724
1719
1718
1714
1706
1703
1697
1694
1689
1686
1679
1676
1672
1671
1670
1657
1656
1640
1631
1620
1607
1594
1576
1569
1562
1555
1545
1527
1511
1501
1497
1493
1491
1489
1486
1486
1486
1485
1482
1482
1475
1465
1460
1460
1460
1460
1460
1459
1456
1456
1455
1455
1454
1454
1453
1453
1453
1452
1452
1452
1452
1452
1452
1452
1452
1451
1451
1451
1450
1449
1449
1449
1449
1449
1449
1448
1448
1447
1447
1447
1447
1447
1446
1445
1443
1442
1439
1439
1438
1438
1437
1436
1434
1433
1431
1431
1428
1426
1426
1424
1423
1423
1422
1421
1418
1416
1415
1414
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1411
1412
1412
1412
1412
1412
1412
1412
1413
1413
1413
1413
1413
1413
1414
1414
1414
1414
1415
1415
1416
1416
1416
1416
1416
1415
1413
1412
1411
1411
1410
1409
1409
1407
1406
1405
1405
1404
1404
1403
1403
1403
1402
1399
1398
1392
1390
1389
1389
1388
1387
1384
1383
1383
1382
1382
1381
1375
1372
1370
1366
1364
1360
1360
1359
1359
1359
1358
1358
1358
1357
1350
1349
1349
1348
1348
1348
1347
1342
1341
1337
1335
1333
1332
1328
1326
1325
1324
1322
1321
1321
1320
1319
1318
1317
1316
1315
1314
1314
1313
1311
1311
1310
1309
1307
1306
1305
1301
1299
1298
1297
1290
1289
1287
1284
1282
1268
1259
1246
1242
1241
1238
1237
1236
1236
1234
1233
1233
1232
1230
1230
1229
1227
1220
1219
1219
1216
1213
1212
1208
1205
1202
1201
1198
1195
1195
1193
1190
1184
1183
1181
1180
1179
1175
1172
1170
1169
1166
1164
1164
1163
1162
1159
1157
1151
1151
1150
1150
1149
1146
1144
1142
1135
1135
1134
1134
1133
1131
1130
1128
1125
1123
1123
1120
1119
1118
1117
1117
1114
1113
1111
1110
1110
1109
1109
1108
1107
1106
1105
1103
1101
1100
1099
1097
1096
1096
1096
1095
1095
1094
1089
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1087
1088
1088
1088
1088
1088
1088
1088
1088
1088
1086
1084
1083
1080
1070
1067
1066
1063
1060
1059
1057
1054
1051
1049
1046
1045
1043
1034
1033
1028
1021
1019
1013
1009
1005
1003
1000
999
998
998
997
997
996
996
995
993
992
992
988
987
986
986
984
983
983
983
982
982
981
981
981
980
980
979
976
976
976
975
975
974
967
961
958
956
955
955
952
951
951
950
949
948
948
947
946
944
944
943
943
943
942
942
942
942
942
942
942
942
942
941
941
941
941
940
940
940
940
940
940
939
939
939
939
939
939
938
938
937
937
936
935
935
935
935
933
932
930
929
929
928
928
928
926
926
925
924
924
923
921
921
921
921
921
921
921
921
921
921
921
921
921
921
921
920
920
919
917
917
916
916
916
915
915
915
915
914
913
912
910
908
907
906
906
906
905
904
902
901
900
900
899
899
896
896
895
891
890
890
890
891
891
892
893
894
897
900
900
901
902
903
905
906
906
906
908
908
908
908
906
906
904
904
903
902
901
901
900
899
899
898
896
896
895
895
895
894
893
893
892
892
891
891
890
890
889
889
887
887
887
887
887
888
888
888
888
890
890
891
891
890
888
886
885
877
876
875
874
872
871
871
865
863
861
856
854
850
847
844
842
815
816
817
819
819
822
823
824
819
812
807
803
783
775
756
752
747
738
718
714
711
709
707
703
703
703
703
702
702
701
699
698
698
698
697
696
696
695
694
694
687
684
683
680
679
677
676
674
674
674
673
673
671
669
667
663
662
661
660
659
657
656
656
656
656
656
656
656
656
656
655
655
655
655
655
655
655
654
653
653
652
652
651
650
649
648
644
640
639
639
639
637
636
636
636
635
635
635
635
635
635
635
635
636
636
636
637
637
637
637
637
637
637
637
637
636
636
636
636
636
636
636
636
636
636
637
637
637
637
637
637
637
637
637
637
637
636
636
636
636
635
635
635
635
634
634
634
634
633
633
633
633
632
632
632
631
630
629
628
627
626
624
623
622
622
622
622
622
622
623
623
623
623
623
623
623
623
623
623
624
632
635
638
640
644
653
654
658
663
666
667
670
671
671
673
674
674
675
675
676
678
678
678
678
679
679
679
679
679
680
680
680
681
681
681
681
680
676
675
671
668
667
666
664
663
660
659
657
656
655
653
652
650
649
650
651
652
652
653
653
654
654
655
655
656
657
657
658
658
659
661
663
667
668
670
671
671
673
673
675
680
679
678
677
675
673
672
670
670
663
662
661
659
658
657
657
656
653
649
648
645
642
639
636
634
633
628
625
624
623
622
621
619
617
615
612
610
610
608
606
603
602
602
601
600
599
598
597
596
595
594
593
593
592
592
592
590
589
589
589
589
588
588
588
588
587
587
586
586
585
585
585
583
582
579
579
578
577
576
575
575
575
575
575
576
576
577
577
577
577
577
577
577
577
578
578
579
579
579
579
579
579
579
579
579
579
578
578
577
577
577
577
576
575
573
571
569
567
566
565
565
565
564
564
564
564
564
565
565
565
566
566
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
567
566
566
566
566
566
566
566
566
566
566
566
566
566
565
564
564
564
564
564
564
564
564
564
563
563
562
562
562
562
561
560
560
559
558
558
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
557
555
554
552
551
548
547
545
545
545
545
545
545
545
545
545
545
545
545
545
544
544
543
543
543
542
542
541
541
541
540
540
540
540
540
540
539
539
538
538
538
537
537
537
536
536
536
535
534
533
533
533
533
533
533
533
533
534
534
534
534
534
535
535
535
535
535
536
536
537
537
537
535
535
533
532
531
530
530
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
529
528
528
528
528
527
524
522
521
521
521
520
520
520
520
520
520
520
520
520
520
520
520
520
520
520
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
519
517
517
517
516
515
515
515
515
515
515
515
515
515
515
514
514
514
514
514
514
514
514
514
514
514
513
513
512
512
510
512
513
511
508
506
505
505
504
504
504
504
503
503
503
503
503
503
503
503
503
502
502
502
501
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
500
499
499
499
499
499
499
499
499
498
498
498
498
498
497
497
497
497
496
496
496
496
496
496
496
496
496
495
495
494
494
493
491
490
490
489
489
488
487
487
487
487
486
486
485
483
482
482
481
481
480
480
480
480
480
480
480
480
480
480
480
480
480
480
479
479
479
479
479
479
479
479
478
476
473
473
472
471
471
471
470
469
469
469
469
468
468
468
468
468
468
467
467
467
467
467
466
465
465
464
463
463
463
463
462
462
462
461
461
461
461
461
461
460
460
460
460
460
460
460
460
460
460
460
460
459
458
458
458
457
455
455
455
454
454
453
453
452
452
452
452
452
452
451
451
451
451
451
450
450
450
450
450
451
451
451
451
451
451
451
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
449
449
446
443
443
442
441
441
441
441
441
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
439
439
439
439
439
438
438
437
437
437
437
437
437
436
436
436
436
436
436
436
435
435
435
435
436
436
436
436
436
436
436
436
436
436
437
437
439
439
439
439
439
439
439
439
439
439
439
438
438
437
436
436
435
435
435
434
433
433
433
433
433
432
432
432
432
432
432
432
432
432
432
431
431
431
430
430
429
429
429
429
429
429
429
429
429
429
429
429
429
429
428
428
427
427
426
425
425
424
424
422
421
420
420
420
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
419
418
418
417
417
416
416
415
415
415
412
412
411
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
410
408
408
408
408
408
408
408
408
407
407
407
407
407
406
406
406
406
406
406
406
406
406
405
405
405
405
405
405
405
405
405
405
404
404
404
404
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
403
404
404
404
404
404
404
404
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
408
408
408
408
409
409
409
410
410
410
410
410
410
411
411
412
412
412
413
413
413
413
413
412
412
411
410
408
407
407
407
407
407
407
406
406
406
405
405
404
403
403
403
402
399
399
399
399
399
399
399
399
398
398
398
398
398
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
398
398
398
398
398
398
398
398
397
397
397
397
397
397
397
396
396
396
396
396
396
396
396
396
396
396
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
397
399
400
400
400
401
401
402
402
403
403
403
403
403
404
404
405
406
407
407
407
406
405
405
405
404
404
402
402
401
400
399
399
399
398
398
398
398
397
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
397
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
398
398
398
398
398
398
398
398
398
397
397
397
397
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
398
398
398
398
398
398
398
398
398
398
398
398
398
398
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
398
398
398
398
398
399
399
399
399
398
398
398
398
398
398
398
398
398
398
398
398
399
399
399
399
399
399
399
400
400
400
400
400
400
400
400
400
400
400
400
400
400
399
399
399
399
399
399
399
399
399
400
400
400
400
400
401
401
401
401
402
402
402
402
402
403
403
403
403
404
404
404
404
404
402
400
400
399
399
399
399
399
399
399
399
399
400
400
400
400
400
400
400
401
403
404
404
404
404
404
405
405
405
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
406
403
401
400
400
400
400
400
400
402
402
403
404
404
404
404
404
404
404
405
405
405
405
405
406
405
405
405
404
404
404
404
404
404
404
404
403
403
406
406
406
407
407
408
408
408
408
409
410
411
411
411
412
413
414
414
413
413
412
411
411
410
410
410
409
409
409
407
406
405
405
404
404
402
402
401
400
400
400
400
401
401
401
402
402
402
402
402
402
403
403
403
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
404
402
402
402
401
400
399
398
398
399
399
399
399
399
399
399
400
400
400
400
400
400
401
401
401
401
402
402
402
402
402
402
401
401
401
401
401
401
400
400
399
399
398
398
398
398
399
399
401
402
402
403
403
403
403
403
403
403
403
403
403
403
403
403
403
402
402
401
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
398
398
398
398
398
398
397
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
397
398
398
398
398
398
398
398
398
398
398
398
398
398
399
399
399
399
399
399
399
399
399
399
399
399
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
400
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
399
400
400
401
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
402
401
399
399
399
399
399
399
399
402
402
403
404
404
405
406
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
407
406
406
406
405
405
404
403
403
403
403
403
401
401
400
400
400
399
399
399
399
399
399
400
401
402
402
403
403
403
403
404
404
405
406
406
406
405
403
403
403
403
403
403
403
403
403
403
403
403
404
404
404
404
404
404
404
404
404
404
404
405
405
405
405
405
405
405
404
404
404
404
404
404
404
404
403
403
403
403
403
403
403
402
402
402
402
402
399
398
398
398
397
397
397
397
397
397
397
397
397
397
397
397
398
398
398
398
398
398
398
398
398
398
399
400
400
400
400
400
401
401
401
402
402
402
403
403
403
403
403
403
403
404
404
404
404
405
405
406
406
407
407
407
407
407
407
407
407
408
408
410
412
413
417
420
422
423
427
429
431
431
434
436
437
438
440
440
440
442
442
442
442
442
442
442
442
442
442
442
442
441
441
441
441
441
441
441
440
440
440
440
440
440
440
441
442
444
445
445
445
446
446
448
449
452
453
456
455
452
451
450
449
448
448
447
447
447
447
447
446
446
446
446
446
445
445
445
445
444
443
441
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
440
441
442
442
442
442
442
443
444
444
445
446
446
447
447
447
446
445
441
439
437
436
435
432
431
429
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
427
428
431
432
432
433
433
433
434
434
434
435
435
435
436
437
438
440
441
443
445
448
448
450
451
452
453
453
454
455
455
455
455
455
455
455
455
455
455
454
454
454
454
453
452
452
452
452
452
452
452
452
452
452
451
451
451
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
450
452
453
453
453
454
454
455
455
455
455
456
456
457
457
457
457
458
458
459
459
459
459
459
460
460
461
461
462
463
464
468
468
468
470
471
474
479
481
483
484
486
486
487
487
487
488
488
488
491
492
496
497
498
499
499
502
503
504
505
505
506
508
510
510
511
512
513
513
514
515
515
516
516
516
518
518
518
519
519
520
522
523
525
528
532
533
535
536
537
538
539
539
539
542
544
545
546
547
548
550
551
552
554
554
555
557
558
558
560
563
565
567
579
580
580
580
581
581
581
581
581
581
581
581
582
582
582
582
582
582
582
582
582
582
582
582
582
582
581
581
581
581
581
581
581
581
580
580
580
580
580
580
581
581
582
582
583
583
585
586
588
589
590
592
594
595
595
596
599
602
603
603
604
604
606
606
608
609
610
611
612
614
614
616
617
620
622
623
624
631
634
636
638
641
644
646
648
652
655
656
658
662
663
664
673
679
680
693
694
696
703
706
710
712
713
715
719
721
724
727
729
733
738
739
740
742
744
748
750
751
752
753
754
754
757
758
760
762
763
764
767
768
770
771
771
774
776
777
779
782
782
783
783
783
783
783
783
783
783
783
783
783
783
783
783
783
783
782
782
782
782
782
782
782
782
782
783
783
786
788
792
793
796
797
797
798
799
802
804
805
807
810
812
813
814
816
820
820
823
824
825
828
831
833
834
832
830
829
827
824
822
821
820
820
817
817
816
813
812
811
808
808
807
805
804
802
801
800
799
798
797
796
796
794
791
791
790
789
789
788
787
786
785
783
781
780
779
777
776
775
774
773
772
769
768
767
765
765
763
761
760
758
758
756
754
750
747
746
745
743
738
737
734
733
732
730
729
728
727
725
724
722
720
718
716
715
714
713
713
711
709
708
705
704
701
700
699
696
695
695
695
694
692
690
687
686
684
682
679
677
674
672
671
670
668
667
665
663
661
655
652
652
652
651
651
651
651
651
651
651
650
650
650
650
649
649
649
649
649
650
652
652
652
653
653
654
654
654
654
654
655
655
656
656
656
656
656
657
658
659
660
660
661
661
662
662
665
665
666
668
668
671
673
675
677
678
678
678
678
678
679
679
679
679
679
679
680
681
681
681
682
682
682
683
684
684
685
686
686
686
688
689
690
693
695
698
699
703
706
709
712
716
720
726
728
730
732
734
735
733
732
731
731
730
730
729
728
726
725
724
723
723
722
721
721
721
721
722
722
722
723
723
724
728
729
729
729
728
727
725
724
722
722
720
720
720
720
720
720
720
720
720
720
720
724
725
726
730
731
732
733
734
740
740
740
740
740
740
740
740
740
739
739
739
739
739
739
739
739
739
740
741
742
743
746
747
748
748
750
752
752
752
753
754
756
756
757
757
758
759
759
759
759
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
760
761
761
762
763
763
764
766
766
766
766
765
765
765
765
765
765
765
765
764
764
764
764
764
764
763
763
763
763
763
763
760
758
758
757
755
754
752
751
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
750
748
748
747
740
739
738
737
736
733
733
732
731
730
729
729
728
726
725
724
723
720
720
718
717
715
713
710
706
704
704
703
703
701
700
699
699
699
698
698
697
696
696
694
694
694
694
693
692
691
690
685
685
685
685
684
684
683
681
681
680
680
680
678
677
677
677
676
676
676
676
676
674
674
674
674
674
674
674
674
675
675
676
678
680
680
680
681
681
681
681
681
682
684
684
685
686
688
689
689
689
689
690
690
691
691
691
691
691
692
692
692
692
692
692
692
693
693
695
696
704
707
708
709
710
713
714
714
715
716
720
721
721
721
722
722
722
722
725
727
729
730
730
730
731
733
733
737
738
739
739
739
739
740
740
741
741
742
742
744
745
745
746
747
750
754
754
755
755
755
755
755
756
756
758
759
761
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
763
755
753
752
750
747
744
744
741
741
739
737
736
734
733
731
730
729
725
722
719
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
717
716
716
716
716
716
715
715
715
715
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
714
715
715
715
715
716
716
716
716
716
717
717
717
717
717
718
718
718
718
718
719
719
719
719
719
719
719
719
719
720
721
721
721
722
722
722
723
723
725
726
726
727
728
728
729
730
732
733
733
734
734
734
734
737
737
738
738
738
738
738
738
739
739
739
739
739
739
740
740
740
740
740
740
740
740
740
740
740
740
741
742
747
748
748
748
748
748
748
748
748
749
749
749
750
750
751
751
751
752
752
752
753
753
753
753
754
755
755
756
756
757
757
757
758
759
762
764
769
772
773
774
775
776
777
778
778
779
779
778
777
776
776
774
774
773
772
772
771
771
771
771
771
771
771
771
771
772
772
772
772
772
772
773
773
774
774
775
778
779
779
780
781
781
782
783
783
785
785
786
787
789
790
790
790
791
791
791
792
792
793
794
794
794
794
794
795
795
795
796
796
797
797
798
798
799
799
803
803
806
810
815
819
820
828
833
837
839
844
844
847
848
851
853
862
863
865
867
869
875
876
876
880
881
882
884
885
887
878
875
873
872
871
859
852
849
839
834
830
827
825
822
819
813
805
802
801
800
798
789
788
787
787
787
787
787
787
787
788
788
788
788
789
789
789
789
790
790
790
790
791
793
794
794
795
797
798
798
799
813
815
818
825
826
831
833
839
843
845
868
871
878
886
887
889
889
891
896
898
901
903
905
903
898
894
888
888
884
883
880
880
876
873
871
869
866
863
860
855
855
854
852
849
847
843
833
827
823
816
812
808
802
799
795
787
776
772
768
765
762
756
749
746
742
740
736
730
722
707
688
683
680
679
679
678
677
676
675
672
667
665
663
660
659
654
650
648
647
642
640
638
629
627
626
624
624
623
622
616
612
611
609
606
605
598
597
595
591
588
587
585
581
578
574
571
569
567
560
559
558
557
556
546
544
543
539
538
537
535
534
531
529
526
524
518
515
512
510
506
504
503
501
497
495
495
495
495
495
495
495
495
495
495
495
495
495
495
494
493
488
484
483
481
478
476
472
471
468
465
462
459
454
446
442
438
436
433
421
405
399
394
391
390
381
377
377
376
374
373
371
371
369
368
368
367
366
366
365
365
364
363
362
362
361
361
360
360
360
359
359
358
358
357
357
355
355
354
353
353
353
352
351
350
349
348
348
348
346
344
341
340
339
338
337
337
335
334
334
333
333
332
331
330
330
329
329
328
328
333
334
335
335
336
338
339
340
342
343
342
340
340
338
337
337
336
335
335
334
331
330
329
328
328
326
325
325
325
324
323
322
321
320
318
317
315
314
313
312
311
310
310
310
310
311
311
311
311
311
311
312
312
312
312
312
313
313
314
314
314
314
313
309
308
305
301
299
299
296
295
295
294
294
293
293
293
293
292
292
292
292
292
292
291
291
291
290
289
289
289
289
288
288
288
287
287
287
286
285
284
283
283
283
283
282
282
281
280
280
279
279
279
279
279
279
278
277
276
275
275
274
274
274
266
264
263
260
260
260
260
260
260
260
260
260
260
260
260
261
261
261
261
256
256
256
255
255
255
254
254
252
252
252
252
251
251
250
250
250
249
249
248
247
247
246
245
245
244
243
243
242
242
241
240
239
239
238
237
237
236
236
236
236
236
236
235
235
235
235
235
234
233
233
233
233
233
233
233
233
233
232
232
232
232
232
232
232
232
232
232
232
231
231
231
231
231
231
231
231
231
230
230
230
230
230
230
230
230
230
230
230
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
230
231
231
231
231
230
230
230
229
229
229
229
228
228
228
228
228
227
227
227
227
227
227
226
226
225
225
225
225
225
224
224
224
224
223
223
223
223
223
223
223
223
223
223
222
221
220
220
220
219
219
219
218
218
218
218
216
216
216
216
216
216
216
216
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
216
217
217
216
216
215
214
212
212
212
212
212
212
212
212
212
212
212
211
211
210
210
210
209
208
207
206
206
205
204
204
204
203
203
203
203
204
204
204
206
206
208
208
208
209
209
209
210
210
210
210
212
213
212
210
209
207
205
202
199
198
198
198
198
198
198
198
198
198
198
198
198
198
198
197
197
197
197
197
197
197
197
197
197
197
197
197
197
196
196
196
196
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
195
195
196
196
196
196
196
196
197
197
197
197
198
198
198
198
197
197
197
196
196
196
196
196
196
196
196
195
195
195
195
194
194
194
194
194
194
194
194
194
194
192
192
191
191
190
190
190
190
190
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
188
188
187
187
187
187
187
187
187
186
186
186
186
186
186
186
186
185
185
185
185
184
183
183
183
183
183
183
183
183
184
184
184
184
184
185
185
185
185
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
185
185
185
185
184
183
183
183
183
182
182
178
173
172
171
170
170
170
169
169
168
167
166
165
165
165
165
165
165
165
165
165
164
164
164
164
164
164
164
164
164
163
163
163
163
163
162
162
162
162
162
161
161
161
161
161
161
161
161
161
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
160
159
159
158
158
158
158
158
157
157
157
157
157
157
157
157
156
156
156
156
156
156
156
155
155
155
155
155
155
155
155
155
155
155
155
155
156
156
156
156
156
156
156
156
156
156
156
156
156
156
155
154
154
154
156
161
163
163
162
162
162
162
161
161
161
160
160
158
158
157
157
157
156
155
155
155
155
155
155
154
154
154
154
153
153
153
153
153
152
152
152
151
151
151
150
150
149
149
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
147
147
147
147
146
146
145
144
144
144
143
143
143
143
143
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
143
143
143
143
143
142
142
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
141
141
141
141
141
140
140
140
140
140
140
140
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
139
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
136
136
136
136
136
136
136
136
136
136
136
136
136
136
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
135
136
136
137
137
137
137
137
137
137
137
137
137
137
137
137
137
136
136
136
136
136
136
136
136
136
136
135
135
135
135
135
135
135
135
135
135
136
136
136
137
137
137
138
138
139
139
139
139
139
139
139
139
139
139
139
139
140
140
140
140
140
140
140
140
139
139
139
139
139
139
139
139
138
138
138
138
138
138
138
138
138
138
138
139
139
139
140
141
141
141
142
142
142
143
143
143
143
143
143
143
143
143
142
141
141
141
141
141
141
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
137
136
136
135
135
135
135
135
135
135
135
134
134
134
134
134
134
134
134
134
134
133
133
133
134
134
134
134
134
134
134
134
134
134
134
135
135
136
136
137
137
138
139
139
140
140
141
141
141
141
141
141
141
140
140
137
136
136
136
136
136
136
136
136
135
134
134
134
134
134
134
134
133
133
133
133
133
133
133
133
133
133
133
133
134
134
134
134
134
135
135
135
135
135
136
136
136
136
137
137
137
137
137
137
137
138
138
139
139
139
139
139
139
139
138
138
138
136
136
136
136
136
136
136
137
137
138
138
138
138
138
138
138
138
139
139
139
139
139
139
140
140
140
141
141
141
144
144
143
143
143
143
143
143
143
143
144
144
144
144
144
144
144
149
149
148
147
146
146
146
146
146
144
144
144
145
145
145
145
145
148
148
148
148
149
149
146
146
146
146
147
147
147
147
147
146
146
146
148
148
149
149
149
148
148
148
148
148
149
149
149
149
150
150
150
151
151
152
152
152
153
153
153
153
153
153
153
152
152
152
152
152
152
152
152
152
152
152
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
153
154
154
154
154
154
154
154
155
155
156
157
157
157
158
158
158
158
157
157
157
157
157
157
157
156
156
156
156
156
156
156
156
156
156
157
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
157
157
157
157
157
157
158
158
158
160
160
159
159
159
158
157
156
156
156
156
156
156
156
156
155
155
155
157
157
157
159
159
160
161
161
161
161
161
161
161
161
161
161
161
161
161
162
162
163
163
164
165
165
165
166
167
168
168
168
168
170
170
170
170
170
170
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
169
170
170
170
171
171
171
171
171
171
172
172
172
172
172
172
172
172
172
172
171
171
171
170
170
170
170
170
170
170
170
170
170
171
171
171
171
172
172
172
172
168
168
168
168
168
168
168
168
171
171
172
173
173
174
178
179
179
180
182
183
184
184
184
185
186
191
190
189
189
189
188
188
188
188
187
187
187
187
186
187
188
189
190
195
195
196
197
198
199
200
202
204
216
218
218
219
219
219
220
220
221
222
229
234
238
232
228
225
222
220
217
213
208
206
202
201
201
200
196
194
192
189
184
183
180
180
182
182
182
183
183
184
184
184
184
185
185
185
187
188
189
189
189
192
195
195
197
198
199
199
201
203
208
210
212
222
222
221
219
218
216
213
212
212
211
210
206
206
207
207
207
208
208
208
209
209
209
210
210
211
211
212
213
213
213
214
215
216
217
218
219
221
222
222
223
224
225
227
229
230
231
232
234
235
237
240
240
242
243
243
243
244
245
245
246
248
249
249
250
251
252
253
254
255
255
256
257
259
260
265
265
266
267
269
274
275
276
277
279
281
282
283
283
284
285
285
286
287
291
296
301
308
319
337
337
336
336
336
336
336
336
336
335
335
335
334
334
334
334
334
334
333
333
333
332
332
332
331
331
331
331
331
331
332
333
334
336
336
337
338
339
339
340
341
341
343
344
345
347
348
348
348
350
351
352
352
352
353
353
354
355
354
354
352
351
350
348
347
347
345
345
344
344
345
353
353
354
354
355
357
358
359
363
364
364
364
367
367
367
367
367
367
367
367
367
367
367
367
367
367
366
365
364
363
362
360
358
357
354
350
347
343
341
340
337
337
337
339
343
344
345
346
347
348
350
354
355
356
358
360
361
362
363
363
364
364
365
365
366
366
366
366
366
367
367
367
367
368
368
369
369
371
371
372
372
373
374
375
376
377
377
377
379
379
380
380
380
381
382
382
382
382
381
380
377
375
374
371
370
370
370
369
367
367
367
367
366
366
366
366
365
365
365
364
364
364
363
363
362
362
361
361
359
357
356
356
352
351
349
347
346
345
343
343
343
341
339
337
337
337
336
335
334
331
330
329
325
320
319
310
310
309
309
309
309
309
308
308
308
308
308
308
307
307
306
305
304
304
304
303
303
302
301
301
299
298
297
297
295
293
290
288
287
286
285
285
284
283
282
281
281
281
280
280
280
280
279
279
279
278
277
276
276
274
274
273
273
271
271
270
269
268
268
267
267
266
264
261
261
258
258
255
254
252
251
247
245
244
246
246
249
249
243
235
232
235
240
242
243
244
245
248
248
248
248
247
247
247
247
247
244
243
241
241
241
241
240
240
240
239
238
237
237
236
236
235
231
230
229
226
226
226
227
227
228
228
228
228
231
231
232
232
232
233
233
233
233
233
233
233
233
233
233
233
233
232
232
231
230
230
229
228
226
226
225
225
225
225
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
220
220
219
219
219
219
219
219
220
220
220
220
221
221
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
223
223
223
223
223
223
223
223
223
223
223
221
221
220
220
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
218
218
218
218
218
217
217
215
215
215
214
214
213
213
213
213
213
213
213
213
214
214
215
215
215
216
216
216
216
216
217
217
217
217
217
217
217
217
217
217
217
217
216
215
215
214
214
213
213
213
216
217
217
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
219
219
218
217
216
216
214
214
211
211
210
210
210
208
208
207
207
207
205
205
205
206
207
208
208
209
210
211
211
211
211
212
212
213
213
213
213
213
213
214
214
214
215
215
217
217
215
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
207
207
207
207
207
207
206
206
206
206
206
205
205
205
204
204
204
205
206
206
208
208
207
207
204
203
203
203
203
203
203
203
204
205
205
206
206
206
206
207
207
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
208
208
208
207
207
206
206
206
206
206
205
205
205
205
205
204
204
204
203
203
203
202
202
202
202
202
202
202
202
201
201
201
201
201
201
201
201
201
201
201
201
201
200
200
200
200
200
200
199
199
199
199
199
199
199
199
199
199
199
199
199
201
202
202
202
203
203
203
203
203
203
202
202
201
201
201
200
200
200
199
199
199
199
199
199
199
199
199
199
199
199
199
198
198
198
197
197
197
196
195
195
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
195
195
195
195
194
194
193
192
192
192
191
191
190
190
190
191
191
191
192
192
193
194
194
193
192
192
192
192
192
192
192
192
192
193
193
193
193
193
193
193
193
193
193
193
193
192
192
192
191
191
190
190
190
189
189
189
190
190
193
195
197
198
201
203
203
201
198
197
195
195
194
194
194
194
194
194
194
194
194
193
192
192
191
191
190
190
190
191
191
191
191
191
192
192
193
194
194
193
193
193
193
192
192
192
192
192
191
191
191
191
190
190
190
189
189
189
188
188
188
187
187
187
186
186
186
186
186
186
186
187
187
187
187
187
187
187
187
187
187
187
187
186
184
184
184
184
184
185
186
187
187
187
187
188
188
189
190
191
191
191
191
191
191
191
191
191
191
191
190
190
190
189
189
189
189
189
189
188
188
187
187
187
187
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
185
185
185
185
185
185
185
185
185
186
186
186
186
186
186
186
187
187
187
187
188
190
191
191
191
191
191
191
190
190
189
189
188
188
188
187
187
187
187
187
187
187
187
187
187
187
187
186
186
186
186
186
185
185
185
184
184
183
182
182
182
181
181
181
181
181
181
182
182
182
182
182
183
183
183
183
184
184
185
185
186
186
186
186
186
186
186
186
186
185
185
184
184
184
182
182
181
181
180
180
180
180
180
181
181
181
181
181
181
182
182
182
182
182
182
182
183
183
183
183
183
183
183
183
184
184
184
185
185
186
187
187
187
187
187
187
187
188
188
188
188
188
188
188
188
188
188
188
187
187
187
187
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
186
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
184
184
184
182
181
181
181
181
180
180
181
181
182
182
182
182
183
183
183
183
183
183
183
183
183
183
183
183
183
182
182
182
182
181
181
181
181
182
182
182
182
183
183
184
184
184
184
185
186
187
188
188
189
189
189
190
190
191
191
192
192
193
193
193
193
193
192
192
192
192
191
190
189
188
186
182
182
181
180
180
179
178
178
178
176
176
176
176
176
176
175
175
175
174
174
174
174
174
175
175
176
177
177
178
178
179
179
180
180
181
181
182
182
182
182
182
182
182
182
182
182
182
182
182
182
182
180
180
180
180
179
179
179
178
178
177
177
177
177
177
177
177
176
176
176
176
176
176
175
175
175
175
175
175
175
175
175
175
175
176
176
176
177
177
177
177
177
177
177
176
176
175
175
175
175
175
175
175
175
175
176
177
177
181
183
185
189
192
195
198
200
204
206
207
207
208
208
209
211
202
199
194
188
182
176
175
175
175
176
176
177
177
178
178
178
178
178
178
178
178
178
178
177
177
176
176
176
175
175
175
174
174
174
174
174
173
173
173
173
172
172
172
171
170
169
168
168
169
169
170
170
170
170
170
170
170
170
170
170
170
170
169
169
169
169
169
169
169
169
169
169
169
170
170
171
171
172
172
172
172
172
172
172
172
172
172
171
171
171
171
170
170
170
170
170
170
170
170
170
170
170
170
171
172
172
173
173
173
173
173
173
174
174
174
174
174
173
173
172
172
172
173
174
176
176
175
174
174
173
173
172
172
172
171
171
171
171
171
170
170
170
169
169
172
174
176
177
179
182
185
185
185
186
186
186
186
187
189
190
190
190
195
197
200
202
203
206
207
208
209
214
215
216
218
221
222
222
225
227
229
231
233
235
236
238
239
240
244
247
249
251
254
256
259
261
264
266
267
268
274
288
293
295
296
297
298
299
302
305
307
312
315
316
316
317
318
318
319
320
321
324
325
326
329
330
332
333
335
338
340
338
336
335
329
327
326
324
322
320
318
315
314
310
306
304
303
300
297
295
287
280
276
274
272
271
269
265
264
264
266
269
270
278
278
279
279
280
297
300
302
304
305
299
278
280
281
282
283
288
288
288
288
288
288
287
287
287
287
287
287
287
287
288
289
290
291
300
309
301
297
291
291
290
289
288
286
286
285
285
284
284
283
282
281
276
270
270
270
270
271
273
273
276
290
285
276
272
250
248
254
257
261
263
269
270
269
263
262
258
254
254
253
253
253
253
252
251
251
251
250
250
250
249
249
249
249
248
247
246
246
245
227
220
197
190
181
178
177
175
161
160
159
158
157
155
154
154
153
152
152
152
151
150
150
150
150
150
150
150
150
150
150
152
152
152
153
153
154
154
154
154
154
155
156
156
154
151
150
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
146
147
147
147
147
147
147
147
147
149
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
150
149
149
149
149
149
149
149
149
149
149
149
150
150
150
150
150
150
150
151
151
151
151
151
151
151
151
151
151
151
151
151
152
152
152
153
153
153
153
153
153
153
154
155
156
156
156
156
156
156
156
156
156
157
157
157
157
157
157
157
157
157
157
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
156
155
155
155
155
155
155
155
155
155
155
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
155
155
155
156
157
158
159
159
159
160
160
160
160
161
161
161
161
161
161
162
162
162
162
163
163
163
163
164
164
166
166
167
168
169
169
169
169
171
172
172
174
174
174
175
175
175
175
176
176
179
179
179
179
179
179
180
180
180
180
180
180
180
180
180
181
181
182
183
185
188
190
191
193
195
194
194
194
194
193
193
193
193
193
193
193
193
193
193
192
191
191
191
192
192
192
192
193
193
193
194
194
195
195
196
198
199
199
201
202
206
207
208
208
209
210
210
211
211
214
215
217
219
220
230
231
234
235
238
239
240
241
242
244
245
246
250
251
254
256
266
271
283
285
286
293
300
302
303
304
306
309
313
314
315
316
317
317
318
321
322
324
325
326
327
329
332
335
337
341
346
348
348
348
348
349
349
349
349
351
352
353
354
355
357
357
358
360
362
366
367
368
368
371
372
373
378
379
380
381
382
383
386
395
395
395
396
397
397
398
398
398
398
398
398
397
395
393
392
391
390
388
387
387
385
383
379
372
369
369
368
368
367
367
367
367
367
366
366
366
366
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
365
366
366
366
366
366
366
366
365
365
365
365
364
363
362
361
360
359
352
346
342
342
341
341
340
340
339
337
336
336
335
335
335
332
332
331
330
330
330
330
330
330
329
329
329
328
328
328
328
328
328
327
327
327
327
329
329
329
329
329
330
330
330
330
331
333
335
355
357
357
357
357
357
358
358
359
359
359
376
383
384
384
384
385
386
387
387
388
388
389
390
390
390
391
391
391
392
393
393
393
393
393
393
393
393
393
394
395
396
396
396
396
397
397
397
398
398
423
424
424
425
425
425
425
426
426
426
427
428
428
429
429
429
429
429
429
429
430
430
430
430
430
430
430
430
428
428
428
426
425
424
424
424
424
424
423
423
423
423
423
422
422
422
421
419
418
416
416
415
414
414
414
413
413
413
415
416
416
417
417
418
418
418
418
418
418
418
418
412
411
410
410
409
408
408
408
408
408
407
407
407
405
404
403
402
401
401
399
398
398
395
393
392
387
389
390
390
391
391
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
392
391
391
391
391
391
391
391
391
391
391