1
1
1
1
2
2
2
1
2
3
3
3
1
1
2
3
4
4
4
1
1
1
1
2
3
5
5
5
5
5
5
5
5
1
1
1
2
3
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
6
1
1
1
1
1
1
1
1
2
3
4
4
4
5
5
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
1
2
2
2
2
2
2
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
1
1
1
2
2
3
3
3
3
3
4
4
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
1
1
1
2
3
3
3
4
4
4
4
4
4
4
4
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
1
1
1
1
2
3
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
1
1
2
3
4
4
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
1
2
3
4
4
4
4
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
1
2
3
4
5
5
5
5
5
5
6
6
6
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
14
14
14
14
14
1
1
1
1
1
3
4
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
15
15
15
15
15
1
1
2
4
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
14
14
16
16
16
16
16
16
16
1
1
1
1
1
1
2
3
4
5
5
5
5
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
17
17
17
17
17
17
1
1
1
1
1
2
2
3
4
4
4
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
18
18
18
18
18
1
1
1
2
2
2
2
3
3
3
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
19
19
19
19
1
1
1
1
1
2
2
2
3
3
3
3
4
4
4
4
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
20
20
20
20
1
2
3
3
3
3
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
21
21
21
21
1
1
1
2
2
2
3
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
9
9
9
9
9
9
9
9
9
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
21
22
22
22
1
1
2
2
3
3
3
4
4
4
4
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
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
18
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
22
22
23
23
23
1
1
2
2
2
2
3
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
24
24
24
1
3
3
3
3
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
23
23
24
24
24
25
25
25
1
1
1
3
3
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
16
16
17
17
17
17
17
17
17
17
19
20
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
25
25
25
26
26
26
1
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
16
16
17
17
17
18
18
18
19
20
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
27
27
27
1
1
1
1
1
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
18
18
19
19
19
19
19
19
19
20
20
21
21
22
22
22
22
22
22
23
23
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
28
28
28
1
1
1
1
1
1
1
1
1
4
4
4
4
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
23
23
23
23
23
23
24
24
24
24
25
25
25
25
25
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
29
29
29
1
1
1
1
1
1
1
4
4
4
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
28
28
28
28
28
28
29
29
29
30
30
30
1
1
1
1
1
2
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
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
23
23
23
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
30
30
30
30
31
31
31
1
1
1
1
1
1
1
1
1
4
4
4
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
26
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
31
31
31
31
31
31
32
32
32
1
1
1
1
1
1
1
1
1
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
6
6
6
6
6
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
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
33
33
33
1
1
1
1
1
1
1
1
1
1
1
1
1
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
6
6
6
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
24
24
24
24
24
25
25
25
25
25
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
33
33
33
34
34
34
1
1
1
1
1
1
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
6
6
6
6
6
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
34
34
34
34
35
35
35
1
1
1
1
1
1
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
6
6
6
6
6
6
6
6
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
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
28
28
28
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
36
36
36
1
1
1
1
1
2
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
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
28
28
28
28
28
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
37
37
37
1
1
1
3
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
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
29
29
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
1
1
1
1
2
3
3
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
6
6
6
6
6
6
6
6
6
6
6
6
6
6
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
39
39
39
1
3
3
3
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
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
28
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
40
40
40
1
1
1
1
1
1
1
1
1
1
1
2
3
3
3
3
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
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
27
27
27
27
28
28
28
28
28
28
28
28
28
29
29
29
29
30
30
30
30
31
31
31
31
31
32
32
32
32
33
33
33
33
33
33
33
33
33
33
33
34
34
34
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
40
41
41
41
1
1
1
1
1
1
2
3
3
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
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
20
20
20
20
20
21
21
22
22
22
22
22
23
23
23
23
23
23
23
23
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
26
26
27
27
27
28
28
28
28
29
29
29
29
29
29
29
29
30
30
30
31
31
31
32
32
32
32
32
32
33
33
33
33
33
34
34
34
34
34
35
35
35
35
35
35
36
36
36
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
38
38
38
38
39
39
39
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
40
41
41
41
41
41
41
41
41
42
42
42
1
1
1
1
1
1
1
2
2
2
3
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
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
26
26
26
26
26
26
26
27
27
28
28
29
29
29
29
29
30
30
30
30
30
30
30
31
31
31
32
32
32
32
33
33
33
33
34
34
34
35
35
35
35
36
36
36
37
37
37
37
37
38
38
38
39
39
39
39
39
39
39
40
40
40
40
40
40
41
41
41
41
41
41
41
41
42
42
42
42
42
42
42
43
43
43
1
1
1
1
3
3
3
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
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
22
22
22
22
22
22
23
23
23
23
24
24
24
24
24
25
25
25
25
25
25
25
25
25
26
27
27
27
27
27
29
29
29
29
29
30
30
30
30
30
30
31
31
31
31
31
31
31
32
32
32
33
33
33
33
34
34
34
35
35
35
36
36
37
37
38
38
38
38
38
39
39
39
40
40
40
40
40
40
40
41
41
41
41
41
42
42
42
42
42
42
42
42
43
43
43
43
43
44
44
44
44
44
1
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
16
16
16
17
17
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
21
21
21
21
22
22
22
22
22
23
23
23
23
23
23
23
23
23
24
24
24
25
25
25
25
25
26
26
26
26
26
28
28
28
29
29
29
29
30
30
30
31
31
31
31
31
31
32
32
32
32
33
33
34
34
35
35
35
35
36
36
37
37
37
38
38
38
39
39
39
40
40
40
41
41
41
41
41
41
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
44
44
44
44
44
44
44
45
45
45
45
45
1
1
1
2
2
3
3
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
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
12
12
12
12
12
12
12
12
13
13
13
13
14
14
14
15
15
15
15
15
15
17
17
17
17
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
21
22
22
23
23
23
24
24
24
24
24
24
24
25
25
25
26
26
26
26
27
27
27
27
27
27
29
29
30
30
31
31
31
31
32
32
32
33
33
33
33
34
34
35
35
35
35
36
36
36
36
37
38
38
38
38
39
40
40
40
40
40
41
41
42
42
42
42
42
42
42
42
42
42
42
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
45
45
45
45
45
45
45
46
46
46
46
46
1
1
1
2
2
2
3
3
4
4
4
5
5
5
5
5
6
6
6
6
6
6
6
6
7
7
7
7
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
17
18
18
20
20
20
20
20
20
20
20
21
21
21
23
24
24
24
25
25
25
25
25
26
26
26
27
27
27
27
28
28
28
28
30
31
31
31
32
33
33
34
34
34
34
35
36
36
36
37
37
37
37
38
38
39
39
39
39
41
41
41
41
41
42
42
43
43
43
43
43
43
43
44
44
44
44
44
44
45
45
45
45
45
45
46
46
46
46
46
46
46
47
47
47
47
47
1
1
1
1
1
1
1
1
2
2
2
3
3
3
4
4
4
4
4
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
19
20
21
21
21
21
21
21
21
21
22
22
25
25
26
26
26
27
28
28
28
28
29
29
29
29
31
32
33
35
35
35
36
37
37
37
38
38
38
39
39
39
40
40
40
42
42
42
42
43
43
43
44
44
44
44
44
45
45
45
46
46
46
46
46
47
47
47
47
47
47
47
48
48
48
48
48
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
19
20
22
22
22
22
23
23
27
27
28
29
29
29
30
30
30
30
34
36
36
37
38
38
38
39
40
40
41
41
42
43
43
43
43
45
45
46
47
47
48
48
48
48
48
48
48
49
49
49
49
49
1
2
2
2
2
2
2
3
3
3
3
4
4
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
19
19
19
21
22
23
23
23
23
24
24
26
28
28
28
30
30
31
31
31
31
35
36
37
39
39
39
39
41
42
42
43
44
44
44
46
46
47
48
49
49
49
49
50
50
50
50
50
1
1
1
3
3
3
3
4
4
4
4
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
16
16
16
16
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
20
20
20
22
22
23
24
24
24
24
25
25
26
27
29
29
31
32
32
32
32
37
38
40
40
40
43
43
45
45
47
47
48
48
49
50
50
50
51
51
51
2
2
2
4
4
4
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
8
8
8
9
9
9
10
10
10
10
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
14
14
15
15
15
15
15
15
15
16
16
17
17
17
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
21
21
21
22
23
24
25
25
25
25
26
26
26
28
30
32
33
33
33
39
41
41
44
46
46
48
49
49
49
50
51
52
52
52
1
1
1
5
5
7
8
8
8
8
8
9
10
12
12
13
13
14
14
14
15
16
16
17
17
18
18
18
19
19
19
20
20
20
20
20
21
21
22
22
23
24
26
26
26
26
27
27
29
31
33
34
34
40
42
45
47
50
50
51
53
53
