316
316
318
325
326
327
324
323
323
323
322
321
320
318
317
317
317
318
318
317
316
314
313
313
312
311
310
309
308
307
306
305
304
303
303
303
303
303
304
304
304
304
304
304
304
303
303
303
302
301
300
300
300
300
300
300
300
300
300
301
303
305
306
306
306
306
307
308
309
309
309
309
309
309
310
310
310
311
312
312
312
310
309
310
312
313
313
313
313
314
315
316
318
320
322
322
322
320
319
319
318
318
318
319
320
321
321
321
321
321
321
320
320
320
320
321
322
323
324
324
325
326
326
326
326
327
327
327
328
329
329
329
329
329
329
329
330
330
330
330
331
331
331
331
331
331
331
332
332
332
332
332
332
332
331
331
331
330
329
328
326
324
320
317
314
308
304
304
304
304
305
305
306
307
307
306
306
304
302
302
301
301
301
302
302
302
302
301
301
300
300
300
301
301
301
301
301
301
301
301
301
300
300
299
299
299
299
299
299
300
300
300
304
306
306
308
308
308
308
308
308
308
309
309
309
309
309
310
310
311
311
310
310
309
309
309
309
309
308
308
307
307
307
307
307
307
307
307
307
307
307
306
306
306
306
306
306
306
306
306
306
305
305
305
304
304
303
303
303
303
302
301
301
301
301
301
302
302
302
302
301
299
298
297
296
295
295
294
294
293
293
293
293
293
293
293
293
292
292
292
291
291
291
291
291
292
292
293
295
296
297
297
297
296
294
291
289
289
289
289
289
289
289
289
289
289
289
289
289
289
288
288
287
287
286
286
286
286
286
286
287
288
288
288
288
289
290
291
291
291
291
293
294
296
297
299
300
302
303
305
305
305
306
306
306
306
308
309
310
311
311
311
312
313
313
314
316
318
320
321
321
321
322
323
324
324
325
325
326
327
330
333
336
338
339
341
343
343
342
341
337
332
323
322
322
322
322
325
327
325
319
316
312
307
304
303
303
302
302
302
301
299
298
297
295
294
294
293
293
292
291
291
290
289
289
289
289
288
288
288
288
288
288
287
286
284
283
282
281
279
278
278
278
278
278
279
279
280
280
280
280
280
280
280
280
280
280
280
281
282
282
283
284
284
285
286
286
286
286
286
286
286
285
284
284
283
283
282
282
281
281
281
281
281
281
281
283
284
286
287
287
287
286
286
285
285
284
283
283
283
283
283
282
282
282
281
280
280
280
279
279
279
279
279
279
279
278
277
277
277
277
277
277
276
276
274
274
274
274
274
274
274
274
274
274
274
274
273
272
272
272
271
271
271
271
271
273
274
275
277
279
281
282
282
283
283
283
283
283
283
285
286
287
287
287
287
286
286
286
285
283
281
280
280
282
283
284
285
286
287
287
288
288
288
289
289
289
289
289
289
289
289
289
290
290
291
292
292
293
293
294
295
295
296
297
297
298
299
299
300
301
301
302
302
302
303
304
305
306
308
309
311
311
312
312
313
314
314
315
316
318
319
320
320
320
318
316
315
315
316
316
316
316
316
315
313
313
313
313
313
311
310
309
311
313
315
317
319
321
323
324
325
327
329
330
332
334
337
340
343
346
348
350
352
354
356
358
360
361
361
362
363
363
364
365
366
367
367
368
368
369
371
372
373
374
375
376
377
379
380
381
382
383
385
386
387
388
389
391
391
391
391
391
392
394
395
395
395
393
392
391
391
391
390
389
389
389
389
389
389
389
388
387
387
386
385
384
383
382
382
381
381
380
380
379
378
378
377
376
375
375
374
373
373
372
372
371
370
369
369
368
367
367
366
366
365
365
365
365
365
365
365
365
365
365
364
363
362
362
362
362
362
361
361
361
361
361
361
361
362
362
362
362
361
360
359
358
358
357
356
355
354
354
352
351
349
348
346
346
346
346
346
345
345
345
344
344
343
343
342
342
342
342
343
343
343
342
342
341
341
341
341
341
340
340
340
339
339
338
338
337
337
336
335
335
334
334
333
332
331
330
328
326
324
324
324
324
323
323
323
323
323
324
325
325
325
325
325
325
325
325
325
325
325
326
327
328
329
333
336
339
341
344
346
347
348
350
351
353
354
356
358
360
361
364
365
367
368
369
369
369
368
368
368
369
369
370
371
373
374
376
379
381
382
384
385
386
388
389
391
393
396
398
399
402
403
405
407
410
412
414
415
416
417
419
420
421
422
422
421
420
420
419
417
416
414
411
409
406
404
402
398
393
388
385
382
379
379
378
378
375
373
370
368
366
363
361
359
358
356
354
351
348
346
345
344
342
342
342
342
340
338
336
334
332
330
328
326
325
323
322
321
319
318
320
322
325
325
323
321
320
318
316
315
313
312
309
309
309
309
309
309
309
309
308
308
310
312
316
319
321
327
331
332
337
342
344
346
347
348
350
349
344
337
336
336
336
336
336
336
336
335
332
327
322
323
324
327
330
333
335
337
334
329
323
312
305
298
293
292
290
289
288
287
286
287
287
288
289
289
290
290
289
288
287
285
284
283
281
282
283
284
287
288
288
288
287
287
285
283
281
276
271
269
267
266
265
263
262
262
262
262
262
261
259
258
258
258
256
254
252
250
249
249
248
248
247
247
246
245
245
245
245
245
246
247
248
247
246
245
244
243
242
242
241
240
239
239
239
241
242
242
241
241
240
240
239
236
234
232
232
231
230
228
227
227
226
226
225
225
225
226
226
227
229
229
229
228
226
224
225
226
227
230
230
228
226
226
226
226
226
226
224
223
223
225
226
228
229
230
232
227
220
219
216
214
214
213
213
213
213
213
212
212
211
211
209
208
208
208
207
207
207
206
205
205
204
206
210
211
213
213
212
212
211
211
210
210
210
207
206
205
204
204
204
204
203
203
202
202
202
202
202
203
204
205
203
202
201
200
199
197
197
196
196
195
195
194
193
193
193
192
192
192
192
192
192
193
193
193
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
192
193
194
195
196
196
196
195
195
195
195
195
195
195
195
196
196
196
196
196
196
196
196
196
197
198
198
199
199
198
197
197
196
196
195
195
195
195
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
198
198
198
198
198
197
196
196
196
196
196
196
197
197
197
197
197
197
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
198
200
202
203
203
204
204
204
204
204
203
203
202
202
202
202
202
201
201
200
200
200
200
200
200
200
200
201
201
201
201
201
201
201
201
201
201
201
201
202
203
208
211
212
219
219
219
220
220
220
219
218
216
215
213
211
210
209
209
209
210
213
215
217
217
219
220
224
228
229
227
226
225
222
220
216
211
208
206
206
206
206
206
206
206
206
205
205
204
204
203
203
203
203
203
203
204
204
205
205
206
206
206
207
207
207
207
207
207
207
207
208
209
210
211
211
210
209
208
208
207
207
208
209
209
209
209
211
212
213
213
213
213
214
215
217
219
219
220
221
220
218
217
214
213
212
212
212
212
212
212
212
213
214
214
215
215
217
219
220
220
222
222
224
226
227
229
229
229
229
229
230
231
231
232
233
233
234
234
234
236
237
238
241
245
248
248
242
236
235
234
234
233
233
233
233
235
238
240
241
241
241
242
243
244
244
243
243
245
251
252
251
249
248
240
233
231
228
226
223
219
219
220
220
220
219
219
219
219
219
222
226
230
233
234
236
239
243
253
261
266
273
275
282
285
285
285
285
285
286
286
289
293
297
298
300
302
301
300
299
300
301
303
307
308
308
308
307
307
304
301
297
294
291
288
284
275
272
265
260
258
257
257
257
257
257
257
258
258
260
262
262
263
264
266
269
272
269
266
262
261
261
258
255
252
252
251
250
250
249
247
247
243
241
238
236
236
238
238
238
238
241
243
247
248
248
249
250
253
253
253
252
252
250
249
246
243
241
238
237
237
239
240
239
236
234
231
229
227
226
228
230
233
235
236
240
241
245
250
254
258
270
280
284
288
292
295
299
300
300
303
305
308
311
309
308
307
306
305
305
305
306
307
307
305
303
303
302
301
292
290
282
281
281
280
278
276
271
269
263
262
256
251
245
238
236
235
232
232
232
232
231
231
231
231
232
232
232
232
232
232
232
232
232
234
236
237
239
239
239
239
242
245
244
243
241
241
249
252
255
262
261
260
260
262
262
262
261
260
258
255
253
253
253
253
254
256
257
258
258
258
258
256
254
252
253
254
257
257
258
258
261
263
266
267
267
267
266
266
266
266
266
264
263
262
264
265
266
268
268
267
265
264
263
264
266
270
273
276
279
284
288
295
299
303
307
312
315
314
310
307
300
292
290
286
287
290
293
295
299
302
304
305
306
307
308
308
314
316
320
322
324
325
326
327
328
328
328
330
332
333
333
333
333
333
329
323
320
319
321
323
326
331
331
332
331
330
330
325
320
318
316
313
309
313
315
316
317
319
319
317
317
314
314
315
316
316
318
319
323
324
323
322
321
321
321
321
322
323
322
319
317
317
318
319
322
324
324
324
324
322
319
318
316
317
318
321
327
326
320
314
317
320
322
324
326
328
327
327
327
327
327
327
327
328
329
331
333
335
336
340
343
346
347
348
351
354
356
356
357
357
357
358
359
361
362
362
364
368
373
379
380
381
382
383
385
389
392
393
395
398
402
404
407
410
411
413
414
415
420
424
425
429
432
434
435
436
437
437
438
441
449
457
460
463
465
467
471
474
475
476
479
484
486
488
490
487
484
481
484
486
489
492
496
500
503
505
506
507
506
504
501
499
498
496
496
496
498
502
506
509
512
514
516
517
516
513
510
507
503
499
495
488
484
479
474
467
464
462
460
457
455
453
451
451
450
450
448
443
442
440
440
434
427
422
416
415
414
408
408
407
403
396
390
387
384
380
379
378
375
372
368
363
361
360
357
353
351
350
348
348
345
344
343
341
339
339
336
334
330
327
325
321
319
316
315
315
315
315
313
312
310
310
310
311
311
311
311
316
317
318
320
324
325
327
330
337
339
344
345
345
346
346
346
346
346
346
346
342
339
335
331
328
327
327
326
324
324
326
327
328
329
331
333
333
332
331
330
332
334
334
334
334
334
337
342
347
350
351
352
352
353
358
363
368
369
369
368
360
353
345
342
340
337
334
333
333
332
331
331
331
331
334
335
339
345
350
356
362
367
372
373
375
378
377
376
375
375
371
367
362
361
358
357
355
353
351
348
346
344
339
334
331
328
322
316
311
308
307
305
305
305
305
305
304
303
303
303
305
305
308
313
314
318
320
323
323
321
319
319
318
321
326
330
331
334
335
336
337
338
339
340
344
349
355
358
361
365
369
372
376
379
387
394
394
395
397
398
403
408
410
413
415
415
416
418
423
429
433
438
440
442
443
444
444
444
444
443
441
440
437
436
432
427
425
420
419
414
410
408
402
399
399
399
399
397
395
393
390
387
384
382
380
381
381
381
382
383
378
373
372
371
371
370
370
366
360
357
355
353
352
349
345
343
341
339
336
331
328
321
315
314
313
312
310
310
310
310
310
310
310
310
310
311
312
313
313
313
313
313
313
313
313
313
314
314
316
319
321
322
323
323
323
323
323
324
324
325
327
328
329
331
331
331
331
330
329
328
326
325
325
325
324
324
326
328
329
330
332
332
334
334
333
333
331
328
324
321
321
322
322
323
325
326
328
329
326
324
324
325
325
325
328
331
333
334
336
336
337
338
339
339
339
338
337
336
335
334
334
333
332
330
329
328
327
327
327
327
327
329
330
331
331
331
330
330
331
332
333
334
335
336
336
336
336
336
336
337
337
337
337
336
335
333
330
327
327
327
326
326
326
325
325
326
327
330
333
336
335
333
328
328
328
328
333
339
343
345
348
348
348
349
352
354
355
357
361
364
365
366
366
368
369
370
370
373
375
376
381
383
383
386
389
390
390
392
395
398
403
404
406
406
406
405
405
404
402
402
401
401
400
398
396
395
392
391
390
386
382
381
380
377
376
376
378
380
377
373
369
369
373
381
384
381
378
375
369
362
360
358
357
356
355
355
357
357
358
360
360
359
359
358
358
357
357
357
358
360
362
365
366
366
365
365
366
367
367
369
367
363
357
349
345
344
343
342
342
343
347
348
351
351
352
352
352
352
357
359
363
365
366
366
365
364
363
363
369
370
373
376
377
380
383
384
383
381
379
377
375
375
384
390
393
396
402
404
407
408
418
420
421
425
430
437
439
444
449
450
451
452
453
454
454
454
454
453
453
452
452
452
452
452
452
451
449
448
447
447
447
447
447
447
450
454
457
459
461
462
466
467
469
470
471
471
471
471
470
470
469
469
468
468
471
475
478
481
484
487
490
490
490
490
493
495
497
499
500
497
495
493
495
497
498
500
502
504
504
504
504
505
508
511
512
512
512
511
510
509
508
507
506
506
506
506
506
505
503
501
497
493
490
488
485
483
481
480
482
484
483
482
480
477
473
470
466
463
460
459
459
458
456
452
449
446
442
439
437
437
437
435
432
430
425
419
414
410
412
418
423
427
427
428
428
425
422
420
416
412
412
412
413
414
414
414
414
414
414
414
414
414
414
414
414
415
416
418
418
419
419
420
420
421
422
422
422
423
425
428
429
430
432
434
434
434
433
432
431
429
427
425
425
424
424
423
422
419
417
415
413
413
412
410
410
414
417
421
423
425
425
426
429
430
425
419
414
413
413
412
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
411
412
414
416
418
422
423
425
426
427
429
428
418
414
411
410
410
411
412
414
417
420
424
424
426
428
432
438
444
445
448
452
456
470
477
484
490
497
500
502
504
507
508
508
508
508
509
511
511
518
531
536
536
536
535
531
529
528
527
527
527
529
531
532
532
531
528
526
524
524
524
524
525
527
529
530
530
531
529
525
523
520
518
517
516
516
516
516
516
516
516
517
519
520
522
521
520
519
517
516
514
514
517
519
520
522
524
527
529
532
535
539
541
546
546
545
544
544
546
549
551
554
555
558
558
556
554
551
548
545
541
540
538
537
537
537
537
537
537
538
538
538
536
534
533
533
535
536
536
536
537
538
538
540
541
544
545
547
548
549
551
554
556
556
558
560
561
563
566
569
572
576
579
582
585
587
589
592
594
597
599
602
602
602
602
602
602
601
601
601
600
600
600
598
594
591
589
587
585
583
581
579
577
575
573
571
569
564
561
558
557
555
553
549
548
544
543
542
541
540
539
538
538
537
540
545
548
550
553
555
558
561
563
566
569
572
572
571
570
569
569
568
568
568
569
571
572
574
574
573
569
566
559
553
548
544
541
537
534
531
530
530
531
531
530
527
525
523
521
519
518
516
515
513
512
512
511
510
509
508
508
507
507
507
507
507
506
506
505
504
505
508
510
512
515
517
519
519
520
521
523
525
527
531
533
535
537
539
540
541
542
542
543
544
545
547
548
549
550
552
555
558
561
564
567
571
568
566
564
564
565
565
566
569
571
572
574
575
575
574
574
574
574
574
575
575
575
576
576
576
576
577
578
580
582
584
585
585
585
586
587
587
587
587
586
585
584
583
583
584
585
585
585
585
584
584
584
583
582
581
580
579
579
578
577
575
575
576
576
573
569
564
562
557
553
550
548
546
544
540
536
533
530
528
525
523
519
516
513
511
510
509
507
505
502
499
497
495
493
486
482
481
481
481
481
480
479
478
474
469
464
461
458
456
451
446
444
444
442
441
441
442
442
446
447
448
450
452
454
454
454
454
456
458
460
462
462
461
459
458
456
454
453
449
446
443
439
436
434
432
427
425
422
420
418
416
416
416
416
419
425
430
435
439
443
445
445
445
444
439
436
433
432
432
432
431
431
431
430
428
426
425
425
425
425
423
420
417
415
413
412
409
403
400
394
391
392
394
395
394
392
390
388
385
381
378
374
370
367
362
361
358
358
357
357
357
357
358
358
358
359
360
362
363
363
368
371
373
376
378
383
387
387
390
391
391
391
392
392
392