2016
2016
2013
2012
2009
2005
2004
2003
1999
1997
1996
1995
1993
1992
1990
1989
1989
1984
1982
1979
1978
1976
1975
1974
1972
1972
1971
1970
1969
1966
1965
1964
1964
1962
1961
1960
1959
1957
1953
1951
1949
1949
1945
1945
1941
1938
1937
1936
1933
1932
1930
1928
1927
1926
1924
1924
1923
1922
1921
1919
1918
1914
1911
1910
1909
1905
1903
1900
1893
1891
1890
1889
1887
1884
1884
1880
1878
1876
1875
1871
1868
1866
1865
1864
1863
1861
1857
1857
1855
1853
1852
1850
1849
1848
1848
1847
1847
1846
1845
1843
1843
1838
1837
1836
1834
1833
1832
1831
1827
1826
1825
1824
1821
1819
1817
1816
1816
1808
1804
1803
1802
1801
1801
1801
1799
1797
1792
1787
1770
1768
1764
1761
1759
1759
1759
1758
1757
1756
1755
1754
1752
1751
1750
1749
1748
1744
1741
1738
1736
1735
1730
1727
1726
1721
1713
1712
1709
1704
1699
1689
1677
1669
1666
1663
1660
1658
1656
1655
1654
1652
1650
1649
1648
1647
1638
1634
1624
1615
1608
1605
1602
1595
1583
1582
1581
1577
1571
1565
1556
1549
1545
1544
1544
1543
1542
1541
1540
1539
1537
1535
1534
1534
1533
1532
1531
1530
1528
1527
1525
1518
1490
1479
1469
1449
1439
1434
1431
1428
1402
1399
1396
1392
1390
1380
1376
1374
1371
1366
1361
1353
1344
1344
1343
1341
1337
1337
1328
1326
1325
1323
1317
1302
1298
1297
1296
1294
1292
1290
1289
1285
1283
1278
1268
1262
1259
1250
1246
1242
1237
1219
1218
1218
1217
1206
1203
1202
1199
1198
1197
1196
1195
1193
1192
1186
1183
1175
1161
1160
1157
1151
1149
1147
1145
1140
1132
1121
1118
1112
1107
1103
1098
1093
1091
1088
1087
1085
1076
1075
1074
1073
1066
1060
1041
1032
1028
1024
1021
1013
1004
997
996
994
993
991
984
979
975
973
970
964
959
942
938
932
930
928
920
919
919
918
913
913
912
911
910
908
907
906
905
904
902
898
895
893
888
886
885
882
879
876
873
867
866
861
859
858
856
849
848
847
842
841
832
831
828
826
825
824
821
813
812
812
811
806
801
796
794
790
787
786
782
780
778
775
768
766
763
760
759
759
750
749
747
746
745
744
743
741
738
737
736
735
734
733
732
731
729
729
728
725
720
719
717
715
711
710
709
707
705
704
701
698
695
695
694
693
693
693
687
687
685
685
685
684
683
683
683
682
682
682
681
680
671
665
664
660
658
656
656
656
655
654
652
650
645
643
642
639
638
637
636
635
634
633
633
631
630
630
629
629
628
628
627
624
622
619
618
618
617
616
615
615
614
613
610
610
610
609
608
607
605
602
602
601
600
599
599
597
595
595
595
595
595
594
593
592
589
588
588
587
585
584
583
583
582
579
579
578
577
577
572
570
568
567
557
555
553
551
547
533
531
526
512
512
511
509
509
508
507
506
504
503
502
502
502
501
500
499
496
493
492
490
490
490
489
489
488
488
487
487
487
487
486
485
485
484
483
483
482
481
480
480
479
479
478
478
476
475
475
475
474
473
473
473
472
472
471
471
471
470
470
469
469
469
468
468
466
466
465
464
464
463
463
463
462
462
461
461
461
460
460
459
458
458
458
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
457
456
456
455
454
454
453
452
451
450
449
448
448
447
445
445
443
442
441
440
440
439
437
436
435
435
435
433
433
433
432
431
431
430
430
429
429
427
427
426
424
423
422
418
416
407
405
404
403
391
386
385
385
384
382
381
381
381
380
380
380
379
378
378
376
376
376
375
375
375
375
374
374
373
373
372
370
369
369
368
367
366
366
366
365
365
364
363
363
363
362
362
361
361
361
360
359
359
358
357
356
356
355
355
355
354
354
353
352
352
352
351
351
350
349
349
348
347
346
345
345
344
344
344
343
343
342
342
342
341
340
340
340
339
339
339
339
339
339
339
339
338
337
337
337
337
336
336
336
336
336
335
335
335
335
335
335
334
334
334
334
333
333
333
333
332
332
332
332
332
331
330
329
328
327
327
327
326
326
325
324
324
323
323
322
321
321
321
320
319
319
318
318
317
317
316
316
315
314
314
313
312
312
311
311
310
309
309
309
309
309
309
308
308
308
308
308
307
307
306
306
305
305
304
302
303
303
303
303
302
301
301
296
292
290
290
290
290
290
289
289
289
287
286
286
286
286
286
285
285
284
283
282
282
281
281
281
280
280
280
280
280
279
279
279
279
279
278
277
276
276
274
273
273
273
273
273
273
273
273
273
272
272
272
272
271
271
271
271
271
270
269
269
269
269
269
269
269
269
268
268
269
269
269
269
269
268
266
266
266
266
267
267
268
269
269
269
269
269
267
266
260
261
262
262
262
262
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
258
258
258
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
253
253
253
253
252
252
252
252
252
252
252
252
252
252
251
251
251
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
251
251
251
251
251
251
251
252
252
252
252
253
253
253
253
253
253
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
253
253
253
252
252
252
251
251
251
251
250
250
250
250
250
250
249
249
248
249
249
249
250
250
250
250
250
250
251
251
251
251
252
253
253
253
254
254
254
254
254
254
255
255
255
255
256
256
256
256
255
255
255
255
254
253
253
252
247
247
246
246
245
245
245
244
243
243
243
243
244
244
244
244
245
245
245
245
245
245
245
244
244
244
244
244
244
243
243
243
243
243
243
243
242
242
242
242
241
241
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
241
241
241
241
242
242
242
242
241
241
241
240
240
240
240
240
239
239
239
239
239
239
239
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
239
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
237
237
237
237
237
237
237
237
237
237
237
237
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
235
236
236
237
237
237
237
239
239
239
239
239
239
239
238
238
237
237
237
236
236
235
235
234
234
234
234
234
234
234
233
233
233
233
233
233
233
233
233
233
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
233
233
233
233
233
233
233
233
234
234
234
234
234
234
236
237
237
237
235
235
234
234
234
233
232
232
232
231
230
230
229
229
229
229
229
229
229
229
228
228
228
228
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
228
228
228
228
227
227
227
227
227
227
227
226
226
226
226
226
225
225
225
225
224
224
224
224
224
224
224
224
225
225
225
226
226
226
226
226
226
226
226
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
223
220
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
221
221
221
221
221
221
221
221
221
220
220
220
220
220
220
219
219
219
218
218
218
218
217
217
217
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
217
217
217
217
217
218
218
218
218
218
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
221
222
223
224
224
224
224
224
224
223
223
223
223
223
223
222
222
222
221
221
221
221
221
221
222
222
222
222
222
223
223
223
223
223
223
223
223
223
223
223
222
220
218
218
218
219
219
219
219
220
220
221
221
222
222
223
223
223
223
222
222
222
222
222
221
221
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
221
221
221
221
222
222
222
222
222
223
223
223
223
223
223
224
224
226
226
227
227
228
228
228
229
229
229
229
229
229
229
229
229
229
229
229
229
229
228
228
228
228
228
228
228
228
227
227
227
227
227
227
227
227
227
227
227
227
227
227
228
228
228
228
228
228
228
228
228
228
228
228
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
226
220
219
219
219
219
219
219
219
219
219
219
220
220
220
220
219
219
218
218
218
217
217
217
217
217
217
217
218
218
217
217
213
212
211
211
211
211
211
211
211
211
211
211
211
211
211
211
211
210
210
210
210
210
210
209
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
208
209
209
209
209
209
209
209
209
209
209
210
210
210
208
208
207
207
207
207
207
207
207
207
206
206
206
206
206
206
206
206
205
205
205
205
204
204
204
204
204
204
204
204
204
204
203
203
203
203
203
202
202
202
202
201
201
201
201
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
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
201
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
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
197
197
197
197
197
197
197
197
197
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
195
195
194
194
194
194
193
193
193
193
193
192
192
192
192
190
189
189
189
189
189
190
190
191
193
193
193
193
193
193
193
193
193
193
193
193
193
194
194
194
194
194
194
194
194
193
193
193
192
192
192
192
192
192
192
192
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
191
190
190
190
190
190
190
190
190
190
190
190
189
189
189
189
189
190
190
190
190
190
190
190
191
191
191
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
190
189
189
189
189
188
188
188
187
187
186
186
185
184
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
183
182
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
181
184
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
185
183
183
182
181
181
181
181
181
181
181
181
179
178
178
178
178
177
177
177
177
177
177
177
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
177
177
178
178
178
178
178
177
176
176
176
176
176
176
176
176
176
176
176
176
176
176
176
175
175
174
173
173
173
172
172
171
171
171
171
171
171
172
172
172
172
171
170
170
170
168
168
168
168
168
169
169
169
168
168
168
168
168
168
168
168
168
168
168
168
168
167
167
167
167
165
164
163
162
162
161
160
159
159
159
159
159
159
159
156
156
156
156
156
156
155
155
155
155
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
155
155
155
155
155
155
155
155
155
155
155
155
155
154
154
154
154
154
154
154
154
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
154
154
154
154
153
153
152
151
149
149
149
149
149
149
149
149
149
149
149
149
149
149
148
148
148
148
147
147
147
147
147
146
146
146
146
146
146
146
146
146
146
146
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
146
146
146
146
146
146
146
146
146
146
146
146
145
144
143
142
142
142
142
142
142
142
142
142
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
141
140
138
138
138
138
138
136
136
136
137
137
137
137
137
137
137
137
137
137
138
138
138
138
138
138
138
139
139
139
139
136
133
132
132
131
131
131
131
131
131
130
130
130
130
130
130
130
130
129
129
129
129
129
129
129
132
132
132
133
133
133
133
133
133
133
133
129
129
129
129
129
129
129
129
129
128
127
127
127
127
127
127
126
126
126
126
125
125
125
125
125
125
125
125
125
125
125
125
125
125
124
124
123
123
123
123
123
123
123
123
123
123
124
124
124
124
124
124
124
124
124
123
122
121
120
119
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
118
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
119
118
118
118
116
115
115
113
113
113
113
113
113
113
112
112
112
111
111
111
111
111
111
111
111
110
110
110
110
110
110
110
110
109
109
109
109
109
109
109
109
109
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
110
111
112
112
112
112
112
112
112
112
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
113
112
112
112
112
111
111
111
110
110
110
109
109
109
109
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
108
107
105
105
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
105
105
106
106
106
106
106
106
106
106
105
105
105
104
104
103
105
105
105
106
106
106
106
106
106
106
105
105
105
104
104
103
103
102
102
101
101
101
101
101
101
101
100
100
100
100
100
100
100
100
100
99
99
97
97
97
97
97
97
97
97
96
96
96
96
95
95
95
95
96
96
96
96
96
96
96
96
96
95
95
95
94
94
94
93
93
93
93
93
93
93
93
93
93
93
93
93
94
94
94
94
94
94
93
93
93
93
93
93
93
93
93
93
92
91
91
91
91
91
91
91
92
92
92
92
92
93
93
93
93
93
93
93
93
93
90
90
91
91
91
91
90
90
90
89
89
89
89
89
89
89
90
89
89
89
88
88
88
88
87
87
87
87
87
87
87
91
91
88
88
88
88
88
88
88
88
90
90
90
90
90
90
90
89
89
89
89
89
89
86
86
85
85
86
86
86
86
86
86
86
86
86
86
86
86
86
86
86
87
87
87
87
87
87
87
88
89
90
93
95
96
97
99
99
100
100
100
101
101
101
101
102
102
103
103
103
106
107
107
108
108
108
109
109
110
111
112
118
118
120
120
120
121
122
122
122
122
122
122
123
123
123
123
123
123
123
123
123
122
122
122
122
122
122
121
121
120
120
120
119
118
118
118
117
117
117
117
116
116
115
115
115
115
115
114
114
114
114
113
113
113
113
112
111
110
109
106
105
104
103
101
100
100
101
101
101
101
102
103
104
105
107
109
107
107
106
106
106
106
106
105
105
105
104
104
104
103
102
102
101
100
100
99
98
98
97
97
97
96
96
96
96
95
95
94
93
92
92
92
92
92
92
93
94
94
94
95
95
96
96
96
96
96
96
96
96
96
96
96
96
95
95
95
95
95
95
95
94
94
94
94
94
94
94
93
93
93
94
94
92
92
91
90
90
89
82
82
82
82
83
82
82
82
82
81
81
80
80
80
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
79
78
78
78
78
78
78
78
78
78
79
79
79
79
79
79
79
79
79
79
79
79
78
78
78
78
78
78
78
77
77
77
77
77
77
77
77
77
77
77
77
76
76
76
75
75
75
75
75
75
75
75
73
73
73
73
73
73
74
74
75
75
75
75
75
75
74
74
73
73
73
72
70
70
70
70
69
69
69
69
69
69
68
68
68
68
68
75
75
75
74
74
74
73
73
73
73
73
73
73
74
74
74
75
75
75
75
75
75
75
74
74
74
73
72
72
72
72
72
72
72
72
72
72
73
73
73
73
73
73
73
73
73
72
72
72
72
72
72
71
71
71
71
71
71
71
71
71
70
70
70
70
71
71
71
71
71
71
71
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
69
69
69
69
69
68
68
68
68
68
68
68
68
68
69
69
71
71
72
72
73
73
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
75
74
74
74
74
74
74
74
73
72
72
72
72
72
71
71
71
71
71
71
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
70
71
71
71
71
71
72
72
72
72
73
73
73
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
74
73
73
73
73
72
72
70
70
69
69
68
68
68
69
69
69
69
69
69
69
69
69
69
69
68
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
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
67
67
67
67
67
67
67
67
67
67
67
67
67
67
67
66
66
66
65
65
64
64
64
64
64
64
64
64
64
64
64
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
65
63
63
63
63
63
63
63
63
63
62
62
62
61
61
61
61
61
61
61
61
61
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
63
63
63
63
63
63
63
63
63
63
63
62
61
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
61
61
61
61
61
61
61
61
61
61
61
63
63
64
64
65
65
64
64
63
63
62
62
61
61
61
61
61
61
61
61
61
61
61
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
62
63
63
63
63
63
63
63
63
63
63
63
63
63
63
62
62
62
62
62
62
62
62
62
62
62
61
61
60
60
60
60
60
60
60
60
60
60
60
60
59
59
59
59
59
59
59
59
59
59
59
60
60
60
61
61
61
62
62
62
63
64
64
64
64
64
64
64
64
64
64
64
64
63
63
63
63
63
63
63
63
63
63
63
64
64
64
64
64
64
64
65
65
66
69
71
72
73
76
77
77
77
78
78
78
80
80
81
81
81
81
82
82
82
82
82
82
82
82
82
82
82
82
82
82
81
80
79
79
78
78
70
70
69
70
71
71
71
71
71
71
71
71
71
71
71
72
73
73
73
74
72
72
71
69
68
67
67
69
70
71
72
72
72
72
72
71
71
71
71
71
70
70
70
70
70
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
69
68
67
66
65
64
64
63
63
63
62
60
60
60
60
60
60
60
60
60
60
60
60
60
60
61
61
61
61
62
63
64
67
67
66
66
65
64
63
61
61
61
59
58
58
58
58
57
57
57
56
56
56
56
56
56
56
55
55
55
55
55
55
53
52
52
57
56
55
55
55
54
54
54
54
54
54
54
54
54
54
54
55
55
56
56
56
57
57
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
57
57
57
57
57
57
57
56
56
56
56
56
56
55
55
55
55
55
55
55
54
54
54
54
53
53
53
53
53
53
53
53
53
53
54
54
55
55
55
56
56
57
57
57
57
57
57
57
57
58
58
59
59
59
59
60
60
60
60
60
60
59
59
59
59
58
57
57
56
56
55
54
54
54
54
54
54
54
54
55
55
55
55
55
56
56
56
56
56
56
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
58
58
58
58
58
58
58
58
58
58
57
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
56
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
58
57
57
57
57
57
57
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
57
57
57
57
57
57
57
57
57
57
57
56
56
56
56
55
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
51
50
50
50
50
50
50
50
49
49
49
49
49
49
49
48
49
50
50
49
49
49
49
49
50
50
51
51
50
50
50
50
50
50
50
50
51
51
51
51
53
53
53
53
53
53
53
53
56
57
57
58
59
59
60
60
61
61
62
62
61
61
61
61
61
61
61
60
60
60
60
60
60
60
59
59
59
59
59
59
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
60
59
59
59
59
59
59
59
59
59
58
58
58
58
58
58
58
58
58
58
58
59
59
59
59
59
58
58
58
58
58
58
58
58
57
57
57
56
55
52
52
52
52
52
52
52
52
52
52
52
52
52
52
51
51
51
51
50
49
49
49
49
48
48
48
48
48
49
49
49
49
49
49
49
49
49
49
49
49
49
48
48
48
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
47
49
49
50
51
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
52
53
54
54
56
56
56
56
57
57
57
57
57
57
57
57
57
57
57
57
58
58
58
58
58
59
59
58
58
58
58
58
58
58
58
58
58
58
57
57
57
57
58
58
58
58
58
58
58
58
58
58
58
58
56
56
56
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
57
57
57
58
58
60
60
62
62
63
63
64
64
64
61
61
61
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
57
55
55
54
54
54
54
54
54
54
53
52
52
52
52
51
51
51
51
51
51
51
51
51
51
50
50
50
50
50
50
50
50
50
50
50
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
48
49
50
50
50
50
50
50
48
47
47
47
47
47
49
49
49
49
49
49
49
49
49
48
48
48
47
47
47
47
47
47
47
47
47
47
47
46
46
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
44
44
44
44
44
44
44
44
44
43
43
43
43
43
43
42
42
42
42
42
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
41
42
42
42
41
41
40
40
40
40
40
40
40
41
41
41
42
42
42
43
43
43
43
43
43
42
41
41
41
40
40
39
39
39
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
38
38
38
38
38
38
38
38
37
37
36
36
36
36
36
37
38
38
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
35
35
35
35
35
35
35
35
36
36
36
36
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
38
37
37
37
36
34
29
31
35
36
36
36
37
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
46
46
46
46
46
47
47
47
47
47
47
47
47
47
47
46
45
44
44
43
43
43
42
41
41
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
40
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
39
38
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
36
36
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
36
36
36
36
36
36
36
36
35
35
35
35
35
35
35
35
34
34
34
34
34
34
34
34
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
35
35
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
35
35
35
36
36
37
37
36
36
36
36
35
35
35
35
35
35
35
35
35
35
36
36
39
40
41
41
41
41
41
41
41
41
41
41
40
40
40
40
39
38
38
38
38
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
36
36
36
36
36
36
36
36
36
35
35
35
35
35
35
35
35
35
35
34
33
32
32
33
34
34
34
34
34
34
34
34
34
34
33
33
33
32
32
32
33
33
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
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
34
32
32
32
32
32
32
32
32
32
33
33
34
34
35
35
35
35
35
35
34
34
33
33
33
33
32
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
30
30
30
30
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
31
31
31
30
30
30
30
30
29
29
29
29
29
29
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
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
28
27
27
27
27
27
27
27
27
27
28
28
28
30
30
31
31
31
31
31
31
31
31
31
31
31
31
30
30
30
30
30
30
30
29
29
28
28
28
28
28
27
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
28
28
28
28
28
28
28
27
27
27
27
27
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
30
31
31
32
32
31
31
29
28
28
27
27
26
26
26
27
27
28
28
28
28
28
28
28
28
28
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
26
26
26
26
25
25
25
25
25
25
25
25
25
25
25
25
25
25
25
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
27
27
27
27
27
26
26
25
25
25
25
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
23
23
23
23
23
23
23
23
23
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
23
24
24
24
24
24
25
25
25
25
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
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
25
25
25
25
25
25
25
25
25
24
24
24
24
24
24
24
24
24
24
24
24
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
25
25
26
26
26
27
27
27
27
27
27
26
26
26
26
25
25
24
24
24
24
24
24
24
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
24
23
23
23
23
22
22
22
22
22
22
22
22
22
22
23
23
24
24
24
24
24
23
23
22
22
21
21
21
21
21
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
24
24
25
25
25
26
26
27
27
28
28
28
27
26
26
26
26
26
26
25
25
24
22
22
22
22
21
21
21
21
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
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
23
23
23
23
23
22
22
22
22
22
22
22
22
22
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
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
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
20
19
19
19
19
19
18
18
18
17
17
17
17
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
17
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
18
19
19
19
20
20
20
20
20
20
20
19
19
19
19
19
19
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
19
19
19
19
19
19
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
26
26
26
26
25
25
25
24
24
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
21
20
20
20
19
19
19
17
17
17
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
21
21
21
21
21
21
20
20
19
19
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
18
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
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
20
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
22
22
22
22
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
23
23
23
22
22
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
21
21
21
21
21
21
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
21
21
21
21
21
21
21
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
20
20
20
20
20
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
21
21
21
22
22
22
22
23
26
26
26
26
26
26
26
26
25
25
25
25
25
24
24
24
23
23
23
22
22
22
19
19
18
18
18
18
18
18
18
18
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
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
17
17
18
18
19
19
19
19
19
19
19
19
18
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
17
17
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
15
16
16
16
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
17
17
17
16
16
16
15
15
15
15
15
14
14
14
13
13
13
13
13
13
13
13
13
14
14
14
13
14
15
15
16
13
12
12
12
11
11
11
11
11
11
12
12
12
13
16
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
17
17
17
16
16
15
15
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
17
18
18
18
18
18
17
17
17
16
16
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
15
15
14
14
13
13
13
13
12
12
12
12
12
12
12
12
12
12
12
12
13
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
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
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
17
17
16
16
15
15
15
15
15
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
14
14
14
14
13
13
13
13
13
13
13
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
12
12
13
13
13
13
13
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
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
14
14
14
13
13
13
13
13
13
12
13
13
13
13
13
13
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
12
12
11
11
11
11
11
11
11
11
11
11
11
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
9
10
10
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
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
12
15
16
16
16
15
15
14
13
11
11
13
13
13
13
12
12
12
11
11
11
11
11
11
11
11
11
11
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
10
11
12
11
11
11
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
10
10
10
10
11
11
11
11
10
10
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
10
10
10
10
10
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
8
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
8
8
8
8
8
8
8
8
8
8
7
7
7
7
7
6
6
6
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
7
7
7
7
6
6
6
6
6
5
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
7
7
7
8
8
8
8
8
8
8
8
8
8
7
7
7
7
6
5
3
3
5
5
6
6
6
7
7
7
7
7
6
6
6
6
5
5
5
4
4
4
4
4
4
4
4
3
3
3
3
3
2
2
2
2
2
2
2
2
7
7
7
6
5
4
1
1
1
1
1
1
1
1
1
2
2
2
2
2
4
5
6
7
7
7
7
7
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
5
5
5
5
5
5
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
4
4
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
1
1
1
1
2
2
2
3
3
3
3
4
4
4
5
5
5
5
5
5
5
4
4
4
4
4
3
3
3
3
3
3
4
5
5
5
5
5
5
4
3
3
2
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
0
0
0
1
1
2
3
3
3
3
2
2
2
2
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
1
2
2
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
2
3
3
2
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0