40
50
60
74
83
87
94
98
97
95
91
87
82
81
75
73
71
69
67
61
55
59
53
47
40
39
38
36
35
33
32
31
30
28
29
29
29
30
30
31
31
31
32
33
34
34
35
35
34
34
33
32
32
31
31
31
31
30
30
30
30
30
30
30
30
31
31
31
31
31
32
32
32
33
35
36
37
38
44
63
72
76
79
81
82
78
77
77
75
69
72
74
79
79
79
78
78
78
78
79
80
80
81
81
81
81
82
83
84
84
87
86
85
84
81
80
79
78
74
61
56
55
55
56
56
56
57
57
59
60
60
60
61
61
62
62
62
62
64
65
66
67
67
68
76
81
84
85
86
89
84
86
88
89
91
91
91
91
92
94
98
106
110
114
117
117
118
119
119
120
120
121
122
124
124
126
127
128
130
131
134
135
137
138
141
145
142
140
139
138
138
138
138
138
138
143
146
149
151
152
150
149
147
145
143
143
143
143
144
146
147
149
150
152
153
155
158
159
160
161
163
164
165
164
163
162
161
158
158
159
160
161
162
164
169
173
180
183
189
188
186
187
191
192
193
195
197
198
198
199
201
203
204
199
196
194
193
198
201
204
207
210
215
221
222
222
218
215
216
218
220
221
220
218
211
200
207
217
233
241
238
233
231
229
230
231
233
235
238
238
237
237
237
237
237
229
221
219
218
236
264
246
242
224
215
208
211
213
214
211
208
205
202
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
202
205
209
212
213
213
213
212
212
212
211
209
204
201
200
200
200
200
200
200
200
200
201
205
206
206
206
205
205
204
204
204
204
206
206
207
207
214
215
217
219
220
222
224
225
226
228
228
225
223
219
218
217
217
215
214
214
213
212
212
212
212
212
213
215
217
218
219
220
221
222
223
224
224
224
224
223
223
223
223
222
222
221
220
219
217
216
215
215
213
212
212
212
212
212
212
213
215
222
230
230
229
229
229
228
227
227
227
226
225
224
223
222
219
216
214
213
212
212
212
212
212
211
210
210
209
209
207
205
203
203
203
204
205
206
208
210
210
210
210
210
210
210
209
207
205
203
202
202
202
202
201
200
202
205
208
209
212
214
217
221
221
222
222
223
224
226
230
234
242
242
242
242
243
243
243
243
243
243
243
242
242
241
240
239
239
239
239
239
239
239
239
239
239
239
239
239
239
239
238
237
237
237
236
234
232
225
214
213
213
213
213
213
213
213
213
214
215
216
216
218
217
215
213
211
210
210
210
210
210
210
210
211
212
213
214
214
214
213
213
213
213
212
212
212
210
208
206
204
203
202
201
200
200
200
200
200
200
200
200
200
200
200
201
202
204
206
207
208
209
210
211
215
216
215
215
214
213
211
210
210
209
208
208
208
208
208
208
208
209
209
209
209
209
208
208
208
207
206
205
206
207
209
209
209
209
209
209
209
209
209
210
210
210
210
210
209
209
209
209
208
208
208
208
206
205
204
203
201
200
200
200
200
200
200
201
201
201
201
202
202
202
202
202
202
202
202
203
203
203
204
204
204
205
205
205
205
205
205
205
206
206
207
207
207
207
207
208
209
211
212
213
214
216
216
216
216
216
216
216
216
215
213
211
210
206
206
205
202
202
202
202
201
201
201
201
201
201
200
200
200
200
200
200
200
201
203
203
204
204
204
204
204
204
204
205
206
208
209
210
211
213
213
213
214
214
214
212
200
200
200
200
200
201
202
204
205
206
206
208
209
209
207
206
204
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
201
201
202
202
203
203
204
204
204
204
204
203
203
203
203
204
205
205
206
209
209
209
210
210
210
211
211
211
212
211
211
210
209
208
208
206
203
200
200
200
200
200
201
202
202
201
201
201
201
201
204
204
204
204
204
204
205
202
201
200
197
194
189
187
186
185
185
185
185
185
186
186
186
186
193
193
193
192
191
190
189
188
188
187
186
186
185
185
186
191
193
192
190
189
188
187
186
185
185
185
185
185
186
186
187
189
191
193
195
201
202
203
203
204
202
202
201
199
196
195
187
186
186
186
186
186
187
187
191
190
190
189
188
186
185
185
185
185
185
185
184
178
171
167
160
160
158
155
149
145
141
137
129
120
117
114
113
112
110
107
102
98
96
96
93
91
89
89
89
88
88
88
88
87
86
85
85
83
83
82
81
80
78
76
74
74
73
70
68
67
66
66
66
65
65
63
63
63
62
62
62
62
61
61
61
60
60
60
59
59
58
58
66
69
71
71
71
71
71
70
70
69
69
68
68
68
67
66
66
66
66
66
65
64
63
62
62
63
63
63
63
61
60
60
60
60
60
60
60
60
60
60
60
60
61
62
62
63
66
67
68
69
69
69
73
77
80
79
74
72
70
70
70
70
70
71
71
71
72
72
72
73
74
75
76
76
76
76
76
76
76
75
75
75
75
75
75
75
76
77
77
78
78
79
79
80
81
82
83
84
88
90
91
91
92
93
93
92
92
90
87
86
86
86
87
88
89
90
91
91
91
92
91
90
90
90
88
87
86
84
84
83
83
83
83
83
83
83
83
83
83
83
82
82
82
87
88
89
90
91
95
96
98
101
104
104
104
104
104
104
104
104
105
105
105
105
105
105
105
105
105
104
104
104
104
104
104
104
104
104
103
103
103
102
101
101
101
101
100
100
100
100
100
100
100
100
100
111
112
114
114
112
101
90
88
88
87
86
85
84
84
86
87
89
92
93
94
95
95
97
97
97
98
98
98
98
98
98
98
98
99
101
102
104
105
107
108
109
113
114
115
117
119
120
120
120
121
121
121
121
121
121
121
122
122
122
122
122
125
127
127
130
132
133
134
134
134
134
134
134
133
133
133
133
133
133
133
134
135
136
136
136
135
135
134
134
133
133
130
126
125
124
123
122
122
121
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
120
119
119
118
118
118
118
117
117
117
117
117
117
117
117
117
117
117
117
117
117
118
118
119
119
120
120
120
121
121
121
121
122
123
123
124
126
127
128
129
130
132
133
134
135
136
136
136
137
137
138
138
139
140
140
140
139
138
136
135
133
133
132
132
131
130
129
128
127
127
127
127
127
127
127
127
127
127
128
128
128
129
130
131
131
132
133
134
134
135
136
138
139
139
140
140
140
141
141
141
142
143
143
143
143
143
144
144
144
143
142
142
141
140
138
135
134
134
133
132
131
130
131
132
133
134
136
137
137
137
136
136
135
135
135
135
136
137
139
139
140
140
140
140
140
141
142
143
143
145
144
143
143
144
144
145
147
148
148
150
151
156
157
158
159
160
161
161
162
163
164
164
164
163
162
162
159
157
156
156
155
154
154
153
151
150
150
151
153
155
157
157
157
157
157
157
157
157
157
157
157
157
157
157
157
158
158
158
158
159
159
159
160
160
160
161
161
161
161
162
162
162
163
163
164
164
164
165
165
166
166
166
166
166
166
165
165
165
165
164
164
164
163
163
163
163
163
163
163
163
162
162
162
162
162
162
162
161
161
161
160
160
160
160
160
160
160
160
160
160
160
160
159
159
158
158
158
158
159
160
160
161
161
161
161
162
162
162
162
162
162
163
163
164
165
167
167
168
169
169
169
169
169
169
168
168
168
167
167
165
164
162
162
162
162
162
163
163
163
163
163
163
162
161
161
161
161
161
161
161
161
162
162
162
162
163
163
164
167
169
171
174
179
183
185
189
190
191
191
193
193
193
193
193
193
193
193
193
192
192
192
192
192
192
193
193
194
194
194
195
196
197
198
198
199
199
199
200
201
201
202
203
204
205
206
207
207
207
207
208
208
208
209
209
209
209
209
209
209
209
210
210
210
211
211
212
212
213
213
213
213
214
215
216
218
219
221
225
226
227
228
229
231
231
233
241
248
249
249
248
248
248
247
247
248
249
249
249
251
251
251
251
248
246
245
245
243
242
240
239
239
237
237
236
234
234
233
230
230
230
231
236
237
238
238
240
240
240
240
240
241
241
241
241
241
241
241
241
241
241
240
240
239
238
237
236
236
237
238
239
241
242
243
243
244
244
244
244
244
244
244
243
242
240
238
236
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
235
236
236
236
236
237
238
239
241
242
243
243
244
246
247
250
252
254
256
257
258
259
262
263
263
263
264
264
265
265
265
265
265
266
266
266
266
267
267
267
268
268
268
269
275
281
285
289
291
292
292
292
292
292
292
292
286
280
275
267
253
249
248
248
247
247
247
247
247
247
248
248
248
248
248
248
248
248
248
248
248
248
248
247
247
247
247
247
247
248
248
248
248
249
251
253
254
255
255
255
255
255
256
256
256
256
256
256
255
255
255
255
256
256
256
256
256
255
252
252
252
252
252
252
252
253
253
254
255
256
257
259
262
271
271
269
264
262
261
260
260
260
261
264
265
266
268
270
272
274
276
279
284
283
280
271
267
264
264
264
265
262
256
255
258
258
259
259
260
260
260
260
260
260
265
270
273
276
275
272
271
268
266
261
259
257
254
253
254
254
255
255
256
258
262
265
266
263
260
259
258
257
255
255
255
255
255
256
257
257
257
257
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
257
257
257
257
257
257
257
257
257
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
257
257
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
258
259
260
260
261
262
263
265
267
269
271
273
274
274
274
275
275
275
274
272
267
265
263
262
261
259
259
259
259
260
260
260
261
261
261
262
262
261
259
258
257
257
257
257
257
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
258
258
258
258
259
260
260
260
260
259
259
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
259
259
259
259
259
259
259
260
260
260
260
259
259
259
259
259
259
259
259
259
259
259
259
259
260
260
260
261
261
262
262
263
264
264
264
264
264
264
264
264
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
262
261
260
259
259
259
259
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
261
262
263
264
264
265
266
267
268
269
270
271
274
275
276
276
276
273
273
272
271
271
270
270
269
268
267
267
266
265
265
265
265
265
265
264
263
262
262
261
261
260
260
260
260
260
260
259
259
259
259
259
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
259
263
264
265
266
267
268
270
271
272
274
275
275
276
277
277
278
279
280
281
282
283
284
284
285
286
287
289
291
293
293
293
293
293
283
279
278
277
276
275
274
274
273
272
271
271
271
271
271
271
271
271
271
272
275
275
273
276
275
274
273
270
269
269
269
273
273
275
276
277
280
317
309
340
334
333
337
344
346
349
352
357
362
371
374
374
375
375
376
376
377
378
379
381
386
392
394
395
396
396
397
398
389
387
387
390
394
398
408
415
414
414
413
411
405
404
404
404
404
406
410
411
413
415
416
416
409
410
419
447
451
455
444
432
427
422
423
422
435
452
455
459
459
459
459
459
477
482
485
480
473
462
458
454
450
436
416
419
423
421
418
414
412
411
411
411
411
412
413
416
416
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
417
416
416
415
415
414
414
413
413
412
411
411
410
407
403
401
395
393
393
392
392
391
391
390
390
389
386
386
386
385
385
385
385
385
385
385
385
385
385
385
386
386
386
386
386
387
387
387
388
389
389
390
390
390
390
390
390
389
388
387
386
385
385
386
386
387
387
388
388
388
389
389
389
386
386
385
384
384
383
380
360
358
356
355
353
351
348
346
345
343
342
342
340
338
337
336
334
332
330
329
328
327
326
325
325
325
325
325
325
325
325
325
328
330
331
334
335
337
340
342
344
346
348
351
353
356
357
357
357
357
357
357
357
357
360
365
377
386
387
398
401
403
406
408
409
409
411
412
412
412
413
413
413
414
414
416
417
422
424
431
433
435
437
438
438
438
438
437
437
437
437
436
436
435
434
434
433
432
431
431
430
429
429
428
427
427
426
425
423
423
423
423
423
423
423
423
423
423
423
424
429
432
432
432
433
433
434
435
435
435
435
436
436
436
436
436
436
437
437
437
438
438
438
442
445
445
444
444
444
443
443
443
443
443
442
442
442
442
442
442
442
440
438
433
421
419
417
414
411
404
406
407
411
411
400
400
400
400
400
400
401
403
404
404
405
408
409
409
423
447
449
449
449
447
449
453
453
454
457
464
472
473
476
478
477
464
460
457
457
457
457
457
458
458
458
455
455
454
454
451
447
447
446
445
442
426
424
423
419
419
418
417
416
416
416
416
416
417
419
420
420
420
420
420
419
418
418
418
418
419
419
419
418
417
412
412
412
410
407
407
406
406
406
406
406
405
402
401
400
396
396
396
395
395
391
386
385
383
381
374
360
359
359
358
357
355
354
347
344
339
338
333
331
329
328
327
326
325
324
323
322
322
321
321
320
319
318
317
313
310
310
313
313
311
309
305
301
296
294
293
293
293
293
293
293
293
293
293
296
300
304
306
309
310
311
313
313
310
304
303
297
292
292
292
292
292
292
293
293
293
294
294
294
294
295
295
295
295
295
294
294
294
294
294
294
294
294
294
294
294
295
296
296
296
297
297
296
296
296
296
296
297
298
299
300
302
304
304
305
307
307
308
309
309
309
309
314
315
318
320
322
322
323
324
327
330
332
333
335
336
339
341
341
341
341
337
335
334
332
337
343
345
346
346
347
347
347
347
348
348
348
348
348
348
348
348
348
349
349
349
349
349
349
348
348
348
347
346
345
343
340
340
340
340
340
340
340
340
340
341
341
342
343
344
345
345
344
342
340
336
330
328
327
324
321
321
322
323
323
324
325
324
313
312
301
299
299
299
300
300
299
298
298
299
301
303
303
303
303
303
319
323
325
325
325
325
325
325
326
326
326
326
327
327
327
328
328
328
328
329
330
332
333
334
335
336
338
338
338
338
338
337
336
335
335
334
334
334
332
331
329
329
327
325
324
322
321
320
319
318
318
317
315
329
333
334
334
335
335
336
337
338
339
340
340
336
329
329
330
331
331
333
334
334
335
336
338
338
340
340
340
340
340
340
340
340
340
339
338
338
337
336
332
330
328
322
318
312
303
303
301
302
310
316
329
330
332
333
333
332
332
331
331
331
330
330
330
328
327
323
321
318
313
311
310
308
308
308
307
306
305
302
300
300
300
312
316
319
320
326
328
330
331
332
333
335
337
340
344
348
352
356
358
361
366
369
373
380
379
376
374
372
372
369
350
346
323
321
318
305
297
292
292
292
292
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
293
292
292
292
292
292
297
304
305
311
323
323
323
323
324
324
324
321
318
317
317
318
319
320
320
320
320
321
321
321
322
322
323
323
323
323
324
324
325
325
325
325
326
326
326
326
326
326
325
322
321
321
321
321
321
321
321
321
321
321
323
324
325
324
324
323
323
324
326
327
327
326
326
326
327
328
330
330
330
330
330
328
324
323
322
321
321
321
320
320
318
317
317
318
318
318
316
316
319
323
326
328
327
326
324
322
320
318
316
314
313
316
317
315
314
313
313
311
310
306
303
303
301
300
300
300
301
302
302
301
300
298
297
297
302
306
310
316
316
313
310
307
307
307
303
302
304
306
308
303
296
293
293
293
293
294
295
295
296
297
298
298
295
294
294
300
301
297
297
296
293
292
292
292
292
292
292
292
293
293
297
299
301
301
302
302
302
303
303
303
303
303
303
303
304
304
304
304
304
304
304
304
304
304
304
304
304
304
304
305
305
306
306
307
307
307
307
308
309
309
310
310
311
311
311
312
313
316
317
319
321
322
322
322
323
323
324
324
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
325
324
323
320
316
313
313
314
315
318
318
318
319
319
320
320
320
321
322
322
323
323
324
324
324
326
326
328
329
330
331
332
334
338
339
341
342
342
344
345
346
347
350
353
357
361
366
370
374
378
381
383
391
397
399
400
402
405
406
406
406
406
406
406
407
407
407
408
408
408
408
408
408
408
408
407
407
407
407
407
406
405
397
394
393
387
385
383
382
380
378
366
351
347
348
349
348
348
344
344
343
342
340
338
337
336
335
334
333
332
330
328
328
328
326
325
324
322
321
319
317
315
309
300
297
294
292
292
292
294
296
297
298
299
299
299
300
301
303
305
306
308
309
311
312
317
320
323
329
330
331
332
333
334
334
335
336
337
338
339
341
342
344
345
345
346
346
347
347
348
348
349
349
350
351
351
352
352
353
354
355
357
357
358
358
359
360
360
359
354
353
352
351
351
351
350
350
351
351
351
348
342
340
337
335
333
328
310
300
299
298
298
298
299
301
301
300
299
299
297
296
295
294
294
295
295
296
296
297
297
297
298
300
300
300
300
300
300
300
300
300
300
300
299
299
299
300
104
7
73
150
234
304
306
307
308
308
306
300
299
298
299
299
296
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
295
296
296
296
297
299
300
302
304
306
308
308
308
308
308
308
308
307
305
304
303
302
300
298
297
297
297
296
296
296
296
296
296
296
296
295
295
295
295
295
295
295
295
295
295
296
296
297
297
297
298
298
298
302
303
305
306
309
312
315
316
318
318
318
317
315
312
311
310
309
309
308
307
306
305
304
303
303
302
301
300
300
300
299
299
298
298
299
299
299
299
300
300
300
301
301
302
308
310
311
312
314
316
319
319
321
322
322
323
324
324
325
326
327
327
328
328
328
329
329
330
331
331
332
332
334
335
336
337
340
343
344
345
346
346
346
347
347
347
347
347
346
346
345
345
345
344
344
353
355
356
358
359
359
360
360
359
357
356
355
354
352
350
348
345
343
343
345
346
347
348
348
348
348
348
348
348
348
349
349
349
350
350
350
349
349
348
347
347
346
345
345
348
348
349
350
350
350
350
351
352
352
352
353
353
354
354
354
354
355
355
355
356
357
358
359
359
359
359
359
359
359