4
1 2
4
2
3
5
8
500 6
1
2
5
2
3
4
1
2
4
17 2
9
8
7
6
1
26 0
87
1
102 0
1
2
26 101
1
2
2
26 2
1
2
1000
17 31
306
268
718
149
314
832
319
191
50
762
132
202
220
543
288
115
335
295
155
203
732
276
358
603
167
69
824
395
725
561
359
507
878
19
355
575
225
354
446
70
513
140
168
698
715
723
646
703
756
50
832
585
879
154
966
478
500
520
543
18
570
859
865
80
957
475
787
445
889
904
380
11
428
326
918
642
187
16
467
930
125
649
988
604
918
512
994
364
692
893
776
813
373
457
167
480
616
144
324
763
639
22
730
185
547
913
241
49
358
450
412
621
333
715
779
481
365
40
434
649
551
551
427
241
357
724
493
214
482
212
408
825
199
380
303
666
548
412
810
263
130
608
143
174
588
548
475
739
500
751
307
328
878
749
191
11
735
421
561
203
309
844
66
559
822
900
437
47
124
572
910
476
819
746
10
300
246
53
185
855
472
811
529
564
162
582
28
937
799
862
74
27
251
876
987
953
527
771
211
911
312
581
383
310
653
325
630
119
955
542
49
398
397
89
764
638
605
95
645
815
760
532
77
559
435
55
611
345
526
223
212
750
638
734
151
101
305
311
679
268
95
67
522
179
951
836
669
840
972
827
942
467
472
452
464
910
633
151
822
178
714
2
860
584
276
382
666
706
585
620
904
875
165
180
158
881
552
731
398
589
878
753
968
164
857
686
659
426
878
948
430
16
301
689
851
533
465
190
73
697
456
571
696
294
173
86
345
10
366
869
495
505
907
787
524
579
686
494
981
340
505
95
890
892
306
753
407
778
557
400
580
1000
502
286
872
34
844
312
174
225
709
156
930
941
935
968
793
168
378
20
861
987
279
146
593
943
508
260
263
728
466
929
172
866
341
523
742
941
101
697
814
551
798
74
283
439
220
670
77
849
979
256
937
836
543
340
925
11
543
152
926
463
234
493
95
66
849
843
875
30
822
614
713
336
276
337
407
477
3
857
791
654
691
199
747
162
282
98
880
885
870
647
596
499
169
888
608
809
67
349
463
45
479
969
194
439
769
345
463
532
199
700
654
227
511
672
776
710
592
983
938
880
682
642
508
155
649
494
303
355
688
70
701
666
25
166
91
459
541
207
876
673
962
535
104
365
299
361
207
951
64
708
703
754
979
134
394
296
456
521
957
458
617
349
189
404
53
732
687
52
875
649
373
703
685
212
238
986
8
914
275
898
370
5
262
826
358
78
963
483
860
41
915
322
548
62
93
2
465
774
605
373
5
743
822
934
68
129
899
182
59
670
349
835
729
212
268
959
424
306
886
914
954
770
542
594
890
619
866
312
155
995
532
169
660
88
846
442
291
166
11
586
733
330
486
585
453
344
453
124
565
171
904
616
553
335
155
910
355
679
239
213
284
617
347
886
751
367
433
6
528
439
551
308
797
573
504
567
113
1000
905
456
801
951
918
891
345
850
81
3
957
237
814
566
964
348
473
680
724
107
756
142
785
189
631
553
755
570
173
867
330
252
526
314
631
312
88
626
469
594
60
727
604
244
724
500
784
201
181
703
696
439
702
910
371
699
989
755
519
251
755
839
104
629
470
587
532
900
377
430
927
538
557
481
355
493
827
760
382
813
255
620
159
34
955
903
953
512
240
339
570
823
661
565
224
527
461
293
312
102
127
909
743
904
185
203
93
544
835
750
685
438
568
842
283
718
755
45
337
703
115
301
886
39
179
350
71
207
789
655
794
957
659
130
913
617
17
243
577
794
652
645
972
805
175
864
689
409
798
705
234
566
587
193
131
299
451
991
105
163
46
885
480
672
71
597
53
588
87
863
500
596
676
507
512
290
160
592
611
977
206
459
769
530
48
923
265
260
323
20
968
64
122
253
476
705
233
173
399
449
886
377
161
657
410
914
47
933
950
759
278
662
446
59
858
91
975
906
928
395
619
10
644
365
268
178
473
112
662
89
904
24
161
764
627
620
530
837
455
157
844
735
99
767
88
818
337
88
314
387
258
847
352
237
822
147
564
633
773
241
154
945
129
268
701
63
435
127
895
315
266
818
624
33
322
896
993
955
633
576
751
733
142
16
481
725
347
893
386
410
26
693
930
599
423
705
795
533
868
159
304
779
104
941
569
595
888
344
359
467
917
466
369
903
440
798
837
479
160
80
472
448
993
986
75
845
498
431
574
361
53
298
740
742
706
327
490
26
553
3
391
426
359
943
499
467
689
772
266
577
786
441
168
871
130
375
623
760
562
322
112
940
638
257
362
616
792
58
909
985
807
227
924
516
189
117
99
682
760
347
419
436
849
939
417
349
675
527
653
261
5000
1 1000
857
990
992
926
845
901
958
926
913
873
890
920
973
837
861
913
944
865
849
879
961
918
825
904
972
976
914
997
889
957
996
965
895
970
841
856
888
811
846
973
914
899
851
958
911
866
808
856
951
902
930
955
934
877
886
808
936
858
921
911
849
914
855
807
836
932
960
811
831
870
891
814
933
874
830
854
949
804
923
907
850
808
932
829
822
896
951
823
829
949
981
894
948
848
971
900
827
961
978
934
887
906
856
876
974
948
817
868
883
811
910
985
838
850
940
835
989
971
830
860
834
932
921
978
916
823
917
942
844
974
986
833
889
976
967
811
940
933
857
920
900
823
808
851
961
915
925
948
811
806
938
824
872
870
865
819
901
971
992
821
928
989
899
974
997
863
999
975
980
809
956
890
983
830
896
977
843
814
880
926
829
872
961
908
838
854
851
992
943
932
1000
867
931
950
845
867
890
984
809
933
901
862
806
986
814
837
970
914
862
944
934
929
806
915
899
927
841
931
974
934
810
992
836
910
964
985
972
859
996
881
880
941
872
848
929
808
862
924
837
853
953
974
893
948
846
893
988
961
827
821
1000
902
923
844
836
837
849
937
835
806
904
848
856
896
977
834
926
861
846
926
948
949
909
856
890
838
889
984
863
946
807
986
925
920
923
886
976
875
971
919
807
927
983
910
900
924
996
820
981
882
979
926
923
933
870
893
905
990
988
877
983
815
923
962
915
983
926
837
984
950
952
927
936
815
801
846
871
892
890
868
873
823
869
986
900
888
849
825
911
920
939
925
891
879
903
909
906
920
925
848
843
907
923
916
901
966
956
955
999
960
930
962
813
857
844
866
899
973
987
813
900
858
973
841
990
818
836
839
900
881
880
923
969
804
976
958
992
835
937
900
999
978
999
913
930
980
991
956
816
868
882
986
922
859
884
833
897
959
951
993
850
843
865
963
927
899
921
964
854
966
955
870
932
978
932
997
825
952
1000
805
838
907
830
828
953
946
947
859
944
884
952
825
868
805
860
881
878
935
878
990
897
932
833
943
829
813
982
958
813
875
838
942
853
969
814
987
989
815
992
848
811
877
979
919
956
815
965
992
914
824
988
926
886
995
919
870
926
821
980
963
822
969
959
990
852
944
807
843
987
865
915
885
965
841
868
839
929
951
928
937
998
971
845
887
890
954
999
937
973
801
931
973
953
948
816
819
975
958
941
939
862
828
843
877
859
837
947
811
948
844
955
870
972
825
837
871
922
952
873
847
938
907
816
918
833
898
868
933
807
811
932
986
957
955
809
845
972
802
853
808
964
933
802
941
817
953
846
848
881
869
859
894
860
937
863
870
928
904
804
867
838
894
979
857
980
930
877
941
821
890
843
876
833
892
966
951
864
856
960
904
967
890
831
871
945
992
834
881
852
979
901
820
880
823
859
940
813
877
873
841
842
903
916
895
942
842
838
913
963
839
973
885
998
986
933
944
846
997
926
999
909
980
927
906
895
867
811
872
956
811
982
900
944
854
993
890
917
823
970
905
819
964
948
1000
956
827
916
910
801
806
950
923
853
967
941
930
933
922
943
899
831
985
972
864
854
963
961
893
968
890
856
861
975
869
996
876
976
829
973
915
853
912
940
974
977
920
990
889
974
942
952
931
988
949
960
854
930
905
853
922
879
963
928
976
871
911
993
815
979
906
834
987
829
882
877
988
908
969
947
827
901
904
972
926
802
998
900
903
981
831
984
849
975
888
863
920
816
927
951
963
834
821
864
968
820
842
923
877
901
884
873
992
996
812
853
887
942
811
825
819
941
948
816
953
996
881
909
863
827
821
953
913
979
993
988
877
919
891
802
882
862
983
896
956
804
1000
927
874
870
870
941
925
875
960
923
1000
918
967
829
817
833
882
979
885
859
862
861
931
918
853
955
954
982
891
978
910
939
933
989
855
957
838
937
864
973
849
913
896
911
976
855
951
943
977
944
928
823
911
843
906
825
881
823
853
958
879
831
819
876
907
847
857
986
953
900
819
900
875
978
967
830
901
876
825
979
912
883
991
802
817
805
970
807
811
895
904
913
967
881
850
926
960
903
863
892
949
931
851
858
921
883
851
827
924
943
804
955
892
803
967
904
823
985
879
921
900
967
849
923
943
861
828
995
869
818
921
851
809
884
841
821
935
825
990
942
944
984
939
894
869
824
832
977
856
899
843
846
869
908
821
840
991
889
835
956
901
970
836
916
811
821
977
813
828
922
834
927
970
842
826
960
936
866
916
962
926
841
842
896
886
910
845
805
923
882
986
830
990
820
819
940
984
919
896
878
928
845
909
824
903
864
1000
802
989
891
991
919
941
876
820
974
875
894
882
891
900
923
839
836
941
826
874
918
963
907
815
840
891
817
991
826
905
813
883
875
995
844
880
857
957
991
996
864
913
892
838
864
998
923
874
826
873
972
901
854
955
826
855
862
922
973
898
827
883
904
813
830
901
954
939
858
920
858
893
821
922
902
967
943
839
886
864
962
970
870
832
820
839
941
935
916
966
982
879
828
894
805
875
977
841
935
920
916
963
957
840
997
874
869
988
966
877
934
824
866
826
947
862
907
834
934
955
881
932
806
881
817
850
936
986
950
838
874
846
986
835
883
940
846
940
991
954
907
831
936
940
993
907
912
931
896
928
801
828
943
926
986
919
815
910
809
945
910
901
820
932
889
811
962
901
967
955
980
991
853
868
893
883
834
919
827
879
987
930
988
884
922
869
966
999
946
895
887
952
823
808
867
969
855
874
833
964
825
887
919
937
987
861
889
976
828
818
994
959
839
957
835
816
970
985
897
835
906
854
849
945
971
848
960
869
924
935
833
866
999
927
990
924
964
862
867
948
846
951
913
981
840
910
917
982
989
963
975
951
933
878
874
984
924
853
810
879
974
926
832
819
912
990
871
813
809
893
950
830
928
806
983
966
924
972
933
931
804
881
816
817
975
916
847
883
960
999
806
936
959
891
965
948
925
985
975
843
989
857
807
896
978
937
899
818
805
805
905
918
933
826
896
950
838
847
909
849
995
858
940
955
985
920
962
817
955
952
955
903
997
926
834
945
811
929
843
991
917
951
999
846
820
896
881
992
898
875
981
906
838
884
966
972
933
915
904
922
844
845
921
804
935
900
860
906
918
943
929
907
976
918
899
984
921
808
914
845
810
904
889
996
837
883
834
917
833
896
853
848
943
936
994
820
864
843
945
937
998
997
891
833
978
843
896
946
888
841
998
908
976
969
919
870
926
973
880
968
992
863
955
826
870
938
930
997
971
838
914
927
956
996
873
945
948
985
901
918
932
833
978
990
848
960
900
853
908
880
985
809
904
871
969
834
914
824
832
949
863
825
867
991
823
883
848
922
953
802
967
848
963
846
910
995
825
853
886
961
816
896
998
827
893
880
974
872
991
911
895
992
971
965
898
973
916
830
860
959
929
860
879
831
881
895
998
917
918
870
996
932
908
993
955
949
895
843
863
805
963
904
938
917
917
855
966
870
837
927
958
929
897
952
807
882
990
983
955
813
942
925
808
890
915
844
939
858
988
944
926
862
891
994
871
847
913
842
895
924
981
971
832
965
1000
992
809
893
976
894
930
982
939
850
854
836
949
847
970
903
965
844
922
920
910
835
977
972
970
856
968
953
950
978
925
937
914
809
978
879
929
875
999
917
957
982
901
843
824
832
958
833
859
976
827
892
803
802
941
973
854
969
842
895
846
860
920
850
867
827
897
867
913
932
804
912
816
985
925
943
856
938
973
823
839
965
840
949
969
850
893
959
985
978
953
984
924
909
954
815
970
979
900
936
982
947
964
853
954
937
830
870
908
877
964
886
932
864
840
814
925
809
993
815
990
855
851
862
840
912
926
966
935
809
844
997
857
932
856
971
897
869
982
885
932
858
842
884
842
994
987
846
923
903
978
927
805
938
979
1000
826
852
821
906
952
854
845
946
809
988
855
817
890
803
908
847
871
855
886
817
856
820
854
940
961
850
888
947
952
825
986
881
950
875
874
860
922
817
810
908
828
897
889
897
960
890
902
957
946
849
941
832
949
995
943
981
914
907
821
905
874
801
825
913
854
903
876
980
807
871
954
853
920
926
897
810
909
944
893
900
903
821
990
902
976
914
874
843
981
865
962
990
838
1000
817
847
806
952
877
925
921
865
997
863
976
1000
840
865
925
838
888
969
914
809
978
819
920
872
947
825
967
803
969
802
850
971
885
925
873
958
948
841
999
872
961
868
998
835
923
904
921
948
814
878
878
937
813
953
866
974
867
969
948
846
929
954
992
879
990
841
953
979
861
923
891
839
841
878
809
893
924
823
991
971
871
817
924
973
952
882
931
941
901
807
996
835
974
977
913
942
898
932
815
979
814
820
956
833
922
839
823
925
948
863
929
910
982
832
836
873
837
925
807
842
834
971
811
987
859
815
962
929
801
844
870
926
993
944
976
975
856
927
895
847
945
826
838
840
837
834
906
960
890
921
990
934
864
826
954
867
828
893
942
897
875
853
843
948
970
913
875
818
915
882
916
978
974
836
879
836
961
921
970
921
937
952
819
870
887
835
976
805
985
915
884
944
968
900
990
913
918
907
852
934
870
812
933
826
950
825
922
813
951
902
993
967
831
962
966
929
861
803
934
962
830
960
963
882
986
895
853
879
937
942
956
833
923
906
949
855
926
940
876
818
910
965
929
982
857
844
869
808
893
872
841
947
849
991
972
850
903
938
898
870
954
868
851
867
809
914
815
934
926
827
928
971
956
854
900
885
984
828
853
869
927
873
845
938
896
930
882
807
833
835
882
876
806
926
837
914
887
940
881
982
862
997
933
831
926
939
832
839
990
820
915
810
816
916
825
857
967
903
873
841
949
913
975
878
911
963
838
811
991
990
867
842
978
995
859
853
815
826
976
884
943
996
808
804
949
910
948
988
844
921
917
839
854
851
838
981
961
965
835
906
909
871
847
968
975
976
828
820
953
986
950
910
893
888
833
896
987
884
852
953
845
939
856
824
810
907
979
937
932
903
941
932
895
827
855
926
971
829
824
885
884
895
912
920
981
919
925
988
900
858
932
974
877
856
931
918
976
991
900
887
864
938
971
845
986
810
821
855
877
844
965
859
986
948
852
981
846
941
818
928
955
896
880
812
926
825
840
866
838
938
962
996
947
975
928
864
872
880
974
846
956
860
853
882
990
948
941
925
803
960
1000
892
855
949
883
990
970
964
904
984
968
951
844
995
818
850
920
840
999
997
827
973
811
888
961
931
841
828
944
930
966
816
943
842
891
836
987
870
920
814
854
839
824
982
858
926
907
983
917
980
896
934
905
809
825
963
801
894
975
827
878
948
950
841
839
819
987
833
863
931
855
938
869
821
981
875
901
930
832
874
913
899
946
832
928
961
958
919
937
835
861
848
996
854
811
888
804
978
986
883
871
927
931
983
805
888
810
1000
939
845
802
918
974
898
819
989
927
914
949
932
863
998
877
842
993
812
830
857
993
966
949
927
808
917
849
904
989
906
996
866
807
956
982
863
921
890
836
920
966
924
810
853
979
837
926
814
928
931
994
956
833
951
871
936
956
864
836
928
811
803
855
888
828
895
964
966
884
910
922
969
899
846
884
987
804
840
956
909
804
813
856
985
859
847
962
972
982
982
945
913
892
888
989
811
1000
973
811
829
946
817
956
819
928
866
919
827
972
818
863
967
867
911
862
858
841
804
837
810
881
910
880
944
996
908
937
877
804
886
814
947
864
896
929
901
856
979
974
817
871
816
924
829
864
1000
950
931
900
817
818
825
881
897
983
940
892
896
897
944
908
931
979
832
894
938
845
902
852
825
901
907
822
940
836
961
917
823
873
863
917
938
900
859
975
994
890
938
988
834
845
961
903
934
850
979
937
963
910
911
824
825
826
893
977
868
978
972
936
819
969
808
828
985
982
895
917
838
957
882
979
889
844
940
946
933
888
913
900
942
836
941
842
864
912
858
812
885
831
907
830
816
939
838
839
984
820
974
934
827
822
900
864
963
864
932
957
869
999
843
973
818
879
961
880
879
852
817
851
802
985
901
849
894
923
988
870
852
916
886
917
904
987
948
883
867
855
803
922
902
903
995
901
859
893
897
857
990
851
854
989
991
867
989
874
938
886
929
816
947
818
864
958
983
993
856
897
893
939
988
935
911
990
956
844
843
813
899
880
996
868
843
841
805
867
970
857
864
864
889
813
850
869
891
894
860
821
987
957
854
894
995
917
839
811
996
829
883
843
956
923
911
970
856
909
837
814
984
828
876
947
901
909
807
876
829
970
811
906
982
858
860
888
994
819
863
833
851
837
917
908
937
919
829
956
884
896
892
869
900
934
948
874
866
857
949
825
873
843
911
938
888
945
929
934
938
927
999
900
905
956
916
911
936
888
887
987
973
888
967
887
902
942
964
827
933
809
866
837
866
927
985
939
978
832
992
862
802
983
837
985
845
999
979
820
972
835
862
839
913
889
917
970
979
857
936
812
959
963
958
996
858
946
846
895
980
861
982
898
834
903
973
816
852
943
861
858
933
819
828
812
894
978
807
847
984
899
943
940
989
944
857
861
887
852
840
805
845
922
902
807
920
801
837
968
831
934
840
921
876
960
816
843
937
946
826
854
845
811
995
932
1000
828
957
920
949
988
999
887
880
976
866
823
819
862
983
927
902
807
934
856
829
959
999
888
869
843
875
893
826
831
938
807
944
857
920
866
990
835
832
871
878
887
920
892
815
954
970
805
952
915
927
859
968
962
820
852
878
818
998
961
999
923
889
817
817
993
882
982
897
996
991
990
892
824
941
841
893
936
898
1000
951
805
944
985
980
951
865
808
838
872
824
967
981
909
866
896
878
946
876
893
931
965
974
815
936
820
900
819
899
875
838
818
819
925
956
970
871
937
820
849
854
933
948
880
858
845
874
971
940
827
949
803
884
860
806
870
973
849
804
847
822
894
829
820
999
977
933
853
832
886
906
930
882
826
969
992
998
843
984
868
850
806
834
933
919
814
893
980
975
954
816
871
831
848
860
840
860
858
886
848
915
985
924
819
836
875
995
859
883
942
894
824
826
847
969
938
857
915
998
965
905
897
908
849
934
947
951
897
876
842
817
862
817
888
869
880
872
818
992
998
954
991
964
947
953
982
802
906
951
856
1000
957
955
977
890
813
943
876
901
867
899
979
925
901
986
962
888
876
813
956
947
810
897
928
918
844
878
909
950
866
802
948
841
839
814
911
830
926
953
977
961
966
801
886
867
939
898
844
826
990
902
942
904
846
997
881
803
836
845
808
842
948
822
952
872
899
883
931
976
897
946
831
840
986
854
997
916
809
955
955
812
963
836
809
913
960
837
850
862
829
903
871
845
978
891
845
865
888
816
851
841
824
825
847
957
957
948
843
847
978
835
814
961
882
832
960
876
817
815
933
899
980
802
818
871
989
846
867
875
830
849
953
854
980
991
965
878
955
840
957
899
854
871
829
909
903
825
916
805
883
926
931
846
992
864
911
809
870
912
832
976
808
946
866
968
976
974
830
993
866
871
968
870
868
954
979
881
826
939
841
872
966
959
915
1000
902
818
856
847
899
992
860
947
968
846
833
815
832
852
868
963
883
873
880
951
852
874
924
999
991
965
885
830
837
906
972
914
928
901
975
874
957
875
932
839
881
950
877
900
990
850
843
879
980
904
819
821
839
856
982
891
972
885
884
922
908
842
840
895
941
802
887
943
906
806
998
969
834
955
835
838
909
967
901
958
847
895
812
848
942
949
975
894
988
826
955
846
903
965
928
816
949
930
813
895
858
826
842
815
856
849
849
896
984
858
818
984
978
917
924
852
941
813
982
929
847
997
947
809
959
881
949
944
877
849
933
957
805
925
934
864
931
859
940
920
994
999
861
930
944
875
890
851
961
872
948
949
930
952
902
803
908
969
927
936
860
967
839
977
982
950
855
864
955
863
968
931
816
832
870
944
873
807
847
890
954
897
895
996
976
808
939
895
874
869
965
998
821
945
863
962
936
899
985
860
907
815
983
933
899
1000
884
807
957
897
896
865
840
991
897
816
975
943
858
802
821
834
856
959
832
978
874
918
915
810
958
996
983
996
825
858
851
959
997
915
874
835
955
917
876
858
993
985
890
916
933
923
915
813
987
906
815
817
809
972
811
843
802
930
847
902
908
888
948
892
926
848
973
820
917
878
875
831
889
884
892
809
833
820
824
940
900
979
824
989
996
854
997
803
828
919
935
865
818
810
945
919
846
870
930
845
952
993
841
885
995
855
824
851
977
850
973
919
859
841
888
907
938
952
850
956
964
915
893
894
875
832
931
947
955
991
855
996
965
832
982
894
836
811
838
964
902
936
908
884
968
828
967
909
951
955
868
825
944
978
951
805
817
923
818
921
836
837
840
939
872
951
826
894
854
903
843
826
872
929
823
936
933
862
988
983
963
999
957
917
935
960
823
974
953
965
801
861
860
827
896
966
889
892
974
824
897
818
925
803
893
852
964
872
823
885
987
995
914
973
841
987
804
822
915
989
919
999
939
872
934
937
807
956
818
987
910
833
867
910
969
844
837
890
975
953
853
962
967
853
945
834
816
825
858
989
960
808
849
902
857
812
909
899
924
906
829
835
896
878
996
947
995
949
850
822
938
825
977
857
808
851
825
959
889
971
926
961
966
871
897
942
830
933
818
894
932
850
939
877
823
833
910
908
990
950
838
948
815
985
859
930
861
875
845
927
980
824
838
873
956
920
946
922
807
825
823
929
985
967
907
972
834
882
964
993
984
864
904
876
976
976
863
811
943
930
849
997
964
838
976
866
964
887
980
813
838
938
837
957
918
940
878
827
848
809
924
994
919
938
998
948
993
896
886
852
808
805
918
962
819
971
807
932
850
852
971
861
805
801
915
914
964
969
914
812
953
986
994
853
855
849
948
965
912
839
921
941
880
899
959
857
896
831
841
959
809
813
900
852
999
806
901
878
899
902
917
959
877
858
905
833
846
837
891
889
813
944
873
890
950
923
918
882
818
966
873
934
985
983
835
933
991
882
895
948
947
817
905
954
900
820
969
902
926
841
943
908
944
914
815
925
933
986
926
990
963
938
981
894
872
957
871
856
949
819
984
990
856
960
832
872
926
852
977
863
966
836
994
963
862
854
861
911
977
932
922
954
829
883
811
819
946
937
806
842
807
945
886
963
806
971
971
842
953
953
990
904
805
876
900
822
994
849
806
835
882
949
986
965
857
975
805
816
888
831
907
879
992
830
847
961
961
977
809
988
801
811
814
999
804
992
963
813
891
809
872
995
893
980
1000
859
907
869
978
883
984
871
920
945
988
818
860
962
830
906
977
987
844
812
841
843
927
901
980
944
964
875
808
940
991
890
938
857
893
823
816
937
837
910
933
1000
999
860
947
824
897
935
953
924
808
889
840
822
870
957
987
871
907
979
809
982
907
847
819
892
991
858
871
838
807
876
981
834
863
994
874
838
826
902
820
946
949
846
957
847
851
926
938
985
987
987
879
909
956
913
843
981
886
820
847
895
998
926
947
865
857
874
824
897
846
806
975
822
828
953
980
960
921
958
846
940
842
949
923
946
994
806
973
959
818
886
896
992
811
972
984
802
902
944
904
868
932
886
979
972
932
867
849
903
830
851
912
922
969
986
857
981
930
923
979
880
965
924
846
819
971
919
831
916
904
874
832
852
822
972
909
973
825
971
830
976
854
870
845
960
863
915
962
925
904
959
882
855
836
910
877
872
820
811
887
825
931
872
932
841
837
842
900
954
942
877
974
964
802
997
851
994
845
991
913
859
842
876
974
955
974
895
916
823
980
997
815
944
826
957
983
844
883
947
913
987
972
914
913
884
912
884
842
855
900
973
898
864
868
857
981
877
929
818
819
806
810
882
894
921
829
941
806
869
925
960
966
998
917
993
937
954
962
824
991
859
856
837
874
842
852
951
810
960
992
995
833
893
832
998
893
999
853
921
944
824
837
991
852
978
965
834
816
813
840
927
934
979
857
900
835
865
843
905
881
802
937
1000
941
926
952
858
996
951
916
872
974
959
994
824
852
806
838
860
865
859
886
937
897
801
864
871
930
841
912
932
803
992
933
879
935
983
841
847
899
876
913
965
966
836
945
937
985
892
946
868
927
922
837
964
808
984
848
848
967
855
986
967
924
840
929
903
936
845
860
920
875
950
803
983
875
990
843
892
858
805
924
858
962
934
877
807
932
976
873
915
833
818
997
825
878
806
833
886
829
982
846
855
827
957
863
999
916
861
809
829
975
966
852
924
982
864
970
866
819
974
985
957
820
853
939
944
969
834
848
903
941
889
946
848
944
953
859
882
957
869
996
913
940
929
832
808
891
955
855
898
980
815
808
833
997
932
978
991
973
905
900
870
917
953
860
874
907
907
993
950
938
954
943
952
912
831
954
909
960
992
847
901
802
820
893
929
809
894
845
862
850
951
921
870
821
853
943
806
835
821
934
993
881
961
809
902
839
916
936
970
923
829
877
983
919
978
1000
883
850
870
928
908
845
919
805
967
989
841
902
952
833
885
884
834
945
837
801
840
935
825
888
921
902
873
828
932
923
884
948
866
886
887
920
875
924
892
959
875
802
926
821
839
989
985
807
867
850
834
972
844
974
886
975
934
936
960
834
947
969
934
811
864
909
805
811
912
936
826
879
955
948
812
829
906
993
859
809
949
879
957
975
884
940
930
962
810
842
938
805
896
816
953
895
915
922
991
963
903
813
891
830
801
840
996
934
945
924
957
871
814
862
998
838
900
812
977
867
952
942
999
807
950
985
963
853
866
995
957
989
969
954
829
944
917
950
908
819
861
895
843
836
856
941
843
982
843
927
960
848
886
989
966
816
977
849
868
850
830
950
888
914
875
987
812
931
806
902
839
925
912
814
899
977
880
834
966
951
870
892
871
922
975
918
1000
945
996
898
806
945
906
980
938
884
862
814
980
861
807
839
889
920
933
841
808
914
840
927
968
858
943
957
950
815
864
885
860
867
888
811
858
892
879
940
801
958
828
846
827
899
876
851
858
809
933
877
823
812
836
957
991
909
827
962
948
928
830
992
940
940
822
824
943
868
964
891
859
948
887
827
973
869
984
823
829
865
834
974
813
859
998
859
958
918
959
813
819
892
914
943
896
831
867
979
968
996
926
906
921
828
873
987
847
983
944
817
965
852
891
956
985
816
846
876
819
970
806
977
956
894
827
918
995
948
802
957
858
888
929
944
888
910
978
875
845
943
857
907
925
5000
1 100
757
390
992
326
345
601
558
226
713
573
390
920
573
937
161
413
644
665
749
479
661
518
325
804
272
776
114
897
389
457
796
865
695
570
741
856
388
311
246
973
314
699
451
458
311
366
808
356
451
802
530
355
434
777
486
508
636
558
221
211
949
814
555
407
136
132
360
411
731
770
391
414
833
674
430
454
349
604
623
207
550
108
232
329
222
296
351
323
129
449
981
794
148
248
871
800
327
261
778
934
587
206
256
276
474
448
717
668
383
111
610
185
138
850
440
635
589
371
230
160
934
332
221
778
516
723
217
642
844
674
386
833
289
776
867
511
940
433
457
520
800
423
908
151
761
915
425
648
511
106
438
724
972
470
265
119
401
371
792
321
128
589
999
574
797
463
199
975
780
809
156
390
683
630
696
677
743
114
880
926
729
572
361
808
138
154
451
592
143
232
300
967
931
450
545
167
790
984
609
533
301
962
506
686
214
137
870
714
462
644
534
129
406
615
599
627
641
431
174
434
610
392
936
710
764
185
472
959
196
281
680
941
972
848
629
408
162
224
537
953
253
874
193
948
746
793
588
161
327
621
500
902
823
544
236
537
149
437
635
306
804
548
656
896
977
634
926
461
746
126
148
349
809
256
390
338
189
984
363
546
707
886
425
920
323
386
476
575
271
719
607
427
683
210
400
224
496
120
881
482
379
626
423
633
370
793
705
490
988
477
983
315
323
562
215
583
826
137
484
250
352
527
336
915
701
446
471
292
290
268
273
923
169
686
200
988
249
125
411
320
339
925
791
979
303
309
906
520
725
348
843
307
123
216
901
566
556
355
399
560
530
462
413
157
644
666
299
973
587
113
800
158
973
741
690
118
336
239
900
881
680
323
969
304
376
658
492
635
537
1000
999
278
499
313
830
880
591
556
516
368
782
286
122
259
984
533
797
359
351
793
450
243
165
363
327
799
121
364
254
166
655
770
232
578
332
197
525
152
300
205
838
107
430
928
153
646
747
759
144
184
452
425
368
605
360
781
978
535
578
990
497
732
333
643
829
113
382
558
313
275
638
642
353
669
314
987
389
815
592
348
911
477
679
519
256
515
565
692
114
824
188
926
786
995
319
670
126
721
980
863
422
869
859
390
752
644
907
243
887
865
615
485
465
741
968
639
229
351
828
437
398
471
945
587
290
854
799
837
873
301
831
273
653
448
216
219
575
158
641
139
862
628
643
977
159
137
147
511
348
144
555
870
672
925
937
171
722
652
673
647
438
307
416
118
333
298
168
533
807
611
232
986
857
955
409
445
972
102
553
108
464
333
302
541
717
353
346
848
581
369
359
494
360
937
163
670
828
304
504
867
238
294
979
657
580
430
777
641
521
490
643
176
433
892
666
151
564
656
860
404
567
890
931
171
145
292
634
281
252
379
801
220
780
123
259
940
213
977
173
241
742
903
916
495
742
942
538
813
163
939
973
385
198
886
533
744
946
197
426
299
709
580
327
306
495
367
111
572
856
311
782
300
144
354
793
290
417
923
470
705
719
164
148
800
756
327
416
710
701
606
250
823
553
867
941
730
733
522
543
599
231
785
572
664
754
763
161
493
368
890
456
661
275
469
996
476
376
629
473
215
453
712
840
874
177
720
490
789
774
342
352
131
688
949
360
454
830
205
753
122
679
763
828
876
571
711
793
815
979
906
434
187
229
382
977
788
508
969
447
527
101
904
972
526
402
698
600
603
581
731
484
949
875
788
563
920
416
227
251
163
634
821
864
468
620
342
823
677
901
284
473
392
996
712
553
987
942
411
925
619
441
748
316
853
696
481
109
563
527
221
853
613
379
793
888
177
719
791
202
782
462
983
896
156
904
500
527
374
670
970
541
325
875
460
923
800
318
467
929
617
933
682
779
285
559
362
461
731
518
653
755
854
882
391
678
810
239
733
689
355
457
138
337
864
173
349
913
596
711
376
255
651
943
477
544
928
823
811
343
906
625
281
223
553
358
679
131
119
176
607
147
257
486
253
500
119
500
675
378
267
230
201
876
925
579
312
783
691
202
517
705
770
907
811
795
704
713
367
881
250
426
960
303
663
992
649
231
451
158
821
183
951
927
224
843
204
955
892
703
467
204
323
385
579
921
400
867
649
123
843
761
828
195
569
818
221
751
109
384
641
621
435
625
590
642
144
884
439
294
469
624
832
177
256
299
343
846
169
308
121
940
891
289
735
856
501
170
236
216
711
321
577
813
328
522
734
827
270
942
226
360
936
966
216
562
526
641
942
196
586
710
245
905
123
882
486
830
290
720
319
340
184
919
996
278
128
145
909
924
703
964
200
602
289
691
491
419
841
676
520
974
775
394
582
291
200
523
639
536
241
526
174
818
463
707
115
540
591
617
491
226
605
613
283
775
395
644
780
457
557
491
396
964
613
792
538
764
898
223
274
726
173
972
301
654
655
226
155
762
322
473
998
927
283
704
313
630
501
354
639
658
920
958
993
321
322
202
567
343
839
286
264
662
170
670
332
720
739
341
135
216
566
782
879
728
194
605
575
577
641
635
420
816
663
257
940
397
674
769
888
966
877
334
924
366
626
347
662
507
934
834
755
981
632
106
881
117
150
136
786
450
738
474
646
986
435
683
540
746
940
691
254
607
131
936
940
193
607
112
731
596
428
801
128
743
626
786
419
715
310
309
345
410
701
120
932
789
511
462
601
567
955
380
591
553
768
293
183
734
119
627
179
487
830
788
184
822
269
966
699
246
895
787
152
623
708
667
369
555
374
533
664
125
387
319
137
687
561
689
476
628
418
494
659
639
557
435
216
870
985
197
935
406
254
649
645
671
948
860
569
624
735
333
766
399
827
690
624
864
962
567
448
146
451
813
381
940
210
717
982
689
763
775
451
133
678
774
284
324
653
210
779
774
926
232
519
712
190
271
513
509
493
150
930
428
906
783
366
824
872
633
831
704
181
916
217
875
116
547
183
460
799
406
636
459
291
465
748
525
985
375
443
589
757
907
596
678
537
299
418
105
405
105
518
733
126
896
650
538
647
609
649
895
558
140
855
685
520
262
417
455
152
255
903
197
126
434
845
211
229
543
891
917
551
599
646
820
296
281
892
398
975
381
906
138
884
766
772
733
615
904
622
144
445
321
204
435
900
360
406
718
443
129
907
676
218
299
284
321
808
314
545
510
104
789
496
937
483
234
817
633
796
453
248
143
336
594
820
464
443
945
137
198
797
391
533
678
143
196
346
688
541
298
708
176
269
119
970
426
473
480
568
692
263
555
326
670
638
730
597
571
238
314
427
156
596
973
645
148
885
301
218
932
433
978
690
948
960
700
953
708
980
385
609
604
971
369
334
914
124
132
249
763
425
267
291
623
283
348
222
153
302
667
348
363
446
710
195
225
753
286
861
216
596
198
627
693
580
674
972
191
111
795
392
771
465
398
573
216
330
360
559
729
860
779
531
881
595
698
317
718
570
196
132
608
693
355
449
495
843
263
705
763
604
538
417
217
955
366
970
237
527
658
829
597
952
407
982
190
383
855
413
642
325
108
690
715
644
739
758
788
544
726
462
391
394
871
847
813
142
495
124
581
371
632
765
1000
992
609
693
976
694
330
582
639
750
854
936
249
747
170
903
965
544
422
520
410
535
277
872
570
356
568
653
650
478
625
237
314
209
878
679
329
975
799
417
757
582
401
543
624
932
758
333
159
376
527
892
403
802
641
573
354
169
842
195
646
860
320
850
867
727
197
967
713
432
304
312
116
285
525
943
956
938
673
623
639
565
140
549
769
750
293
159
285
278
353
884
424
109
254
615
770
479
500
336
382
547
564
653
554
537
830
370
308
777
664
486
632
864
640
414
625
509
893
615
890
455
851
162
440
912
826
366
235
509
744
797
957
232
256
671
997
869
382
985
532
858
542
384
142
894
287
946
523
603
678
227
405
838
879
300
926
852
921
706
952
554
645
746
909
388
155
217
290
903
408
647
371
455
886
517
356
620
554
440
961
950
488
547
352
625
986
481
550
675
374
960
922
917
710
908
228
597
489
797
360
190
602
357
546
149
641
232
449
895
643
481
814
407
721
305
674
201
225
913
954
903
176
680
407
571
554
953
520
826
297
210
709
644
693
1000
103
121
690
702
976
214
874
843
981
565
762
190
138
400
817
647
506
152
477
225
221
165
297
963
876
400
340
165
125
338
488
369
914
409
478
219
320
572
747
925
467
403
769
902
850
371
585
925
873
658
348
841
299
472
961
868
398
935
323
104
921
348
214
878
878
737
313
853
866
574
567
869
448
246
129
554
892
379
890
741
953
179
461
323
291
439
241
778
809
293
224
223
391
871
371
817
124
573
752
282
431
641
801
807
396
835
374
177
313
442
198
832
615
279
314
220
256
833
222
239
923
925
548
263
929
410
682
932
736
373
737
325
507
242
534
371
911
287
859
515
362
329
601
444
470
926
793
544
276
475
956
527
495
747
445
826
538
940
737
134
206
560
890
721
590
634
664
526
954
667
228
493
642
297
175
853
843
348
270
213
375
218
915
682
116
178
174
936
179
736
861
121
770
321
237
852
419
770
887
435
576
905
485
815
684
144
368
800
990
613
518
807
152
634
270
712
633
526
650
225
822
113
551
302
893
367
831
962
966
529
761
903
734
662
530
960
263
282
486
595
253
579
737
242
856
633
723
906
749
355
526
740
376
918
610
965
729
782
357
244
169
108
693
272
741
947
349
791
372
650
303
338
598
870
854
668
651
767
209
214
215
334
726
327
928
371
856
954
900
785
684
328
753
669
327
473
545
538
496
230
282
507
233
835
682
376
406
926
237
314
187
440
581
982
462
997
833
131
226
239
732
939
590
120
815
510
716
616
425
357
367
403
773
841
949
813
175
578
711
163
138
511
391
490
767
142
778
595
259
453
615
726
476
984
743
596
508
404
449
110
648
688
344
921
617
139
254
651
138
181
161
465
135
106
209
971
547
368
175
976
428
320
353
786
350
110
893
288
233
396
387
284
252
953
545
639
556
124
610
407
679
837
532
303
441
732
695
927
355
826
571
829
624
685
384
495
712
720
681
319
925
988
400
758
632
174
577
156
131
718
376
691
200
587
764
338
971
945
286
610
421
455
577
344
565
259
686
448
652
681
446
941
118
928
155
796
480
112
826
925
440
966
638
938
862
796
147
175
228
164
572
580
174
246
556
960
253
982
690
748
741
925
103
160
200
892
955
149
183
590
270
864
504
384
568
751
744
195
918
250
320
240
499
297
827
473
911
288
461
731
141
228
944
830
566
116
843
142
991
936
387
770
520
614
454
139
324
382
358
926
207
483
717
180
496
134
405
509
825
563
201
994
275
127
878
748
450
341
439
119
687
133
863
931
755
238
769
721
181
675
401
130
232
174
413
999
246
332
328
861
158
919
137
735
561
748
996
454
411
388
604
478
886
683
871
427
631
483
805
588
710
700
539
545
202
518
974
898
819
689
627
514
749
932
763
698
777
842
393
612
530
357
193
966
349
727
908
317
149
704
589
406
496
366
407
256
882
563
221
390
436
620
866
624
810
853
179
237
526
714
928
631
294
456
533
951
871
436
356
264
236
128
311
803
955
488
228
195
964
466
984
710
922
269
699
346
684
287
204
340
456
409
404
813
156
585
359
847
262
672
882
582
145
913
692
388
589
111
700
773
311
629
846
917
456
219
428
866
219
627
772
818
763
667
967
311
162
158
641
704
637
110
681
110
380
244
996
508
737
877
604
886
414
947
264
796
529
301
256
279
674
617
671
516
824
429
364
700
550
331
1000
217
618
825
781
597
783
840
892
196
997
944
308
531
579
932
194
738
845
202
952
725
701
807
222
940
936
961
717
823
473
563
217
838
700
859
975
194
790
138
488
534
245
461
703
734
550
779
237
263
110
311
424
725
126
693
177
568
378
972
436
719
869
108
528
285
782
295
617
838
557
582
279
589
144
240
946
733
588
813
200
942
736
641
542
964
712
758
412
985
831
407
830
216
639
938
739
484
220
774
134
127
822
900
764
163
464
832
457
169
999
743
973
118
179
461
680
579
752
417
751
202
185
901
549
194
123
488
970
752
916
986
317
904
287
448
583
667
455
903
622
702
503
395
601
459
793
997
257
390
851
954
589
791
267
589
674
438
886
329
416
847
818
264
558
283
193
556
697
993
839
788
735
711
290
356
544
443
913
699
480
896
468
143
541
205
167
870
357
164
264
889
513
750
669
191
894
160
421
287
457
654
794
895
117
139
311
596
229
183
743
156
823
811
870
856
509
437
614
384
828
376
447
701
309
507
876
629
770
611
106
482
558
260
588
994
519
263
233
251
737
817
508
637
419
129
756
484
196
292
969
700
434
348
474
266
657
249
525
773
643
811
538
288
845
329
634
338
527
999
1000
705
256
116
911
236
888
687
187
873
688
867
787
202
842
464
627
233
409
566
337
166
527
685
439
178
632
592
462
402
583
737
185
845
799
879
420
772
935
562
139
813
589
817
470
979
757
636
912
259
363
858
896
958
246
446
795
780
161
382
998
934
903
273
716
952
343
661
458
333
519
228
512
894
878
707
647
284
299
843
340
889
444
357
361
287
652
440
205
845
722
902
707
820
301
337
768
831
934
840
321
276
760
416
643
237
146
526
254
945
311
595
232
500
228
357
220
549
588
799
787
980
576
166
623
719
462
283
727
802
107
434
456
529
259
899
588
469
343
975
693
426
931
338
807
844
257
820
866
790
135
132
371
978
887
820
892
215
154
370
505
152
415
627
959
968
962
720
452
478
318
798
461
999
623
189
417
317
893
482
982
497
296
591
790
892
724
341
641
293
736
998
500
651
605
644
885
880
951
265
808
938
172
824
367
681
209
266
296
378
746
876
193
831
465
774
515
136
420
600
719
699
275
438
618
419
925
356
870
571
837
720
249
554
333
348
680
858
745
574
771
940
227
749
603
684
760
906
670
473
249
604
147
722
594
429
820
999
177
233
753
932
886
906
430
582
226
769
692
198
343
284
968
550
806
334
833
519
814
293
780
175
854
516
771
431
148
960
540
860
958
886
348
615
485
224
519
336
975
295
359
583
642
194
924
526
847
869
238
857
215
598
665
505
197
108
849
934
447
451
897
176
242
917
262
717
888
969
380
772
118
192
998
454
391
264
147
253
382
902
306
751
156
700
357
155
877
190
113
843
176
901
867
199
679
525
301
986
162
788
776
413
956
247
310
997
328
718
244
478
909
650
666
502
148
741
239
114
611
730
126
953
877
261
466
701
186
767
939
898
944
826
590
802
642
104
746
397
881
103
536
345
308
242
348
222
652
572
699
783
231
776
497
946
531
240
586
154
497
716
909
755
555
312
263
536
209
913
360
937
750
262
329
403
871
845
678
991
745
665
988
316
551
441
424
925
547
657
857
148
743
247
178
435
314
261
782
432
160
176
617
415
733
499
180
602
618
171
489
746
367
575
830
949
153
354
680
991
865
578
155
440
157
899
854
971
429
609
303
925
916
305
883
926
631
646
792
164
111
809
670
812
232
276
108
346
966
768
876
174
730
393
366
671
968
470
868
154
579
881
526
539
841
372
666
459
215
200
602
618
156
347
399
992
760
647
268
146
233
315
132
652
468
563
183
473
680
751
552
674
524
799
191
865
185
330
737
806
372
614
428
601
575
774
157
475
932
539
281
650
677
900
290
550
443
179
480
104
119
221
139
656
482
691
972
685
584
122
808
142
740
595
241
702
987
643
606
406
998
369
134
855
235
738
209
867
901
558
847
195
912
348
942
749
775
394
288
626
355
446
103
665
128
416
349
230
113
795
858
926
442
515
856
249
849
696
984
858
718
384
778
517
824
352
341
513
882
429
347
797
547
609
559
581
249
844
977
249
533
557
805
825
534
264
831
759
940
920
594
499
661
530
144
175
690
351
161
472
748
149
930
152
402
903
508
569
827
836
860
367
739
377
682
250
555
164
755
763
268
831
916
132
870
844
873
707
447
190
954
897
895
896
276
408
439
295
874
369
565
698
621
245
763
762
636
699
585
360
407
415
683
533
499
200
484
807
757
297
996
465
940
291
297
616
275
643
158
102
521
134
756
359
932
478
574
118
715
910
658
296
583
596
625
458
551
859
297
515
174
935
255
417
576
758
293
785
790
816
333
623
315
813
187
806
815
717
109
672
111
143
602
330
347
202
408
988
148
492
126
348
573
320
917
578
375
531
589
284
292
409
233
920
724
740
600
879
324
189
596
554
897
803
328
419
135
565
418
610
745
819
146
370
130
245
652
593
341
685
995
555
124
251
177
750
773
219
659
141
288
907
538
952
750
356
664
615
793
794
675
132
331
647
555
791
555
796
965
532
882
594
436
811
338
664
802
236
508
884
468
328
467
409
151
955
168
725
444
378
951
805
217
123
818
121
336
137
540
139
272
251
726
994
854
103
143
826
672
729
223
136
433
762
688
283
563
899
857
917
635
960
623
674
553
265
601
261
860
327
296
566
389
692
874
324
797
518
725
703
693
752
364
772
623
185
987
695
514
273
941
887
104
622
315
289
419
799
239
272
334
337
407
956
418
587
810
233
767
410
469
744
637
690
275
253
153
162
367
953
445
134
616
425
858
489
760
308
949
602
957
612
309
599
224
606
329
635
496
378
496
447
895
149
450
722
638
625
677
157
708
351
425
359
589
671
326
661
766
871
197
742
730
533
918
594
832
450
339
677
123
133
510
708
590
350
738
248
515
985
559
930
561
375
845
127
280
124
738
473
456
920
846
222
407
425
523
729
985
267
407
672
634
182
764
293
584
164
504
576
676
376
163
811
243
530
349
497
564
638
976
766
364
687
380
413
938
938
437
557
518
640
378
627
648
309
224
594
919
838
598
448
393
796
286
152
908
205
218
862
519
971
507
832
850
252
571
161
605
201
315
114
264
369
214
312
153
286
394
153
355
849
848
865
412
739
821
741
780
499
759
457
896
431
841
359
809
413
700
252
899
906
201
178
199
302
217
459
977
158
205
733
546
537
291
389
713
344
573
190
650
823
518
982
118
166
873
534
685
383
935
533
691
982
695
948
647
517
805
854
800
920
469
802
926
541
343
208
244
414
915
925
233
686
226
890
963
538
181
794
572
157
871
656
149
819
684
190
956
560
732
972
726
952
877
563
366
736
194
263
462
354
461
811
977
632
422
654
529
783
311
219
146
237
106
442
307
145
886
463
106
971
171
442
853
353
490
504
905
776
600
922
794
549
206
135
682
749
786
165
157
875
305
116
688
731
407
479
592
330
947
361
261
277
609
288
601
411
814
899
404
492
163
313
791
409
272
295
893
380
500
859
507
669
478
683
284
471
820
445
588
918
360
162
530
206
677
387
444
512
941
543
227
401
380
844
764
975
808
140
591
790
838
557
893
923
516
437
237
910
233
200
799
660
547
824
597
335
153
224
408
689
740
622
270
357
287
771
207
279
309
782
707
647
919
492
391
358
971
238
107
376
981
234
163
994
374
738
626
902
520
146
249
546
657
747
651
126
338
985
687
287
679
409
556
613
143
181
486
520
947
595
598
626
847
465
257
574
824
797
246
706
375
822
328
453
980
860
221
758
946
540
142
649
123
146
894
606
773
559
518
786
796
692
511
372
984
902
102
944
104
368
732
186
379
472
632
667
749
703
830
551
612
522
169
986
657
981
230
623
479
680
365
624
946
219
971
819
731
816
404
974
232
852
422
772
909
673
325
771
330
276
154
870
545
160
763
915
262
625
904
959
582
855
136
510
477
272
920
111
287
525
231
872
132
241
337
542
200
854
742
877
274
764
502
897
751
594
545
191
313
459
342
776
674
455
474
195
116
823
780
197
215
944
226
357
883
844
883
647
913
987
372
914
413
884
412
784
442
155
600
273
198
764
768
857
881
177
529
618
519
606
210
782
794
421
729
641
606
369
125
260
166
398
117
193
837
654
562
124
491
559
356
237
574
142
952
551
110
660
892
395
433
993
932
298
393
999
553
521
744
924
937
491
452
178
365
934
416
813
440
827
634
779
757
1000
635
165
343
405
981
202
937
500
341
526
452
458
396
551
616
572
174
959
994
824
652
606
638
460
865
859
386
237
897
201
864
571
630
741
612
832
203
492
933
979
435
883
441
747
199
876
513
465
766
436
645
737
885
392
446
968
527
222
537
864
308
784
548
848
267
555
786
967
524
140
129
503
836
445
160
320
975
150
403
183
775
490
443
792
958
305
124
158
862
634
277
907
732
976
373
615
433
218
697
625
478
106
433
586
329
682
946
855
927
757
163
299
616
861
209
729
575
566
452
124
182
964
870
266
119
874
585
257
120
753
839
444
169
734
248
103
641
389
246
448
544
653
359
482
957
869
196
313
540
329
232
508
191
155
355
498
880
515
308
333
897
332
278
591
973
805
300
270
717
853
160
574
207
707
993
150
838
954
943
552
212
731
254
209
360
692
847
501
702
920
793
529
209
894
945
962
450
551
221
670
721
253
343
206
935
221
134
493
581
761
509
102
239
916
936
270
523
629
977
683
719
978
300
383
750
570
128
108
745
219
305
567
689
741
202
152
833
785
584
834
445
837
501
840
835
725
288
621
102
473
228
632
123
884
548
466
286
387
220
675
824
792
959
275
502
626
621
539
689
985
607
867
950
934
972
544
274
986
475
734
536
260
634
347
569
734
511
464
609
805
311
212
136
126
579
855
948
612
829
106
693
359
509
949
879
657
175
784
440
930
662
710
142
338
505
396
116
453
195
115
422
391
663
703
113
191
730
901
140
396
534
445
324
457
271
414
362
298
138
900
212
177
167
652
142
699
507
150
485
663
853
366
895
957
289
269
454
729
844
917
950
208
219
661
395
843
136
856
541
543
282
243
127
260
248
486
989
666
316
977
349
168
750
930
350
288
614
275
187
112
331
306
402
239
125
512
514
699
477
580
734
266
751
970
392
571
322
475
618
500
245
696
398
606
845
306
380
738
384
962
414
380
161
407
239
789
220
533
441
208
514
740
827
968
958
643
657
550
415
864
685
760
467
988
211
658
992
279
440
401
958
828
546
127
899
876
951
858
509
733
677
323
212
436
957
691
809
527
162
748
628
530
492
340
940
522
524
143
168
564
191
159
348
887
227
873
169
784
423
929
365
834
774
113
759
198
459
258
518
759
413
619
292
414
243
896
831
967
179
568
896
626
506
321
628
373
687
747
683
844
617
165
352
391
356
385
616
446
976
919
770
406
677
356
894
327
518
195
848
802
457
958
388
429
244
488
210
478
775
445
943
957
807
325
5000
1 1000
2
2
2
1
2
1
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
1
3
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
1
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
1
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
3
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
3
2
2
2
2
2
2
1
2
2
2
3
3
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
1
2
2
2
2
1
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
1
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
3
2
1
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
2
2
2
2
2
2
2
3
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
3
1
2
2
1
3
2
2
2
2
2
2
2
2
2
2
2
2
3
1
2
2
2
2
2
2
2
2
3
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
3
2
2
3
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
1
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
1
1
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
1
2
2
2
1
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
3
2
2
2
2
3
2
2
1
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
1
2
2
1
2
2
2
2
2
3
2
2
2
2
1
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
1
2
2
2
2
2
2
2
1
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
1
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
1
2
2
2
2
2
2
1
2
2
2
2
2
2
2
3
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
1
3
2
2
3
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
1
3
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
1
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
3
1
2
2
2
2
2
2
2
2
2
2
2
2
3
3
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
1
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
1
2
2
1
2
2
3
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
1
2
2
2
2
1
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
1
3
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
1
2
1
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
1
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
3
2
2
2
2
2
3
2
2
2
2
2
3
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
1
3
2
1
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
1
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
3
2
2
2
2
2
3
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
3
2
2
1
2
2
2
2
2
2
1
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
3
3
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
3
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
1
2
2
2
2
3
2
2
2
1
1
2
2
2
2
1
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
1
2
3
2
2
1
2
2
2
2
2
1
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
1
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
1
3
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
3
3
2
2
2
3
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
3
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
1
3
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
1
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
1
1
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
3
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
3
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
2
2
3
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
1
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
3
3
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
3
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
1
3
2
2
2
2
2
2
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
3
2
1
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
3
2
2
2
1
3
2
2
1
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
1
3
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
2
2
2
2
2
2
1
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
3
2
2
2
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
3
2
1
1
2
2
2
3
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
2
2
2
2
2
2
2
2
2
2
3
2
2
2
2
2
1
2
2
2
3
2
2
3
2
2
2
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
300
16 10
657
390
392
526
845
501
958
326
913
273
490
520
373
37
661
513
944
65
249
879
961
318
225
704
972
576
714
797
289
157
196
165
95
770
441
256
488
811
646
773
714
699
451
358
911
666
208
656
751
102
330
755
734
677
86
808
136
258
321
311
649
314
655
7
36
932
960
11
31
470
291
814
933
874
430
54
149
604
523
907
650
208
532
229
822
296
951
223
29
949
581
294
148
448
971
900
827
561
378
934
287
506
656
676
974
948
817
868
283
611
710
785
638
50
540
635
789
771
430
60
34
532
321
178
116
423
717
942
444
974
986
433
289
176
767
811
340
533
257
120
100
823
208
651
161
315
925
948
211
406
138
24
272
870
265
419
101
371
592
421
928
989
499
574
797
463
799
975
780
809
756
890
583
830
896
177
43
414
280
326
829
872
961
708
838
454
51
392
543
532
400
267
531
750
845
67
290
984
809
933
301
862
6
986
414
37
370
314
262
744
934
929
406
715
299
927
441
531
974
534
10
192
236
310
764
785
972
59
996
681
280
341
272
448
329
408
62
324
37
253
353
974
493
148
246
693
188
161
427
821
600
502
323
44
236
237
649
137
35
406
904
648
656
696
377
434
526
461
46
326
348
949
709
456
690
238
889
584
663
346
607
586
725
320
923
686
576
75
571
519
807
127
983
710
100
724
396
20
781
282
0
