Anda di halaman 1dari 69

1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6

4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4
4
5
5
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5

5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3
5
3
4
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2

6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5
3
4
3
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4

16.112
19.792
15.573
19.465
20.324
20.536
26.359
31.110
26.892
25.657
30.572
24.586
25.650
30.075
26.721
24.948
30.613
24.415
31.407
31.080
30.336
24.883
30.548
25.421
15.492
19.172
14.783
18.675
19.469
19.681
25.569
30.255
25.866
24.580
29.546
23.574
25.031
29.220
26.037
24.041
29.929
23.744
30.788
30.291
29.782
24.106
29.994

Find minimal path among six points


Input Green Only:
X 3.234 6.000 5.000
Y -4.215 -4.000 -5.000
X
Y
1
2
3
3.234 -4.215 1 0.000 2.774 1.933
6.000 -4.000 2 2.774 0.000 1.414
5.000 -5.000 3 1.933 1.414 0.000
0.327 -0.756 4 4.518 6.535 6.313
1.125 -0.438 5 4.326 6.038 5.986
-2.000 3.142 6 9.028 10.724 10.737
13.072 = Length of minimum path
2 = Number of minimum paths
147 = Line number of first solution

0.327
-0.756
4
4.518
6.535
6.313
0.000
0.859
4.539

1.125 -2.000
-0.438 3.142
5
6
4.326 9.028
6.038 10.724
5.986 10.737
0.859 4.539
0.000 4.751
4.751 0.000

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6

5
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3
6
6
2
2
3
3
5
5
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3

4
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6
2
3
3
5
2
5
2
3
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4

2
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2
3
2
5
3
5
2
3
2
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2

24.815
23.205
27.956
33.814
32.580
38.500
32.514
23.034
27.720
33.579
32.292
38.330
32.357
23.567
32.876
23.502
32.824
22.267
22.280
27.182
31.805
27.247
31.819
21.261
21.209
22.630
27.055
33.949
32.176
38.138
31.940
22.801
26.990
33.884
31.888
38.308
32.124
23.872
33.181
23.636
32.959
21.863
21.876
27.528
32.649
27.764
32.662

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

6
6
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6

4
4
3
3
4
4
5
5
2
2
4
4
5
5
2
2
3
3
5
5
2
2
3
3
4
4
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4

2
3
4
5
3
5
3
4
4
5
2
5
2
4
3
5
2
5
2
3
3
4
2
4
2
3
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3

3
2
5
4
5
3
4
3
5
4
5
2
4
2
5
3
5
2
3
2
4
3
4
2
3
2
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5

21.566
21.344
28.338
28.012
38.586
33.133
38.089
32.962
28.574
28.077
38.651
32.975
38.324
33.146
27.503
32.127
27.333
31.904
21.879
21.827
27.544
32.665
27.715
32.613
22.588
22.366
16.630
20.310
16.091
19.984
20.843
21.055
24.343
29.094
24.875
23.640
28.555
22.569
23.939
28.363
25.010
23.236
28.902
22.704
29.712
29.385
28.641

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
1
1
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6

4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6
1
1
4
4
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1

5
3
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4
4
5
1
5
1
4
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5

3
4
3
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1
5
4
5
1
4
1
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3

23.187
28.853
23.726
13.476
17.156
13.072
16.964
17.774
17.986
21.323
26.025
21.941
22.366
25.621
21.344
20.784
25.294
21.806
21.827
25.698
21.209
26.557
26.365
25.535
21.876
25.747
22.280
23.723
28.474
32.103
30.868
36.805
30.819
23.858
28.560
32.188
32.613
36.939
32.662
24.390
31.486
24.341
33.146
23.107
24.815
28.021
30.415

0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5

3
3
5
5
3
3
4
4
6
6
1
1
4
4
6
6
1
1
3
3
6
6
1
1
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1

1
5
1
3
4
6
3
6
3
4
4
6
1
6
1
4
3
6
1
6
1
3
3
4
1
4
1
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3

5
1
3
1
6
4
6
3
4
3
6
4
6
1
4
1
6
3
6
1
3
1
4
3
4
1
3
1
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4

28.070
32.124
22.085
23.744
23.149
27.573
31.932
30.159
36.442
30.245
23.014
27.524
31.883
31.904
36.308
31.819
24.085
31.181
24.171
32.975
22.398
24.106
28.063
30.649
27.977
32.357
21.780
23.574
28.857
28.530
36.569
31.116
36.377
31.250
28.771
28.579
36.618
32.959
36.292
32.824
27.700
30.094
27.835
31.888
22.381
24.041
28.047

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
5
5
5
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5

1
3
3
4
4
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6

4
1
4
1
3
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4

3
4
1
3
1
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4
2
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1

30.632
27.912
32.292
22.785
24.580
16.852
20.533
16.143
20.036
20.829
21.041
23.775
28.461
24.072
22.785
27.752
21.780
23.371
27.560
24.377
22.381
28.269
22.085
29.079
28.582
28.073
22.398
28.285
23.107
14.317
17.998
13.913
17.806
18.616
18.828
21.545
26.247
22.163
22.588
25.843
21.566
20.836
25.346
21.858
21.879
25.750
21.261

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4

1
1
4
4
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2
2
6
6
1
1
2
2
5
5
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6

4
5
1
5
1
4
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1
6
1
2
2
5
1
5
1
2
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1

5
4
5
1
4
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6
1
2
1
5
2
5
1
2
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2

26.544
26.352
25.522
21.863
25.734
22.267
24.395
29.080
31.919
30.632
36.621
30.649
24.700
29.402
32.240
32.665
36.926
32.649
24.996
31.250
25.013
32.962
23.726
25.421
28.693
30.245
28.676
31.940
22.704
24.415
24.161
28.350
32.090
30.094
36.600
30.415
23.856
28.366
32.106
32.127
36.295
31.805
24.862
31.116
25.183
33.133
23.187

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5

6
1
1
2
2
4
4
2
2
4
4
5
5
1
1
4
4
5
5
1
1
2
2
5
5
1
1
2
2
4
4
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3

2
2
4
1
4
1
2
4
5
2
5
2
4
4
5
1
5
1
4
2
5
1
5
1
2
2
4
1
4
1
2
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6

1
4
2
4
1
2
1
5
4
5
2
4
2
5
4
5
1
4
1
5
2
5
1
2
1
4
2
4
1
2
1
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2

24.883
29.075
30.819
28.754
32.514
22.569
24.586
29.934
29.437
36.857
31.181
36.665
31.486
29.613
29.421
36.841
33.181
36.344
32.876
28.607
30.159
28.912
32.176
23.236
24.948
29.124
30.868
28.819
32.580
23.640
25.657
19.444
24.195
30.054
28.819
34.740
28.754
18.654
23.340
29.199
27.912
33.950
27.977
27.034
36.344
26.969
36.292

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5

6
6
2
2
3
3
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1
3
3
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2

2
3
3
5
2
5
2
3
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5
1
5
1
3
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1

3
2
5
3
5
2
3
2
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3
5
1
3
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6

25.734
25.747
31.671
36.295
31.736
36.308
25.750
25.698
21.979
26.730
30.359
29.124
35.061
29.075
18.960
23.662
27.290
27.715
32.041
27.764
29.569
36.665
29.520
38.324
28.285
29.994
34.206
36.600
34.255
38.308
28.269
29.929
21.809
26.495
29.333
28.047
34.035
28.063
19.579
24.281
27.120
27.544
31.805
27.528
30.123
36.377
30.139

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3

2
6
6
1
1
2
2
5
5
2
2
3
3
6
6
1
1
3
3
6
6
1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
5
5
1
1
3
3
5
5
1
1

6
1
2
2
5
1
5
1
2
3
6
2
6
2
3
3
6
1
6
1
3
2
6
1
6
1
2
2
3
1
3
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5

1
2
1
5
2
5
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1
6
2
6
1
2
1
3
2
3
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2

38.089
28.853
30.548
34.890
36.442
34.874
38.138
28.902
30.613
20.111
29.421
19.256
28.579
26.352
26.365
22.341
29.437
19.272
28.077
28.582
30.291
22.276
28.530
20.062
28.012
29.385
31.080
18.828
17.986
21.041
19.681
21.055
20.536
23.742
28.366
22.953
27.524
25.346
25.294
25.956
28.350
22.936
26.990
27.560
29.220
26.021
27.573

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2

3
3
3
3
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4

2
2
5
5
1
1
2
2
3
3
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3
4
4
3
3
4
4
6
6
1
1
4
4
6
6
1

1
5
1
2
2
3
1
3
1
2
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4
2
3
4
6
3
6
3
4
4
6
1
6
1
4
3

5
1
2
1
3
2
3
1
2
1
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2
3
2
6
4
6
3
4
3
6
4
6
1
4
1
6

23.791
27.055
28.363
30.075
17.806
16.964
20.036
18.675
19.984
19.465
19.367
23.791
30.685
28.912
34.874
28.676
18.748
22.936
29.830
27.835
34.255
28.070
27.531
36.841
27.295
36.618
25.522
25.535
31.805
36.926
32.041
36.939
25.843
25.621
21.597
26.021
30.380
28.607
34.890
28.693
18.442
22.953
27.312
27.333
31.736
27.247
29.761

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2

1
3
3
6
6
1
1
3
3
4
4
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6
6
1
1
2
2
4
4
2
2
3
3
6
6
1
1
3
3
6
6

6
1
6
1
3
3
4
1
4
1
3
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1
2
2
4
1
4
1
2
3
6
2
6
2
3
3
6
1
6
1
3

3
6
1
3
1
4
3
4
1
3
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2
1
4
2
4
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1

36.857
29.847
38.651
28.073
29.782
34.035
36.621
33.950
38.330
27.752
29.546
21.767
25.956
29.696
27.700
34.206
28.021
19.232
23.742
27.482
27.503
31.671
27.182
30.315
36.569
30.636
38.586
28.641
30.336
35.061
36.805
34.740
38.500
28.555
30.572
20.303
29.613
19.448
28.771
26.544
26.557
22.838
29.934
19.770
28.574
29.079
30.788

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6

4
4
4
4
4
4
4
4
4
4
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
2
2
2
2
2
2
3
3
3
3
3

1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3
3
3
4
4
5
5
2
2
4
4
5

2
6
1
6
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2
4
5
3
5
3
4
4
5
2
5
2

6
2
6
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1
5
4
5
3
4
3
5
4
5
2
4

22.603
28.857
20.389
28.338
29.712
31.407
18.616
17.774
20.829
19.469
20.843
20.324
24.281
29.402
23.662
28.560
26.247
26.025
26.495
29.080
23.340
27.720
28.461
30.255
26.730
28.474
24.195
27.956
29.094
31.110
17.998
17.156
20.533
19.172
20.310
19.792
20.389
20.062
30.636
25.183
30.139
25.013
19.770
19.272
29.847
24.171
29.520

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3

3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2

5
2
2
3
3
5
5
2
2
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1
1
3
3
4
4
2
2
4
4
5
5
1
1
4
4

4
3
5
2
5
2
3
3
4
2
4
2
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3
4
1
4
1
3
4
5
2
5
2
4
4
5
1
5

2
5
3
5
2
3
2
4
3
4
2
3
2
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4
3
4
1
3
1
5
4
5
2
4
2
5
4
5
1

24.341
27.482
32.106
27.312
31.883
21.858
21.806
27.120
32.240
27.290
32.188
22.163
21.941
22.603
22.276
30.315
24.862
30.123
24.996
19.448
19.256
27.295
23.636
26.969
23.502
29.696
32.090
29.830
33.884
24.377
26.037
29.333
31.919
29.199
33.579
24.072
25.866
22.838
22.341
29.761
24.085
29.569
24.390
20.303
20.111
27.531
23.872

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5

2
2
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2

5
5
1
1
2
2
5
5
1
1
2
2
4
4
2
2
3
3
5
5
1
1
3
3
5
5
1
1
2
2
5
5
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3

1
4
2
5
1
5
1
2
2
4
1
4
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5
1
5
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1

4
1
5
2
5
1
2
1
4
2
4
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2
5
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4

27.034
23.567
30.380
31.932
30.685
33.949
25.010
26.721
30.359
32.103
30.054
33.814
24.875
26.892
19.232
23.856
18.442
23.014
20.836
20.784
21.767
24.161
18.748
22.801
23.371
25.031
21.597
23.149
19.367
22.630
23.939
25.650
13.913
13.072
16.143
14.783
16.091
15.573
19.579
24.700
18.960
23.858
21.545
21.323
21.809
24.395
18.654

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

23.034
23.775
25.569
21.979
23.723
19.444
23.205
24.343
26.359
14.317
13.476
16.852
15.492
16.630
16.112

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5

3
3
4
4
5
5
2
2
4
4
5
5
2
2
3
3
5
5
2
2
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1
1
3
3
4

4
5
3
5
3
4
4
5
2
5
2
4
3
5
2
5
2
3
3
4
2
4
2
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3
4
1
4
1

5
4
5
3
4
3
5
4
5
2
4
2
5
3
5
2
3
2
4
3
4
2
3
2
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4
3
4
1
3

11.360
11.034
21.608
16.155
21.111
15.984
10.741
10.244
20.818
15.142
20.492
15.313
18.454
23.077
18.283
22.855
12.830
12.778
18.091
23.212
18.262
23.160
13.135
12.912
11.879
11.552
19.591
14.138
19.399
14.272
8.724
8.532
16.571
12.912
16.245
12.778
18.972
21.366
19.107
23.160
13.653
15.313
18.610
21.195
18.475
22.855
13.348

Find minimal path among five points


Input Green Only:
X 3.234 6.000 5.000
Y -4.215 -4.000 -5.000
X
Y
1
2
3
3.234 -4.215 1 0.000 2.774 1.933
6.000 -4.000 2 2.774 0.000 1.414
5.000 -5.000 3 1.933 1.414 0.000
0.327 -0.756 4 4.518 6.535 6.313
1.125 -0.438 5 4.326 6.038 5.986

0.327
-0.756
4
4.518
6.535
6.313
0.000
0.859

1.125
-0.438
5
4.326
6.038
5.986
0.859
0.000

8.532 = Length of minimum path


2 = Number of minimum paths
32 = Line number of first solution

Testline:
2.774 4.518

0.859 5.986 14.138

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5

4
2
2
4
4
5
5
1
1
4
4
5
5
1
1
2
2
5
5
1
1
2
2
4
4
2
2
3
3
5
5
1
1
3
3
5
5
1
1
2
2
5
5
1
1
2
2

3
4
5
2
5
2
4
4
5
1
5
1
4
2
5
1
5
1
2
2
4
1
4
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5
1
5
1
2
2
3
1
3

1
5
4
5
2
4
2
5
4
5
1
4
1
5
2
5
1
2
1
4
2
4
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2
5
1
2
1
3
2
3
1

15.142
12.101
11.604
19.024
13.348
18.832
13.653
9.566
9.374
16.794
13.135
16.297
12.830
19.643
21.195
19.948
23.212
14.272
15.984
19.622
21.366
19.317
23.077
14.138
16.155
14.693
19.317
13.903
18.475
16.297
16.245
17.228
19.622
14.208
18.262
18.832
20.492
17.057
18.610
14.827
18.091
19.399
21.111
9.374
8.532
11.604
10.244

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

3
3
2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

1
2
3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

2
1
4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

11.552
11.034
14.827
19.948
14.208
19.107
16.794
16.571
17.057
19.643
13.903
18.283
19.024
20.818
17.228
18.972
14.693
18.454
19.591
21.608
9.566
8.724
12.101
10.741
11.879
11.360

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

10.501
15.622
9.882
14.780
12.468
12.245
11.020
13.605
7.865
12.245
12.986
14.780
11.242
12.986
8.707
12.468
13.605
15.622
8.707
7.865
11.242
9.882
11.020
10.501

Find minimal path among four points


Input Green Only:
X 3.234 6.000 5.000
Y -4.215 -4.000 -5.000
X
Y
1
2
3
3.234 -4.215 1 0.000 2.774 1.933
6.000 -4.000 2 2.774 0.000 1.414
5.000 -5.000 3 1.933 1.414 0.000
0.327 -0.756 4 4.518 6.535 6.313

0.327
-0.756
4
4.518
6.535
6.313
0.000

7.865 = Length of minimum path


2 = Number of minimum paths
9 = Line number of first solution

Testline:
6.313 4.518 2.774 13.605

0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0

1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

1
1
2
2
3
3

2
3
1
3
1
2

3
2
3
1
2
1

14.589
10.139
8.315
10.139
8.315
14.589

Find minimal path among three points


Input Green Only:
X 3.234 -3.145 5.000
Y -4.215 -4.000 -5.000
X
Y
1
2
3
3.234 -4.215 1 0.000 6.383 1.933
-3.145 -4.000 2 6.383 0.000 8.206
5.000 -5.000 3 1.933 8.206 0.000
8.315 = Length of minimum path
2 = Number of minimum paths
3 = Line number of first solution

0
0
1
0
1
0

1
1
0
0
0
0

Find minimal path among six points


Input Green Only:
X 3.234 6.000 5.000
Y -4.215 -4.000 -5.000
X
Y
1
2
3
3.234 -4.215
1 0.000 2.774 1.933
6.000 -4.000
2 2.774 0.000 1.414
5.000 -5.000
3 1.933 1.414 0.000
0.327 -0.756
4 4.518 6.535 6.313
1.125 -0.438
5 4.326 6.038 5.986
-2.000 3.142
6 9.028 10.724 10.737
-28.888 -28.888
7 40.504 42.855 41.461
-2.000 = Length of minimum path
#REF! = Number of minimum paths
#REF! = Line number of first solution

0.327
-0.756
4
4.518
6.535
6.313
0.000
0.859
4.539
40.558

1.125
-0.438
5
4.326
6.038
5.986
0.859
0.000
4.751
41.355

-2.000
3.142
6
9.028
10.724
10.737
4.539
4.751
0.000
41.819

-28.888
-28.888
7
40.504
42.855
41.461
40.558
41.355
41.819
0.000

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7

5
5
6
6
7
7
4
4
6
6
7
7
4
4
5
5
7
7
4
4
5
5
6
6
5
5
6
6
7
7
3
3
6
6
7
7
3
3
5
5
7
7
3
3
5
5
6

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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

4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

7
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
7
7
7
7
7
7
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
7
7
7
7

6
4
4
6
6
7
7
3
3
6
6
7
7
3
3
4
4
7
7
3
3
4
4
6
6
4
4
5
5
7
7
3
3
5
5
7
7
3
3
4
4
7
7
3
3
4
4

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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

6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

7
7
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6

5
5
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4
4
5
5
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
1
1
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6

4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6
1
1
4
4
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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

4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5

3
3
5
5
3
3
4
4
6
6
1
1
4
4
6
6
1
1
3
3
6
6
1
1
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
5
5
5
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5

1
3
3
4
4
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4

1
1
4
4
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2
2
6
6
1
1
2
2
5
5
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5

6
1
1
2
2
4
4
2
2
4
4
5
5
1
1
4
4
5
5
1
1
2
2
5
5
1
1
2
2
4
4
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5

6
6
2
2
3
3
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1
3
3
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3

2
6
6
1
1
2
2
5
5
2
2
3
3
6
6
1
1
3
3
6
6
1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
5
5
1
1
3
3
5
5
1
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2

3
3
3
3
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4

2
2
5
5
1
1
2
2
3
3
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3
4
4
3
3
4
4
6
6
1
1
4
4
6
6
1

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2

1
3
3
6
6
1
1
3
3
4
4
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6
6
1
1
2
2
4
4
2
2
3
3
6
6
1
1
3
3
6
6

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6

4
4
4
4
4
4
4
4
4
4
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
2
2
2
2
2
2
3
3
3
3
3

1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3
3
3
4
4
5
5
2
2
4
4
5

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3

3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2

5
2
2
3
3
5
5
2
2
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1
1
3
3
4
4
2
2
4
4
5
5
1
1
4
4

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5

2
2
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2

5
5
1
1
2
2
5
5
1
1
2
2
4
4
2
2
3
3
5
5
1
1
3
3
5
5
1
1
2
2
5
5
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

6
7
5
7
5
6
6
7
4
7
4
6
5
7
4
7
4
5
5
6
4
6
4
5
6
7
5
7
5
6
6
7
3
7
3
6
5
7
3
7
3
5
5
6
3
6
3

7
6
7
5
6
5
7
6
7
4
6
4
7
5
7
4
5
4
6
5
6
4
5
4
7
6
7
5
6
5
7
6
7
3
6
3
7
5
7
3
5
3
6
5
6
3
5

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7

5
5
6
6
7
7
4
4
6
6
7
7
4
4
5
5
7
7
4
4
5
5
6
6
5
5
6
6
7
7
3
3
6
6
7
7
3
3
5
5
7
7
3
3
5
5
6

6
7
5
7
5
6
6
7
4
7
4
6
5
7
4
7
4
5
5
6
4
6
4
5
6
7
5
7
5
6
6
7
3
7
3
6
5
7
3
7
3
5
5
6
3
6
3

7
6
7
5
6
5
7
6
7
4
6
4
7
5
7
4
5
4
6
5
6
4
5
4
7
6
7
5
6
5
7
6
7
3
6
3
7
5
7
3
5
3
6
5
6
3
5

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7

5
5
6
6
7
7
4
4
6
6
7
7
4
4
5
5
7
7
4
4
5
5
6
6
5
5
6
6
7
7
2
2
6
6
7
7
2
2
5
5
7
7
2
2
5
5
6

6
7
5
7
5
6
6
7
4
7
4
6
5
7
4
7
4
5
5
6
4
6
4
5
6
7
5
7
5
6
6
7
2
7
2
6
5
7
2
7
2
5
5
6
2
6
2

7
6
7
5
6
5
7
6
7
4
6
4
7
5
7
4
5
4
6
5
6
4
5
4
7
6
7
5
6
5
7
6
7
2
6
2
7
5
7
2
5
2
6
5
6
2
5

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7

5
5
6
6
7
7
3
3
6
6
7
7
3
3
5
5
7
7
3
3
5
5
6
6
5
5
6
6
7
7
2
2
6
6
7
7
2
2
5
5
7
7
2
2
5
5
6

6
7
5
7
5
6
6
7
3
7
3
6
5
7
3
7
3
5
5
6
3
6
3
5
6
7
5
7
5
6
6
7
2
7
2
6
5
7
2
7
2
5
5
6
2
6
2

7
6
7
5
6
5
7
6
7
3
6
3
7
5
7
3
5
3
6
5
6
3
5
3
7
6
7
5
6
5
7
6
7
2
6
2
7
5
7
2
5
2
6
5
6
2
5

5
6
7
4
7
4
6
6
7
3
7
3
6
4
7
3
7
3
4
4
6
3
6
3
4
5
7
4
7
4
5
5
7
3
7
3
5
4
7
3
7
3
4
4
5
3
5

3
7
6
7
4
6
4
7
6
7
3
6
3
7
4
7
3
4
3
6
4
6
3
4
3
7
5
7
4
5
4
7
5
7
3
5
3
7
4
7
3
4
3
5
4
5
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

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

7
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
7
7
7
7
7
7
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
7
7
7
7

6
4
4
6
6
7
7
3
3
6
6
7
7
3
3
4
4
7
7
3
3
4
4
6
6
4
4
5
5
7
7
3
3
5
5
7
7
3
3
4
4
7
7
3
3
4
4

5
6
7
4
7
4
6
6
7
3
7
3
6
4
7
3
7
3
4
4
6
3
6
3
4
5
7
4
7
4
5
5
7
3
7
3
5
4
7
3
7
3
4
4
5
3
5

3
7
6
7
4
6
4
7
6
7
3
6
3
7
4
7
3
4
3
6
4
6
3
4
3
7
5
7
4
5
4
7
5
7
3
5
3
7
4
7
3
4
3
5
4
5
3

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

7
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
7
7
7
7
7
7
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
7
7
7
7

6
4
4
6
6
7
7
2
2
6
6
7
7
2
2
4
4
7
7
2
2
4
4
6
6
4
4
5
5
7
7
2
2
5
5
7
7
2
2
4
4
7
7
2
2
4
4

5
6
7
4
7
4
6
6
7
2
7
2
6
4
7
2
7
2
4
4
6
2
6
2
4
5
7
4
7
4
5
5
7
2
7
2
5
4
7
2
7
2
4
4
5
2
5

2
7
6
7
4
6
4
7
6
7
2
6
2
7
4
7
2
4
2
6
4
6
2
4
2
7
5
7
4
5
4
7
5
7
2
5
2
7
4
7
2
4
2
5
4
5
2

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

7
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
7
7
7
7
7
7
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
7
7
7
7

6
3
3
6
6
7
7
2
2
6
6
7
7
2
2
3
3
7
7
2
2
3
3
6
6
3
3
5
5
7
7
2
2
5
5
7
7
2
2
3
3
7
7
2
2
3
3

5
6
7
3
7
3
6
6
7
2
7
2
6
3
7
2
7
2
3
3
6
2
6
2
3
5
7
3
7
3
5
5
7
2
7
2
5
3
7
2
7
2
3
3
5
2
5

2
7
6
7
3
6
3
7
6
7
2
6
2
7
3
7
2
3
2
6
3
6
2
3
2
7
5
7
3
5
3
7
5
7
2
5
2
7
3
7
2
3
2
5
3
5
2

3
4
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3
5
3
4
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3

4
3
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5
3
4
3
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

7
7
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6

5
5
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4
4
5
5
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4

3
4
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3
5
3
4
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3

4
3
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5
3
4
3
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

7
7
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6

5
5
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5
5
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4

2
4
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2
4
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3

4
2
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4
2
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

7
7
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6

5
5
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3
6
6
2
2
3
3
5
5
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4

2
3
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6
2
3
3
5
2
5
2
3
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3

3
2
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2
3
2
5
3
5
2
3
2
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5

5
3
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4
4
5
1
5
1
4
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5

3
4
3
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1
5
4
5
1
4
1
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
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
2
2
2
2
2
2
2
2
2
2
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
1
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6

4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6
1
1
4
4
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1

5
3
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4
4
5
1
5
1
4
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5

3
4
3
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1
5
4
5
1
4
1
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
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

1
1
1
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6

4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6
1
1
4
4
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1

5
3
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4
4
5
1
5
1
4
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5

3
4
3
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1
5
4
5
1
4
1
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
1
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6

4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6
1
1
4
4
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1

5
3
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4
4
5
1
5
1
4
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5

3
4
3
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1
5
4
5
1
4
1
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3

1
5
1
3
4
6
3
6
3
4
4
6
1
6
1
4
3
6
1
6
1
3
3
4
1
4
1
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3

5
1
3
1
6
4
6
3
4
3
6
4
6
1
4
1
6
3
6
1
3
1
4
3
4
1
3
1
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5

3
3
5
5
3
3
4
4
6
6
1
1
4
4
6
6
1
1
3
3
6
6
1
1
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1

1
5
1
3
4
6
3
6
3
4
4
6
1
6
1
4
3
6
1
6
1
3
3
4
1
4
1
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3

5
1
3
1
6
4
6
3
4
3
6
4
6
1
4
1
6
3
6
1
3
1
4
3
4
1
3
1
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
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

4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5

3
3
5
5
3
3
4
4
6
6
1
1
4
4
6
6
1
1
3
3
6
6
1
1
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1

1
5
1
3
4
6
3
6
3
4
4
6
1
6
1
4
3
6
1
6
1
3
3
4
1
4
1
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3

5
1
3
1
6
4
6
3
4
3
6
4
6
1
4
1
6
3
6
1
3
1
4
3
4
1
3
1
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5

3
3
5
5
3
3
4
4
6
6
1
1
4
4
6
6
1
1
3
3
6
6
1
1
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1

1
5
1
3
4
6
3
6
3
4
4
6
1
6
1
4
3
6
1
6
1
3
3
4
1
4
1
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3

5
1
3
1
6
4
6
3
4
3
6
4
6
1
4
1
6
3
6
1
3
1
4
3
4
1
3
1
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4

4
1
4
1
3
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4

3
4
1
3
1
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4
2
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
5
5
5
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5

1
3
3
4
4
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6

4
1
4
1
3
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4

3
4
1
3
1
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4
2
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
5
5
5
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5

1
3
3
4
4
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6

4
1
4
1
3
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4

3
4
1
3
1
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4
2
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
5
5
5
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5

1
3
3
4
4
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6

4
1
4
1
3
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4

3
4
1
3
1
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4
2
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1

4
5
1
5
1
4
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1
6
1
2
2
5
1
5
1
2
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1

5
4
5
1
4
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6
1
2
1
5
2
5
1
2
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
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

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4

1
1
4
4
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2
2
6
6
1
1
2
2
5
5
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6

4
5
1
5
1
4
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1
6
1
2
2
5
1
5
1
2
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1

5
4
5
1
4
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6
1
2
1
5
2
5
1
2
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4

1
1
4
4
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2
2
6
6
1
1
2
2
5
5
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6

4
5
1
5
1
4
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1
6
1
2
2
5
1
5
1
2
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1

5
4
5
1
4
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6
1
2
1
5
2
5
1
2
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4

1
1
4
4
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2
2
6
6
1
1
2
2
5
5
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6

4
5
1
5
1
4
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1
6
1
2
2
5
1
5
1
2
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1

5
4
5
1
4
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6
1
2
1
5
2
5
1
2
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2

2
2
4
1
4
1
2
4
5
2
5
2
4
4
5
1
5
1
4
2
5
1
5
1
2
2
4
1
4
1
2
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6

1
4
2
4
1
2
1
5
4
5
2
4
2
5
4
5
1
4
1
5
2
5
1
2
1
4
2
4
1
2
1
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5

6
1
1
2
2
4
4
2
2
4
4
5
5
1
1
4
4
5
5
1
1
2
2
5
5
1
1
2
2
4
4
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3

2
2
4
1
4
1
2
4
5
2
5
2
4
4
5
1
5
1
4
2
5
1
5
1
2
2
4
1
4
1
2
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6

1
4
2
4
1
2
1
5
4
5
2
4
2
5
4
5
1
4
1
5
2
5
1
2
1
4
2
4
1
2
1
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5

6
1
1
2
2
4
4
2
2
4
4
5
5
1
1
4
4
5
5
1
1
2
2
5
5
1
1
2
2
4
4
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3

2
2
4
1
4
1
2
4
5
2
5
2
4
4
5
1
5
1
4
2
5
1
5
1
2
2
4
1
4
1
2
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6

1
4
2
4
1
2
1
5
4
5
2
4
2
5
4
5
1
4
1
5
2
5
1
2
1
4
2
4
1
2
1
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5

6
1
1
2
2
4
4
2
2
4
4
5
5
1
1
4
4
5
5
1
1
2
2
5
5
1
1
2
2
4
4
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3

2
2
4
1
4
1
2
4
5
2
5
2
4
4
5
1
5
1
4
2
5
1
5
1
2
2
4
1
4
1
2
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6

1
4
2
4
1
2
1
5
4
5
2
4
2
5
4
5
1
4
1
5
2
5
1
2
1
4
2
4
1
2
1
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2

2
3
3
5
2
5
2
3
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5
1
5
1
3
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1

3
2
5
3
5
2
3
2
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3
5
1
3
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5

6
6
2
2
3
3
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1
3
3
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2

2
3
3
5
2
5
2
3
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5
1
5
1
3
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1

3
2
5
3
5
2
3
2
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3
5
1
3
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5

6
6
2
2
3
3
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1
3
3
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2

2
3
3
5
2
5
2
3
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5
1
5
1
3
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1

3
2
5
3
5
2
3
2
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3
5
1
3
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5

6
6
2
2
3
3
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1
3
3
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2

2
3
3
5
2
5
2
3
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5
1
5
1
3
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1

3
2
5
3
5
2
3
2
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3
5
1
3
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6

6
1
2
2
5
1
5
1
2
3
6
2
6
2
3
3
6
1
6
1
3
2
6
1
6
1
2
2
3
1
3
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5

1
2
1
5
2
5
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1
6
2
6
1
2
1
3
2
3
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3

2
6
6
1
1
2
2
5
5
2
2
3
3
6
6
1
1
3
3
6
6
1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
5
5
1
1
3
3
5
5
1
1

6
1
2
2
5
1
5
1
2
3
6
2
6
2
3
3
6
1
6
1
3
2
6
1
6
1
2
2
3
1
3
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5

1
2
1
5
2
5
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1
6
2
6
1
2
1
3
2
3
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3

2
6
6
1
1
2
2
5
5
2
2
3
3
6
6
1
1
3
3
6
6
1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
5
5
1
1
3
3
5
5
1
1

6
1
2
2
5
1
5
1
2
3
6
2
6
2
3
3
6
1
6
1
3
2
6
1
6
1
2
2
3
1
3
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5

1
2
1
5
2
5
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1
6
2
6
1
2
1
3
2
3
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3

2
6
6
1
1
2
2
5
5
2
2
3
3
6
6
1
1
3
3
6
6
1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
5
5
1
1
3
3
5
5
1
1

6
1
2
2
5
1
5
1
2
3
6
2
6
2
3
3
6
1
6
1
3
2
6
1
6
1
2
2
3
1
3
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5

1
2
1
5
2
5
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1
6
2
6
1
2
1
3
2
3
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2

1
5
1
2
2
3
1
3
1
2
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4
2
3
4
6
3
6
3
4
4
6
1
6
1
4
3

5
1
2
1
3
2
3
1
2
1
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2
3
2
6
4
6
3
4
3
6
4
6
1
4
1
6

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2

3
3
3
3
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4

2
2
5
5
1
1
2
2
3
3
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3
4
4
3
3
4
4
6
6
1
1
4
4
6
6
1

1
5
1
2
2
3
1
3
1
2
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4
2
3
4
6
3
6
3
4
4
6
1
6
1
4
3

5
1
2
1
3
2
3
1
2
1
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2
3
2
6
4
6
3
4
3
6
4
6
1
4
1
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2

3
3
3
3
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4

2
2
5
5
1
1
2
2
3
3
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3
4
4
3
3
4
4
6
6
1
1
4
4
6
6
1

1
5
1
2
2
3
1
3
1
2
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4
2
3
4
6
3
6
3
4
4
6
1
6
1
4
3

5
1
2
1
3
2
3
1
2
1
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2
3
2
6
4
6
3
4
3
6
4
6
1
4
1
6

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2

3
3
3
3
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4

2
2
5
5
1
1
2
2
3
3
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3
4
4
3
3
4
4
6
6
1
1
4
4
6
6
1

1
5
1
2
2
3
1
3
1
2
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4
2
3
4
6
3
6
3
4
4
6
1
6
1
4
3

5
1
2
1
3
2
3
1
2
1
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2
3
2
6
4
6
3
4
3
6
4
6
1
4
1
6

6
1
6
1
3
3
4
1
4
1
3
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1
2
2
4
1
4
1
2
3
6
2
6
2
3
3
6
1
6
1
3

3
6
1
3
1
4
3
4
1
3
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2
1
4
2
4
1
2
1
6
3
6
2
3
2
6
3
6
1
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

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2

1
3
3
6
6
1
1
3
3
4
4
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6
6
1
1
2
2
4
4
2
2
3
3
6
6
1
1
3
3
6
6

6
1
6
1
3
3
4
1
4
1
3
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1
2
2
4
1
4
1
2
3
6
2
6
2
3
3
6
1
6
1
3

3
6
1
3
1
4
3
4
1
3
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2
1
4
2
4
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2

1
3
3
6
6
1
1
3
3
4
4
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6
6
1
1
2
2
4
4
2
2
3
3
6
6
1
1
3
3
6
6

6
1
6
1
3
3
4
1
4
1
3
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1
2
2
4
1
4
1
2
3
6
2
6
2
3
3
6
1
6
1
3

3
6
1
3
1
4
3
4
1
3
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2
1
4
2
4
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2

1
3
3
6
6
1
1
3
3
4
4
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6
6
1
1
2
2
4
4
2
2
3
3
6
6
1
1
3
3
6
6

6
1
6
1
3
3
4
1
4
1
3
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1
2
2
4
1
4
1
2
3
6
2
6
2
3
3
6
1
6
1
3

3
6
1
3
1
4
3
4
1
3
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2
1
4
2
4
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1

2
6
1
6
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2
4
5
3
5
3
4
4
5
2
5
2

6
2
6
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1
5
4
5
3
4
3
5
4
5
2
4

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6

4
4
4
4
4
4
4
4
4
4
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
2
2
2
2
2
2
3
3
3
3
3

1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3
3
3
4
4
5
5
2
2
4
4
5

2
6
1
6
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2
4
5
3
5
3
4
4
5
2
5
2

6
2
6
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1
5
4
5
3
4
3
5
4
5
2
4

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6

4
4
4
4
4
4
4
4
4
4
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
2
2
2
2
2
2
3
3
3
3
3

1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3
3
3
4
4
5
5
2
2
4
4
5

2
6
1
6
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2
4
5
3
5
3
4
4
5
2
5
2

6
2
6
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1
5
4
5
3
4
3
5
4
5
2
4

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6

4
4
4
4
4
4
4
4
4
4
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
2
2
2
2
2
2
3
3
3
3
3

1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3
3
3
4
4
5
5
2
2
4
4
5

2
6
1
6
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2
4
5
3
5
3
4
4
5
2
5
2

6
2
6
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1
5
4
5
3
4
3
5
4
5
2
4

4
3
5
2
5
2
3
3
4
2
4
2
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3
4
1
4
1
3
4
5
2
5
2
4
4
5
1
5

2
5
3
5
2
3
2
4
3
4
2
3
2
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4
3
4
1
3
1
5
4
5
2
4
2
5
4
5
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

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3

3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2

5
2
2
3
3
5
5
2
2
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1
1
3
3
4
4
2
2
4
4
5
5
1
1
4
4

4
3
5
2
5
2
3
3
4
2
4
2
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3
4
1
4
1
3
4
5
2
5
2
4
4
5
1
5

2
5
3
5
2
3
2
4
3
4
2
3
2
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4
3
4
1
3
1
5
4
5
2
4
2
5
4
5
1

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3

3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2

5
2
2
3
3
5
5
2
2
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1
1
3
3
4
4
2
2
4
4
5
5
1
1
4
4

4
3
5
2
5
2
3
3
4
2
4
2
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3
4
1
4
1
3
4
5
2
5
2
4
4
5
1
5

2
5
3
5
2
3
2
4
3
4
2
3
2
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4
3
4
1
3
1
5
4
5
2
4
2
5
4
5
1

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3

3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2

5
2
2
3
3
5
5
2
2
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1
1
3
3
4
4
2
2
4
4
5
5
1
1
4
4

4
3
5
2
5
2
3
3
4
2
4
2
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3
4
1
4
1
3
4
5
2
5
2
4
4
5
1
5

2
5
3
5
2
3
2
4
3
4
2
3
2
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4
3
4
1
3
1
5
4
5
2
4
2
5
4
5
1

1
4
2
5
1
5
1
2
2
4
1
4
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5
1
5
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1

4
1
5
2
5
1
2
1
4
2
4
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2
5
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5

2
2
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2

5
5
1
1
2
2
5
5
1
1
2
2
4
4
2
2
3
3
5
5
1
1
3
3
5
5
1
1
2
2
5
5
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3

1
4
2
5
1
5
1
2
2
4
1
4
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5
1
5
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1

4
1
5
2
5
1
2
1
4
2
4
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2
5
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5

2
2
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2

5
5
1
1
2
2
5
5
1
1
2
2
4
4
2
2
3
3
5
5
1
1
3
3
5
5
1
1
2
2
5
5
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3

1
4
2
5
1
5
1
2
2
4
1
4
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5
1
5
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1

4
1
5
2
5
1
2
1
4
2
4
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2
5
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5

2
2
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2

5
5
1
1
2
2
5
5
1
1
2
2
4
4
2
2
3
3
5
5
1
1
3
3
5
5
1
1
2
2
5
5
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3

1
4
2
5
1
5
1
2
2
4
1
4
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5
1
5
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1

4
1
5
2
5
1
2
1
4
2
4
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2
5
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4

4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
7
7
7
7
7
7
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
7
7
7
7
7

4
4
6
6
7
7
3
3
6
6
7
7
3
3
4
4
7
7
3
3
4
4
6
6
4
4
6
6
7
7
2
2
6
6
7
7
2
2
4
4
7
7
2
2
4
4
6

6
7
4
7
4
6
6
7
3
7
3
6
4
7
3
7
3
4
4
6
3
6
3
4
6
7
4
7
4
6
6
7
2
7
2
6
4
7
2
7
2
4
4
6
2
6
2

7
6
7
4
6
4
7
6
7
3
6
3
7
4
7
3
4
3
6
4
6
3
4
3
7
6
7
4
6
4
7
6
7
2
6
2
7
4
7
2
4
2
6
4
6
2
4

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

7
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
7
7
7
7
7
7
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
7
7
7
7

6
3
3
6
6
7
7
2
2
6
6
7
7
2
2
3
3
7
7
2
2
3
3
6
6
3
3
4
4
7
7
2
2
4
4
7
7
2
2
3
3
7
7
2
2
3
3

4
6
7
3
7
3
6
6
7
2
7
2
6
3
7
2
7
2
3
3
6
2
6
2
3
4
7
3
7
3
4
4
7
2
7
2
4
3
7
2
7
2
3
3
4
2
4

2
7
6
7
3
6
3
7
6
7
2
6
2
7
3
7
2
3
2
6
3
6
2
3
2
7
4
7
3
4
3
7
4
7
2
4
2
7
3
7
2
3
2
4
3
4
2

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

7
7
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6

4
4
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3
4
4
4
4
5
5
6
6
3
3
5
5
6
6
3
3
4
4
6
6
3
3
4

2
3
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4
2
3
5
6
4
6
4
5
5
6
3
6
3
5
4
6
3
6
3
4
4
5
3

3
2
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2
3
2
6
5
6
4
5
4
6
5
6
3
5
3
6
4
6
3
4
3
5
4
5

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
1
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6

4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6
1
1
4
4
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1

5
3
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4
4
5
1
5
1
4
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5

3
4
3
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1
5
4
5
1
4
1
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5

3
3
5
5
3
3
4
4
6
6
1
1
4
4
6
6
1
1
3
3
6
6
1
1
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1

1
5
1
3
4
6
3
6
3
4
4
6
1
6
1
4
3
6
1
6
1
3
3
4
1
4
1
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3

5
1
3
1
6
4
6
3
4
3
6
4
6
1
4
1
6
3
6
1
3
1
4
3
4
1
3
1
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2

5
5
5
5
5
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
4
4
4
4
4
4
5
5
5
5
5
5

1
3
3
4
4
4
4
5
5
6
6
2
2
5
5
6
6
2
2
4
4
6
6
2
2
4
4
5
5
4
4
5
5
6
6
1
1
5
5
6
6
1
1
4
4
6
6

4
1
4
1
3
5
6
4
6
4
5
5
6
2
6
2
5
4
6
2
6
2
4
4
5
2
5
2
4
5
6
4
6
4
5
5
6
1
6
1
5
4
6
1
6
1
4

3
4
1
3
1
6
5
6
4
5
4
6
5
6
2
5
2
6
4
6
2
4
2
5
4
5
2
4
2
6
5
6
4
5
4
6
5
6
1
5
1
6
4
6
1
4
1

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3

2
2
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4

1
1
4
4
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2
2
6
6
1
1
2
2
5
5
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6

4
5
1
5
1
4
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1
6
1
2
2
5
1
5
1
2
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1

5
4
5
1
4
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6
1
2
1
5
2
5
1
2
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1

4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5

6
1
1
2
2
4
4
2
2
4
4
5
5
1
1
4
4
5
5
1
1
2
2
5
5
1
1
2
2
4
4
3
3
5
5
6
6
2
2
5
5
6
6
2
2
3
3

2
2
4
1
4
1
2
4
5
2
5
2
4
4
5
1
5
1
4
2
5
1
5
1
2
2
4
1
4
1
2
5
6
3
6
3
5
5
6
2
6
2
5
3
6
2
6

1
4
2
4
1
2
1
5
4
5
2
4
2
5
4
5
1
4
1
5
2
5
1
2
1
4
2
4
1
2
1
6
5
6
3
5
3
6
5
6
2
5
2
6
3
6
2

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3
3
3
3
3
3

5
5
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
5
5
5
5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
5
5
5

6
6
2
2
3
3
5
5
3
3
5
5
6
6
1
1
5
5
6
6
1
1
3
3
6
6
1
1
3
3
5
5
2
2
5
5
6
6
1
1
5
5
6
6
1
1
2

2
3
3
5
2
5
2
3
5
6
3
6
3
5
5
6
1
6
1
5
3
6
1
6
1
3
3
5
1
5
1
3
5
6
2
6
2
5
5
6
1
6
1
5
2
6
1

3
2
5
3
5
2
3
2
6
5
6
3
5
3
6
5
6
1
5
1
6
3
6
1
3
1
5
3
5
1
3
1
6
5
6
2
5
2
6
5
6
1
5
1
6
2
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4

3
3
3
3
3
3
3
3
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3

2
6
6
1
1
2
2
5
5
2
2
3
3
6
6
1
1
3
3
6
6
1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
5
5
1
1
3
3
5
5
1
1

6
1
2
2
5
1
5
1
2
3
6
2
6
2
3
3
6
1
6
1
3
2
6
1
6
1
2
2
3
1
3
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5

1
2
1
5
2
5
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1
6
2
6
1
2
1
3
2
3
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2

3
3
3
3
5
5
5
5
5
5
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
3
3
3
3
3
3
4

2
2
5
5
1
1
2
2
3
3
3
3
4
4
6
6
2
2
4
4
6
6
2
2
3
3
6
6
2
2
3
3
4
4
3
3
4
4
6
6
1
1
4
4
6
6
1

1
5
1
2
2
3
1
3
1
2
4
6
3
6
3
4
4
6
2
6
2
4
3
6
2
6
2
3
3
4
2
4
2
3
4
6
3
6
3
4
4
6
1
6
1
4
3

5
1
2
1
3
2
3
1
2
1
6
4
6
3
4
3
6
4
6
2
4
2
6
3
6
2
3
2
4
3
4
2
3
2
6
4
6
3
4
3
6
4
6
1
4
1
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4

4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
4
4
4
4
4
4
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2

1
3
3
6
6
1
1
3
3
4
4
2
2
4
4
6
6
1
1
4
4
6
6
1
1
2
2
6
6
1
1
2
2
4
4
2
2
3
3
6
6
1
1
3
3
6
6

6
1
6
1
3
3
4
1
4
1
3
4
6
2
6
2
4
4
6
1
6
1
4
2
6
1
6
1
2
2
4
1
4
1
2
3
6
2
6
2
3
3
6
1
6
1
3

3
6
1
3
1
4
3
4
1
3
1
6
4
6
2
4
2
6
4
6
1
4
1
6
2
6
1
2
1
4
2
4
1
2
1
6
3
6
2
3
2
6
3
6
1
3
1

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6

4
4
4
4
4
4
4
4
4
4
4
4
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
1
1
1

3
3
3
3
3
3
6
6
6
6
6
6
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
4
4
4
4
4
4
2
2
2
2
2
2
3
3
3
3
3

1
1
2
2
6
6
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3
3
4
4
1
1
2
2
4
4
1
1
2
2
3
3
3
3
4
4
5
5
2
2
4
4
5

2
6
1
6
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1
4
1
3
2
4
1
4
1
2
2
3
1
3
1
2
4
5
3
5
3
4
4
5
2
5
2

6
2
6
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4
1
3
1
4
2
4
1
2
1
3
2
3
1
2
1
5
4
5
3
4
3
5
4
5
2
4

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
3
3

3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
3
3
3
3
3
3
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2

5
2
2
3
3
5
5
2
2
3
3
4
4
3
3
4
4
5
5
1
1
4
4
5
5
1
1
3
3
5
5
1
1
3
3
4
4
2
2
4
4
5
5
1
1
4
4

4
3
5
2
5
2
3
3
4
2
4
2
3
4
5
3
5
3
4
4
5
1
5
1
4
3
5
1
5
1
3
3
4
1
4
1
3
4
5
2
5
2
4
4
5
1
5

2
5
3
5
2
3
2
4
3
4
2
3
2
5
4
5
3
4
3
5
4
5
1
4
1
5
3
5
1
3
1
4
3
4
1
3
1
5
4
5
2
4
2
5
4
5
1

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5

2
2
4
4
4
4
4
4
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2
2
2
2
3
3
3
3
3
3
5
5
5
5
5
5
1
1
1
1
1
1
2
2
2

5
5
1
1
2
2
5
5
1
1
2
2
4
4
2
2
3
3
5
5
1
1
3
3
5
5
1
1
2
2
5
5
1
1
2
2
3
3
2
2
3
3
4
4
1
1
3

1
4
2
5
1
5
1
2
2
4
1
4
1
2
3
5
2
5
2
3
3
5
1
5
1
3
2
5
1
5
1
2
2
3
1
3
1
2
3
4
2
4
2
3
3
4
1

4
1
5
2
5
1
2
1
4
2
4
1
2
1
5
3
5
2
3
2
5
3
5
1
3
1
5
2
5
1
2
1
3
2
3
1
2
1
4
3
4
2
3
2
4
3
4

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

6
6
6
6
6
6
6
6
6
6
6
6
6
6
6

5
5
5
5
5
5
5
5
5
5
5
5
5
5
5

2
2
2
3
3
3
3
3
3
4
4
4
4
4
4

3
4
4
1
1
2
2
4
4
1
1
2
2
3
3

4
1
3
2
4
1
4
1
2
2
3
1
3
1
2

1
3
1
4
2
4
1
2
1
3
2
3
1
2
1

Anda mungkin juga menyukai