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