300
301
303
304
309
312
313
314
315
318
318
320
321
324
326
329
332
336
337
348
357
357
357
357
357
356
355
354
354
353
349
347
346
345
344
343
342
341
340
337
333
331
330
329
328
326
324
322
321
317
313
311
310
309
310
311
310
310
310
309
307
305
305
300
296
289
287
279
278
278
278
277
277
277
284
284
284
283
282
279
273
271
269
268
268
267
267
266
265
266
267
268
267
264
260
259
257
251
249
248
248
248
248
249
249
249
249
249
246
244
240
238
234
235
236
236
237
238
240
242
243
244
245
242
242
241
240
239
239
244
246
248
249
255
256
256
260
263
266
253
250
248
242
240
237
234
233
232
230
225
225
223
222
222
221
220
219
218
205
203
201
200
198
197
196
196
196
197
199
201
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
204
192
192
193
194
195
195
196
197
198
200
202
204
206
209
209
213
214
217
219
221
214
214
214
214
213
212
210
205
204
199
195
193
189
187
187
188
188
189
191
191
192
192
191
191
191
195
197
198
203
208
210
207
203
201
200
199
198
196
194
193
191
190
190
189
189
189
188
188
188
188
187
187
187
187
187
187
188
188
188
189
191
192
193
193
196
199
199
206
206
207
207
207
207
207
207
207
207
207
207
207
207
207
207
208
209
209
210
210
210
211
212
212
213
213
214
215
216
219
221
223
225
225
225
226
229
230
232
234
236
239
241
242
247
250
253
258
262
271
277
280
292
296
298
300
301
303
304
305
307
310
318
320
323
325
325
328
329
330
332
333
339
342
352
353
353
354
354
353
352
348
346
344
342
341
340
339
340
341
342
343
325
319
318
318
317
312
306
287
281
278
274
283
291
300
309
315
317
321
323
326
324
322
320
321
324
327
330
332
333
337
340
352
357
358
359
360
367
374
378
379
385
389
392
392
392
392
392
392
392
392
392
392
392
392
390
389
387
385
383
381
380
378
377
376
372
370
358
356
353
343
341
340
338
341
344
345
347
346
345
345
343
342
341
339
339
338
335
332
329
328
310
308
305
302
299
297
294
293
285
273
266
257
256
255
253
252
249
247
243
229
225
222
221
219
216
216
216
216
216
215
214
212
210
209
206
204
202
202
201
198
198
197
195
195
194
194
195
197
202
205
206
208
212
217
226
230
233
234
235
236
237
238
238
239
240
240
238
237
231
229
228
226
225
222
221
219
217
212
214
214
213
212
211
210
209
215
224
236
254
271
276
282
288
295
301
308
312
312
311
310
308
307
306
308
309
311
313
296
286
278
272
270
263
258
253
247
215
214
212
210
206
205
205
203
206
206
206
206
205
205
205
205
205
205
205
207
207
209
212
214
215
222
225
226
226
223
219
218
216
214
210
199
195
193
193
193
198
203
204
216
216
215
211
210
209
205
212
212
213
215
215
215
217
220
223
227
230
233
237
240
240
242
238
238
235
233
232
229
226
223
223
224
226
228
238
242
246
250
257
261
264
266
266
266
266
266
266
267
268
269
284
286
287
289
290
292
294
295
309
311
313
313
314
315
319
320
323
327
335
340
354
355
354
350
349
346
345
344
344
346
346
347
349
353
354
351
343
341
338
288
284
281
277
271
258
251
222
228
235
237
238
238
238
238
238
227
215
215
215
215
215
215
215
219
224
228
231
237
246
246
246
246
244
243
241
240
240
239
238
238
237
237
236
236
236
236
236
236
236
236
236
236
236
231
230
228
226
215
207
208
210
210
210
210
210
210
210
210
209
209
209
214
215
215
215
216
216
216
216
217
217
218
218
219
219
220
222
226
227
229
229
233
236
241
244
247
250
251
251
253
272
283
286
302
322
344
351
349
349
348
347
345
345
340
339
338
336
334
333
329
326
323
324
327
330
334
336
337
343
346
347
349
353
357
361
364
378
391
391
391
389
387
385
384
382
382
383
386
389
390
391
392
392
392
377
360
360
360
359
359
358
357
357
356
355
355
353
342
339
336
334
333
328
323
318
298
291
287
284
282
281
234
232
228
225
223
225
227
231
234
238
241
243
240
238
228
228
227
227
227
227
228
234
243
243
243
243
243
242
242
242
242
243
244
246
247
248
248
250
250
260
263
264
268
275
276
279
286
288
289
291
293
288
283
280
276
276
274
273
272
270
270
271
271
272
274
275
280
282
283
285
286
288
288
289
289
290
292
292
292
292
293
293
293
289
287
284
281
278
276
275
272
271
270
268
268
264
261
263
265
261
259
253
249
243
242
238
237
234
231
229
227
225
223
217
217
217
217
216
216
215
215
215
215
215
215
215
215
215
215
215
215
216
216
215
215
216
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
219
220
220
221
226
226
227
229
229
229
229
229
229
229
230
230
230
230
230
230
231
231
232
233
234
235
239
236
234
231
231
233
234
235
235
235
233
232
230
229
228
227
227
226
225
224
221
220
222
223
223
224
224
225
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
227
227
227
227
229
229
229
230
230
230
231
231
233
234
234
235
235
235
235
236
238
239
239
241
241
241
245
246
246
251
251
254
256
256
256
256
256
256
256
256
256
256
256
255
255
255
255
255
255
254
254
254
252
249
245
244
242
239
238
238
238
238
238
238
238
238
238
238
238
237
236
235
235
234
233
232
232
230
228
228
227
227
224
223
224
227
229
231
238
240
244
246
246
247
247
247
248
249
249
252
253
254
287
288
288
289
291
293
293
294
298
298
300
300
301
302
304
306
307
309
310
312
313
325
328
328
325
324
322
321
319
316
318
330
334
346
352
355
356
360
364
367
366
365
361
359
356
354
351
348
345
341
338
335
334
332
330
328
325
324
324
322
320
318
316
314
312
310
308
306
305
303
302
293
281
271
270
264
260
258
255
256
260
266
267
271
283
294
295
299
299
300
300
298
297
293
292
291
290
288
287
285
284
282
282
279
274
273
273
273
273
272
272
271
271
268
268
268
268
267
267
267
267
267
267
268
271
275
275
275
274
274
274
274
274
274
273
272
266
265
264
264
263
263
266
270
271
269
268
268
273
274
274
275
276
277
282
281
281
279
278
279
283
285
289
295
297
290
282
281
281
279
279
279
280
281
282
282
283
285
285
292
295
297
300
303
306
304
300
298
288
283
276
276
277
277
278
279
279
279
280
281
284
285
286
287
287
287
288
289
289
289
291
293
294
294
295
295
294
289
288
290
291
293
294
295
303
294
290
291
292
292
293
296
300
306
311
324
326
328
329
330
332
322
317
315
312
312
312
312
312
312
312
312
312
310
309
306
304
292
293
296
299
300
300
300
300
300
300
299
293
292
288
285
285
286
286
286
286
287
291
291
294
294
294
294
293
293
293
293
293
292
292
292
292
292
293
295
299
301
304
304
307
308
311
311
312
312
312
311
311
311
311
311
311
311
308
306
305
304
303
302
300
300
300
300
300
301
300
300
300
300
299
299
298
298
298
298
298
299
299
300
301
301
302
305
305
305
305
306
306
306
307
307
309
309
316
321
323
317
316
313
314
314
316
316
315
314
313
312
313
320
321
324
326
329
330
331
334
339
359
361
360
357
356
351
344
340
336
336
336
336
338
338
338
338
339
340
340
342
342
343
344
346
350
353
354
359
360
362
363
363
364
366
367
369
370
370
370
370
370
371
372
373
374
377
378
381
384
384
382
381
381
380
380
381
386
407
410
412
415
419
422
424
425
426
426
427
425
422
406
393
395
394
385
381
379
374
373
371
371
371
372
373
373
374
380
382
387
394
393
392
391
390
390
388
386
386
386
387
387
388
389
390
392
393
394
409
417
419
425
427
432
435
436
449
475
479
486
490
490
488
488
487
487
486
486
513
513
513
513
513
513
513
513
513
513
513
514
514
515
517
518
521
523
526
528
530
535
538
539
539
539
538
538
536
536
534
533
533
532
532
531
531
528
527
526
526
522
521
521
534
538
535
533
527
524
518
514
512
512
511
510
510
509
509
508
507
502
501
500
499
498
492
491
489
488
487
486
486
486
483
482
482
481
481
480
480
480
478
477
459
457
457
455
455
454
456
458
460
467
471
475
477
480
483
484
485
485
484
481
479
478
479
482
483
486
488
491
494
496
500
501
504
505
505
507
509
510
512
512
514
509
507
500
492
491
489
488
487
486
480
476
471
464
463
461
456
455
453
446
445
443
442
441
438
438
437
437
436
433
432
429
428
428
428
428
428
428
428
429
430
430
430
430
430
430
429
429
429
430
431
433
435
434
420
414
415
416
417
418
420
420
416
410
408
407
406
407
413
411
410
409
408
408
407
405
405
403
400
400
400
400
400
399
399
398
398
398
398
398
397
393
390
388
387
386
383
382
382
381
381
380
379
379
378
377
376
376
375
374
372
371
371
370
370
370
369
380
380
380
367
362
362
362
362
362
362
361
361
360
360
359
358
357
357
356
356
355
355
355
355
355
354
354
354
354
354
354
353
353
353
353
353
353
353
353
353
353
352
352
352
351
351
349
348
348
347
346
346
346
346
346
347
349
349
353
357
359
361
363
366
369
374
379
380
379
378
377
377
376
382
389
392
400
408
414
416
424
426
433
433
438
456
458
459
463
464
466
467
468
469
471
472
478
485
489
488
482
477
473
470
467
464
469
473
480
481
481
481
477
472
464
462
459
450
446
449
452
452
453
460
474
493
492
484
478
475
469
466
465
464
460
457
455
451
449
450
451
452
453
456
457
459
464
460
451
450
447
447
447
447
447
458
468
473
473
472
472
476
477
482
482
482
482
482
482
482
482
483
486
505
508
510
517
522
525
528
530
526
525
520
517
517
494
489
476
470
464
465
468
471
479
486
497
503
497
490
487
477
474
473
472
468
466
465
463
461
460
457
454
452
451
451
448
446
443
439
437
435
434
429
429
429
427
426
424
422
417
413
413
415
415
414
412
410
408
408
408
408
408
409
409
410
412
413
413
412
409
408
407
405
403
401
399
399
398
398
397
397
397
397
397
397
396
396
396
396
396
395
395
395
395
395
397
398
403
403
411
412
413
414
415
416
419
422
425
426
427
429
431
433
435
436
437
438
441
445
451
461
465
471
481
487
495
507
508
508
514
529
523
466
451
448
439
416
416
414
412
411
410
407
405
403
400
398
395
382
382
381
380
379
379
376
375
373
371
370
370
368
357
356
356
356
356
356
356
357
358
359
360
360
360
360
358
358
360
361
361
362
362
360
360
359
360
360
361
362
363
363
363
362
361
361
360
359
359
356
355
354
353
352
351
351
351
351
351
351
351
351
352
352
352
353
353
354
355
355
356
357
358
360
362
363
361
359
357
355
355
355
355
355
355
355
355
354
354
354
353
353
352
350
350
350
352
354
354
353
353
354
355
356
359
358
357
355
355
352
351
350
349
347
347
347
347
347
347
347
347
347
347
348
349
355
360
359
359
358
358
358
358
358
358
359
360
362
364
365
365
365
364
364
364
364
364
366
366
367
367
367
368
368
368
369
373
374
380
383
383
385
387
389
391
396
398
399
395
394
391
389
383
383
384
384
385
386
393
400
404
404
403
402
401
400
403
405
401
396
391
386
383
382
379
378
377
375
371
369
368
369
370
372
374
374
375
375
382
390
395
396
398
399
399
399
401
402
404
412
408
403
403
407
411
417
421
420
419
419
418
418
417
417
415
414
414
412
409
399
395
394
393
391
390
390
390
390
390
390
391
391
390
388
388
387
383
383
383
384
391
395
396
396
395
395
395
395
397
398
398
398
399
399
399
399
399
400
401
401
403
406
411
411
410
410
408
406
404
404
407
408
408
408
407
406
404
402
397
398
399
399
400
400
399
399
399
398
398
398
398
399
399
400
400
400
405
406
409
419
423
424
425
409
404
401
402
402
403
403
406
406
405
404
404
404
403
403
402
402
401
400
400
404
407
410
421
428
431
432
434
435
441
444
444
442
441
440
437
436
435
434
432
431
423
422
422
420
419
420
420
421
422
422
423
424
424
425
426
427
428
429
433
434
434
434
435
435
435
435
436
435
434
433
432
431
429
428
426
426
426
426
431
432
433
437
438
442
444
447
450
453
454
452
451
439
439
438
438
438
438
440
442
446
450
447
434
425
425
425
427
428
428
428
429
432
433
434
434
434
434
434
434
434
434
437
441
441
441
441
441
441
442
443
445
444
444
444
444
444
444
444
444
445
445
446
446
446
447
447
447
447
447
448
448
449
449
449
449
450
450
450
452
456
459
460
460
460
460
460
460
460
461
461
465
468
470
471
467
467
466
465
465
465
466
466
466
467
467
468
469
470
471
471
480
481
482
482
482
482
484
485
487
487
489
490
492
494
494
494
495
495
495
495
495
495
504
504
497
497
498
500
501
506
510
513
514
513
512
511
510
509
510
511
513
515
531
531
531
532
533
535
538
539
541
543
543
541
540
540
540
541
541
545
550
554
556
563
567
571
570
564
577
578
578
580
582
591
626
628
631
631
630
629
628
627
627
627
628
629
629
630
631
633
654
654
654
654
654
654
654
654
655
660
666
669
672
677
707
711
715
718
721
723
725
732
734
735
735
735
737
739
741
736
733
723
719
714
709
707
705
704
698
695
692
688
679
677
675
672
665
661
658
655
652
651
649
648
646
635
634
633
633
634
635
636
637
639
640
641
641
640
637
637
636
634
633
630
626
623
613
608
592
588
586
584
583
582
582
583
584
584
586
587
587
591
593
593
593
593
590
585
579
575
572
569
568
567
567
566
566
566
566
566
566
564
564
563
561
561
563
564
561
555
554
551
549
548
545
545
546
548
551
553
553
554
554
554
554
553
553
553
552
551
550
547
546
546
544
543
543
543
543
543
543
543
543
542
540
539
538
537
534
534
533
532
532
532
527
525
524
523
523
522
521
525
525
525
528
537
537
539
539
539
537
535
529
528
526
525
524
523
523
523
523
523
523
523
523
523
527
530
532
532
530
527
525
522
514
510
506
506
506
506
505
505
505
504
504
503
503
506
506
512
512
518
519
521
522
522
522
520
518
515
514
514
514
513
512
509
507
506
504
503
502
500
500
498
497
495
495
495
496
496
497
497
497
497
497
497
497
497
497
496
496
496
497
497
498
498
498
498
495
495
497
510
511
511
511
512
512
513
513
513
514
514
514
514
510
509
508
508
509
509
510
510
511
512
513
514
515
516
517
518
518
519
519
520
519
516
513
512
509
509
510
511
511
511
510
510
509
506
507
510
514
520
521
522
523
523
523
522
522
522
522
522
521
514
509
506
503
500
497
492
489
486
488
493
498
504
507
508
508
508
509
510
511
512
512
513
513
507
505
502
500
508
513
498
498
497
496
495
495
495
495
495
495
495
495
490
486
485
484
483
483
483
483
482
480
479
478
478
478
478
482
484
487
488
492
492
492
491
491
490
490
487
483
481
479
477
475
475
475
475
475
475
475
475
474
474
475
475
478
479
480
481
482
484
485
488
491
493
495
495
494
494
493
487
485
483
481
479
477
476
476
476
475
473
472
471
470
471
472
476
479
480
482
484
475
470
468
467
467
466
466
466
465
465
465
465
464
464
464
468
468
473
484
492
493
498
493
482
497
502
518
522
525
527
533
530
528
529
530
530
532
533
534
535
536
536
536
536
535
535
500
492
488
480
472
467
466
466
465
464
463
462
462
460
460
459
459
458
457
457
462
464
465
465
465
465
466
466
467
468
471
472
489
531
542
556
551
544
539
535
499
488
481
468
466
464
463
462
461
461
461
460
459
459
458
456
458
458
457
456
455
454
453
451
452
471
474
479
487
489
494
496
493
471
470
467
464
463
460
458
457
453
453
453
454
454
454
454
453
453
453
453
453
453
452
452
452
452
452
452
452
453
455
459
464
464
464
464
464
464
463
462
462
461
461
460
459
459
458
455
453
453
451
452
454
454
457
460
462
464
467
470
472
473
478
483
485
496
500
511
540
536
534
531
529
528
522
519
517
514
511
506
504
501
498
495
497
500
502
515
516
511
509
508
507
505
504
490
490
500
502
505
510
516
522
526
530
530
530
530
534
539
543
546
546
552
557
569
568
567
565
564
563
570
582
595
584
576
573
553
562
583
585
588
584
579
566
556
551
547
546
545
544
543
542
540
540
544
548
553
568
573
574
575
576
577
583
585
591
614
620
628
628
628
627
627
626
626
625
625
619
599
595
571
559
546
544
543
537
527
526
522
521
521
521
520
519
519
517
516
515
514
513
513
510
509
506
504
502
500
495
489
480
464
460
457
455
455
455
454
454
454
454
453
453
453
451
450
449
448
448
448
448
448
448
448
448
448
451
453
463
466
470
472
472
472
472
473
473
473
473
473
474
474
474
474
474
474
474
474
475
475
475
476
476
479
479
484
484
488
489
493
493
493
493
493
494
494
494
494
491
489
488
487
484
477
475
474
471
471
469
469
468
468
466
466
466
467
467
471
472
473
476
478
479
482
489
490
501
510
511
519
532
541
550
568
577
587
587
587
590
596
597
598
600
601
607
609
610
616
618
620
623
628
629
630
630
631
633
633
631
630
629
629
630
635
636
650
663
670
674
676
673
670
665
670
673
674
672
668
668
667
665
665
664
663
662
661
660
658
655
654
651
651
651
651
635
635
638
638
638
627
628
635
641
643
647
647
649
648
647
645
645
643
641
638
635
633
638
633
658
647
657
646
649
655
659
656
645
644
643
643
644
653
655
656
656
656
653
650
648
646
645
644
643
642
639
641
643
644
647
649
651
655
653
650
648
647
647
646
645
644
643
643
646
649
651
653
656
656
654
653
653
653
652
651
650
649
647
647
647
647
647
647
654
657
660
663
662
661
660
659
657
657
657
657
658
658
657
653
656
658
659
659
660
660
662
667
668
671
673
670
666
664
663
665
668
668
663
663
662
662
661
662
662
660
660
659
655
650
649
648
647
646
646
650
653
659
658
655
654
653
652
647
647
647
647
648
648
648
648
648
648
648
648
648
648
649
649
649
649
650
650
650
651
651
651
651
651
650
649
648
647
645
644
645
649
648
644
644
644
644
644
645
645
646
646
648
650
656
657
658
657
653
652
651
650
649
649
648
648
647
647
647
648
649
650
650
650
651
652
653
654
654
654
654
654
654
654
654
652
649
642
644
647
649
649
649
649
653
654
656
662
654
642
634
634
644
648
649
654
656
656
653
650
649
652
647
648
650
655
657
658
658
657
656
656
655
654
653
653
652
652
652
652
650
644
641
645
649
650
656
656
656
656
656
652
651
644
643
642
639
638
632
628
630
633
633
636
638
640
646
646
645
644
642
641
640
638
638
633
630
624
623
621
619
612
596
595
578
555
549
539
532
517
469
469
463
408
405
399
399
399
399
399
399
399
399
399
399
399
399
399
405
414
415
416
419
412
408
405
405
406
407
407
407
407
399
392
395
396
431
405
412
415
416
419
421
423
424
428
439
434
416
417
415
407
426