589
589
589
589
589
589
589
589
589
587
586
585
585
585
588
585
582
578
578
578
578
578
578
578
578
579
579
579
579
579
579
582
584
583
582
581
579
578
575
574
568
567
566
564
563
560
559
558
557
557
555
554
552
548
544
541
538
536
533
530
527
527
526
526
525
524
524
523
523
523
523
523
522
521
521
520
519
518
517
516
514
515
519
520
520
519
517
515
514
513
512
506
503
499
491
490
489
484
482
479
477
477
477
476
476
473
469
464
462
459
457
453
450
446
444
440
437
436
435
435
433
432
430
425
423
422
420
420
420
420
419
419
418
418
417
416
414
410
410
409
408
395
393
393
393
394
395
396
396
395
394
394
393
392
391
390
389
388
382
381
379
376
369
369
369
369
369
369
371
371
372
371
369
369
369
368
366
365
364
364
364
363
363
363
362
362
362
361
360
360
360
360
359
359
355
354
353
350
349
346
343
341
333
329
319
316
314
311
311
311
309
309
307
307
307
307
308
308
308
308
308
308
308
308
308
308
305
301
295
292
290
286
283
283
282
282
279
277
273
271
266
257
251
247
246
245
244
243
242
240
232
229
228
226
223
219
218
216
214
211
206
205
205
205
206
205
205
205
205
205
205
205
205
205
205
205
205
204
203
203
202
202
201
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
202
202
202
202
202
202
202
203
203
203
201
200
200
200
201
202
202
203
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
203
202
201
201
201
205
202
201
200
199
199
199
199
200
200
200
200
200
199
199
198
198
198
198
198
198
202
202
203
203
203
203
203
203
203
203
203
203
203
203
203
204
204
205
206
205
205
205
206
206
206
206
206
206
206
205
205
204
204
204
204
204
204
205
205
205
206
206
206
206
206
206
206
205
205
205
204
204
204
204
204
204
204
204
204
205
205
206
202
200
200
200
199
202
203
204
204
205
205
205
217
220
223
225
228
228
229
230
231
233
236
235
235
235
235
234
234
234
234
234
234
232
231
231
231
230
228
228
228
228
228
228
228
228
228
227
225
224
223
223
223
217
217
220
220
220
220
220
221
221
221
221
221
221
221
221
221
221
222
222
223
225
226
226
227
227
226
226
226
226
227
229
231
232
234
235
236
237
237
247
249
250
252
253
255
255
255
256
256
257
258
272
274
274
273
272
267
263
262
261
258
245
248
249
250
252
253
257
260
264
265
265
266
264
263
260
260
260
260
261
261
260
254
253
253
252
249
247
244
241
238
236
234
231
230
231
233
233
233
234
236
239
239
245
246
247
248
250
252
253
256
265
268
273
273
274
274
276
276
276
276
275
275
275
275
275
275
282
282
282
282
283
300
305
306
306
306
307
309
310
307
304
303
293
289
288
288
287
285
284
284
284
285
285
282
280
276
276
275
268
266
263
263
262
261
261
263
263
264
264
264
264
264
264
264
264
264
264
264
264
264
264
264
262
262
261
261
261
261
265
267
267
267
267
265
264
263
263
263
264
265
266
267
268
265
261
262
263
264
264
265
266
266
267
267
268
268
268
268
267
265
267
265
265
265
263
264
265
265
268
269
265
265
265
266
266
266
269
280
280
281
281
281
281
283
282
282
282
282
282
281
281
281
281
281
281
281
281
281
282
282
282
282
282
281
281
281
281
279
279
278
275
275
273
273
273
272
272
272
271
271
271
271
271
271
271
270
270
267
266
266
265
265
262
262
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
262
262
262
267
268
269
269
269
272
273
273
275
276
277
278
285
285
285
285
285
285
283
284
284
284
285
287
284
283
282
280
279
278
278
278
278
278
278
275
273
271
273
273
274
275
277
278
279
281
281
282
282
282
282
282
282
282
282
280
278
276
274
273
272
271
270
269
267
266
267
267
268
269
269
269
269
269
269
269
269
268
267
265
263
262
262
262
261
260
259
259
259
259
259
259
260
261
261
262
263
264
266
266
266
266
267
267
267
267
267
267
267
267
267
267
267
267
268
268
268
269
269
270
270
273
274
275
277
278
281
283
283
284
284
284
284
284
284
284
285
285
285
285
285
286
287
288
289
290
294
294
295
298
299
300
303
303
304
304
304
303
303
304
304
304
304
304
304
304
307
308
308
308
309
309
310
310
310
310
310
308
305
303
300
301
302
303
303
304
304
307
321
331
331
331
333
336
336
338
340
344
346
351
353
357
357
356
356
355
355
353
351
351
351
350
349
349
347
346
345
345
345
346
347
347
347
347
347
348
350
351
352
352
352
351
350
349
345
345
345
345
345
345
345
345
345
345
345
345
347
355
367
369
369
369
368
368
368
368
368
367
366
365
364
364
363
363
363
363
363
363
364
365
366
366
367
368
368
369
369
369
368
367
366
365
365
365
365
364
363
362
362
360
360
360
360
360
361
361
361
361
368
369
372
373
375
377
378
378
379
379
380
381
382
382
382
382
381
380
379
378
376
374
370
369
367
367
367
367
368
369
369
369
369
369
368
368
368
365
364
364
364
362
362
361
361
360
358
357
356
356
356
356
356
356
356
355
355
355
355
354
354
352
348
345
345
345
346
345
345
345
344
344
343
342
341
338
337
337
337
337
338
343
345
345
345
345
345
344
343
341
338
337
337
337
337
338
339
345
351
356
358
359
360
362
363
363
365
368
368
369
369
369
370
371
371
372
372
372
372
372
373
375
374
373
372
371
367
368
369
370
370
378
383
384
386
387
386
384
382
381
381
381
380
380
379
379
379
379
379
378
378
375
372
369
368
367
367
367
367
366
365
365
363
363
363
363
361
360
359
359
358
360
360
360
360
360
360
360
361
362
363
364
364
365
365
365
365
363
362
361
360
359
353
352
352
352
351
351
342
339
336
333
333
333
332
331
330
329
327
325
321
310
309
305
302
302
301
301
301
301
302
304
304
302
289
289
289
288
287
286
286
286
287
287
287
287
286
285
284
284
282
283
283
283
284
285
285
282
281
278
277
272
269
266
263
260
259
257
257
257
257
257
257
257
256
252
251
250
242
242
241
241
241
240
237
244
247
250
250
251
251
251
250
250
250
250
250
250
250
250
249
247
247
244
244
244
238
238
239
239
239
240
241
241
235
235
233
226
225
224
222
216
210
209
207
206
198
198
196
191
191
188
185
184
184
184
184
185
187
188
188
188
188
188
189
189
189
189
190
190
190
190
190
191
191
191
192
192
192
192
193
193
193
193
194
194
194
193
197
200
202
202
202
201
201
197
196
195
195
195
195
195
195
195
196
196
196
197
197
197
201
203
203
203
203
204
204
204
204
204
204
204
204
204
204
204
204
204
204
203
203
203
201
201
200
200
200
200
200
199
199
199
199
200
200
200
198
198
198
198
198
198
198
197
195
193
192
191
193
194
194
195
195
194
192
192
193
194
195
195
194
192
191
191
190
188
187
186
186
188
185
184
183
183
183
183
179
178
181
182
183
185
187
189
189
189
190
190
190
190
189
190
190
187
185
181
181
181
181
176
176
176
176
176
176
177
177
177
175
174
174
174
176
176
177
177
175
175
173
172
172
171
171
171
171
170
170
169
169
170
170
171
171
170
170
170
169
169
168
167
165
166
164
168
164
164
164
164
163
162
162
161
162
162
162
163
163
161
161
160
160
160
160
160
160
160
160
160
158
158
159
159
157
155
154
152
152
152
152
152
152
152
152
152
152
152
152
152
151
150
149
149
150
150
150
150
150
150
150
150
149
149
149
153
154
155
155
155
155
154
152
151
150
149
149
149
148
148
147
149
149
146
146
145
144
143
143
143
144
144
144
144
144
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
140
140
140
140
140
138
138
137
137
137
137
138
140
141
141
141
141
141
140
141
141
141
141
142
143
143
143
143
142
142
137
137
137
136
136
135
135
135
135
133
133
130
128
129
133
134
135
135
135
135
136
137
137
133
131
129
129
129
129
129
129
128
128
128
128
128
128
128
128
128
128
127
127
127
127
127
127
127
127
127
128
128
129
128
128
128
127
127
127
130
130
130
132
127
127
129
130
131
132
134
135
135
136
133
131
126
123
123
123
123
123
125
128
129
130
128
126
126
126
127
128
128
128
127
127
125
127
127
127
128
128
128
129
131
131
130
130
129
130
130
131
133
134
135
135
135
135
135
135
135
135
135
135
135
135
135
134
134
134
133
133
133
133
131
131
132
131
131
131
131
131
131
130
128
128
128
128
129
129
130
129
130
135
135
136
136
130
129
127
123
123
123
123
123
124
129
129
127
126
126
126
126
126
127
127
127
127
128
129
130
134
129
128
128
128
128
128
128
128
128
128
129
129
129
128
128
131
131
131
132
132
133
133
132
132
131
131
130
129
129
128
128
128
128
128
127
127
127
128
129
130
131
130
128
128
128
128
128
129
129
129
129
130
131
131
131
131
131
130
130
130
130
130
130
130
131
130
129
129
129
129
129
128
128
129
133
133
133
133
132
133
136
136
136
139
137
137
138
138
138
139
139
139
139
139
141
141
141
141
141
141
141
141
141
141
143
143
143
145
145
145
145
145
145
145
147
148
149
151
149
146
151
152
153
154
155
155
153
151
150
150
150
150
150
150
150
150
149
149
152
152
153
153
152
153
155
158
158
157
157
158
159
158
158
159
161
162
162
163
163
163
163
163
162
161
161
161
161
161
162
163
163
163
165
165
165
165
165
165
168
166
166
166
168
170
172
169
169
170
170
170
171
171
171
171
172
172
172
173
173
174
175
172
174
177
177
177
177
176
176
176
176
176
176
176
176
180
184
184
181
180
180
180
182
188
190
189
188
187
188
189
190
190
190
190
190
190
190
190
191
190
185
184
182
180
179
178
179
180
180
181
181
182
182
182
184
185
187
187
187
187
188
190
191
192
193
193
193
195
196
194
193
193
192
194
194
193
191
191
193
194
195
197
197
197
197
198
198
199
199
199
199
199
199
199
199
199
199
199
199
199
199
200
200
200
201
201
201
202
203
203
204
204
204
204
204
204
204
204
204
204
204
203
202
200
198
197
197
196
195
195
195
195
196
198
198
199
200
202
202
201
200
195
194
194
194
195
195
195
195
195
195
196
196
198
200
200
200
200
200
200
200
200
199
198
198
197
195
195
194
194
194
194
194
194
194
195
195
195
195
195
195
195
195
195
194
194
194
194
194
193
193
193
192
199
199
200
200
202
203
203
204
217
219
220
220
221
223
223
223
224
228
230
236
242
244
245
246
246
246
247
247
247
247
248
249
251
251
251
252
252
253
253
251
251
252
253
255
257
274
275
276
277
284
284
285
285
286
286
286
287
292
293
294
294
294
294
294
294
293
292
290
291
291
291
291
295
300
301
301
305
309
311
314
314
316
315
313
313
308
308
307
306
304
310
312
313
319
323
324
325
327
329
332
333
333
335
340
341
347
348
348
348
348
348
348
348
347
346
346
346
346
346
346
346
344
343
342
342
341
341
341
341
341
340
335
333
332
331
329
328
326
325
325
324
320
320
316
315
314
314
313
313
310
310
310
308
307
307
307
307
307
307
307
308
308
308
308
308
308
309
310
311
311
313
313
313
313
314
314
319
319
320
322
322
323
322
320
319
319
317
311
310
310
309
311
318
319
320
320
321
321
321
321
323
323
323
330
336
342
345
345
354
356
356
357
357
357
357
357
358
358
359
359
359
360
360
360
360
358
356
355
356
357
358
358
359
360
360
362
364
366
369
368
366
362
362
362
362
360
360
360
360
362
363
363
364
364
364
364
364
364
365
365
367
368
368
368
369
369
370
370
370
370
370
371
371
372
373
374
379
379
379
378
376
373
374
375
375
375
375
371
370
369
364
362
361
356
354
354
354
354
354
354
354
354
351
350
349
349
348
347
345
343
332
330
328
325
325
321
321
320
319
318
317
316
315
314
314
312
311
310
309
308
301
302
303
303
304
306
309
314
315
316
318
319
320
326
328
329
330
331
332
335
337
337
338
340
342
343
349
349
351
354
367
371
374
375
378
380
386
392
393
392
392
392
394
394
395
395
396
403
407
408
408
409
413
415
418
427
428
438
439
446
449
449
449
450
450
451
451
452
453
454
455
455
457
464
465
468
471
484
485
485
490
495
497
498
499
499
509
511
517
518
520
521
524
526
529
532
532
533
533
534
536
536
539
542
544
546
549
551
552
552
552
552
552
552
553
554
567
567
565
565
566
581
589
589
589
589
589
589
588
588
588
588
587