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