663
663
663
666
666
666
666
666
666
666
666
665
664
663
665
660
660
660
655
656
656
656
656
658
658
658
658
659
659
660
665
666
667
666
668
669
669
669
669
674
674
675
675
676
676
676
676
677
677
677
677
677
677
683
685
686
687
690
690
689
688
688
688
690
692
694
699
707
708
709
716
718
719
719
718
717
715
713
712
711
712
715
716
717
717
717
717
718
718
718
719
720
720
720
720
720
720
723
723
729
732
733
735
737
747
752
755
755
752
749
746
742
742
743
745
753
753
757
757
758
761
756
757
760
757
756
750
749
748
749
751
751
752
752
753
756
757
757
752
751
745
741
737
737
736
736
736
736
737
738
739
740
739
739
738
738
738
738
738
740
745
746
747
748
751
753
755
756
756
756
760
761
761
762
766
771
772
771
771
771
769
769
768
767
767
768
769
771
778
781
782
784
786
787
791
791
791
791
791
791
791
791
791
791
791
791
791
792
792
792
792
790
786
783
795
797
798
798
799
799
800
807
809
813
814
819
820
821
822
826
828
829
830
833
834
838
841
846
851
852
852
852
852
854
855
855
855
858
860
863
868
869
870
871
871
871
871
871
872
889
892
896
897
898
901
903
906
908
909
911
912
912
913
913
913
913
914
915
916
917
918
919
922
935
936
936
937
937
938
939
940
944
945
945
948
951
954
958
959
964
966
968
972
973
989
996
1000
1008
1012
1017
1021
1025
1029
1033
1037
1040
1043
1046
1049
1051
1053
1055
1056
1056
1056
1058
1060
1062
1075
1077
1080
1092
1096
1099
1106
1107
1108
1108
1108
1108
1108
1108
1108
1108
1108
1109
1110
1112
1114
1114
1113
1111
1109
1099
1094
1092
1088
1087
1085
1084
1078
1077
1075
1068
1066
1066
1062
1053
1050
1049
1048
1038
1036
1034
1034
1035
1035
1037
1037
1038
1038
1038
1037
1037
1036
1035
1033
1032
1029
1025
1020
1020
1020
1018
1018
1017
1011
1009
1007
1003
1001
1001
997
995
991
985
982
972
965
960
951
945
933
921
916
906
899
889
882
879
873
870
869
866
865
859
854
850
848
840
834
828
821
820
816
813
813
812
812
812
812
811
809
809
808
806
806
806
805
803
802
801
800
799
798
796
795
793
790
790
790
791
791
790
790
789
789
788
786
776
773
769
768
767
767
767
767
770
770
771
771
771
771
770
769
769
763
762
760
758
757
754
752
751
750
748
748
747
746
746
746
745
745
744
744
744
744
743
743
743
743
743
743
742
741
740
739
739
739
739
739
739
739
739
739
739
738
737
737
734
733
733
732
732
732
732
732
731
729
726
723
721
720
719
718
715
714
713
715
716
717
718
718
713
710
710
711
715
710
709
709
709
710
712
710
706
704
703
702
702
702
702
701
701
700
699
698
697
698
699
700
698
693
688
683
676
676
676
676
675
669
668
663
660
656
654
653
647
639
637
637
637
637
637
637
640
641
634
632
631
631
630
626
625
624
623
623
622
621
621
622
623
624
631
631
631
630
627
625
624
623
621
620
619
619
619
618
618
616
613
612
611
610
609
609
608
607
606
605
605
605
605
605
605
604
603
602
602
601
599
598
597
598
598
598
593
590
589
589
586
583
582
580
580
580
579
572
571
571
571
571
571
570
570
570
564
563
557
553
553
552
551
548
547
546
545
544
544
542
542
542
542
541
541
541
540
540
537
534
534
534
534
533
533
532
530
528
527
526
526
525
524
524
523
523
522
519
519
519
518
518
513
513
511
510
510
509
508
508
508
507
507
507
507
506
506
506
505
503
501
501
501
501
501
501
503
507
508
509
509
510
512
513
534
535
536
537
539
540
540
541
542
543
549
554
555
555
556
558
562
565
568
569
569
578
580
581
582
582
583
583
583
584
585
587
588
588
589
590
591
591
592
593
595
597
599
601
609
609
610
610
610
611
611
612
616
617
618
619
627
628
630
630
631
633
634
653
657
657
660
664
666
667
668
669
682
681
681
683
688
690
690
690
690
690
690
689
688
685
683
682
681
684
686
687
688
691
691
691
691
686
685
686
690
688
686
679
677
675
671
671
671
671
671
671
674
675
677
684
682
680
679
678
676
672
671
670
669
665
661
656
656
656
655
655
654
647
637
632
632
632
631
630
629
628
627
626
623
622
622
621
621
621
621
622
623
624
624
625
625
626
626
625
615
611
607
600
598
597
596
594
592
586
586
586
585
585
585
585
585
584
584
584
584
584
584
584
584
583
583
581
579
574
569
568
567
564
562
548
543
540
538
536
535
535
532
530
524
519
519
519
513
511
509
506
502
501
496
495
494
493
493
491
490
484
483
481
478
477
476
475
473
472
472
470
467
466
464
463
462
458
455
454
453
453
452
451
449
449
448
447
446
445
444
443
442
440
439
437
436
435
435
434
432
427
425
425
425
425
425
424
424
424
424
423
423
423
421
421
421
421
420
420
420
420
421
422
426
426
425
416
410
408
407
405
404
404
404
405
415
419
424
425
426
426
426
423
421
421
436
436
437
438
439
439
443
446
448
448
450
450
453
464
464
464
463
463
477
477
477
477
478
479
483
486
487
488
493
493
494
495
498
500
501
502
508
509
513
520
523
526
529
534
536
538
540
540
541
546
551
567
574
583
585
589
597
600
601
604
607
609
615
619
621
621
622
622
623
624
626
629
629
630
631
632
640
643
645
647
649
651
653
653
654
654
655
656
657
658
659
659
660
661
664
666
667
675
678
679
681
683
684
685
685
686
687
687
689
693
697
701
704
708
714
715
716
717
730
735
739
749
755
757
764
766
768
770
772
773
774
774
773
772
772
769
764
763
759
759
757
756
752
740
739
736
724
719
707
700
698
697
696
694
694
694
694
694
694
693
691
688
686
683
676
675
674
656
654
651
640
635
631
628
624
623
623
623
622
621
621
621
622
623
624
624
623
618
602
599
596
593
591
592
593
594
596
598
599
597
579
576
572
555
553
551
549
547
546
545
540
533
525
516
515
510
504
502
501
498
494
492
479
477
476
466
464
460
458
457
455
454
453
452
449
449
447
445
444
437
428
421
420
418
414
412
412
406
402
400
399
390
388
386
381
380
380
379
379
378
378
377
377
377
376
375
375
375
375
375
375
374
374
374
374
373
372
371
371
370
369
369
369
368
367
367
365
364
361
361
362
365
357
357
356
356
355
355
355
355
355
356
359
360
361
361
359
360
359
358
352
349
348
349
344
343
342
336
334
333
329
327
326
326
326
326
326
326
328
325
320
319
317
317
316
315
314
314
313
313
313
313
312
310
307
306
305
306
308
310
312
312
313
315
316
308
306
308
307
304
298
297
296
295
295
295
295
288
287
288
289
289
286
285
285
287
289
289
289
288
280
272
272
272
272
272
272
272
270
268
268
268
268
269
269
270
271
271
271
271
272
273
274
277
278
277
277
278
280
281
282
283
284
286
286
286
288
289
290
291
292
293
293
293
294
294
294
294
295
295
296
296
296
295
296
296
297
301
303
304
304
304
304
303
303
303
305
309
310
311
312
314
324
327
331
332
333
334
334
335
336
336
333
333
333
332
332
334
335
348
349
363
365
369
372
376
385
389
392
393
393
393
394
397
398
401
403
404
411
421
425
427
429
431
434
443
449
459
463
464
467
470
471
472
473
477
479
480
487
490
493
495
500
504
510
512
514
514
515
516
517
517
517
518
519
524
525
527
528
532
539
543
543
543
544
545
546
553
558
561
567
569
572
573
576
577
579
583
587
594
599
600
602
604
605
605
608
608
608
607
605
601
595
593
592
589
586
583
581
578
574
571
568
567
566
560
559
558
557
556
555
554
552
551
551
551
550
550
549
549
549
548
548
548
546
545
545
543
536
534
531
529
525
526
527
528
528
528
526
525
524
522
520
515
512
500
496
488
488
488
488
480
479
477
474
472
464
461
459
458
458
457
457
457
456
456
456
454
454
453
453
447
446
445
445
444
444
443
442
435
433
430
424
420
416
415
414
413
412
412
412
412
413
413
413
412
412
411
410
406
395
390
387
386
387
388
389
389
389
390
387
386
384
383
383
378
377
377
373
365
361
358
358
358
358
358
354
353
345
344
334
332
329
328
327
326
325
324
324
324
324
325
325
325
320
317
312
310
309
309
307
306
305
306
305
305
305
305
305
303
303
302
299
299
298
298
298
298
298
294
291
289
288
288
289
289
285
283
282
282
282
282
281
281
280
280
280
279
279
279
279
280
284
284
284
284
283
283
284
284
284
281
274
273
272
271
269
269
267
266
266
266
266
266
266
266
266
266
266
266
266
266
265
265
264
263
263
263
263
263
263
264
265
267
268
268
268
268
268
271
272
274
274
274
277
279
280
282
282
282
282
281
281
281
281
281
281
281
281
281
281
285
285
287
289
289
290
295
298
303
307
308
308
308
307
312
314
315
316
319
320
322
324
326
326
326
328
329
337
337
343
344
347
349
349
350
352
353
353
353
354
355
356
357
360
360
363
366
367
372
374
375
386
390
392
398
400
403
410
411
413
416
417
418
418
418
419
420
420
421
421
421
421
422
423
423
425
427
427
429
431
432
436
438
441
442
443
444
445
447
453
456
458
474
476
480
488
490
493
495
495
495
498
499
501
501
502
503
504
505
507
509
518
521
524
528
533
534
536
537
539
540
542
555
557
560
562
566
568
573
576
581
583
586
591
600
604
605
606
607
608
610
612
615
617
621
622
622
623
624
628
637
642
653
654
653
651
654
658
662
663
663
664
664
665
666
666
669
676
682
684
690
693
698
702
705
707
709
710
714
717
717
717
717
717
717
720
724
735
735
734
734
734
736
738
739
740
749
761
766
768
770
769
769
768
768
765
764
764
762
761
760
759
751
748
744
741
741
742
742
742
742
740
738
736
732
731
731
730
729
727
725
724
722
720
716
711
705
703
702
701
700
699
696
696
695
694
694
694
694
693
693
692
692
692
691
691
685
680
675
673
674
664
659
657
655
654
654
653
653
652
651
650
639
638
637
636
636
635
634
635
636
637
638
639
639
640
640
641
641
641
642
642
642
641
636
634
632
633
636
637
638
639
640
642
643
644
645
646
646
646
646
646
646
646
645
643
642
641
640
635
622
620
620
619
612
611
604
602
601
599
598
597
595
594
593
587
586
581
581
580
578
576
575
572
571
571
571
571
571
571
572
575
576
578
579
581
585
586
586
587
587
588
588
593
593
593
593
595
601
609
616
618
620
623
624
628
632
633
635
638
639
647
653
658
661
667
671
674
674
675
679
684
693
698
707
710
712
716
717
718
721
730
734
738
740
745
747
747
747
747
747
747
747
747
747
749
749
751
752
754
756
759
763
767
769
773
777
779
782
782
782
782
782
782
782
782
782
782
782
782
782
782
782
782
781
780
780
779
778
777
772
770
761
759
754
752
749
745
741
740
743
744
746
747
747
746
744
743
742
740
731
731
724
721
718
716
715
712
713
713
713
712
712
711
709
707
705
703
702
700
698
697
698
700
702
702
701
699
697
696
695
694
693
693
693
693
694
695
698
699
702
705
707
709
714
718
718
717
716
716
715
714
714
713
713
713
713
713
713
713
714
715
715
716
717
717
718
718
724
728
727
726
725
724
724
722
719
716
716
719
719
719
724
730
733
734
736
736
737
738
740
741
741
741
743
745
750
753
754
754
755
756
756
756
754
753
753
754
756
756
757
757
757
756
755
755
753
752
750
749
748
744
742
741
740
739
738
738
739
739
740
740
740
740
738
732
730
718
712
707
703
695
693
692
690
688
687
686
685
681
680
679
678
676
673
666
659
657
655
652
651
649
649
650
651
651
651
651
651
650
644
640
637
637
635
634
632
624
607
598
585
583
580
576
571
567
555
551
546
542
541
540
533
531
526
523
520
517
517
516
516
512
509
505
498
494
488
483
479
476
476
475
475
474
472
471
469
456
448
446
442
440
438
435
433
429
429
428
427
420
411
406
403
394
391
388
381
372
365
355
350
349
349
349
349
349
349
349
349
349
349
345
341
335
334
335
333
333
335
336
336
335
335
331
327
326
326
323
320
316
312
310
308
300
298
297
296
294
289
287
282
280
280
280
280
283
283
285
285
285
287
287
288
289
290
292
292
293
293
302
305
306
306
306
307
309
315
315
316
319
320
321
322
323
324
330
332
341
347
348
347
348
351
355
354
353
353
353
354
356
364
364
363
361
361
361
362
366
363
362
361
361
361
360
359
359
357
338
332
331
329
325
323
322
309
302
298
286
287
288
289
290
290
289
285
284
289
301
303
307
311
315
316
316
320
321
325
328
327
323
319
306
309
303
289
266
263
235
229
226
224
223
221
204
204
204
204
199
199
199
199
199
199
199
200
200
200
200
200
200
200
200
198
198
198
198
198
199
200
200
200
200
199
199
196
196
196
196
196
195
195
195
195
195
195
196
197
198
199
200
200
201
201
202
202
202
203
203
203
202
202
202
200
200
200
199
199
200
200
201
205
205
205
205
205
204
204
203
203
201
200
194
194
194
194
194
194
193
193
193
193
192
192
192
192
191
191
191
190
190
190
190
189
189
189
191
192
192
194
196
196
196
195
188
188
189
191
193
194
196
196
197
198
199
204
207
209
211
215
214
213
209
209
201
197
197
195
195
190
187
185
180
179
179
179
179
179
179
179
181
181
181
180
177
177
174