211
210
210
210
210
210
209
209
209
209
209
209
209
209
208
208
208
208
208
208
207
207
207
207
207
206
206
206
206
206
205
204
204
204
204
204
203
203
203
202
202
202
201
201
201
201
201
200
200
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
199
201
202
202
202
202
202
202
203
203
203
204
204
205
205
205
205
206
206
206
206
207
207
207
207
208
208
208
208
208
209
210
210
210
211
211
211
218
220
221
222
223
224
225
227
230
233
233
233
234
235
236
236
239
243
244
246
247
249
250
251
251
251
252
252
252
252
253
254
257
257
259
259
259
261
261
262
264
272
273
277
279
280
281
284
288
289
289
291
291
291
290
289
289
288
287
286
286
286
284
284
283
282
279
278
278
277
276
275
275
273
273
269
269
268
268
267
267
266
265
264
264
262
262
262
261
261
261
260
259
257
257
255
252
249
247
244
242
240
239
238
235
234
232
231
231
230
227
221
220
219
219
220
220
220
220
220
220
222
225
227
227
228
228
228
228
229
229
229
230
230
230
230
231
231
234
235
235
235
235
234
234
234
233
233
233
233
233
233
233
237
238
240
241
242
242
242
243
243
247
250
253
254
255
257
258
258
259
259
259
258
258
257
255
253
251
251
250
249
249
247
245
257
258
269
273
274
277
278
279
279
279
279
277
277
274
269
265
263
251
245
244
244
244
243
243
242
242
241
241
241
240
240
240
240
241
241
242
243
244
244
245
245
248
251
252
255
255
256
260
260
259
259
259
259
259
258
255
255
253
253
253
253
254
254
255
255
257
258
258
259
264
269
274
276
278
282
284
286
297
301
306
314
323
327
331
333
342
346
347
348
350
350
351
353
354
355
356
362
369
369
369
369
369
369
369
369
369
369
369
369
370
371
371
372
372
374
375
376
377
381
383
391
393
396
398
399
403
406
406
406
405
404
403
402
402
400
398
397
397
395
394
393
392
390
389
387
385
385
385
386
386
386
387
387
388
388
389
390
391
391
391
391
391
391
391
391
391
391
391
391
390
389
389
388
388
387
386
386
386
385
384
384
384
384
382
381
380
380
380
379
379
380
380
380
381
382
382
382
383
384
385
386
387
389
389
389
389
389
389
389
389
388
388
388
388
388
388
388
386
384
383
380
379
378
377
376
375
375
374
371
370
368
368
367
367
366
361
360
359
358
357
355
353
351
350
350
349
348
347
345
344
342
341
339
338
338
338
338
337
336
336
335
330
321
320
317
315
315
313
311
308
304
299
297
294
290
288
284
274
273
269
267
266
264
263
258
252
248
245
245
245
245
245
245
245
245
245
245
245
246
246
246
246
246
246
246
246
247
247
247
248
248
249
249
250
250
250
250
250
250
251
251
251
251
255
255
256
258
260
261
263
266
269
270
270
269
267
267
265
265
266
269
272
273
274
274
274
274
273
273
273
271
270
270
270
269
269
268
268
268
268
268
269
270
271
272
273
273
274
275
277
277
277
277
278
278
278
278
278
279
280
281
282
283
283
287
287
288
291
296
306
327
328
329
333
336
341
343
345
345
346
346
346
346
347
347
347
347
348
348
348
348
348
349
349
350
351
352
353
353
353
353
354
354
354
355
355
355
356
356
357
357
357
357
357
357
357
357
357
357
357
357
357
357
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
356
354
347
344
339
337
329
325
320
316
309
306
304
297
294
294
291
289
289
288
286
284
281
280
280
279
277
278
279
280
281
281
282
283
283
283
285
285
288
288
289
289
290
291
292
293
293
295
296
298
299
301
302
302
303
303
304
305
305
306
307
307
307
307
307
307
307
307
307
307
307
307
307
307
307
286
278
264
263
262
261
260
259
259
258
258
257
256
256
255
255
254
253
252
252
252
251
251
251
251
251
250
250
250
250
249
248
248
247
247
247
246
246
244
244
243
242
242
240
240
239
239
238
238
237
236
236
235
234
233
233
233
233
233
233
233
233
233
233
233
233
232
232
232
232
232
231
230
229
227
225
225
224
221
221
220
220
220
220
219
219
219
218
217
217
217
217
217
216
216
215
215
214
214
213
213
213
212
211
211
210
210
210
209
207
206
206
203
203
203
203
203
203
204
204
204
205
205
205
206
206
207
207
207
212
219
220
221
222
225
226
227
229
230
233
234
235
235
233
231
227
226
222
219
219
217
214
211
208
208
208
209
209
209
210
210
211
211
212
212
213
214
214
214
215
215
215
215
216
216
216
217
217
217
217
218
219
219
219
219
220
221
221
221
222
222
222
222
223
225
225
224
223
222
222
222
221
218
217
217
220
220
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
224
224
224
224
225
225
225
226
227
228
228
228
228
228
225
225
225
225
225
225
225
225
225
225
224
224
224
222
221
221
221
220
220
219
219
216
216
216
217
224
224
227
227
227
228
228
227
227
227
227
226
223
223
223
222
221
223
223
224
224
224
224
225
225
226
226
226
226
226
228
229
231
233
234
244
246
251
255
258
261
265
268
269
270
270
271
273
274
275
276
283
283
285
285
286
287
287
287
287
288
288
289
290
292
293
295
295
299
299
301
302
304
307
308
310
295
292
286
284
281
275
273
271
269
267
265
267
270
274
281
283
284
288
288
288
288
289
289
289
289
299
305
306
308
310
313
320
323
325
330
331
326
324
320
318
317
315
309
308
306
304
302
301
298
292
289
288
286
285
284
283
282
280
279
275
273
270
269
269
267
262
257
256
255
254
250
250
250
250
249
248
248
247
246
246
245
243
242
242
237
237
237
237
237
237
237
237
241
245
289
300
309
313
321
325
324
323
322
322
321
321
320
320
319
318
315
314
311
309
308
307
305
303
302
302
301
300
299
299
298
297
297
297
297
297
297
297
297
298
298
298
298
298
298
299
299
299
299
300
300
300
301
302
302
303
304
304
304
304
304
309
310
319
320
322
332
335
338
334
333
332
327
326
324
322
321
318
317
313
310
307
306
306
304
304
303
302
300
300
299
299
299
299
299
299
298
298
296
296
296
296
296
296
296
296
296
296
296
296
296
295
296
296
296
298
298
297
297
296
296
296
295
295
294
292
291
290
289
289
288
284
283
282
281
279
278
278
278
276
276
276
276
277
277
277
278
278
278
278
279
282
283
283
283
287
288
289
291
291
290
290
290
289
289
288
288
287
287
287
287
287
287
287
287
287
287
286
284
283
281
281
281
281
281
281
281
281
281
281
281
280
280
280
280
280
280
280
282
283
285
285
286
287
288
288
289
290
305
306
306
308
311
319
321
321
321
321
320
320
320
318
318
317
316
316
315
314
314
312
312
312
311
311
311
310
308
308
306
305
304
304
303
301
298
298
297
296
296
295
292
292
291
290
290
289
289
288
288
288
287
285
284
284
283
283
283
283
283
283
284
284
284
285
288
289
289
297
297
297
297
297
296
296
296
297
298
309
310
311
312
322
323
338
338
339
344
344
345
346
347
349
350
351
352
353
358
359
361
365
367
368
368
370
376
377
381
389
391
396
397
398
400
401
406
405
404
404
403
403
403
402
402
404
406
412
413
414
416
418
433
448
451
453
455
459
459
459
458
458
458
458
457
457
457
457
457
456
449
426
423
422
414
412
411
408
406
400
398
397
396
391
389
387
384
377
376
374
370
363
362
362
362
361
360
358
357
357
357
357
356
356
355
354
354
354
353
353
353
352
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
351
358
360
360
361
361
362
362
363
364
364
365
365
366
366
367
367
368
368
368
393
399
414
424
428
428
426
421
418
416
415
411
407
407
406
405
403
404
408
410
413
422
428
439
446
452
461
462
475
477
482
484
486
488
490
491
494
498
499
500
501
506
511
515
517
519
522
523
524
525
525
522
521
518
517
515
513
511
509
505
500
499
496
494
493
491
489
482
474
469
462
455
449
444
415
413
410
387
387
387
387
387
387
387
386
386
385
385
385
384
384
384
384
385
385
385
386
386
387
387
388
389
390
390
391
391
392
392
393
394
394
395
396
397
397
398
399
400
401
402
402
403
403
404
404
405
405
406
408
408
408
409
410
411
411
412
413
413
413
414
414
415
416
418
418
418
418
418
420
420
420
420
421
421
423
431
439
445
447
450
452
452
452
451
451
451
451
451
451
451
451
458
462
471
473
485
485
485
487
488
488
494
495
497
497
498
499
505
506
506
506
507
520
522
524
524
525
525
527
530
531
531
532
532
533
534
537
537
539
545
551
554
567
570
572
582
584
586
594
600
608
610
610
611
612
613
621
622
622
623
625
625
626
627
627
629
630
631
631
632
633
634
634
635
642
644
646
653
655
664
669
675
680
682
683
684
684
684
685
685
685
686
686
686
687
687
688
688
688
689
689
690
690
691
691
692
692
692
692
694
694
694
695
696
697
698
700
700
700
701
701
702
703
706
707
713
714
719
720
721
721
724
725
727
728
729
735
736
741
741
742
742
742
743
744
745
745
745
746
747
749
755
755
756
756
754
753
753
752
751
750
750
750
749
747
746
745
741
740
741
741
742
743
748
749
749
750
750
751
751
751
750
749
747
746
745
742
741
741
740
739
738
737
736
735
732
731
731
730
730
729
729
729
728
727
727
726
725
723
722
720
719
709
703
702
700
697
695
693
692
689
687
682
680
679
676
673
651
648
647
646
634
633
633
632
630
628
627
626
624
624
623
623
610
610
609
607
599
595
595
595
595
595
596
596
596
596
596
596
595
593
591
591
589
588
586
585
581
577
576
575
569
568
568
566
566
559
556
544
543
543
542
542
541
538
537
537
536
536
534
533
532
531
531
529
529
528
528
527
525
525
524
524
522
521
520
519
518
518
517
517
516
511
511
510
510
510
509
508
508
507
506
506
505
504
503
503
502
502
502
502
497
495
495
494
494
489
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
486
485
480
479
479
479
478
478
478
478
477
476
473
473
473
473
473
473
473
473
474
474
474
475
475
476
476
477
479
479
481
481
482
482
483
484
484
486
488
489
490
493
499
500
502
504
509
510
510
512
512
512
513
514
514
516
516
517
523
524
524
525
526
528
529
529
534
539
542
546
549
551
552
556
556
557
565
567
570
572
574
575
578
584
586
588
588
590
594
591
590
588
581
579
576
572
569
565
563
561
550
548
546
544
544
542
540
539
535
534
533
531
530
528
527
524
523
522
521
519
518
517
516
514
512
511
509
508
505
504
504
503
502
500
498
498
497
495
494
492
492
487
485
484
482
476
475
469
466
465
463
459
455
455
450
450
449
449
448
448
447
447
447
446
446
446
446
446
446
447
447
448
449
449
450
450
450
450
448
448
448
448
447
447
447
447
447
447
447
447
447
447
448
448
449
449
449
449
449
450
450
450
451
451
451
451
451
451
452
452
452
452
452
452
453
453
453
454
454
454
455
455
455
459
464
477
483
486
494
499
503
510
513
522
521
516
513
507
505
503
502
500
498
496
490
486
482
478
481
500
505
506
507
509
510
511
500
498
494
491
489
474
464
466
467
467
468
469
471
471
472
473
473
473
473
473
473
476
476
479
480
481
481
482
482
483
483
483
484
484
486
487
488
489
490
491
492
493
494
495
496
497
498
498
498
499
499
499
500
500
500
501
502
502
503
503
503
506
507
508
510
511
513
515
516
517
517
520
522
523
524
525
527
528
531
533
537
538
540
543
544
545
546
547
550
554
557
558
561
562
564
566
567
569
571
573
575
577
580
582
583
583
585
586
588
589
591
592
593
594
595
596
598
600
601
604
606
608
608
610
610
611
613
614
617
618
619
620
620
621
623
623
624
626
629
631
632
633
634
636
640
642
644
645
646
649
650
652
652
653
654
655
656
657
658
660
661
662
663
664
665
665
667
670
671
674
675
677
680
681
683
684
686
692
700
710
713
718
720
721
726
737
744
751
760
769
777
781
782
788
791
793
794
795
797
799
801
806
806
810
812
814
817
816
809
803
786
773
765
756
741
732
713
698
693
692
690
689
685
685
675
674
673
669
668
667
664
663
657
657
652
651
649
645
644
643
643
639
639
634
631
629
626
624
623
622
621
621
620
618
618
615
614
613
613
613
611
609
608
604
603
603
603
602
602
602
602
600
598
597
595
595
593
591
587
578
575
572
565
563
558
556
547
546
543
541
539
538
537
536
535
534
533
533
533
534
534
534
534
536
539
541
542
543
544
544
546
546
546
546
546
546
547
547
547
551
552
553
554
554
555
556
556
557
558
559
560
560
561
566
566
565
564
564
562
561
560
560
559
561
563
564
566
566
567
567
568
568
569
569
569
570
570
570
572
573
573
573
574
575
575
575
575
575
575
575
575
575
575
575
575
575
576
576
576
577
578
578
578
579
579
579
580
581
581
583
585
589
589
590
590
590
590
591
591
592
592
592
592
593
593
593
594
594
595
595
595
595
597
597
598
599
601
601
602
603
606
606
607
607
609
614
616
617
618
620
621
622
623
623
625
625
627
627
632
632
633
634
636
638
639
649
653
662
664
666
668
671
674
676
679
679
679
679
673
671
670
661
658
654
642
624
624
614
612
609
602
598
594
592
588
588
587
586
585
584
583
579
578
575
574
574
572
571
571
568
566
562
561
561
559
559
552
545
544
539
538
538
534
533
532
531
530
530
528
528
528
529
530
530
531
531
532
532
533
533
534
534
534
535
536
538
540
543
545
547
548
550
552
553
554
555
557
558
559
560
561
563
566
567
568
569
569
570
570
571
572
573
576
577
577
579
579
582
584
601
603
607
613
622
632
639
645
656
667
670
672
669
667
666
665
660
660
658
655
654
652
650
645
643
640
639
637
634
632
626
624
622
621
619
615
614
611
610
606
604
599
593
592
592
591
589
589
588
585
584
583
577
575
571
567
563
562
561
560
558
556
553
546
538
534
532
530
529
526
525
522
520
518
518
517
517
516
514
514
514
514
513
512
511
511
510
509
507
506
506
503
502
501
501
500
499
498
496
496
495
494
493
492
491
486
484
484
483
479
474
468
465
465
464
463
462
461
461
460
459
458
458
456
455
455
456
458
460
462
464
465
466
467
470
470
472
475
477
485
491
494
497
501
513
517
519
524
531
535
545
546
546
546
543
540
539
538
535
525
523
518
511
508
505
503
501
493
491
490
489
485
482
478
477
476
474
467
465
463
458
450
448
447
446
445
444
440
439
438
437
436
434
433
431
431
430
431
432
434
436
452
455
458
457
455
454
453
452
451
446
445
434
434
434
434
434
434
434
435
435
438
439
440
441
442
442
442
441
440
440
439
438
438
438
438
437
437
437
438
438
438
439
443
443
443
444
445
445
445
446
446
446
447
447
447
448
448
449
450
450
450
452
452
453
453
454
454
455
456
458
459
460
461
462
462
462
462
462
463
463
463
464
464
464
465
465
465
466
466
467
467
467
468
468
468
468
469
469
470
470
470
470
471
471
471
471
472
472
473
474
474
474
474
475
475
476
477
477
478
479
480
480
480
480
484
484
484
486
486
488
489
492
493
496
503
504
504
504
505
516
523
529
531
531
533
534
535
536
538
539
542
542
542
542
543
543
543
545
545
545
545
546
547
548
549
550
550
552
553
553
556
556
557
558
561
565
566
566
568
572
573
576
578
581
584
586
588
590
591
593
595
598
599
598
598
597
597
596
595
595
594
594
594
593
593
593
593
593
593
595
595
596
598
601
603
604
605
608
612
606
601
598
595
585
574
560
543
535
534
531
529
527
523
522
517
514
512
507
505
499
494
492
491
489
486
484
483
483
483
483
483
483
483
483
483
483
483
483
483
488
490
496
499
501
505
507
511
512
515
517
521
523
526
527
529
534
540
543
546
550
552
552
550
540
529
528
524
519
516
515
514
513
511
511
510
509
508
507
506
504
500
497
495
488
485
482
481
479
477
476
476
475
475
475
474
474
473
474
474
475
478
478
479
479
481
484
485
489
490
493
494
495
496
501
500
500
500
500
500
500
500
502
503
504
504
504
504
504
505
505
505
505
505
506
506
506
507
507
507
507
507
507
510
534
553
561
563
563
573
597
602
602
600
600
599
599
599
599
599
598
598
598
598
602
608
615
618
620
621
622
622
624
626
629
630
634
634
635
636
637
638
638
641
643
644
644
643
641
639
634
593
590
587
584
584
583
582
581
576
573
568
566
565
557
549
549
546
545
544
540
537
533
532
532
531
531
528
526
526
525
523
520
515
514
511
510
508
506
504
503
502
502
499
497
496
496
495
493
492
491
491
491
488
486
484
483
477
476
474
473
471
469
464
459
457
456
455
454
453
453
452
451
451
450
450
449
449
448
447
447
446
445
444
443
439
437
436
435
434
433
433
432
430
429
429
425
423
422
417
416
411
410
409
408
406
403
402
402
401
401
399
398
398
398
397
397
396
395
395
394
393
393
392
392
391
391
390
390
389
389
388
388
386
383
382
382
381
381
379
379
376
376
376
375
375
375
375
375
376
377
377
378
378
378
379
379
380
380
381
384
384
385
390
391
393
394
396
397
403
404
404
406
408
409
410
414
415
416
417
420
421
423
427
428
433
434
435
435
439
441
442
443
445
446
448
449
453
455
457
463
466
468
471
476
481
485
486
493
496
505
523
524
525
525
526
527
527
527
528
528
529
529
529
530
530
530
530
531
532
532
532
532
531
530
530
529
528
528
527
527
526
522
522
521
516
516
516
516
516
513
504
503
502
501
499
498
496
480
470
461
459
458
458
457
452
448
446
446
445
443
443
441
441
441
440
439
438
437
437
436
435
435
434
434
432
431
431
431
429
428
427
427
426
426
425
424
423
423
422
418
417
417
414
413
413
412
412
408
407
406
405
404
403
402
401
401
401
400
399
398
392
390
389
388
387
387
387
387
387
387
387
387
387
387
388
388
390
390
394
395
395
393
392
391
389
387
385
384
383
382
380
379
379
375
377
377
379
382
384
384
385
385
386
386
387
387
387
388
390
390
390
390
391
392
392
393
394
394
394
395
395
395
395
395
403
404
405
406
408
409
411
416
418
422
423
424
426
427
428
432
433
432
429
426
422
420
418
418
419
420
420
421
421
422
421
421
421
420
420
420
420
419
419
419
419
419
419
419
419
419
419
419
419
423
424
427
428
429
430
430
435
437
438
439
441
441
442
442
444
446
447
448
452
452
453
453
454
454
454
454
454
458
460
460
460
461
464
465
465
466
466
468
470
470
471
471
471
474
475
475
476
476
477
512
513
513
513
513
513
513
511
510
507
506
493
492
491
490
489
481
480
479
469
468
468
467
464
465
465
466
466
466
467
467
476
477
477
478
481
484
486
486
487
488
489
497
499
500
501
502
506
507
508
502
501
500
499
498
484
483
485
495
495
496
496
496
497
498
499
499
499
500
496
494
482
480
478
476
474
472
471
469
468
466
464
463
460
459
461
461
461
463
463
463
463
464
464
466
468
473
474
477
477
477
478
478
478
479
479
480
480
480
481
482
482
483
486
487
489
489
489
490
490
493
493
493
494
496
498
498
499
503
504
506
507
508
515
517
518
519
537
539
539
539
540
540
541
544
545
546
550
551
551
552
559
559
560
561
563
576
578
579
580
583
582
581
580
578
565
564
563
561
544
543
542
529
528
527
519
517
516
515
514
511
511
508
508
507
504
503
502
501
500
500
500
500
498
498
497
497
497
497
497
498
498
500
500
501
502
502
503
503
503
503
503
503
503
502
502
501
501
500
500
499
499
499
499
499
498
498
497
497
497
496
496
496
496
496
496
496
496
497
497
497
498
499
499
499
499
499
499
491
490
490
489
488
484
483
481
473
473
471
470
470
470
468
468
468
468
468
468
468
468
468
468
468
468
469
471
475
476
477
478
480
480
481
484
484
487
488
493
494
496
497
498
498
498
498
498
498
499
499
499
496
495
494
494
493
492
491
496
497
498
499
500
501
505
506
507
508
510
511
511
509
508
508
507
507
507
505
504
503
503
503
502
502
502
503
503
504
504
509
510
513
514
515
516
519
535
542
548
551
553
554
556
557
558
559
559
560
560
561
561
562
563
563
561
560
559
558
557
555
554
553
552
551
538
539
539
540
540
541
541
543
546
547
548
553
554
560
563
566
568
570
571
571
571
570
569
567
573
579
580
580
579
577
576
575
574
573
570
567
564
561
545
542
540
540
539
539
537
536
534
534
534
534
533
533
533
533
533
532
530
530
530
530
530
530
530
530
530
530
530
530
530
532
533
534
534
535
535
536
537
537
538
538
538
542
543
543
544
544
545
547
547
548
548
548
549
556
558
565
567
568
568
571
572
573
574
575
579
580
581
583
584
585
589
589
590
590
590
592
593
597
598
600
602
607
622
624
624
625
625
627
627
628
647
650
654
666
669
673
679
683
687
691
695
705
707
709
711
713
723
724
726
729
731
733
736
739
745
742
740
739
739
738
737
736
736
734
731
728
725
723
722
719
717
716
719
720
722
730
735
741
742
744
748
745
736
731
714
701
697
686
679
669
661
660
658
656
654
645
644
642
641
640
639
639
638
638
637
637
637
636
636
635
635
634
634
633
632
631
631
628
627
626
625
619
617
616
615
614
609
609
609
608
608
608
608
608
607
606
604
603
603
603
602
602
602
601
600
600
600
599
598
598
598
597
597
596
595
595
595
594
594
593
593
593
592
592
592
591
591
591
591
591
590
590
590
590
589
589
589
589
589
588
584
583
580
572
570
570
569
568
567
566
566
566
566
566
566
565
565
558
558
554
554
554
553
553
552
552
552
548
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
547
546
546
545
545
544
544
544
544
544
543
543
543
542
541
541
541
541
541
540
539
539
538
538
537
537
536
536
536
534
534
534
533
533
532
532
531
531
530
532
533
533
533
535
536
536
536
541
544
548
550
551
563
563
563
563
563
563
563
563
564
564
564
564
564
564
564
564
564
564
564
566
567
568
573
577
578
580
581
583
584
585
585
586
590
592
592
595
595
595
596
597
597
599
602
603
606
607
608
613
614
615
617
620
622
623
627
628
629
632
634
640
644
645
648
648
650
653
655
656
657
657
658
658
659
659
659
659
659
659
659
659
659
659
659
659
658
658
658
658
658
656
651
650
641
641
640
636
636
634
633
631
629
628
625
621
620
618
613
611
609
607
606
606
605
599
599
599
599
598
596
595
594
593
588
587
581
581
581
581
582
582
582
582
583
583
583
583
584
585
585
586
586
586
587
588
588
588
589
589
589
586
586
585
584
584
584
584
584
584
584
588
588
589
589
590
593
593
594
594
594
597
598
599
599
605
609
609
609
610
611
612
613
613
615
615
615
616
617
617
618
618
618
618
618
618
618
617
617
617
617
617
616
616
617
618
621
621
622
623
623
624
624
625
625
625
626
627
627
627
627
627
627
628
628
629
629
630
630
631
631
632
633
634
634
634
634
635
635
635
635
636
637
639
642
646
653
657
658
662
662
663
666
667
667
668
672
672
673
673
675
675
676
676
676
677
678
680
680
681
681
682
682
683
686
690
691
695
696
699
700
700
703
707
708
709
712
713
718
721
725
727
727
731
735
736
738
740
741
742
750
751
753
753
755
756
760
769
771
777
778
780
782
788
789
790
791
793
804
805
807
808
809
810
813
814
815
817
818
818
819
819
826
827
827
828
829
829
831
831
832
834
836
836
837
838
838
839
840
840
841
847
848
857
858
857
857
857
856
852
851
850
847
842
841
840
839
838
824
823
822
821
819
806
803
799
791
788
788
787
786
784
783
781
779
778
777
776
775
774
772
771
770
770
769
763
762
757
755
750
749
748
747
747
747
747
747
747
747
747
747
747
747
751
752
753
754
763
781
784
785
798
800
803
817
820
836
843
841
833
827
826
825
818
810
808
807
797
796
796
792
791
790
787
787
786
786
785
785
784
783
783
782
776
775
774
773
773
772
772
771
766
765
750
749
748
746
745
742
739
738
737
736
735
727
726
725
725
724
715
714
708
707
699
687
687
686
686
685
685
683
682
682
682
682
681
676
675
675
674
674
673
669
668
667
666
663
661
658
656
654
654
655
655
660
660
661
661
661
661
662
665
665
666
671
674
679
680
684
685
687
689
692
697
699
701
702
702
705
707
708
710
711
712
711
711
710
710
709
709
708
707
707
706
705
704
703
701
701
699
697
697
697
695
694
691
688
685
680
680
675
674
670
666
663
663
663
661
660
660
660
660
659
659
649
649
649
649
649
649
649
649
649
649
647
646
642
642
641
641
641
640
640
640
640
644
645
646
647
654
655
657
657
654
654
648
646
643
639
627
626
625
624
623
622
620
619
619
619
619
618
618
618
615
614
614
611
611
610
609
609
609
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
608
607
607
607
607
606
606
606
605
605
605
604
604
604
603
603
603
603
602
601
601
598
597
596
596
592
591
588
588
591
592
594
595
593
592
589
586
585
584
579
579
579
578
578
577
570
567
567
566
562
562
561
561
561
561
562
562
564
565
565
565
559
553
549
549
549
549
548
548
548
547
546
546
545
545
545
545
545
544
547
547
547
547
548
548
548
549
549
549
550
550
550
548
548
548
547
547
547
547
548
549
549
550
550
551
553
554
557
558
559
559
560
560
562
562
563
563
563
564
564
565
566
568
568
569
570
575
575
575
575
575
575
575
574
574
574
577
577
577
581
584
585
585
585
585
586
587
588
588
588
589
589
589
590
591
593
593
594
594
596
596
597
597
598
599
599
599
600
602
602
602
602
603
603
614
616
618
619
620
622
642
651
661
666
670
672
674
677
679
682
683
686
692
694
694
696
697
698
707
707
708
709
709
710
713
714
715
715
718
729
731
733
735
736
737
737
737
738
739
740
740
743
744
745
745
746
747
748
748
750
751
752
752
752
752
752
752
752
752
752
752
752
752
752
752
749
748
746
746
745
745
744
744
744
743
742
741
730
729
725
720
694
689
685
679
676
673
668
665
663
658
657
655
653
651
648
647
645
637
635
633
627
619
617
616
612
609
608
604
603
602
601
600
597
597
596
595
592
591
590
589
578
571
569
563
560
559
558
556
554
551
551
551
551
551
551
551
551
551
550
550
550
550
550
550
549
549
549
549
545
544
543
538
536
533
533
530
530
529
529
526
526
526
526
526
526
526
526
525
525
525
524
524
524
524
523
523
523
523
522
522
521
521
520
520
520
519
518
518
517
516
515
515
514
514
514
513
510
509
508
507
505
505
505
502
502
500
502
502
503
504
505
506
511
511
514
518
519
520
521
523
523
523
522
522
522
522
521
521
521
521
521
521
524
525
526
527
531
532
533
534
534
535
537
538
540
540
545
550
555
557
561
568
580
587
592
595
599
600
603
604
605
606
606
607
608
608
609
611
612
612
614
615
615
616
616
617
617
618
618
618
618
619
619
620
620
620
619
619
618
618
615
615
615
614
613
613
613
612
611
611
610
609
609
609
606
602
600
598
596
593
586
584
581
578
571
566
561
556
552
548
544
540
535
532
529
528
526
525
523
520
519
517
512
510
508
507
506
504
503
502
501
498
497
493
493
492
492
491
490
489
487
487
486
485
479
478
477
474
473
473
472
470
469
466
465
465
460
459
459
458
457
456
455
455
454
453
452
452
451
451
451
447
447
445
443
443
442
441
441
442
442
442
443
443
445
447
464
477
479
481
482
484
486
487
491
494
498
515
517
525
527
543
529
526
525
522
521
519
513
509
507
504
502
496
493
491
482
478
474
471
470
466
458
457
456
455
444
442
438
436
436
435
434
434
433
432
431
430
426
425
424
424
421
420
419
419
418
418
417
413
413
411
411
410
410
410
410
410
409
409
409
409
409
408
406
405
405
404
404
402
402
401
401
400
400
400
400
398
398
397
396
396
397
398
399
399
400
401
403
404
404
407
407
408
409
410
414
415
417
419
421
423
424
426
427
429
431
433
433
434
435
440
448
450
454
450
429
429
426
423
418
412
407
401
396
393
388
379
374
371
369
367
366
364
363
360
361
362
362
363
363
363
363
371
398
400
400
401
402
403
405
407
409
415
418
420
421
421
421
421
420
420
420
420
419
418
418
418
417
415
414
414
413
412
412
411
410
409
409
408
407
406
405
404
400
399
398
397
397
398
398
398
400
400
400
401
401
402
402
402
404
404
404
406
406
406
406
407
407
407
407
407
407
407
407
407
408
408
408
408
408
409
410
412
413
415
415
417
418
419
420
430
431
433
436
437
437
438
439
441
444
451
453
454
456
479
482
485
493
505
507
511
515
516
517
517
518
518
518
519
520
520
520
522
522
522
524
524
525
528
530
533
541
543
544
544
547
548
550
552
554
555
558
562
563
592
596
603
612
618
616
615
615
615
615
615
613
612
612
611
611
611
610
607
602
599
592
589
582
573
571
569
568
564
562
560
555
553
551
550
550
550
549
548
548
548
547
547
547
546
545
545
544
543
543
542
542
542
543
544
545
548
549
552
554
555
557
560
561
562
569
571
577
578
579
581
583
583
582
581
580
579
578
577
576
574
572
571
571
569
568
566
564
563
561
558
554
542
533
529
514
511
499
499
499
497
496
496
496
494
494
493
493
490
488
482
481
481
478
477
477
476
475
474
473
473
470
468
468
467
465
465
464
463
463
463
463
463
463
465
465
465
466
466
467
467
467
468
468
466
464
458
455
454
453
453
453
453
453
453
452
452
452
452
452
452
452
452
451
451
450
450
450
450
450
450
450
450
448
448
448
448
447
447
447
447
446
446
446
445
445
444
435
435
434
431
431
431
430
430
430
430
430
429
429
429
428
428
428
428
428
428
428
427
427
427
426
426
426
425
425
425
425
424
424
423
423
423
425
425
426
426
431
432
437
437
438
438
438
437
435
434
431
421
412
410
410
410
410
410
410
410
409
409
409
409
409
409
409
407
407
407
406
413
413
414
414
414
414
414
415
415
415
416
416
417
419
420
433
450
451
452
458
460
466
465
460
458
457
454
455
459
459
460
463
464
464
464
465
466
466
466
468
469
469
471
471
472
478
482
493
502
517
533
533
525
515
514
507
502
499
497
497
497
497
472
472
470
469
469
463
462
481
481
482
498
501
508
512
517
520
523
529
532
541
546
557
560
563
564
568
569
568
567
567
566
565
564
563
563
562
561
560
558
558
558
558
557
557
557
556
555
555
555
554
554
555
556
556
556
557
557
557
557
558
558
558
560
560
560
561
561
561
561
560
560
560
554
554
554
553
552
556
557
559
559
560
561
562
562
562
563
563
564
564
565
566
566
566
566
566
565
565
564
564
564
564
563
561
560
558
557
556
555
554
550
550
549
548
547
544
544
543
543
543
544
544
545
545
546
546
546
546
548
549
550
551
556
557
557
560
561
562
563
566
568
570
575
582
582
582
576
575
575
574
566
565
564
563
555
554
553
550
549
548
545
543
542
540
537
535
532
531
529
526
522
509
507
505
500
493
490
489
488
486
485
485
484
479
477
476
474
473
470
469
468
467
467
465
463
462
460
455
451
450
450
448
448
446
443
442
442
441
441
440
434
434
431
430
428
427
426
421
417
414
411
409
404
404
404
404
403
403
403
403
403
397
396
386
385
384
382
378
377
376
371
370
368
366
364
363
362
361
361
358
353
350
343
338
337
334
332
329
327
326
326
326
322
319
318
317
316
315
315
314
311
310
309
307
306
301
295
292
288
288
288
287
286
285
284
284
283
283
283
281
281
281
281
281
282
282
283
283
283
283
283
284
284
285
286
287
287
287
288
288
289
289
290
290
291
291
291
291
290
289
287
285
283
282
280
279
278
276
275
274
270
265
264
263
260
260
260
260
259
259
259
258
258
259
259
261
261
261
262
283
288
292
295
298
301
305
308
314
317
320
323
328
333
337
343
345
347
349
350
354
384
391
395
399
404
407
410
410
406
402
398
395
391
391
387
382
379
367
362
358
353
349
344
339
323
314
304
301
289
279
264
260
260
259
259
258
258
257
257
257
256
255
255
262
264
263
261
257
257
256
255
254
253
252
252
251
251
250
248
244
243
242
242
242
241
241
240
238
238
238
240
242
243
245
247
247
247
248
251
251
251
252
256
256
254
252
252
250
249
248
246
245
245
244
243
243
243
242
242
240
240
240
240
240
239
239
239
238
238
238
238
232
232
232
228
227
227
227
226
221
221
220
219
219
219
218
218
217
217
216
215
214
214
214
214
213
213
213
212
212
211
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
211
211
212
213
214
217
217
218
218
220
218
217
214
213
213
213
210
209
209
205
204
204
205
206
207
207
207
208
208
208
208
208
208
209
209
209
209
209
209
210
210
210
210
210
210
210
210
210
210
210
210
210
210
210
209
208
208
206
206
203
203
202
201
201
200
199
199
199
199
198
198
198
198
198
197
197
196
196
196
196
196
196
196
196
196
196
195
195
195
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
195
195
195
195
195
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
194
193
193
193
193
193
193
192
192
192
190
190
190
190
190
189
189
189
189
189
189
188
188
188
188
188
188
188
188
188
188
188
188
188
189
189
189
189
189
189
189
189
190
190
190
190
191
192
192
192
192
192
193
193
193
193
193
193
192
192
190
190
190
190
190
190
190
191
191
191
191
191
191
191
191
191
191
190
190
190
190
190
190
190
190
189
189
188
188
187
187
187
187
187
188
188
189
189
189
189
189
189
189
189
189
189
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
188
187
187
187
188
188
188
188
188
188
188
188
188
188
188
188
188
187
187
187
187
187
187
187
187
187
187
188
188
188
188
188
188
188
188
187
186
186
186
186
186
186
185
184
184
184
184
184
184
184
183
183
183
183
183
183
184
184
184
185
185
185
185
185
185
185
186
186
186
186
186
186
186
186
187
187
188
191
192
192
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
193
194
194
194
194
194
200
200
201
202
202
202
202
203
204
204
205
205
205
207
208
209
210
210
210
211
212
212
212
209
203
202
202
202
206
206
206
199
195
191
191
191
191
191
191
191
192
192
192
192
192
192
192
192
193
193
193
193
193
193
193
193
194
195
195
195
196
196
196
196
196
197
197
197
197
198
198
200
201
201
202
202
203
204
204
205
205
206
203
203
203
201
201
201
200
199
199
198
199
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
202
202
202
202
202
204
205
205
213
214
209
209
209
208
208
207
206
206
205
205
205
205
204
204
205
205
206
206
207
207
208
208
208
208
208
208
208
209
209
213
217
218
219
219
220
219
219
219
211
212
212
212
212
212
213
214
214
214
217
217
217
217
220
220
221
221
221
222
222
224
225
225
226
232
232
232
232
231
230
230
229
228
228
227
226
225
225
225
225
225
225
225
225
225
225
225
225
226
226
228
228
229
230
230
231
235
235
238
238
238
236
236
235
232
232
236
236
236
238
239
239
242
243
243
244
245
245
245
246
246
247
257
264
263
262
262
261
260
257
255
254
253
252
252
252
252
253
254
255
255
255
256
256
257
257
258
259
260
261
261
261
260
260
260
259
259
258
258
257
257
257
257
257
257
258
259
259
261
262
262
263
265
265
266
268
269
271
269
266
264
262
257
256
253
252
251
250
250
249
244
242
239
239
239
237
237
236
236
236
236
236
236
236
235
234
234
229
229
228
227
227
227
226
226
225
225
225
225
224
224
224
224
224
223
223
223
222
222
222
222
222
222
222
222
222
222
222
223
224
227
227
228
233
233
233
233
234
234
234
234
234
236
236
236
235
229
226
225
224
223
223
221
220
219
219
218
216
216
219
221
222
224
225
227
228
229
230
231
231
231
232
232
232
232
233
234
234
235
235
248
260
247
247
246
246
243
242
241
241
240
240
240
241
242
242
242
243
243
244
245
245
246
247
248
250
251
251
253
259
259
259
259
259
258
258
258
257
257
258
258
258
260
260
261
262
262
262
262
261
261
261
260
260
259
259
259
258
258
258
257
257
256
256
255
255
255
255
254
254
253
253
253
253
252
252
252
251
251
251
251
252
252
253
253
253
253
254
256
256
256
256
257
257
258
258
259
259
259
259
260
260
260
260
260
260
260
260
260
260
260
260
260
261
261
263
264
268
268
273
273
276
276
278
278
277
276
275
274
273
273
272
272
272
272
272
271
271
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
270
269
269
268
268
267
266
265
265
261
259
258
258
258
257
257
256
256
256
256
256
257
257
257
258
258
258
258
259
259
260
260
260
260
265
268
268
274
286
287
325
325
326
326
327
327
306
304
303
299
297
297
292
292
291
291
290
290
290
287
286
283
282
282
282
282
284
285
287
288
289
290
292
294
294
295
305
306
306
307
307
309
311
312
312
313
316
317
317
318
318
318
318
318
321
321
321
322
322
322
327
327
327
328
328
328
328
329
330
330
330
331
331
331
331
331
332
332
332
332
333
333
333
333
333
334
334
334
335
336
336
335
335
332
329
327
323
321
305
300
290
286
283
273
273
273
272
271
271
271
270
269
268
268
268
262
262
261
261
261
261
261
260
260
260
260
260
260
260
260
260
260
261
261
261
261
262
262
262
263
264
264
265
268
268
272
275
276
279
279
279
283
284
285
286
286
289
289
291
293
296
296
297
302
302
302
302
302
302
302
302
302
302
301
301
300
300
300
300
300
301
302
302
302
303
303
303
304
304
304
304
305
305
305
305
305
307
312
318
320
321
322
323
323
325
330
333
335
342
343
344
345
346
347
348
344
343
341
339
336
334
329
323
322
321
314
310
307
304
303
298
294
294
294
294
293
293
293
292
291
291
291
291
291
291
290
290
290
289
289
289
289
288
288
288
287
287
286
286
286
285
285
285
285
284
284
284
283
283
283
282
281
280
279
279
278
278
277
276
276
273
272
270
269
268
267
265
264
262
261
256
256
256
256
257
258
258
258
258
258
259
260
260
261
261
261
261
261
261
261
261
261
261
260
259
259
259
259
259
259
258
258
258
258
258
258
258
258
257
257
256
255
255
255
254
254
249
245
244
243
243
240
238
238
239
239
240
240
241
241
242
243
244
244
243
243
239
238
238
238
237
237
237
236
235
235
232
231
231
231
231
230
229
229
228
226
225
224
224
225
225
225
226
226
226
226
226
226
226
226
226
226
226
226
225
225
224
222
222
229
231
231
218
215
217
217
229
232
233
238
245
241
230
225
224
224
223
222
219
219
228
232
233
234
221
221
221
221
221
221
221
221
221
221
219
218
218
217
216
215
214
214
214
214
214
213
213
219
223
222
222
222
223
222
217
217
218
220
226
223
223
223
220
220
220
220
220
222
223
222
222
221
221
220
219
220
224
227
230
231
229
227
226
225
221
221
220
219
213
211
208
208
208
207
207
207
207
206
205
205
206
206
207
207
208
212
213
203
202
202
203
204
204
205
206
208
210
210
211
211
211
211
210
210
209
209
209
208
208
205
204
204
204
203
203
203
204
204
204
205
205
205
206
208
208
209
209
209
208
208
208
208
208
208
208
208
208
207
207
207
206
205
206
206
208
209
211
212
214
217
220
222
223
223
223
222
218
216
215
212
210
208
207
207
206
206
206
206
205
204
204
203
203
209
209
210
211
212
213
214
213
212
214
216
217
217
218
215
212
212
212
212
213
219
223
225
226
226
226
227
227
227
226
226
225
225
224
223
223
223
221
222
226
228
235
236
244
244
244
251
252
252
253
254
254
255
255
256
258
261
274
281
280
280
279
275
275
275
272
271
271
271
267
265
264
263
261
231
220
218
218
218
218
217
217
216
214
214
214
215
215
216
216
214
212
213
214
217
218
216
208
201
201
201
201
201
201
201
201
201
201
203
207
208
211
212
212
212
220
222
222
224
225
227
229
229
230
229
228
226
222
220
220
220
220
220
220
220
220
220
220
220
220
224
225
231
231
233
230
223
221
221
221
221
221
221
221
222
224
224
225
228
228
228
227
225
222
222
221
220
220
220
220
221
221
221
222
222
222
223
225
225
225
225
225
225
225
225
218
218
218
216
215
214
213
212
213
216
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218