2303
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2302
2303
2304
2305
2305
2306
2306
2306
2307
2307
2308
2308
2314
2314
2314
2314
2314
2314
2313
2313
2313
2313
2313
2313
2311
2310
2308
2306
2305
2304
2301
2299
2298
2297
2291
2290
2289
2285
2284
2282
2281
2277
2275
2272
2270
2267
2263
2257
2255
2253
2251
2248
2246
2244
2243
2241
2238
2237
2236
2236
2234
2231
2229
2227
2226
2226
2225
2225
2225
2224
2223
2219
2216
2214
2208
2206
2205
2197
2196
2195
2194
2193
2193
2191
2190
2189
2188
2187
2186
2182
2181
2180
2176
2174
2173
2171
2167
2164
2161
2159
2158
2156
2152
2151
2145
2145
2139
2139
2138
2137
2136
2134
2132
2131
2130
2124
2122
2121
2120
2118
2115
2113
2111
2111
2110
2109
2108
2107
2107
2106
2103
2099
2098
2097
2095
2092
2091
2090
2089
2089
2088
2088
2083
2082
2081
2080
2066
2065
2064
2062
2062
2060
2059
2058
2055
2052
2051
2050
2049
2045
2043
2041
2038
2035
2032
2029
2028
2028
2027
2022
2021
2020
2019
2018
2017
2017
2016
2014
2013
2012
2012
2007
2006
2006
2004
2004
2003
2002
2001
2000
1999
1993
1990
1986
1985
1983
1982
1981
1978
1977
1975
1967
1966
1965
1964
1963
1959
1956
1954
1951
1943
1941
1939
1938
1934
1929
1928
1926
1925
1924
1922
1920
1918
1914
1911
1909
1907
1906
1905
1904
1899
1894
1893
1893
1892
1891
1889
1887
1883
1881
1880
1880
1880
1880
1880
1880
1880
1880
1879
1879
1879
1878
1878
1878
1878
1877
1876
1875
1874
1872
1869
1865
1850
1830
1822
1818
1815
1804
1801
1797
1792
1789
1784
1780
1772
1771
1769
1766
1762
1756
1751
1743
1739
1731
1728
1726
1725
1719
1717
1714
1711
1708
1701
1697
1694
1690
1686
1684
1680
1679
1676
1674
1670
1667
1665
1663
1662
1659
1655
1651
1649
1643
1640
1636
1627
1625
1619
1618
1618
1616
1614
1613
1611
1610
1609
1609
1608
1606
1603
1600
1597
1595
1591
1591
1589
1587
1584
1581
1579
1577
1569
1568
1567
1567
1566
1564
1561
1559
1557
1555
1554
1552
1548
1547
1546
1543
1536
1531
1528
1526
1523
1520
1518
1516
1513
1512
1504
1501
1500
1498
1496
1495
1493
1492
1486
1485
1483
1481
1474
1473
1471
1466
1459
1452
1449
1439
1434
1432
1428
1426
1424
1423
1420
1416
1413
1409
1408
1405
1401
1400
1397
1396
1392
1390
1390
1389
1387
1383
1379
1370
1365
1362
1361
1360
1358
1355
1349
1345
1343
1341
1340
1339
1338
1336
1332
1327
1321
1311
1309
1307
1303
1298
1296
1292
1289
1286
1282
1278
1265
1259
1252
1248
1239
1228
1224
1221
1217
1211
1208
1206
1200
1197
1190
1165
1160
1157
1156
1155
1154
1147
1145
1144
1143
1142
1141
1140
1137
1130
1128
1128
1122
1121
1119
1117
1115
1113
1113
1112
1111
1110
1109
1107
1104
1101
1093
1091
1090
1089
1088
1087
1087
1087
1087
1087
1087
1088
1088
1088
1088
1088
1088
1088
1089
1089
1089
1089
1089
1090
1090
1090
1090
1090
1090
1090
1090
1090
1088
1087
1083
1082
1081
1081
1080
1080
1080
1079
1077
1076
1074
1070
1067
1067
1061
1060
1058
1057
1057
1057
1058
1058
1060
1061
1062
1063
1064
1064
1065
1065
1066
1069
1070
1066
1066
1065
1064
1063
1062
1060
1059
1059
1058
1058
1057
1053
1052
1052
1046
1045
1035
1035
1034
1032
1030
1026
1025
1023
1022
1022
1022
1021
1021
1021
1020
1019
1019
1018
1017
1017
1016
1015
1015
1015
1014
1014
1014
1014
1013
1013
1013
1012
1012
1011
1011
1011
1010
1010
1009
1009
1009
1009
1009
1009
1008
1008
1008
1008
1008
1008
1008
1007
1007
1007
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1006
1005
1003
1002
998
996
992
990
989
989
989
988
987
986
986
985
985
984
984
982
982
980
979
979
979
979
979
979
979
979
979
979
979
979
979
979
979
979
979
979
978
978
977
977
977
977
975
975
974
972
972
971
970
969
969
969
969
969
969
969
969
969
969
969
969
969
969
969
969
968
968
968
968
968
967
967
966
966
966
966
966
966
965
965
965
965
965
965
965
965
965
965
966
966
967
968
969
970
972
972
974
974
974
974
974
974
974
974
976
976
977
977
978
979
979
980
981
981
982
982
981
978
977
976
974
973
970
969
968
967
966
965
965
965
965
965
965
965
966
966
967
967
966
966
966
966
966
966
965
965
964
964
964
964
964
963
961
960
959
958
958
958
958
957
955
951
943
939
937
930
928
926
919
915
913
909
901
896
882
878
872
865
862
860
856
855
854
853
853
852
851
846
842
841
838
834
831
829
820
817
811
808
807
803
801
795
794
793
790
789
788
786
785
784
782
781
779
778
778
776
774
773
772
768
765
765
763
763
761
758
756
755
754
752
751
750
748
746
744
743
739
736
732
725
722
719
718
717
714
712
710
708
707
705
704
702
700
698
697
696
693
692
690
688
687
684
680
678
677
676
675
673
673
671
671
670
670
666
664
663
661
658
656
651
649
645
643
642
640
639
638
637
636
635
634
631
628
626
625
622
618
616
612
611
610
609
608
607
606
605
603
602
598
597
597
596
595
595
593
592
589
587
586
582
579
578
576
575
574
569
569
568
568
568
567
566
565
565
564
563
562
562
561
561
560
558
557
557
557
557
557
556
556
555
555
555
555
552
551
551
549
548
547
545
542
539
537
534
532
531
527
527
525
522
520
520
518
517
516
515
513
511
509
506
504
503
502
500
500
499
498
492
485
483
481
479
477
476
473
471
468
461
459
458
458
457
457
457
455
455
454
452
451
451
450
449
448
447
447
446
446
445
444
444
444
443
443
443
442
441
440
440
440
440
440
440
440
440
440
440
440
439
439
439
439
439
438
438
438
438
438
438
437
437
421
421
420
420
420
420
419
417
414
410
409
408
407
407
407
406
405
404
403
401
399
399
399
399
398
398
399
399
399
400
400
402
404
410
411
412
413
414
415
417
418
419
419
420
420
432
433
434
436
437
438
441
441
443
446
448
450
452
456
456
459
462
462
464
465
468
472
474
477
479
479
482
484
486
491
495
496
500
501
503
504
505
507
507
507
508
508
516
517
519
520
524
527
529
531
532
533
534
535
536
537
539
541
543
544
546
549
550
551
551
552
553
554
556
559
563
566
571
573
574
576
577
579
581
588
590
592
596
598
598
599
601
608
611
612
615
616
617
617
618
619
620
622
623
625
626
627
629
631
633
634
635
636
637
638
641
645
645
646
646
649
657
659
660
666
669
671
673
674
676
678
679
680
681
682
682
683
685
687
688
689
690
695
696
698
699
700
700
701
701
702
704
706
707
708
711
712
713
715
715
716
717
717
718
718
719
724
727
729
731
732
732
732
733
733
733
733
733
733
734
734
735
736
737
738
739
740
740
742
743
747
748
749
752
753
761
762
763
764
765
765
766
768
769
770
770
773
774
775
776
777
778
782
783
785
786
788
790
793
796
802
810
813
815
816
817
818
819
821
823
824
828
832
833
834
835
838
840
842
843
845
847
849
850
851
856
858
859
861
861
862
863
864
867
870
871
872
873
876
879
881
887
888
894
895
903
907
908
911
912
914
915
918
930
931
933
940
941
942
944
944
961
964
966
968
979
980
1008
1012
1017
1034
1045
1050
1052
1056
1074
1073
1072
1071
1070
1068
1062
1054
1049
1048
1046
1043
1042
1040
1038
1039
1042
1048
1049
1059
1061
1067
1068
1069
1069
1070
1071
1072
1073
1073
1074
1074
1077
1078
1087
1093
1098
1108
1110
1112
1113
1113
1114
1115
1116
1117
1119
1120
1124
1125
1126
1127
1131
1134
1134
1135
1135
1138
1138
1139
1140
1141
1142
1142
1143
1143
1145
1148
1151
1154
1158
1161
1162
1163
1164
1166
1170
1170
1173
1175
1175
1175
1175
1175
1175
1175
1175
1175
1175
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1174
1173
1173
1173
1173
1173
1173
1173
1173
1173
1173
1173
1173
1173
1173
1173
1173
1172
1172
1171
1171
1170
1168
1168
1166
1165
1164
1164
1163
1161
1160
1159
1158
1153
1148
1145
1145
1144
1143
1142
1142
1142
1141
1141
1140
1138
1136
1135
1135
1134
1132
1130
1125
1125
1125
1125
1125
1125
1126
1126
1126
1127
1127
1121
1116
1110
1103
1096
1090
1086
1075
1067
1062
1058
1054
1048
1048
1048
1048
1048
1043
1039
1034
1029
1017
1007
1000
999
998
993
991
988
988
985
982
972
970
967
964
963
963
963
962
962
961
959
953
952
949
949
948
948
948
948
949
955
965
968
970
972
973
976
978
982
982
982
981
980
979
974
974
972
971
970
969
967
966
965
964
962
962
960
957
955
949
948
948
947
947
945
943
942
942
940
937
936
935
935
931
928
927
927
927
927
927
927
928
928
928
928
929
929
929
928
924
924
918
918
915
913
912
908
905
903
903
895
881
877
875
874
874
874
874
874
874
874
874
873
873
873
873
877
878
878
885
888
888
886
886
882
880
864
861
860
861
861
861
860
853
853
852
849
834
833
819
816
814
809
808
806
806
805
805
804
804
804
802
802
798
795
783
781
780
779
776
764
752
746
740
731
725
723
720
715
712
710
709
707
705
696
693
691
691
690
689
690
691
691
689
687
684
683
680
678
678
678
679
679
679
679
679
678
678
678
678
679
680
682
683
683
683
685
685
685
686
686
687
687
688
688
689
689
690
693
694
696
696
696
697
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
698
701
705
710
714
715
718
720
722
724
724
724
723
723
723
723
722
722
722
721
721
721
721
720
717
716
716
712
710
709
707
705
702
698
696
690
688
685
683
680
676
669
666
660
655
655
655
654
653
653
651
651
650
646
645
645
644
644
644
644
644
644
644
644
644
644
644
645
645
645
645
645
645
646
646
646
647
649
651
653
654
655
655
657
658
659
659
660
661
661
659
657
654
653
650
647
641
640
640
636
634
633
633
631
631
629
629
628
622
619
609
603
596
588
585
580
576
575
572
571
570
569
568
567
565
564
564
563
563
560
557
555
554
548
546
545
543
541
539
538
535
533
532
530
529
529
529
528
528
528
527
526
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
526
526
526
526
527
532
535
539
545
550
553
559
565
575
580
585
598
608
625
630
632
633
635
636
632
622
618
587
580
570
553
549
541
539
535
527
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
525
523
522
521
520
513
510
509
507
506
501
501
499
496
496
494
494
491
489
482
480
479
478
478
477
476
476
476
475
474
474
474
474
473
473
473
472
472
471
470
470
469
468
465
464
461
460
454
455
457
460
461
463
463
463
462
461
461
458
457
456
454
451
450
450
450
450
450
450
450
450
450
450
450
450
450
449
448
447
447
447
446
445
444
443
439
434
433
430
427
425
425
425
425
425
425
425
425
425
425
425
425
425
425
425
424
424
424
423
423
422
421
421
421
420
419
419
417
414
411
406
402
400
400
400
400
400
400
400
400
400
400
400
399
399
399
398
395
392
391
388
385
385
376
375
375
375
376
377
379
381
382
382
384
384
385
386
386
385
384
383
382
382
381
377
377
377
377
376
376
376
376
376
376
376
376
376
376
376
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
375
374
372
370
368
367
367
366
362
361
359
358
356
354
354
354
355
355
355
355
355
355
354
354
353
352
352
350
350
350
350
350
350
350
350
350
350
350
350
350
349
347
343
342
341
340
340
339
338
337
337
337
336
336
336
335
334
333
333
330
317
316
316
315
315
315
315
315
314
314
313
314
314
315
316
316
316
316
316
315
313
310
310
308
308
307
307
307
307
307
307
307
306
306
306
306
304
303
301
301
301
301
301
300
300
300
300
300
300
300
300
300
300
300
300
299
299
299
299
299
299
298
298
298
298
298
298
298
297
297
297
297
297
297
297
297
297
297
297
296
296
294
294
293
293
292
292
292
292
292
293
293
293
294
294
294
294
295
295
295
293
288
287
287
285
285
284
284
284
284
285
286
286
287
287
288
288
288
288
288
287
287
287
286
285
285
284
284
284
283
283
283
283
283
283
283
283
283
283
282
281
280
278
277
277
276
276
274
274
274
274
274
274
274
273
273
273
273
273
273
273
273
273
272
272
271
271
271
271
270
270
270
275
277
293
295
297
299
301
304
306
308
301
291
290
285
283
282
280
279
278
276
273
269
263
263
263
263
263
262
262
262
262
262
263
264
265
265
266
266
267
268
269
270
270
270
270
269
269
269
269
269
269
269
269
269
269
270
270
270
269
269
268
264
261
260
260
259
259
259
257
253
252
251
250
250
250
250
250
249
249
249
248
248
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
246
246
246
246
245
245
243
242
241
241
241
241
241
241
241
241
241
241
241
241
242
242
242
242
242
242
242
242
242
242
242
242
243
243
243
244
244
244
244
244
244
244
244
244
244
244
244
245
245
245
246
246
246
246
247
247
247
247
247
247
247
247
247
247
247
246
246
246
246
246
246
246
246
246
247
247
247
247
248
248
249
249
249
248
247
247
247
247
247
248
248
249
249
249
249
249
248
247
247
246
240
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
224
224
224
224
224
223
223
222
222
221
221
221
221
220
220
220
219
219
218
218
217
215
215
214
213
212
211
211
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
211
211
212
213
213
213
214
214
215
215
215
215
215
215
215
215
215
215
215
215
215
215
214
214
213
212
211
211
210
210
210
210
209
209
209
209
209
209
209
209
208
207
206
206
205
205
205
205
213
217
217
217
217
217
217
217
217
217
217
217
217
216
216
216
216
216
214
209
208
208
206
206
206
203
203
203
203
203
202
202
202
202
202
202
202
200
202
202
202
202
203
203
203
203
203
205
206
208
208
208
208
208
208
208
208
208
208
207
206
205
203
203
201
200
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
199
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
200
201
202
202
202
201
201
200
199
199
199
198
197
197
197
197
197
197
197
196
196
196
195
194
193
192
192
191
191
191
191
191
191
191
191
191
190
190
190
190
190
190
190
190
190
190
190
190
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
190
190
191
191
192
192
193
193
193
193
193
194
194
197
198
200
201
201
202
202
203
203
202
200
199
198
196
196
195
195
195
194
194
193
193
192
191
190
189
189
188
188
187
187
187
186
186
186
186
187
190
190
192
193
194
196
197
199
201
202
207
209
211
214
218
218
218
215
215
214
213
212
209
205
203
204
205
206
208
218
220
225
226
229
231
237
244
246
250
252
257
269
274
266
262
258
249
245
243
243
242
240
239
238
236
235
234
233
233
232
232
231
231
230
230
230
230
229
223
221
218
213
210
206
204
203
198
202
204
205
205
207
208
209
210
210
211
212
213
214
214
216
217
217
217
215
212
212
211
211
210
208
207
206
206
203
203
203
204
205
205
206
206
207
208
208
209
209
209
209
208
207
207
206
205
204
201
199
198
196
195
192
190
190
189
189
189
189
189
189
189
189
189
189
190
190
190
190
190
190
190
190
190
190
193
195
201
206
205
203
202
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
200
200
199
198
197
197
196
195
195
193
191
190
190
190
187
187
187
187
187
187
188
188
188
188
188
189
190
190
191
192
192
192
192
192
192
192
192
192
191
191
191
191
191
191
191
191
192
192
192
192
192
192
192
192
192
192
193
194
195
195
195
195
195
196
196
196
197
198
198
199
199
199
199
198
197
195
195
194
194
194
193
193
193
193
193
193
193
193
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
191
190
189
189
189
188
187
187
186
186
186
186
186
186
186
186
187
187
187
187
187
187
187
187
187
188
188
188
188
188
188
188
188
188
188
188
188
188
188
187
187
187
187
187
186
185
185
185
185
185
185
185
186
186
186
186
186
185
185
185
185
185
185
185
185
185
185
185
185
185
186
186
186
186
186
187
187
187
187
187
187
187
187
187
187
186
186
186
186
186
187
187
188
188
189
190
190
191
191
191
191
191
191
191
191
191
191
191
191
191
191
192
192
192
192
192
192
192
193
193
193
193
193
193
192
192
192
192
192
192
191
191
191
191
190
190
189
189
189
189
190
190
191
191
191
192
192
192
192
192
192
192
192
192
192
192
192
192
192
193
193
193
193
193
192
191
190
189
189
189
189
189
189
189
190
191
191
191
191
190
190
190
190
190
190
190
190
190
190
190
193
193
193
194
195
196
197
197
197
197
197
197
197
197
197
197
196
196
196
196
196
196
196
196
196
196
195
195
194
194
194
193
193
193
193
191
190
190
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
190
190
190
190
190
190
191
191
192
193
193
194
194
193
192
191
191
191
191
191
191
191
192
192
192
192
194
199
201
202
203
204
205
207
211
211
211
211
211
211
211
211
211
211
211
211
210
210
210
210
210
210
210
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
209
210
210
210
211
211
211
211
212
212
213
213
213
213
213
213
214
214
214
214
215
215
215
216
217
218
218
218
220
220
222
222
223
224
226
226
227
227
227
227
227
227
227
227
227
228
228
228
228
228
228
228
228
229
230
231
233
234
234
234
235
236
237
238
238
238
239
239
240
244
246
247
247
248
249
249
251
251
251
253
254
254
254
256
256
258
259
261
262
264
265
265
266
266
266
267
267
268
269
269
270
270
270
272
272
272
271
271
270
270
270
269
262
262
255
252
249
247
247
247
246
246
245
244
243
243
242
241
238
238
234
231
229
228
227
227
225
224
223
223
222
222
221
220
219
217
217
215
214
214
213
209
209
208
208
208
208
208
208
207
207
207
207
207
206
206
206
206
206
206
206
206
206
206
206
206
206
206
206
205
205
205
205
205
205
202
201
201
201
201
200
199
199
199
198
195
193
192
191
190
189
188
188
188
188
188
188
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
187
186
185
185
185
184
184
184
183
183
182
182
181
181
179
178
176
176
176
176
175
175
175
175
175
174
174
174
174
174
174
173
172
172
171
170
169
169
168
167
167
166
166
166
165
164
164
164
163
163
163
163
163
162
162
162
162
162
162
162
161
161
160
158
158
157
156
154
153
151
150
149
148
148
148
148
147
147
147
146
146
146
146
146
145
145
145
145
145
145
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
144
143
143
143
143
143
143
142
142
141
141
140
140
140
140
140
139
139
138
138
138
138
137
137
137
137
136
135
135
135
135
135
135
135
135
133
132
132
131
131
130
130
130
130
129
129
129
129
129
129
129
129
129
129
129
130
130
130
130
130
130
130
129
127
127
127
127
127
126
126
126
126
126
126
126
126
126
126
126
126
125
125
125
124
124
124
124
124
124
124
124
125
125
125
125
125
126
126
126
126
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
127
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
128
132
134
134
134
135
135
135
135
135
135
135
136
136
136
136
136
136
136
136
137
138
138
138
139
139
139
140
140
140
141
141
141
141
141
141
141
141
141
141
141
141
141
140
139
139
139
136
135
135
135
135
135
134
134
134
134
133
132
132
132
132
133
133
133
133
133
133
134
134
134
134
134
134
134
134
134
135
135
135
135
135
135
135
136
136
136
136
136
136
136
137
137
138
139
139
140
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
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
140
140
140
140
140
140
140
141
141
141
141
142
142
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
143
141
140
140
140
139
139
139
139
139
139
139
139
139
139
138
138
137
136
135
135
134
134
134
134
133
133
133
133
133
133
133
133
133
133
133
133
132
132
132
132
132
132
132
132
132
132
132
132
131
131
131
131
131
130
130
130
130
130
130
131
131
131
131
131
132
132
133
133
133
133
133
134
134
134
134
134
134
135
136
136
135
134
134
134
134
133
133
133
133
133
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
131
132
132
132
132
132
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
134
134
134
134
135
135
135
135
135
135
135
135
134
134
135
135
136
137
137
137
137
137
137
137
137
138
138
139
139
139
140
140
140
140
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
143
143
143
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
144
145
145
146
146
146
146
146
146
146
147
147
148
149
149
149
149
149
149
149
149
149
149
149
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
148
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
147
148
149
149
148
147
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
146
146
145
145
145
145
145
145
145
144
144
144
144
144
144
144
144
144
144
144
144
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
141
141
141
141
141
141
141
141
141
141
141
141
141
141
137
134
134
133
133
132
132
131
132
132
132
133
134
136
137
137
137
138
138
139
139
140
140
140
140
140
141
141
142
142
141
140
140
140
140
140
139
138
137
137
137
137
137
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
138
139
139
139
139
139
139
140
140
140
141
141
142
143
143
144
144
144
144
144
144
145
145
145
145
145
145
145
146
147
148
148
148
148
155
157
158
158
158
158
158
158
158
158
158
158
158
158
156
155
154
155
156
156
156
158
158
161
162
162
163
164
164
164
164
164
164
164
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
162
162
162
161
161
161
161
161
161
160
160
160
160
160
159
159
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
158
157
156
156
155
152
151
146
144
143
142
142
142
141
141
140
140
139
139
138
138
138
138
138
138
138
138
139
140
140
140
141
141
141
141
141
141
141
137
133
131
129
126
124
124
124
123
123
122
120
117
115
115
114
110
104
102
100
99
99
99
98
98
97
97
97
95
94
94
92
92
92
92
92
92
92
92
92
92
92
92
92
91
91
90
90
90
90
90
89
89
89
88
88
88
87
87
86
85
84
83
82
79
79
78
78
78
77
77
76
76
76
75
75
75
74
74
74
74
74
73
73
73
73
73
72
72
72
72
72
72
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
71
71
71
70
70
70
70
70
70
70
72
73
73
73
73
75
75
76
76
76
77
77
77
79
79
81
82
83
84
84
81
80
79
71
71
70
70
70
69
68
68
68
67
67
67
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
67
67
67
67
67
67
67
67
68
68
68
68
68
68
69
69
71
71
72
73
73
73
73
75
76
76
77
77
78
78
78
78
78
78
78
78
78
77
77
77
77
76
76
76
75
75
75
74
74
74
74
74
74
73
73
73
73
72
72
71
70
69
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
66
66
66
66
66
66
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
66
67
68
68
68
68
68
68
68
67
66
66
66
66
66
66
66
66
66
66
66
66
66
67
68
68
69
69
69
69
68
68
68
68
68
68
68
69
69
70
70
70
71
72
73
73
74
74
74
75
77
77
77
78
79
79
79
79
79
79
79
79
80
81
81
81
82
83
83
83
82
82
82
80
80
80
80
80
80
80
80
79
79
79
78
76
75
74
73
72
71
70
70
70
70
70
69
69
69
69
68
68
68
67
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
66
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
66
66
66
66
66
66
66
66
67
67
67
67
67
68
69
69
70
72
72
72
73
73
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
76
76
76
76
79
79
81
81
81
82
82
82
83
83
83
83
83
83
84
84
84
85
85
86
90
91
93
93
93
93
93
94
94
94
97
97
97
98
98
98
99
99
100
100
101
101
102
102
102
102
103
103
103
103
103
103
103
103
103
103
103
103
103
102
101
101
101
101
100
100
100
100
99
99
99
99
99
98
98
98
98
98
98
98
98
98
98
98
98
99
99
99
100
100
100
97
96
96
96
96
95
95
95
95
95
96
97
98
99
100
101
102
103
103
103
103
102
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
100
100
100
100
104
105
109
109
110
112
112
111
111
110
108
108
107
108
112
113
114
115
116
120
121
121
122
132
134
134
134
133
133
133
133
133
130
130
130
129
127
126
125
124
124
124
123
123
122
122
120
120
120
120
120
120
120
120
120
120
120
120
120
120
118
117
116
115
115
114
113
113
111
111
111
111
111
110
109
109
109
109
109
109
108
106
106
106
107
108
124
125
127
129
132
132
132
132
134
134
134
134
133
132
132
131
130
130
130
130
130
130
130
130
130
130
130
129
129
128
127
127
126
125
122
118
118
118
118
117
117
117
117
117
117
116
115
115
114
114
112
112
111
110
108
108
108
108
107
106
106
105
104
103
103
103
102
101
98
98
95
94
93
92
92
92
91
91
91
91
90
90
90
90
89
89
89
89
89
89
88
88
88
87
87
87
87
87
86
86
85
85
85
85
85
85
85
85
85
85
85
85
85
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
84
83
83
83
83
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
82
81
81
79
78
78
79
79
79
80
80
80
80
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
80
80
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
78
77
77
77
77
77
77
77
77
76
76
76
75
69
69
69
68
68
68
68
68
68
68
68
68
71
71
77
77
77
77
77
77
78
78
78
78
78
78
77
77
77
77
77
75
73
73
72
70
70
68
68
63
61
60
58
57
57
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
59
59
60
60
60
61
61
61
61
61
62
62
62
62
62
62
62
62
62
61
61
60
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
62
62
62
62
62
61
61
61
61
61
60
60
60
60
60
60
60
61
61
62
62
63
63
64
64
64
64
65
65
65
65
65
65
65
65
65
65
65
65
65
64
64
64
63
63
63
63
63
63
63
63
62
62
62
61
61
60
60
60
60
60
60
60
60
61
61
61
61
61
61
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
63
62
62
62
62
61
61
61
61
61
61
61
61
61
60
60
60
60
60
60
60
60
60
60
60
60
62
63
63
63
63
63
64
65
65
65
65
66
67
67
67
68
68
68
69
69
69
70
70
71
71
70
70
70
70
69
69
68
67
66
65
65
65
65
65
65
65
65
65
65
65
65
64
64
64
64
63
63
63
62
61
60
59
59
59
59
59
59
59
59
59
59
59
59
58
57
56
56
56
56
56
56
54
54
54
51
49
52
53
53
51
51
50
50
50
50
50
50
50
50
49
49
48
48
48
47
47
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
48
48
48
48
48
48
48
48
48
48
47
47
47
47
46
46
45
45
45
45
44
44
44
44
44
44
44
44
45
47
49
49
52
53
54
54
54
53
52
52
52
52
52
52
51
51
50
50
49
47
44
49
49
50
53
53
53
52
51
50
50
49
49
49
48
48
48
48
48
48
48
48
48
48
48
48
48
48
50
50
50
50
50
50
50
50
50
50
50
50
50
50
51
51
53
56
57
58
59
59
60
61
62
62
62
63
63
63
64
64
65
65
65
66
66
66
66
67
67
67
67
67
67
67
67
67
67
68
69
69
70
70
70
71
72
72
72
74
74
75
75
75
76
80
82
83
83
87
87
88
90
91
93
94
97
99
99
101
102
104
105
106
106
107
108
108
109
111
111
110
109
107
105
103
101
99
99
98
97
93
91
87
84
82
79
76
70
67
65
63
62
61
60
58
58
57
57
57
57
57
56
55
54
54
53
51
51
51
51
50
50
50
50
49
49
49
49
48
44
41
36
35
34
33
32
31
31
31
30
34
35
36
38
39
41
41
42
43
43
44
44
44
44
44
44
44
44
41
39
38
37
35
35
32
31
31
31
31
31
31
31
31
31
30
30
30
30
29
29
28
28
28
28
28
28
28
28
28
29
29
30
30
30
30
30
30
30
31
31
31
32
32
32
32
32
32
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
35
35
35
35
36
36
36
36
36
36
36
36
36
36
35
35
35
34
33
33
33
32
32
32
32
32
31
31
31
31
31
31
31
31
31
30
30
30
30
30
29
29
29
29
29
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
30
29
29
29
29
29
29
29
29
30
30
30
32
34
35
36
38
38
36
35
35
32
31
30
30
30
30
30
29
29
29
29
28
28
28
28
30
30
30
30
30
30
30
30
30
31
31
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
33
33
33
33
34
36
38
38
39
40
40
42
42
44
46
48
48
51
52
52
52
53
56
57
57
59
60
62
63
66
66
64
63
62
61
59
58
57
56
56
55
52
51
50
49
48
48
48
48
48
47
47
46
46
46
45
45
44
43
41
41
41
40
40
40
40
40
42
46
46
46
47
47
47
47
47
47
47
47
47
48
48
49
50
51
52
53
53
54
54
55
55
55
55
55
55
55
55
55
54
54
54
54
54
54
53
53
53
53
53
53
53
53
53
53
53
53
54
54
54
54
54
55
55
55
55
55
55
55
54
54
53
53
53
53
53
53
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
54
55
54
53
53
53
53
53
53
52
52
52
52
52
51
51
51
52
52
52
52
52
52
52
51
51
51
50
50
49
49
49
49
49
50
51
52
52
52
52
53
53
53
53
53
54
54
55
56
56
56
55
54
53
53
53
53
53
53
53
53
53
53
54
54
54
54
54
54
54
54
56
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
57
57
57
56
56
56
56
56
56
56
56
55
55
52
51
50
50
49
49
49
48
47
47
47
46
46
46
46
46
46
46
44
43
41
41
41
41
41
39
38
38
38
38
38
38
37
37
36
36
36
36
36
35
35
34
34
34
34
34
34
34
34
34
34
34
34
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
32
31
31
31
31
32
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
38
38
39
39
39
39
37
36
36
36
36
36
36
36
36
36
35
35
35
35
35
35
35
35
34
34
34
34
34
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
35
35
35
35
35
35
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
36
36
36
36
36
36
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
37
37
36
36
36
35
35
34
34
33
33
33
33
33
32
32
32
32
32
32
32
32
32
32
33
34
34
35
35
35
35
36
36
36
36
36
36
36
36
36
36
35
35
35
35
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
33
33
32
32
32
32
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
29
29
29
29
29
29
29
29
29
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
28
28
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
27
28
29
29
29
29
28
28
28
28
28
28
28
28
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
24
24
24
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
24
24
23
23
23
23
23
23
23
25
25
24
20
20
20
19
20
20
21
22
22
22
22
21
21
20
20
20
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
21
21
21
21
21
21
22
22
22
23
22
21
21
21
21
21
20
19
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
22
22
22
22
22
22
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
23
23
23
23
23
23
23
23
23
21
21
21
21
22
22
22
22
22
22
22
22
21
21
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
19
19
19
19
19
19
19
19
19
19
18
18
18
18
21
21
21
21
21
21
21
21
21
21
21
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
21
21
21
21
21
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
19
19
19
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
17
17
17
17
17
17
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
18
21
20
20
20
20
20
20
20
18
18
18
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
15
15
15
15
15
15
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
11
13
13
13
12
12
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
12
11
11
11
11
11
11
11
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
9
9
9
9
8
8
8
8
9
9
9
9
9
9
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
6
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
7
7
6
5
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
3
3
3
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
2
2
2
3
3
4
4
4
3
3
3
3
3
3
3
3
3
2
2
1
1
0
0
0
0
0
0
1
1
1
2
2
2
2
2
2
2
1
1
0
0
0
0
0
0
0
0
0
1
1
2
2
2
2
3
4
4
4
4
4
4
4
4
4
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
4
4
4
4
4
3
3
3
3
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
2
2
3
3
3
4
4
4
5
5
6
6
7
9
7
7
6
6
4
4
4
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
2
3
3
3
4
4
4
4
4
3
3
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
3
3
3
3
3
2
2
2
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
3
4
4
4
5
5
5
5
5
5
3
3
3
1
1
1
3
4
4
4
4
4
4
4
4
4
4
4
3