1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
1
0
0
1
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
4
4
3
3
3
3
3
4
3
2
2
2
2
3
3
3
4
5
7
9
9
9
9
11
12
15
17
18
19
21
27
28
31
36
36
35
35
34
34
33
32
34
35
35
34
34
34
34
31
31
30
27
24
21
21
21
26
37
40
42
44
46
47
48
49
54
54
55
55
55
57
56
53
53
53
53
53
53
53
54
54
56
57
58
59
60
61
64
65
66
67
71
75
78
82
88
90
99
113
119
128
136
143
147
148
150
151
151
151
155
164
164
165
166
167
170
175
178
179
181
185
187
191
194
196
199
201
201
201
205
207
209
216
218
219
220
227
233
237
238
239
238
238
237
236
239
234
236
241
242
243
243
243
245
248
245
246
248
250
250
250
249
249
249
250
243
242
240
239
238
237
235
227
223
221
207
204
203
202
197
196
190
184
180
180
180
179
179
179
176
172
168
164
160
158
153
151
150
151
152
153
154
156
157
159
161
161
163
163
166
167
167
166
166
166
167
168
170
171
173
175
177
179
183
186
187
189
190
190
193
196
198
199
200
202
202
202
202
202
202
202
202
202
207
219
221
224
226
228
231
231
232
232
232
235
237
240
240
239
239
240
241
241
245
247
252
255
257
262
263
266
267
269
271
284
295
304
303
302
302
302
302
302
301
301
302
302
303
303
307
309
315
321
328
332
336
346
349
350
355
361
362
363
362
362
362
370
370
370
370
370
372
372
373
375
378
382
383
383
383
383
385
387
388
389
391
394
394
394
394
396
399
402
403
402
402
400
399
397
396
395
395
395
394
393
394
398
399
400
402
403
403
403
403
403
402
402
402
402
402
402
403
403
404
404
405
406
406
407
408
408
408
407
407
406
406
406
405
405
404
404
404
404
404
404
404
404
404
403
403
402
402
402
403
405
407
412
421
425
426
433
435
438
440
440
441
441
442
443
444
444
447
450
464
464
465
467
467
470
470
486
485
503
520
520
522
531
554
550
550
544
540
535
535
534
524
520
518
517
517
516
513
503
502
502
501
500
492
488
487
485
485
487
488
487
487
486
485
482
479
476
471
467
466
464
461
457
455
455
455
455
455
455
455
455
459
469
475
467
458
457
460
463
465
468
470
473
473
473
468
464
462
460
454
450
448
445
446
447
450
452
456
458
461
468
472
474
464
461
453
453
456
458
459
463
464
464
464
463
462
458
456
451
450
452
459
463
470
460
457
457
457
457
456
445
446
447
457
447
441
440
444
451
471
467
459
457
472
471
469
470
475
481
473
475
496
503
509
510
518
522
518
510
512
502
502
513
518
507
525
534
530
529
545
531
531
543
552
556
568
572
568
551
553
576
571
567
566
570
577
587
595
588
580
585
590
606
610
616
614
614
626
626
623
623
625
626
615
617
618
621
622
624
634
637
642
638
632
636
647
640
635
636
639
643
649
650
649
659
670
680
673
669
690
695
683
680
676
684
689
701
712
714
703
707
734
726
740
739
744
752
751
748
747
750
762
766
766
782
769
766
770
777
783
784
784
789
795
795
796
802
812
817
819
823
825
826
823
812
809
803
808
815
817
826
825
824
821
820
818
817
813
814
815
830
831
827
810
803
808
813
816
817
818
819
799
798
792
790
787
788
802
799
793
794
795
797
802
803
808
809
811
812
813
814
814
815
813
811
810
808
812
816
818
820
824
829
824
807
802
799
794
819
832
833
832
832
830
829
828
828
823
821
815
818
824
827
846
848
848
847
843
843
842
841
839
837
828
826
828
829
832
832
833
834
836
838
843
849
852
854
855
859
863
865
859
857
856
852
847
846
844
843
843
843
855
856
855
851
850
853
857
865
869
868
865
882
885
896
908
911
913
920
921
922
923
919
918
916
916
915
913
913
914
914
915
921
924
929
929
929
930
931
934
936
939
940
946
947
946
945
944
945
949
951
955
954
954
953
953
963
965
965
965
965
965
965
968
969
970
972
973
973
972
972
971
969
968
967
964
964
963
960
965
967
969
971
973
975
975
978
978
982
992
989
986
974
968
966
966
969
971
975
977
977
977
977
982
977
977
976
976
975
970
970
969
969
974
976
983
987
989
989
989
989
993
999
1002
1016
1021
1026
1032
1030
1030
1031
1035
1037
1035
1033
1025
1024
1024
1022
1022
1022
1026
1031
1027
1020
1023
1020
1010
985
978
976
989
991
990
985
979
957
953
960
963
972
980
953
957
958
959
959
959
959
959
959
959
963
985
989
991
992
993
999
1001
987
974
975
979
980
989
995
970
972
983
983
983
984
971
962
960
963
963
963
963
964
964
964
963
962
961
960
960
973
964
961
938
939
950
953
953
950
941
933
932
924
915
910
902
894
889
882
873
872
869
863
859
852
837
815
807
810
811
810
806
805
802
796
793
791
788
786
776
764
758
749
743
736
730
710
707
705
704
704
704
704
694
682
678
682
688
688
677
669
662
656
634
621
618
612
607
604
587
580
576
576
575
575
561
565
570
566
563
559
540
538
539
541
544
546
548
550
551
549
541
536
535
535
535
535
534
534
533
531
531
530
527
525
522
522
520
520
520
519
518
514
510
508
502
494
494
500
503
505
506
508
526
520
516
514
512
512
513
514
517
518
519
520
517
516
516
514
513
515
516
517
518
518
521
523
525
525
526
526
526
526
527
530
535
536
539
541
541
540
544
553
559
562
563
563
563
572
577
587
599
603
607
604
601
603
611
614
618
622
628
632
634
637
638
638
639
639
637
632
626
621
621
627
630
633
634
634
634
629
634
635
640
643
646
647
648
650
649
649
648
648
648
650
655
659
663
665
665
665
665
665
665
669
670
673
679
682
685
685
685
685
685
683
681
691
697
718
724
731
732
730
727
724
722
721
721
721
721
718
717
719
720
721
727
729
731
732
734
739
739
739
744
744
744
749
758
762
771
773
780
779
778
777
776
779
781
782
784
786
791
791
791
791
791
791
791
791
791
790
790
793
796
802
806
817
818
818
820
825
831
833
833
831
829
827
826
824
824
824
824
826
828
830
835
842
851
857
857
860
868
876
881
885
888
892
898
905
915
918
919
912
895
903
901
885
869
884
901
906
912
941
941
944
949
952
953
954
955
950
948
957
959
966
958
956
956
958
961
965
965
964
963
963
963
963
963
953
963
999
996
989
987
974
971
981
983
975
975
974
973
974
995
994
990
989
989
988
984
964
958
955
955
958
959
959
959
959
959
962
978
978
967
963
955
958
990
990
985
981
979
985
986
989
1007
1016
1024
1007
1023
1026
1020
1019
1017
1018
1023
1024
1022
1036
1036
1031
1030
1031
1031
1032
1031
1029
1026
1023
998
994
988
984
982
978
977
976
975
977
978
980
982
983
979
971
973
974
972
968
966
967
971
969
961
966
968
972
978
978
972
971
971
971
971
975
978
980
987
991
994
995
995
994
993
992
992
996
997
1000
998
997
997
996
991
989
970
968
961
955
950
944
944
946
947
948
949
949
949
948
944
939
937
934
933
932
931
931
930
925
918
908
905
903
900
899
897
887
884
864
866
867
866
858
855
852
850
854
856
845
843
842
844
845
847
847
847
847
847
850
852
862
865
862
860
858
856
853
844
839
837
835
833
832
832
830
829
828
827
839
839
838
838
838
838
838
838
838
838
823
820
815
813
821
824
837
838
837
835
832
831
831
829
820
795
796
799
803
819
827
824
820
817
814
810
805
804
807
810
812
818
818
820
824
825
825
823
815
812
804
801
799
795
795
803
799
798
799
799
803
803
825
826
825
823
819
810
801
803
820
825
828
802
804
811
816
818
820
821
821
825
826
824
816
813
806
807
812
816
826
825
824
822
818
813
807
794
791
791
791
787
784
782
778
781
775
770
777
785
763
750
748
750
752
748
738
734
741
726
726
703
704
714
710
700
687
682
675
682
686
694
687
667
675
681
666
655
650
650
649
642
639
638
640
646
649
636
635
642
643
643
633
624
622
621
618
617
617
630
622
620
623
627
628
618
616
612
607
605
586
583
583
593
598
584
574
567
569
574
578
580
554
557
571
570
566
556
547
537
531
536
546
527
534
536
525
512
523
514
502
506
517
511
520
518
512
504
503
497
493
472
474
480
474
469
470
471
470
451
459
469
469
450
443
439
442
448
452
441
441
442
454
454
454
456
458
464
472
464
460
453
454
455
458
460
463
464
464
464
464
462
459
458
457
454
457
464
467
472
469
465
457
454
452
450
448
446
446
446
451
452
456
462
463
465
468
473
473
473
470
468
452
449
445
440
434
433
427
421
425
430
435
435
436
436
436
436
435
428
435
438
442
445
449
447
444
443
443
442
441
441
440
439
439
437
434
427
429
431
418
410
406
404
401
401
401
403
403
403
403
403
402
401
401
400
399
399
400
402
403
403
403
403
403
403
403
403
403
403
403
403
402
402
402
400
399
396
395
394
396
396
397
399
399
401
401
401
401
400
399
398
397
394
394
391
391
387
385
385
384
384
383
382
382
381
379
376
376
374
371
371
367
366
366
366
365
362
362
362
361
357
356
343
337
336
336
333
331
328
328
328
320
318
310
309
308
307
306
305
301
300
300
299
298
296
295
289
287
271
269
268
266
262
259
255
253
251
247
244
241
242
242
243
244
244
243
239
237
230
229
227
227
227
227
227
224
220
218
210
206
205
204
203
203
202
201
201
200
199
199
198
198
193
190
187
183
181
180
179
176
174
173
171
169
168
168
168
168
168
168
168
168
168
164
162
161
160
159
157
155
153
153
152
152
153
154
155
156
157
161
166
173
176
176
176
177
178
181
181
185
190
196
198
202
203
204
212
218
220
225
233
236
238
239
241
245
246
248
249
249
251
251
250
249
246
244
244
246
249
251
250
246
245
244
240
240
239
236
236
237
237
238
240
238
230
223
220
220
218
216
210
208
204
202
201
201
199
194
192
189
189
186
180
179
179
176
171
166
164
163
163
162
156
153
152
152
148
148
147
143
136
128
120
112
98
91
87
82
78
73
69
66
66
66
66
66
65
62
61
60
59
57
55
54
54
54
54
53
53
53
58
59
56
55
55
54
53
50
49
49
45
44
44
41
37
21
20
19
20
22
24
26
27
27
27
24
22
21
21
19
19
19
18
17
15
12
11
11
11
12
12
12
12
10
10
10
10
10
9
9
8
6
5
4
3
3
3
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
1
1
1
0
0
0
0
0
0
2
1
0
0
1
1
1
1
2
2
2
2
2
2
2
2
2
0