94
94
94
95
95
95
95
95
96
96
97
98
98
98
98
98
99
100
101
102
103
105
105
105
105
106
106
107
108
110
110
111
111
111
111
111
112
112
113
113
114
117
119
119
119
121
122
122
122
122
122
123
123
123
125
125
132
132
132
133
134
135
135
138
139
140
140
141
141
142
143
144
144
145
147
148
149
150
154
154
155
156
157
157
159
163
164
163
163
163
163
165
166
168
169
169
170
170
170
170
163
163
163
162
164
164
163
163
163
164
164
164
164
164
164
164
164
164
164
165
167
170
170
171
171
171
170
170
173
172
170
168
167
167
165
164
164
162
162
162
162
163
163
163
164
167
168
166
160
160
160
160
161
164
165
166
167
162
162
162
163
163
162
163
164
167
168
168
169
170
170
173
174
174
176
177
176
175
174
174
173
172
172
172
172
174
174
173
165
159
159
160
161
163
163
164
164
165
166
166
167
167
167
168
168
169
172
178
176
174
172
173
178
177
178
178
178
178
178
178
177
177
176
162
160
159
157
156
155
153
152
153
154
154
154
154
155
155
156
157
157
159
163
163
165
165
165
165
165
165
165
165
166
167
167
167
167
167
168
168
168
168
169
169
170
170
170
170
172
174
174
174
174
175
177
179
181
182
187
191
193
194
195
201
213
229
237
240
244
246
246
246
246
244
242
241
236
241
244
250
259
259
258
258
258
258
258
258
258
257
257
257
257
261
262
262
263
264
267
268
269
269
270
275
275
275
276
280
281
281
281
282
283
284
286
288
289
290
290
291
296
296
297
297
298
299
304
305
306
307
322
325
328
330
345
344
343
343
343
342
337
335
335
334
334
332
330
335
337
353
354
356
363
364
362
361
361
360
359
359
359
358
358
358
357
357
357
357
359
360
361
362
362
363
364
364
364
371
373
375
377
384
384
386
358
358
366
369
374
380
398
405
406
405
404
403
402
395
394
393
393
396
405
409
414
409
403
398
386
379
368
370
370
371
372
372
373
374
375
375
376
376
376
379
380
380
380
381
382
387
388
389
390
391
394
395
397
396
396
396
395
400
402
403
405
406
413
414
415
420
420
420
420
420
419
418
418
421
422
423
424
424
424
425
426
429
430
431
432
435
438
445
449
453
463
464
467
469
468
467
465
461
460
459
460
461
463
464
479
481
484
485
486
487
488
496
497
498
499
500
505
506
507
507
509
509
510
511
511
511
512
512
509
504
502
487
486
486
482
480
480
479
479
499
502
504
505
507
507
504
503
502
498
489
484
483
481
481
482
482
482
482
484
484
484
484
485
485
485
488
488
492
492
492
492
492
492
491
491
490
490
490
490
490
490
490
490
490
492
494
497
498
500
505
507
511
515
521
527
529
531
535
518
515
512
511
501
499
497
491
490
488
485
483
481
482
486
488
490
492
496
498
503
506
508
525
530
533
533
533
533
533
533
534
534
534
534
534
534
529
528
528
527
525
525
525
524
524
524
525
527
530
530
531
531
532
532
533
535
535
536
537
537
537
537
537
537
537
537
537
541
544
552
555
557
561
565
573
575
575
574
574
573
572
572
577
578
578
579
580
582
585
586
587
587
589
589
588
588
587
587
587
583
580
578
576
574
575
578
579
582
583
584
586
587
588
589
590
590
589
588
588
586
584
584
584
584
584
584
584
584
583
583
582
582
582
583
584
586
586
587
587
595
597
598
600
600
600
600
601
601
601
602
603
605
609
610
611
612
615
616
617
617
622
624
625
626
627
628
631
632
633
630
630
629
627
627
635
636
638
641
649
651
653
652
649
647
645
645
645
644
644
644
644
643
642
642
642
639
638
638
633
631
630
628
627
624
623
622
621
619
619
619
619
619
618
616
610
605
604
607
616
617
617
618
622
623
620
619
616
613
609
604
602
601
599
598
598
598
598
598
598
597
597
597
595
592
588
585
584
583
580
581
584
586
588
589
590
593
595
598
601
602
603
607
608
609
611
614
614
615
618
620
621
623
625
626
627
629
632
635
639
650
652
654
654
652
651
650
649
648
648
647
647
646
645
641
640
639
639
639
639
640
640
640
640
641
642
642
642
644
647
648
650
651
651
654
655
660
661
662
665
666
666
667
669
682
683
685
687
689
691
703
704
705
705
704
703
702
701
701
701
701
701
700
698
695
695
696
697
698
699
699
701
698
697
696
695
694
693
692
687
683
681
686
688
691
694
690
683
683
683
683
679
678
675
673
672
672
672
672
672
672
671
671
670
670
669
669
667
665
644
644
638
638
638
638
635
632
630
629
629
620
618
621
622
628
631
632
633
635
638
638
633
627
622
613
604
604
604
603
603
603
600
600
600
600
600
600
600
600
600
600
600
600
600
600
600
599
597
596
594
593
580
564
566
566
567
568
568
569
569
569
569
569
569
569
570
570
571
571
567
565
563
562
561
561
560
555
552
551
551
550
550
548
548
549
551
551
552
554
557
558
559
560
562
562
564
568
569
574
575
578
580
581
582
583
585
586
589
589
594
596
599
605
616
619
621
623
621
619
618
609
608
606
598
595
593
596
616
621
623
623
623
623
622
622
622
621
621
621
622
624
628
649
649
649
650
650
651
651
652
655
647
643
643
642
642
642
642
642
642
642
651
653
658
658
658
665
677
678
678
681
681
681
681
681
680
680
680
679
679
679
678
678
677
668
667
666
666
666
666
666
672
674
675
677
679
682
690
690
689
688
686
681
679
677
679
680
681
690
693
696
706
709
713
709
704
694
689
685
685
686
686
690
690
691
690
689
687
686
682
681
680
679
677
676
675
674
673
673
673
675
675
678
678
678
678
677
677
673
674
681
682
683
687
688
689
692
693
695
704
703
698
696
696
695
695
695
697
698
698
699
699
700
701
701
701
701
701
701
701
701
701
700
700
699
699
696
696
696
695
695
696
699
700
701
698
698
698
698
697
696
695
691
691
692
692
693
693
693
692
688
687
687
685
684
684
684
685
685
685
685
684
680
680
680
681
681
681
683
684
686
687
688
688
688
686
681
680
678
675
676
676
677
677
678
677
672
672
672
672
673
673
673
669
667
666
666
666
666
663
660
659
659
657
656
656
656
653
652
650
647
646
645
645
645
645
644
644
644
643
643
642
642
642
642
644
644
642
639
637
624
624
624
624
624
624
624
624
627
629
630
635
633
632
631
629
629
630
631
632
633
638
638
639
640
640
639
639
639
638
638
639
649
652
654
654
654
654
654
654
654
654
654
652
652
651
651
649
650
651
653
656
657
657
658
658
659
661
663
665
666
666
664
660
659
657
656
658
661
665
671
671
671
669
672
673
674
673
671
664
663
663
663
664
665
665
665
660
660
660
660
661
663
664
666
667
668
671
673
676
679
680
682
682
682
682
682
682
683
684
684
685
686
687
693
694
695
696
703
705
708
709
719
721
723
723
726
725
724
722
720
723
727
726
726
722
721
721
721
720
720
720
720
717
716
712
708
705
705
704
704
703
702
702
701
701
701
701
701
700
698
698
698
698
698
695
694
693
693
693
694
694
694
694
694
694
694
694
694
694
694
695
695
695
695
694
691
690
687
685
682
680
677
677
677
677
677
677
677
673
673
675
676
677
678
677
675
670
669
671
677
678
679
685
690
691
693
695
696
697
701
706
708
709
710
714
719
722
724
726
735
736
737
739
739
740
741
744
745
749
749
756
759
760
761
762
764
765
766
769
771
784
786
788
791
793
794
795
797
798
805
820
822
823
827
831
833
835
836
839
841
855
857
858
858
858
861
863
864
865
866
875
875
876
877
888
889
893
894
897
898
898
899
911
913
914
917
920
920
919
919
919
919
919
919
925
938
941
943
944
946
946
950
952
955
963
965
966
970
971
968
965
962
968
974
967
967
967
967
967
964
964
964
964
964
964
964
964
964
964
964
964
964
964
964
962
960
960
961
962
964
964
963
962
961
958
958
957
956
953
953
951
949
948
947
945
942
941
940
939
935
934
930
930
930
930
931
931
931
931
932
933
933
931
921
920
918
916
915
914
913
909
908
907
905
904
904
904
904
903
900
898
898
897
893
893
892
892
890
890
889
889
888
887
886
876
873
869
868
868
867
867
866
865
865
865
863
862
860
859
850
849
849
840
840
838
836
832
832
832
832
831
831
819
818
816
814
813
814
814
815
815
814
813
812
810
809
806
805
804
799
797
795
789
788
788
786
785
784
784
783
782
780
779
779
777
780
782
784
786
789
793
795
800
801
802
803
804
805
804
801
799
796
795
794
794
794
794
795
795
796
798
799
800
802
803
804
807
809
810
816
815
815
813
812
811
807
805
797
796
796
796
796
796
796
796
797
797
797
797
797
793
792
789
788
787
788
789
789
789
789
789
787
786
786
785
785
785
785
785
785
786
786
787
787
788
790
791
792
794
795
795
796
798
799
801
802
804
805
806
809
811
816
820
829
834
835
837
843
843
842
841
840
838
836
835
835
836
837
838
839
840
842
843
845
848
851
852
852
854
853
853
852
852
850
850
849
850
851
855
859
859
859
860
860
861
861
860
856
856
855
854
854
856
858
861
863
865
867
868
868
869
869
871
875
876
877
878
880
881
882
882
883
883
887
889
891
894
896
898
900
902
902
902
902
902
902
901
901
900
903
905
908
910
912
892
888
884
882
882
882
882
882
867
863
865
867
868
866
851
849
846
843
844
846
848
850
857
858
860
861
842
821
821
821
821
821
821
821
821
821
821
820
819
819
818
817
816
814
811
808
806
806
803
804
804
804
805
806
809
807
805
803
802
799
787
777
777
776
776
776
775
775
773
769
761
759
757
753
750
749
748
747
746
742
741
732
726
701
703
705
709
714
716
717
715
710
709
704
701
696
680
676
675
674
673
671
668
668
668
666
666
664
662
659
655
654
653
650
648
646
645
644
644
644
642
640
635
634
632
626
625
624
621
618
606
606
607
607
607
609
610
611
611
612
612
610
604
601
590
587
586
583
583
583
582
582
582
582
580
578
573
573
572
571
568
566
561
560
560
559
559
559
558
557
557
556
556
555
554
553
551
549
547
546
545
545
542
541
539
536
535
534
533
532
530
527
527
526
525
523
523
523
522
521
520
519
519
519
519
519
519
519
519
519
518
517
516
515
514
513
512
510
509
507
502
501
500
499
497
493
488
486
486
485
482
479
477
474
470
466
466
465
465
461
461
460
460
460
460
464
462
463
463
463
464
466
466
468
469
471
472
475
476
479
481
484
487
494
501
500
499
499
500
506
518
521
523
523
523
523
523
523
523
527
529
534
539
541
545
550
557
558
559
563
566
568
569
570
572
573
573
573
574
574
575
576
577
579
583
585
585
585
585
585
586
587
589
592
592
593
598
599
599
600
601
601
602
602
602
602
602
602
602
602
602
602
602
603
604
604
605
606
607
607
606
606
606
606
605
605
605
605
605
605
605
605
605
605
603
602
602
602
602
603
604
606
608
609
610
610
609
608
608
607
609
611
613
613
614
617
618
616
615
613
612
613
614
615
615
619
620
621
622
624
628
629
630
631
631
631
631
631
631
631
631
631
631
631
631
630
630
630
630
630
630
630
629
629
628
627
626
626
629
630
630
633
634
635
636
636
637
637
633
632
632
631
630
629
626
626
624
623
623
622
621
618
617
617
617
617
617
617
617
622
623
621
619
618
619
620
621
624
625
626
627
625
623
621
614
609
608
607
608
609
614
616
616
615
613
610
600
596
603
604
606
611
612
614
618
623
623
623
623
623
624
625
626
626
627
627
632
633
634
639
642
643
646
647
652
656
658
662
662
662
661
661
661
661
661
666
667
669
670
672
681
683
684
687
690
696
698
700
702
703
704
707
711
711
714
714
714
715
716
720
718
717
716
710
708
708
706
705
704
704
704
704
705
705
705
704
701
700
699
698
695
693
693
692
692
690
690
688
688
691
693
695
696
695
694
693
689
688
684
682
681
678
677
675
671
671
670
669
668
667
667
667
661
647
645
644
642
641
640
640
637
634
628
624
619
615
615
615
613
611
609
608
607
605
605
603
602
596
593
591
590
588
579
576
573
571
570
564
559
557
557
555
554
551
550
549
549
548
548
547
546
545
551
553
554
556
558
563
563
563
563
564
572
574
577
581
576
576
577
578
579
580
582
584
584
584
586
586
587
587
588
590
590
590
591
592
592
591
586
581
579
576
574
566
566
566
567
567
566
564
560
559
559
560
560
560
560
561
562
562
563
563
563
563
563
564
565
567
568
569
570
574
574
573
571
570
569
569
568
569
570
572
572
573
575
576
577
581
582
588
601
606
609
612
612
610
608
605
603
595
594
592
590
583
581
578
575
574
574
574
574
573
573
575
575
572
568
567
565
559
556
551
541
537
534
529
526
515
511
510
509
507
506
505
504
502
498
497
495
492
492
492
492
492
490
489
487
486
485
484
482
479
470
468
461
460
458
456
455
453
444
439
436
430
427
420
418
417
415
414
413
412
407
403
402
400
398
395
393
391
390
388
385
380
376
375
375
374
374
372
368
366
365
362
362
359
357
355
353
352
351
350
348
348
343
343
340
338
337
337
336
342
347
347
347
348
349
352
352
354
357
357
357
357
357
357
357
356
355
353
351
345
345
345
345
345
345
346
347
348
350
348
344
343
343
345
345
346
347
348
350
351
359
361
360
358
357
355
354
352
371
374
371
367
370
366
362
365
369
375
343
331
327
312
313
313
314
314
315
315
313
312
308
310
313
315
318
335
338
339
337
332
332
332
330
330
326
322
311
306
304
304
304
306
307
307
293
291
291
299
301
302
304
307
308
309
316
317
318
318
319
320
320
322
323
325
326
328
331
340
343
346
347
349
350
350
350
351
352
357
364
368
371
373
375
376
377
378
378
378
379
379
379
379
379
379
379
379
379
379
378
378
378
378
377
377
377
377
378
378
378
379
379
381
382
382
382
382
383
383
384
385
387
388
400
402
404
405
409
409
409
409
410
410
410
410
411
411
412
413
413
418
419
421
421
422
424
425
427
429
436
437
442
447
454
456
457
463
464
467
468
470
473
476
479
492
495
496
497
498
499
500
506
510
510
511
511
508
507
506
501
499
498
497
489
489
489
489
489
489
491
496
499
513
515
516
517
534
542
555
571
570
570
572
575
580
574
572
570
568
564
561
558
555
552
550
550
550
550
550
550
550
550
550
550
554
555
557
576
578
585
588
590
592
594
595
597
597
597
598
598
599
600
600
605
609
615
621
623
624
627
630
632
635
637
638
644
651
652
654
656
657
658
659
660
658
656
654
654
654
654
654
654
654
654
654
655
656
656
658
659
667
693
699
707
721
723
724
726
733
738
726
723
719
715
715
715
715
715
715
718
720
733
737
740
742
750
749
748
748
747
746
745
744
744
743
743
743
749
750
752
752
737
739
743
758
763
764
767
775
805
841
844
846
848
850
851
859
861
865
861
856
844
839
834
830
811
802
792
791
796
803
804
805
811
836
846
849
851
868
870
871
872
872
872
872
872
872
872
872
872
872
874
876
878
868
858
853
848
845
844
841
837
831
829
827
827
827
827
827
813
812
811
808
808
804
800
795
786
780
773
774
775
776
779
783
785
787
790
792
795
814
815
817
817
816
815
814
814
813
812
811
811
811
812
812
813
813
813
814
815
819
821
823
824
826
826
825
825
824
824
824
824
825
825
825
825
825
832
836
838
846
848
850
858
861
866
867
869
869
871
877
883
883
854
854
855
856
857
861
863
863
863
862
861
859
857
856
855
854
849
848
842
835
833
825
822
811
808
805
784
781
777
773
770
752
751
750
746
743
741
736
735
735
737
738
738
739
739
737
731
708
708
708
708
708
707
707
707
710
713
717
725
732
736
739
735
729
726
722
705
703
701
700
701
702
703
704
706
709
710
711
712
713
716
713
711
709
703
701
699
695
691
684
676
676
674
667
664
660
653
646
644
646
652
657
666
671
670
669
668
667
663
659
649
647
644
643
642
641
635
626
610
597
600
604
606
606
607
609
595
583
585
586
587
588
589
590
591
593
602
604
606
613
614
614
613
610
608
600
595
571
568
567
565
553
548
540
532
530
530
529
528
514
511
501
498
489
481
477
474
476
463
459
456
451
437
431
422
418
411
408
403
391
390
387
385
383
381
379
379
379
382
383
384
388
389
390
386
385
379
378
376
375
375
374
373
371
371
371
371
370
370
370
369
369
370
371
372
369
368
367
365
365
363
363
361
360
359
359
359
359
359
359
359
359
360
360
361
361
354
351
349
349
349
347
346
346
345
343
342
342
342
342
342
342
342
341
341
341
339
339
339
338
338
338
339
339
339
340
341
341
341
341
340
340
338
338
338
337
337
336
335
334
333
332
330
335
337
338
341
345
347
348
348
349
348
342
340
338
336
336
335
335
335
334
334
334
325
318
317
316
314
314
314
314
314
314
314
312
312
312
312
312
312
312
312
311
310
308
307
306
305
305
304
301
301
301
301
290
290
290
286
282
282
282
282
282
281
280
281
284
285
285
286
279
278
277
277
275
274
268
268
264
261
261
261
262
261
257
254
254
252
251
250
249
249
249
249
248
248
248
247
248
244
243
243
242
232
232
231
230
230
230
221
220
220
220
219
214
214
214
211
210
210
210
206
206
205
203
203
199
194
193
190
184
184
182
178
177
175
175
175
174
174
174
174
174
174
174
174
174
171
170
170
170
170
170
170
170
170
170
170
170
170
170
169
168
168
168
168
168
167
166
166
165
164
164
164
163
160
158
158
159
158
157
155
155
156
157
156
156
155
154
153
153
153
152
152
152
152
152
152
152
152
152
152
152
152
149
148
146
142
140
138
138
137
137
137
137
137
136
136
135
134
134
134
133
130
130
130
129
128
128
128
128
128
127
124
124
124
124
124
124
123
123
121
120
120
120
122
122
124
125
124
124
124
120
120
119
117
115
113
113
112
111
110
110
110
110
107
106
106
101
99
96
96
97
92
93
92