1
1
1
1
2
1
2
2
2
3
2
3
3
3
4
1
1
1
1
3
4
4
4
5
1
1
2
2
4
5
5
5
5
6
2
2
3
3
5
6
6
6
6
6
6
7
3
4
6
6
7
7
7
7
7
7
7
8
1
4
5
5
5
5
6
7
8
8
8
8
8
8
9
9
1
3
5
6
6
6
7
7
7
8
8
9
9
10
10
1
6
6
6
7
7
7
7
8
10
10
11
11
1
2
5
7
7
7
7
8
8
8
9
11
11
12
12
1
6
7
7
7
7
7
8
8
9
9
9
10
13
13
1
7
7
8
9
9
10
10
11
14
14
1
7
7
7
9
10
10
11
11
15
15
1
7
7
7
7
7
7
8
8
8
10
10
11
12
16
16
7
7
8
8
9
9
9
10
10
11
13
17
17
1
9
9
10
11
11
14
18
18
1
1
7
7
7
10
10
10
15
19
19
1
7
7
7
7
7
7
7
8
8
8
10
11
16
20
20
1
2
7
7
8
8
9
9
9
10
10
11
17
21
21
1
3
7
7
9
9
10
10
11
11
18
22
22
2
4
7
7
7
7
7
8
8
8
10
10
10
11
19
23
23
3
7
7
7
7
7
8
8
9
9
9
10
10
11
20
24
24
7
7
7
7
7
7
8
9
9
10
10
10
10
11
11
21
25
25
1
7
7
8
8
9
9
9
10
10
10
10
10
11
11
11
22
26
26
1
2
9
9
10
11
11
11
11
11
12
23
25
25
27
27
2
3
9
10
10
10
10
10
11
12
13
24
26
26
28
28
3
4
8
8
9
10
10
11
12
13
13
14
25
27
27
29
8
8
8
9
9
9
9
10
11
11
12
13
14
14
26
28
28
30
1
8
10
10
10
10
10
11
12
12
13
13
13
14
27
29
31
2
11
11
11
11
14
14
15
28
30
32
1
3
11
11
11
12
13
15
16
29
31
33
2
4
11
11
12
12
14
16
16
17
32
34
3
11
11
11
11
11
13
13
14
17
17
17
33
35
11
11
11
12
12
13
13
14
14
14
16
16
17
17
33
34
35
36
1
11
12
13
14
14
14
14
14
14
17
17
26
30
34
35
36
37
1
1
2
12
13
13
14
18
18
27
31
35
36
37
38
1
1
1
2
3
12
12
12
14
19
19
28
32
36
38
39
1
1
1
1
1
2
3
4
11
12
13
13
13
13
14
14
14
16
16
16
20
20
20
20
29
33
39
40
1
1
1
1
2
2
3
11
12
13
13
13
13
13
13
13
14
14
14
15
17
17
17
17
17
19
19
20
20
20
20
20
34
40
40
40
40
40
41
1
1
2
2
2
3
3
4
12
12
12
13
13
13
14
14
14
14
14
14
14
14
15
15
16
16
16
17
17
17
17
17
19
19
19
19
20
20
20
20
20
35
40
40
40
40
41
41
41
41
41
42
1
1
2
3
3
3
4
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
17
19
19
19
19
19
19
20
20
20
20
20
20
20
21
36
40
40
41
41
41
41
42
42
42
42
42
43
1
1
2
2
3
4
4
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
19
19
19
19
19
20
20
20
20
20
20
20
20
21
22
37
40
40
40
40
41
41
42
42
42
42
43
43
43
43
43
44
2
3
3
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
19
19
19
20
20
20
20
20
20
20
20
20
20
21
22
23
38
40
41
41
41
41
42
42
43
43
43
43
44
44
44
44
45
3
4
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
19
19
20
20
20
20
20
20
21
21
22
23
38
38
39
40
40
40
41
42
42
42
42
43
43
44
44
44
45
45
45
45
46
1
1
1
1
5
5
5
12
12
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
19
19
19
20
20
20
20
20
20
21
21
22
22
23
39
39
40
40
41
41
41
42
43
43
43
43
44
45
45
45
46
46
46
46
47
1
1
1
1
4
4
5
5
6
6
6
12
13
14
14
14
14
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
19
19
20
20
20
20
20
20
20
20
20
21
22
22
23
23
38
38
40
40
40
40
41
41
42
42
42
43
44
44
44
45
46
46
46
47
47
47
47
48
1
1
1
1
5
7
7
7
7
13
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
19
19
20
20
20
20
20
21
21
21
22
22
23
23
38
39
39
40
40
40
41
41
41
41
42
43
43
43
44
45
45
45
46
47
47
47
48
48
48
48
49
1
1
1
1
4
6
8
8
8
8
14
15
15
15
15
16
16
16
16
16
16
17
17
18
18
18
19
20
20
20
20
20
20
21
22
22
22
22
23
23
38
38
39
40
40
40
41
41
41
42
42
43
44
44
44
45
46
46
46
47
48
48
48
49
49
49
49
50
1
1
1
5
7
9
9
12
12
13
13
14
15
15
15
16
16
16
16
16
16
17
17
17
18
19
19
19
19
20
20
22
22
23
23
23
23
38
39
39
40
40
41
41
41
42
42
42
43
43
44
45
45
45
46
47
47
47
48
49
49
50
50
50
51
1
1
1
1
4
4
5
5
10
10
12
12
12
13
13
13
13
14
14
14
14
14
14
15
15
16
16
16
16
17
17
18
18
19
19
19
19
20
20
20
22
22
22
23
23
38
39
40
40
41
41
42
43
43
43
44
44
45
46
46
46
47
48
48
48
49
50
51
51
51
52
1
1
1
5
5
5
7
11
11
12
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
16
16
16
17
18
18
19
19
19
19
19
19
20
20
20
22
23
23
23
39
40
41
41
42
43
44
44
44
45
45
46
47
47
47
48
49
49
49
50
52
52
52
53
1
1
1
5
5
6
7
12
12
12
13
13
13
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
17
17
18
19
19
19
19
20
20
20
20
22
22
23
38
38
40
41
42
43
44
45
45
45
46
46
47
48
48
48
49
50
50
51
53
53
53
54
1
1
1
5
5
7
8
12
13
13
13
13
13
14
14
14
14
15
15
16
16
16
16
16
16
16
16
16
17
17
18
18
19
19
19
19
20
20
20
22
23
39
39
41
43
44
45
46
46
46
47
47
48
49
49
49
50
51
52
54
54
54
55
1
1
1
5
5
7
9
13
13
14
14
14
14
14
14
14
15
15
16
16
16
16
16
17
17
18
18
19
19
19
19
20
20
20
22
22
40
40
42
44
45
46
47
47
47
48
48
49
50
50
51
52
53
55
55
55
56
1
1
1
5
5
7
10
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
18
18
19
19
19
20
20
22
22
41
41
43
45
46
47
48
48
48
49
49
51
51
52
53
54
56
56
57
1
1
5
5
5
7
11
14
15
15
15
16
16
16
16
16
16
16
17
17
18
18
19
19
20
20
22
22
42
42
44
46
47
48
49
49
50
50
52
52
53
54
55
57
58
1
1
1
1
1
5
5
5
6
7
7
7
12
14
15
15
15
16
16
16
16
17
17
17
18
18
19
19
20
20
22
22
22
38
43
43
45
47
48
48
49
50
50
51
51
53
53
54
55
56
59
1
1
1
1
1
5
5
7
8
8
13
14
15
15
15
16
16
16
16
16
16
16
17
17
18
18
18
19
19
19
19
20
22
22
38
39
44
44
46
47
48
48
48
49
50
50
50
50
51
51
52
52
54
54
55
57
60
1
1
1
1
9
9
12
13
14
14
14
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
19
19
22
22
22
22
22
22
23
39
40
45
45
47
47
48
48
49
49
50
50
50
51
51
51
52
52
53
53
55
55
56
61
1
1
5
9
12
12
13
13
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
22
22
22
22
23
23
40
41
46
46
46
48
48
48
48
49
50
50
51
52
52
52
53
53
54
54
56
56
57
62
1
1
5
9
9
12
12
12
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
19
19
19
19
19
19
19
21
22
22
22
22
23
41
42
47
47
47
49
49
49
50
50
51
51
52
53
53
53
54
54
55
55
57
57
63
1
5
5
9
10
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
15
15
15
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
19
20
22
22
22
42
43
47
48
48
50
50
50
50
51
51
52
52
53
54
54
54
55
55
56
56
58
64
1
10
11
11
11
11
12
12
12
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
16
16
16
16
16
17
17
18
18
18
18
19
19
19
19
19
19
19
19
21
22
22
23
43
44
48
49
49
51
51
51
52
52
53
53
54
55
55
55
56
56
57
57
65
1
9
9
9
9
11
11
12
12
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
18
18
19
19
19
19
19
19
19
22
22
24
24
44
45
50
50
52
52
52
53
53
54
54
55
56
56
56
57
57
58
66
1
5
9
9
12
13
14
14
14
14
15
15
15
15
16
16
16
16
16
17
18
19
19
19
20
22
23
23
25
25
45
46
51
51
53
53
53
54
54
55
56
57
57
57
58
58
67
1
9
10
11
11
14
14
15
15
16
16
16
16
18
19
19
21
24
24
26
26
46
47
50
52
52
54
54
54
55
55
57
58
58
59
68
1
11
11
11
11
12
12
13
15
16
16
16
16
17
19
22
27
27
46
47
50
51
53
53
55
55
56
58
59
60
69
1
9
11
11
11
11
11
13
13
13
13
13
13
16
16
16
16
16
17
22
23
28
28
28
28
46
47
49
50
51
52
54
54
57
60
61
70
11
11
11
11
11
11
13
13
13
13
13
13
13
13
16
16
16
16
16
17
17
18
20
22
22
24
28
28
28
28
28
29
29
29
29
47
48
50
51
52
53
55
61
62
71
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
14
16
16
16
16
16
17
17
17
18
18
19
22
22
25
28
28
28
29
29
29
29
29
30
30
30
30
40
48
51
52
53
54
57
62
63
72
1
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
15
16
16
16
16
17
17
18
18
19
19
22
22
26
28
28
28
28
29
29
29
30
30
30
30
30
31
31
31
41
48
52
53
54
55
57
58
63
64
73
1
2
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
14
14
14
16
16
17
18
18
19
19
22
26
26
27
28
28
28
28
29
29
29
29
30
30
30
31
31
31
31
32
32
32
42
49
53
54
55
56
57
58
64
65
74
1
1
1
2
3
11
11
11
11
11
13
13
13
13
13
13
13
14
14
15
15
15
18
19
19
27
27
28
28
29
29
29
29
30
30
30
30
31
31
32
32
32
32
33
33
33
43
48
54
55
56
57
57
65
66
75
1
1
1
3
4
11
11
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
14
14
14
14
15
15
15
16
17
19
26
28
28
28
29
30
30
30
30
31
31
31
32
32
33
33
33
33
34
34
34
44
48
55
56
57
57
66
67
76
1
1
2
11
11
11
11
11
11
11
11
11
11
12
13
13
13
13
13
13
13
13
13
13
13
14
14
15
15
15
15
16
17
17
17
17
17
20
26
26
27
28
28
28
28
29
30
31
31
31
31
32
32
32
33
33
33
33
33
34
34
35
35
35
35
45
56
57
58
67
68
77
1
1
1
1
1
2
3
11
11
11
11
11
11
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
17
17
17
17
17
17
20
26
27
27
28
28
29
29
29
29
30
31
32
32
32
32
33
33
33
33
34
34
34
34
35
35
35
35
36
36
36
36
40
48
57
58
68
69
78
1
1
1
1
2
2
3
4
11
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
16
16
17
17
17
17
18
20
26
26
27
28
28
28
29
30
30
30
30
31
32
33
33
33
33
34
34
34
34
35
35
35
35
35
36
36
36
37
37
37
37
38
41
47
48
58
69
70
79
1
1
1
2
2
2
3
3
4
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
16
16
16
17
17
17
17
17
17
17
17
17
17
18
19
26
27
27
28
29
30
31
31
31
31
32
33
33
33
34
34
34
35
35
35
35
35
35
36
36
36
36
36
37
37
37
38
38
38
38
39
42
47
49
57
70
71
80
1
1
3
3
3
4
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
19
20
26
27
28
28
30
31
32
32
32
32
33
33
33
34
34
34
35
35
35
35
35
35
36
36
36
36
36
37
37
37
37
38
38
38
39
39
39
40
43
46
49
57
71
72
81
1
2
4
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
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
14
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
20
26
27
28
29
31
32
33
33
33
33
33
34
34
34
35
35
35
35
35
35
35
36
36
36
36
36
36
37
37
37
37
38
38
38
38
39
39
40
40
40
41
44
46
47
49
72
73
82
3
11
11
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
14
14
14
14
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
27
28
29
30
32
33
33
34
34
34
34
35
35
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
37
38
38
38
38
39
39
39
39
40
40
41
41
42
45
47
47
73
74
83
1
1
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
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
28
29
30
31
33
33
33
34
34
35
35
35
35
35
35
36
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
38
38
38
39
39
39
40
40
40
40
41
41
42
42
43
46
74
75
84
1
1
1
11
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
15
15
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
19
19
19
19
19
29
30
31
31
32
33
33
33
33
34
34
35
35
35
35
35
35
36
36
36
36
36
36
37
37
37
37
38
38
38
38
38
38
38
39
39
39
39
39
39
40
40
40
41
41
41
42
42
43
43
46
46
75
76
85
1
1
1
1
11
11
11
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
17
17
17
17
18
19
19
19
19
19
20
20
20
20
26
30
31
32
33
33
33
34
34
34
35
35
35
35
35
36
36
36
36
37
37
37
37
37
38
38
38
38
39
39
39
39
39
39
40
40
40
40
40
40
41
41
42
42
42
43
43
44
44
47
48
50
76
77
86
1
1
1
1
1
11
12
12
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
17
17
17
18
18
19
19
19
19
20
20
20
20
26
27
31
31
32
33
33
33
34
34
35
35
35
35
36
36
36
36
37
37
37
38
38
38
38
38
39
39
39
40
40
40
40
40
40
41
41
41
41
41
42
42
43
43
43
43
44
44
45
45
48
50
50
51
77
78
87
1
1
1
11
11
11
11
11
11
12
13
13
13
13
13
13
13
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
19
19
20
20
20
20
27
28
31
32
33
33
34
34
35
35
36
36
36
36
37
37
37
38
38
38
39
39
39
39
39
40
40
40
41
41
41
41
41
41
42
42
42
42
43
43
44
45
45
46
46
46
49
50
50
51
52
78
79
88
1
1
1
1
1
1
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
13
14
14
14
15
15
15
16
16
16
16
16
16
17
17
19
20
20
28
29
34
34
35
35
35
35
36
36
37
37
37
37
38
38
38
39
39
39
40
40
40
40
40
41
41
42
42
42
42
42
42
43
43
43
43
44
44
45
46
47
47
49
49
50
51
52
53
79
80
89
1
1
1
1
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
14
14
14
15
15
15
15
16
16
16
16
17
19
19
20
29
30
31
33
35
35
35
36
36
36
37
38
38
39
39
39
40
40
40
41
41
41
41
42
42
43
43
43
43
43
43
44
44
44
44
44
45
45
46
47
48
48
48
49
50
50
52
53
80
81
90
1
1
1
1
1
1
1
1
11
11
11
11
11
11
11
11
11
11
12
13
13
13
13
13
13
13
14
14
14
14
14
15
16
16
16
16
16
19
19
20
30
31
34
35
36
36
36
37
37
37
39
39
40
40
41
41
41
42
42
42
43
43
44
44
44
44
44
44
45
45
45
45
45
46
46
47
48
48
49
49
50
50
51
53
81
82
91
1
1
1
1
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
15
15
16
16
16
16
17
19
20
31
35
35
36
37
37
37
38
40
40
41
41
42
42
42
43
43
43
43
43
44
44
45
45
45
45
45
45
46
46
46
46
47
47
48
48
49
50
50
50
50
51
52
82
83
92
1
1
1
1
4
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
14
14
14
14
14
15
15
16
16
16
16
16
16
19
19
19
20
31
33
36
36
37
38
39
40
41
41
42
42
43
43
44
44
44
45
45
46
46
46
46
46
47
47
47
47
48
48
49
49
50
50
50
51
51
51
52
83
84
93
1
1
1
5
5
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
14
14
15
15
15
15
16
16
16
16
19
19
19
19
19
31
32
33
35
37
37
38
39
40
42
42
43
44
44
45
45
45
45
45
46
47
47
47
47
47
48
48
48
48
48
49
49
50
50
50
51
51
52
52
52
84
85
94
1
1
5
5
6
11
11
11
11
11
11
12
12
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
16
16
16
16
16
16
16
16
19
19
19
32
33
35
36
38
39
40
40
41
41
43
44
44
45
45
45
46
46
46
46
47
48
48
48
48
48
48
49
49
49
49
50
50
50
50
51
51
52
53
53
85
86
95
1
1
1
4
4
4
5
6
7
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
17
17
19
19
19
33
36
37
39
40
40
41
42
43
45
45
45
45
46
46
46
47
47
47
47
48
49
49
49
49
49
50
50
50
50
50
50
51
51
52
52
54
54
86
87
96
1
4
4
5
5
7
8
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
19
19
19
28
33
37
38
40
40
42
43
45
45
46
46
46
47
47
47
48
48
48
48
49
50
50
50
50
50
51
51
51
51
52
52
53
55
55
87
88
97
1
1
4
5
5
6
8
9
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
17
19
19
19
19
29
33
38
39
40
41
43
43
45
46
47
47
47
48
48
48
49
49
49
49
50
50
50
51
51
51
51
52
52
52
53
53
56
88
89
98
4
4
4
5
5
7
9
10
11
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
19
19
19
19
30
33
39
40
41
41
44
45
46
47
48
48
48
49
49
49
50
50
50
50
50
50
51
51
52
52
53
53
53
54
57
89
90
99
1
5
5
5
6
8
10
11
12
12
12
12
12
13
13
13
13
14
14
14
15
15
15
15
16
16
16
16
16
16
16
17
17
19
19
31
40
41
43
46
47
48
49
49
49
50
50
50
50
50
50
50
51
51
51
51
52
52
53
54
55
58
90
91
100
4
5
6
7
9
11
12
12
12
12
13
13
13
13
14
14
14
14
15
16
16
16
16
16
17
17
17
19
31
33
40
44
45
47
48
49
50
50
50
50
50
50
50
51
51
51
51
51
52
52
52
52
53
55
56
59
91
92
101
7
7
8
10
11
11
11
12
12
13
13
13
14
14
14
15
15
16
16
17
17
17
19
19
31
33
40
46
48
49
50
50
50
50
50
51
51
51
51
51
52
52
52
52
53
53
53
56
57
60
92
93
102
9
9
11
11
11
11
11
11
12
13
13
13
13
14
14
14
15
15
16
16
17
19
22
24
28
31
31
33
47
49
50
50
50
50
50
51
51
51
52
52
52
52
53
53
53
54
57
58
61
93
94
103
7
7
9
9
11
11
11
11
11
12
13
14
14
14
15
15
16
16
19
22
22
22
23
24
25
26
29
31
31
33
48
50
50
50
51
51
51
52
52
52
53
53
54
55
58
59
62
94
95
104
7
8
8
8
8
9
9
9
10
11
11
11
11
11
13
15
16
16
17
23
23
23
24
24
24
25
26
27
30
31
31
33
49
50
50
51
51
52
52
52
52
53
53
55
56
59
60
63
95
96
105
1
7
7
7
8
8
9
9
9
9
9
11
11
11
11
11
11
11
11
11
11
11
11
11
12
14
14
16
17
17
17
22
22
24
24
24
24
25
25
26
27
28
31
31
31
33
50
50
50
51
52
52
52
53
56
57
60
61
64
96
97
106
2
7
7
9
9
9
9
9
9
9
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
13
14
15
15
18
18
22
22
22
23
23
24
24
24
24
24
25
25
25
26
26
27
28
29
31
34
35
42
51
51
52
57
58
61
62
65
97
98
98
107
1
3
7
7
8
8
9
9
9
9
9
9
9
9
9
9
11
11
11
11
11
11
11
11
11
11
12
12
13
13
13
14
16
16
19
19
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
25
26
26
26
27
27
28
29
31
33
35
35
35
36
42
52
52
53
58
59
66
98
99
99
108
1
1
1
1
2
4
8
8
8
8
9
9
9
9
9
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
13
13
14
15
20
20
22
22
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
27
27
27
28
28
29
29
30
33
35
35
36
36
37
41
47
52
53
59
60
67
99
100
100
109
1
1
2
3
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
13
13
14
16
17
21
21
21
21
22
23
23
24
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
28
28
28
29
29
30
31
33
33
35
36
37
37
38
42
48
60
61
68
100
100
101
101
110
1
1
3
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
14
14
14
14
17
21
21
21
21
21
22
22
22
22
23
24
24
25
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
29
30
30
30
30
30
30
31
32
33
33
35
35
35
37
38
38
44
44
48
49
61
62
69
102
102
111
1
1
1
2
4
8
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
18
21
21
21
22
22
22
22
22
22
23
23
23
23
24
24
24
26
27
27
27
27
27
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
31
31
31
31
31
31
33
33
33
35
35
36
36
38
41
43
43
49
50
62
63
70
103
103
112
1
1
1
1
2
3
8
8
8
8
8
8
8
8
8
8
8
9
9
9
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
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
19
19
21
21
21
21
21
22
22
22
23
23
23
23
23
23
24
24
24
25
25
25
27
28
28
28
28
28
29
29
29
29
29
30
30
30
30
30
30
31
31
31
31
31
32
32
32
32
32
32
33
34
35
35
36
37
37
43
43
43
49
50
51
63
64
71
104
104
113
1
1
1
1
1
2
2
3
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
10
10
10
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
14
14
14
14
14
14
15
17
19
19
19
20
20
21
21
21
21
21
22
22
22
22
22
23
23
23
24
24
24
24
24
25
25
25
26
26
26
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
33
33
33
33
33
33
33
35
35
35
35
35
36
37
38
43
44
44
50
50
51
52
64
65
72
105
105
114
1
1
2
3
3
4
8
8
8
8
8
8
8
8
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
11
11
12
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
14
14
14
14
15
16
19
19
20
20
20
21
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
24
25
25
25
25
26
26
26
27
27
27
27
29
29
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
33
33
33
33
33
34
34
34
34
35
35
35
35
36
36
36
36
37
39
44
44
44
50
50
51
52
53
65
66
73
106
106
115
1
3
4
8
8
8
8
8
8
8
8
8
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
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
14
14
14
14
14
14
14
14
14
14
14
14
16
17
19
19
20
20
21
21
21
21
22
22
23
23
23
23
23
24
24
24
24
25
25
25
26
26
26
26
26
27
27
27
27
28
28
28
30
30
31
31
31
31
31
31
31
31
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
34
34
34
35
35
35
35
35
36
36
37
37
37
37
40
40
43
50
50
52
53
54
66
67
74
107
107
116
1
8
8
8
8
8
8
8
8
8
9
9
9
9
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
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
17
19
20
20
21
21
21
21
22
23
23
24
24
24
24
24
25
25
25
25
26
26
26
26
26
26
26
27
27
27
28
28
28
29
29
29
30
30
30
31
31
31
31
32
32
32
32
32
32
32
32
33
33
33
33
33
33
33
33
34
34
34
34
35
35
35
35
36
36
36
36
37
37
38
38
38
42
43
44
50
50
53
54
55
67
68
75
108
108
117
1
1
8
8
8
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
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
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
16
19
19
20
21
21
21
22
22
22
23
24
24
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
29
29
29
29
29
30
30
30
30
30
31
31
31
31
32
32
33
33
33
33
33
33
33
33
34
34
34
34
34
35
35
35
35
35
35
36
36
36
37
37
37
37
38
39
39
42
43
43
50
50
54
55
56
68
69
76
109
109
118
1
1
1
8
8
9
9
9
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
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
16
16
17
20
20
21
22
22
23
23
23
24
25
25
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
29
29
29
30
30
30
30
31
31
31
31
31
31
32
32
32
32
33
33
34
34
34
34
34
34
35
35
35
35
35
35
35
35
35
36
36
36
36
36
37
37
37
38
38
38
38
40
41
44
50
50
50
55
56
57
69
70
77
110
110
119
1
1
1
1
8
8
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
16
16
17
17
21
21
22
23
23
24
24
24
25
26
26
27
27
27
27
27
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
31
31
31
31
31
31
31
31
32
32
32
32
32
32
33
33
33
33
34
34
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
37
37
37
37
37
37
38
38
39
39
39
42
43
43
50
50
50
56
57
58
70
71
78
111
111
120
1
1
1
8
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
16
16
16
16
16
17
17
22
23
24
24
24
25
25
25
26
26
26
26
27
27
27
28
28
28
28
28
28
29
29
29
29
29
30
30
30
31
31
31
32
32
32
32
32
32
33
33
33
33
33
33
34
34
34
34
35
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
38
39
39
40
40
40
44
50
50
50
57
58
59
71
72
79
112
112
121
1
1
1
8
8
9
9
9
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
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
16
17
17
17
17
19
23
24
25
25
26
26
26
26
27
27
27
27
28
28
29
29
29
29
29
30
30
30
31
31
31
32
32
33
33
33
33
33
33
34
34
34
34
34
34
35
35
35
35
35
35
35
35
36
36
36
37
37
37
37
37
37
38
38
38
38
39
39
40
41
41
41
41
43
50
50
58
59
60
72
73
80
113
113
122
1
1
1
1
1
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
15
15
16
16
16
17
19
20
24
24
25
26
26
26
27
27
27
28
28
28
28
29
30
30
30
30
30
31
31
31
31
32
32
32
33
33
34
34
34
34
34
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
36
37
37
37
38
38
39
39
39
39
40
40
40
42
42
42
50
50
59
60
61
73
74
81
114
114
123
1
1
1
1
1
1
5
5
8
8
8
8
9
9
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
15
16
16
16
17
20
21
24
25
26
26
26
27
27
27
28
28
28
28
29
29
29
29
30
31
31
31
31
32
32
32
33
33
33
34
34
35
35
35
35
35
35
36
36
36
36
36
36
36
36
37
37
37
37
37
38
38
39
39
39
40
40
40
41
41
43
43
43
43
45
45
45
50
50
60
61
74
75
82
115
115
124
1
1
1
1
1
5
8
8
8
9
9
9
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
17
21
22
26
26
27
27
28
28
28
28
28
29
29
29
29
30
30
30
30
31
32
32
32
32
33
33
33
34
34
35
35
35
35
36
36
36
36
36
36
37
37
37
37
37
38
38
38
39
39
39
40
40
41
41
41
42
42
44
44
44
45
46
46
61
61
62
75
76
83
116
116
125
1
1
1
1
1
5
8
8
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
15
15
16
16
16
16
22
23
24
26
26
27
28
28
28
29
29
29
29
30
30
30
30
31
31
32
33
33
33
33
34
34
35
36
36
36
36
37
37
37
38
38
38
39
39
39
39
40
40
40
41
42
42
42
43
43
45
45
45
47
47
62
63
76
77
84
117
117
126
1
1
1
1
5
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
15
16
16
17
23
24
26
27
27
28
28
29
29
29
30
30
30
30
31
31
31
32
32
34
34
34
35
35
37
37
38
39
39
39
39
39
40
40
40
41
41
41
42
43
43
43
44
44
45
45
45
45
46
46
46
48
64
77
77
78
85
118
118
127
1
1
1
1
5
5
5
8
8
8
8
8
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
16
16
17
24
27
28
28
29
29
30
30
30
31
31
32
32
32
33
33
34
35
35
36
36
36
38
39
39
40
40
40
40
41
41
41
42
42
42
43
44
44
44
45
45
45
45
46
46
47
47
65
78
78
79
86
119
119
128
1
1
1
5
5
8
8
8
8
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
15
15
22
24
27
29
29
30
30
31
31
32
32
33
33
33
33
33
34
36
37
37
38
39
40
40
40
40
40
40
41
41
41
42
42
42
43
43
43
44
45
45
45
45
45
45
45
45
45
45
46
46
47
47
48
79
79
80
87
120
120
129
1
1
5
8
8
8
9
9
9
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
15
16
16
16
23
24
25
27
28
29
30
30
31
31
32
32
33
33
34
34
34
35
37
38
38
38
39
39
41
41
41
41
41
42
42
42
43
43
43
44
44
44
45
45
46
46
46
46
46
46
47
47
49
62
62
63
63
80
80
81
88
121
121
130
1
2
5
5
8
8
8
8
9
9
9
10
10
10
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
14
14
16
16
16
16
24
25
27
28
29
29
29
31
32
32
33
33
33
33
34
34
34
35
38
39
39
40
40
40
42
42
42
42
42
43
43
43
44
44
44
45
45
45
45
45
45
45
46
47
47
47
47
47
50
62
63
64
64
81
82
89
122
122
131
1
1
2
3
5
8
8
8
9
9
9
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
14
14
14
15
16
16
16
24
25
29
29
29
30
32
33
33
33
34
34
34
36
39
39
40
40
41
41
41
43
43
43
43
43
44
44
44
45
45
45
45
45
45
45
46
46
46
46
47
48
51
64
65
65
82
83
90
123
123
132
1
3
4
5
5
8
8
9
9
10
10
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
15
15
16
16
25
26
29
29
29
30
31
33
33
34
34
35
35
35
37
40
40
40
41
41
42
42
42
44
44
44
44
44
45
45
45
45
45
45
45
46
46
46
46
46
47
47
48
52
65
83
84
91
124
124
133
1
4
4
5
5
5
8
9
9
9
10
11
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
15
15
16
16
26
26
29
29
29
31
32
33
34
34
35
35
36
36
38
40
41
41
41
42
42
43
43
43
45
45
45
45
45
45
45
45
45
46
46
46
46
46
47
47
47
47
49
53
84
85
92
125
125
134
5
5
5
5
6
6
8
9
9
9
9
9
9
9
10
11
11
12
12
12
12
12
13
13
13
13
14
14
15
15
16
16
20
20
26
27
29
29
32
33
34
34
35
35
37
37
39
41
42
42
42
43
43
44
44
44
45
45
45
45
46
46
46
46
46
46
46
47
47
47
47
50
54
85
86
93
126
126
135
5
5
5
5
5
5
7
7
8
8
9
9
9
9
9
9
10
11
12
12
12
12
12
13
13
13
14
15
16
16
20
20
20
20
21
21
24
26
27
29
29
33
34
35
35
38
38
40
42
43
43
43
44
44
45
45
45
46
46
47
47
47
47
47
47
48
51
86
87
94
127
127
136
4
4
5
5
5
8
8
9
9
9
9
9
9
9
9
9
10
11
12
12
12
13
13
13
14
14
15
16
20
20
21
21
21
21
21
22
22
24
25
26
27
29
29
33
35
35
35
39
39
41
43
44
44
44
45
45
46
46
47
47
48
48
48
49
52
87
88
95
128
128
137
5
5
5
5
5
5
5
5
5
5
9
9
9
9
9
9
9
9
9
9
9
10
12
12
13
13
14
14
15
15
20
20
20
21
21
22
22
22
22
22
23
24
26
26
27
29
29
33
35
35
35
40
40
42
44
45
45
45
46
46
47
47
49
50
53
88
89
96
129
129
138
5
5
5
5
5
5
5
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
14
14
15
15
20
20
20
20
21
21
21
22
22
23
23
23
23
24
24
24
26
27
27
29
30
35
35
35
41
41
42
43
45
46
46
46
47
47
50
54
89
90
97
130
130
135
139
4
5
5
5
5
5
5
5
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
11
11
11
11
11
13
15
15
15
15
15
19
20
20
20
21
21
21
21
22
22
22
23
23
24
24
24
24
24
24
25
27
29
29
31
35
35
35
39
42
42
43
44
46
47
47
48
48
51
90
91
98
131
136
140
5
5
5
5
5
5
5
5
5
5
6
9
9
9
9
9
9
9
9
9
9
10
10
11
12
12
12
15
15
15
16
16
16
16
20
20
20
20
20
21
21
21
22
22
22
22
23
23
24
24
24
24
25
25
25
26
26
27
29
32
35
35
35
39
43
43
44
45
47
48
48
48
49
52
91
92
99
132
137
141
1
5
5
5
5
5
5
5
5
5
5
6
6
6
6
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
11
11
13
13
13
13
15
16
16
16
17
17
17
17
20
21
21
21
21
21
22
22
22
23
23
23
24
24
24
24
25
25
25
26
26
26
26
27
27
31
31
31
33
35
35
38
44
44
45
46
48
48
49
50
53
92
93
100
133
138
142
4
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
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
11
11
11
11
13
13
13
13
13
14
14
14
14
14
14
16
17
17
17
17
17
17
17
17
17
18
18
21
21
22
22
22
22
22
23
23
23
24
24
24
24
25
25
26
27
27
27
28
29
31
32
32
34
39
45
45
45
46
47
48
48
50
51
54
93
94
101
134
139
143
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
11
11
12
12
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
20
22
22
23
23
23
23
24
24
24
24
25
25
25
25
25
26
26
26
26
28
28
29
33
33
35
45
45
46
47
47
48
51
52
55
94
95
102
130
135
140
144
1
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
11
11
11
11
11
11
12
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
21
22
23
23
24
24
24
24
25
25
25
25
26
26
26
26
26
26
27
27
29
29
30
30
31
31
31
31
34
38
39
45
48
48
49
52
53
56
95
96
103
136
141
145
1
2
5
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
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
10
11
11
11
12
12
12
12
13
13
13
13
14
14
14
14
14
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
19
19
19
20
20
20
20
20
20
20
22
24
24
25
25
25
25
25
26
26
26
26
26
27
27
27
27
28
28
30
30
31
31
31
31
31
31
31
31
31
32
32
38
39
45
47
49
50
53
54
57
96
97
104
137
142
146
1
1
1
2
3
5
5
5
5
5
5
5
5
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
10
10
10
10
10
10
11
11
11
12
12
13
13
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
23
25
25
25
26
26
26
26
26
26
26
27
27
27
28
28
28
28
29
29
31
31
31
31
31
31
32
32
32
32
32
32
33
33
38
39
39
45
50
54
55
58
97
98
105
138
143
147
1
1
1
1
1
1
1
2
3
4
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
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
12
12
13
13
13
14
14
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
24
25
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
29
29
29
29
30
30
32
32
33
33
33
33
33
33
38
39
39
45
46
46
46
48
48
48
51
55
56
59
98
99
106
139
144
148
1
1
2
3
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
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
11
11
11
11
11
11
11
12
13
13
13
13
14
15
15
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
22
22
22
22
22
22
23
23
23
23
23
24
25
25
25
25
25
26
26
27
27
27
27
28
28
28
28
28
28
29
29
29
29
30
30
30
30
31
31
31
31
31
31
31
33
33
34
34
34
38
38
39
44
45
49
49
49
52
56
57
60
99
100
107
140
145
149
1
1
1
1
2
3
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
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
13
13
14
14
14
14
14
14
15
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
19
20
20
20
20
20
20
20
21
21
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
26
26
26
26
26
27
27
28
28
28
28
28
28
29
29
29
29
29
30
30
30
30
31
31
31
31
31
31
32
32
32
32
35
35
39
39
43
45
45
50
50
50
53
57
58
61
100
101
108
141
146
150
1
1
1
2
2
3
5
5
5
5
5
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
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
12
12
12
12
13
13
13
14
14
15
15
15
15
15
15
16
17
17
18
18
18
18
18
18
19
19
19
19
20
20
20
20
21
21
21
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
29
29
29
29
29
30
30
30
30
30
31
31
31
31
31
31
31
32
32
32
33
33
33
35
36
39
39
44
46
54
58
59
62
62
101
102
109
142
147
151
1
1
2
3
3
4
5
5
5
5
5
5
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
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
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
13
13
14
14
15
16
16
16
16
16
16
17
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
22
22
22
22
23
23
23
23
23
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
26
26
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
31
31
31
31
31
31
31
32
32
32
32
33
33
33
34
35
37
38
45
47
59
60
63
63
63
102
103
110
143
148
152
1
3
4
5
5
5
5
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
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
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
14
15
16
17
17
17
17
17
18
19
19
20
20
20
20
20
21
21
22
22
22
22
23
23
23
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
31
31
31
31
31
32
32
32
32
33
33
34
35
38
39
39
46
48
60
61
64
64
103
104
111
144
149
153
5
5
5
5
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
9
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
13
13
14
16
17
18
18
18
18
18
19
20
20
21
21
21
22
22
22
22
23
23
23
23
23
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
30
31
31
32
32
32
33
33
33
33
34
34
35
45
47
61
61
62
65
65
104
105
112
145
150
154
1
5
5
5
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
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
11
11
11
11
11
11
12
12
12
12
12
13
13
13
14
14
17
18
19
19
19
19
19
20
21
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
27
27
27
27
28
28
28
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
31
31
31
31
31
32
32
33
33
34
35
35
36
45
48
62
62
63
66
105
106
113
146
151
155
1
1
1
1
5
5
6
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
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
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
14
14
15
18
18
19
19
20
20
20
21
22
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
31
31
31
31
32
32
32
32
33
34
34
37
45
45
49
63
63
64
67
106
107
114
147
152
156
1
1
1
1
5
5
5
5
6
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
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
14
14
15
16
16
18
18
19
20
20
20
20
21
21
22
22
22
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
28
28
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
32
32
32
32
33
33
33
33
35
38
45
45
50
64
64
65
68
107
108
111
115
148
153
157
1
1
1
1
1
1
5
6
7
7
7
7
8
8
8
8
8
8
8
8
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
12
13
13
13
13
14
14
14
14
15
16
17
18
18
19
19
20
20
20
20
21
21
21
22
22
22
22
23
23
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
27
27
27
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
31
31
31
31
31
31
32
32
32
32
33
33
33
33
33
34
34
34
34
34
40
40
45
45
51
65
65
66
69
109
112
116
149
154
158
1
1
1
1
1
5
5
5
6
6
6
6
8
8
8
8
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
13
13
13
13
13
14
14
14
15
16
16
17
18
18
18
19
19
20
21
21
22
22
22
23
23
23
23
24
24
24
24
25
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
30
30
30
30
30
30
30
31
31
31
32
32
32
32
32
32
32
33
33
33
34
34
34
34
34
34
35
35
35
40
40
41
45
45
52
66
66
67
70
110
113
117
150
155
159
1
1
1
1
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
13
14
14
14
14
16
16
17
18
18
19
19
20
20
21
22
22
23
23
23
24
24
24
24
24
25
25
25
25
25
27
27
27
28
28
28
28
28
28
28
28
29
29
29
29
29
30
30
30
30
30
30
30
30
31
31
31
31
32
32
32
33
33
33
33
33
34
34
34
35
35
35
35
36
36
36
40
40
41
42
45
53
62
65
67
67
68
71
111
114
118
151
156
160
1
1
1
1
1
5
5
5
5
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
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
12
12
12
13
13
14
17
18
19
19
19
20
20
20
20
21
21
22
23
23
24
24
24
25
25
25
25
25
26
26
26
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
31
31
31
31
31
31
32
32
32
32
32
33
33
34
34
34
34
35
35
36
36
36
37
37
37
40
40
41
42
45
63
63
68
68
69
72
107
112
115
119
152
157
161
1
1
1
1
1
1
5
5
5
5
5
5
5
6
6
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
10
10
10
10
10
10
10
10
11
11
11
12
13
13
13
13
14
16
18
19
20
20
21
21
21
22
22
24
24
25
25
25
25
25
26
26
26
27
27
27
29
29
29
30
30
30
30
30
31
31
31
32
32
32
32
32
32
33
33
33
34
34
34
35
35
35
36
36
37
37
37
38
38
38
40
40
41
42
64
69
69
70
73
113
116
120
153
158
162
1
1
1
1
1
1
5
5
5
5
5
6
6
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
10
10
10
11
11
11
12
13
13
14
15
19
20
21
21
22
22
22
23
25
25
25
26
26
26
27
27
28
28
29
30
30
31
31
31
31
32
32
33
33
33
33
33
33
33
34
34
34
34
35
35
36
36
37
37
38
38
38
39
39
39
40
41
42
65
70
70
71
74
114
117
121
154
159
163
1
1
1
1
5
5
5
5
6
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
12
12
12
13
13
15
16
20
20
20
21
22
22
23
25
25
25
26
27
27
28
29
29
29
31
31
32
32
32
32
33
33
34
34
34
34
34
34
35
35
35
35
36
36
37
37
38
39
39
39
40
40
40
40
40
40
40
41
42
71
71
72
75
115
118
122
155
160
164
1
1
5
5
5
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
11
12
12
13
13
13
13
16
16
18
20
21
21
21
22
24
25
25
25
28
28
29
29
29
29
31
32
33
34
34
34
35
35
35
35
35
35
36
36
36
36
37
37
38
38
39
40
40
40
40
40
40
41
41
41
41
41
42
70
72
72
73
76
116
119
123
156
161
165
1
1
5
5
5
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
10
10
10
10
10
10
10
11
12
13
13
13
16
17
18
20
21
22
22
22
22
24
25
25
25
25
29
29
29
29
30
30
31
32
33
34
35
35
35
36
36
36
36
36
37
37
37
37
38
38
39
39
40
40
40
41
41
42
42
42
42
42
43
65
70
71
74
77
117
120
124
157
162
166
1
1
5
5
5
5
7
7
7
7
7
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
11
12
13
17
18
19
20
21
22
22
23
23
25
25
25
25
26
30
30
30
31
31
34
34
35
35
35
36
36
36
37
37
37
37
37
38
38
38
38
39
39
40
40
40
40
41
41
42
43
43
43
65
70
71
72
75
78
118
121
125
158
163
167
1
1
5
5
5
5
7
7
7
7
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
11
11
11
12
13
13
13
13
17
18
19
21
22
22
23
23
24
25
25
25
25
26
29
31
31
31
31
31
32
33
33
34
35
36
36
37
37
37
38
38
38
38
39
39
39
39
40
40
40
40
40
40
41
41
42
42
44
71
72
73
76
79
119
122
126
159
164
168
1
1
5
5
5
5
5
5
5
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
12
12
12
13
13
13
13
13
14
16
18
18
19
20
22
22
23
24
25
25
25
25
26
27
30
32
32
32
32
33
33
34
35
35
35
36
37
37
38
38
38
39
39
39
39
40
40
40
40
40
40
40
40
41
41
41
41
42
45
46
72
73
77
80
120
123
127
160
165
169
5
5
5
5
5
5
5
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
12
12
12
13
13
13
14
14
15
16
16
16
17
18
19
19
20
20
22
23
23
24
25
25
27
28
31
33
33
33
33
34
35
36
36
36
37
38
38
39
39
39
40
40
40
41
41
41
41
41
41
42
42
45
46
47
48
65
70
73
73
78
81
121
124
128
161
166
170
5
5
5
5
5
5
5
5
5
5
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
12
12
12
13
13
13
13
13
13
14
15
15
15
16
16
16
16
17
17
17
18
18
19
20
20
20
22
24
25
25
26
26
28
28
29
31
34
34
34
36
37
37
37
38
39
39
40
40
40
40
40
41
42
42
42
42
42
42
46
47
49
71
74
79
82
122
125
129
162
167
171
5
5
5
5
5
5
5
5
5
5
5
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
12
12
12
13
13
13
14
14
14
15
16
16
16
16
16
17
17
17
17
18
18
18
19
20
20
22
22
25
26
27
28
29
30
31
31
35
35
35
37
38
38
38
39
40
40
41
41
41
41
42
42
43
43
47
48
50
72
75
80
83
123
126
130
163
168
172
5
5
5
5
5
5
5
5
7
7
7
7
7
7
7
8
8
9
9
9
10
10
10
10
10
10
11
11
11
12
12
13
13
13
14
15
15
15
16
17
17
17
17
18
18
18
18
19
19
19
20
20
20
22
22
22
26
28
28
28
30
31
31
31
36
36
36
38
39
39
39
40
41
41
42
42
42
44
44
48
49
76
81
84
124
127
131
164
169
173
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
8
9
9
9
10
11
11
12
12
12
13
13
14
15
16
16
16
16
16
16
16
18
18
18
18
18
19
19
19
20
20
20
20
21
22
22
22
25
27
27
28
28
29
31
31
31
32
37
37
37
39
40
40
40
41
42
42
42
45
45
49
77
82
85
125
128
132
165
170
174
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
8
9
10
12
12
13
13
13
14
14
15
16
16
16
16
16
17
17
17
17
17
17
17
18
18
19
19
19
20
20
20
20
21
21
21
22
22
22
22
25
27
27
28
28
28
30
31
31
32
33
38
38
38
40
41
41
41
43
46
46
50
78
83
86
126
129
133
166
171
175
4
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
9
9
9
10
10
11
13
13
13
14
14
14
15
15
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
18
20
20
20
20
20
20
21
21
21
22
22
22
22
22
23
27
27
28
28
28
29
31
31
33
34
39
39
39
41
42
42
43
46
47
47
51
79
84
87
127
130
134
172
176
4
4
4
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
9
9
9
10
10
11
11
11
12
13
13
13
13
13
13
14
14
14
15
15
15
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
21
21
21
21
21
22
22
22
22
22
23
23
23
24
25
27
27
28
28
28
28
29
31
32
34
35
40
40
42
43
47
48
48
48
50
52
80
85
88
128
131
135
169
173
177
4
4
4
4
4
4
5
5
5
5
5
5
5
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
9
9
10
10
10
11
11
11
12
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
16
16
16
16
16
18
18
18
19
19
19
19
19
20
20
20
20
20
21
22
22
22
22
23
23
23
24
24
25
25
26
27
27
27
27
28
28
28
28
29
33
33
35
36
41
41
42
43
49
49
53
81
86
89
129
132
136
170
174
178
4
4
5
5
5
5
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
9
9
9
9
9
9
9
9
10
10
10
11
11
12
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
17
17
19
19
19
20
20
20
20
20
20
21
21
21
21
22
23
23
23
24
24
24
25
25
26
26
27
27
27
28
28
28
28
28
29
34
34
34
35
36
37
42
42
42
50
50
54
82
87
90
130
133
137
171
175
179
1
4
4
4
4
5
5
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
9
9
10
10
10
10
10
10
10
10
10
11
11
12
12
13
13
13
13
14
14
14
15
15
15
16
16
16
16
16
16
17
17
17
18
18
18
18
18
19
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22
24
24
25
25
25
26
26
27
27
27
27
27
27
27
27
28
28
28
29
29
29
33
33
35
36
37
38
43
43
51
54
54
55
83
88
91
131
134
138
166
172
176
180
1
1
1
4
4
4
5
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
8
8
8
8
8
9
9
9
10
10
11
11
11
11
11
11
11
12
13
13
13
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
17
17
17
17
17
18
18
18
18
19
19
20
20
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
25
25
26
26
26
27
28
28
28
28
28
28
28
29
30
30
33
33
36
37
38
42
44
44
50
50
52
55
55
56
84
89
92
132
135
139
173
177
181
1
2
2
4
4
4
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
9
10
10
10
10
10
10
10
11
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
16
16
16
17
17
17
17
18
18
18
18
18
18
18
19
19
20
20
21
21
22
22
22
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
26
26
27
27
27
27
27
27
28
28
29
29
29
29
29
30
34
37
38
39
42
45
45
53
56
56
85
90
93
133
136
140
174
178
182
1
2
3
3
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
10
10
11
11
11
11
11
11
11
12
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
15
16
16
16
17
17
17
18
18
18
19
19
19
19
19
20
20
20
20
21
22
22
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
27
27
27
27
28
28
28
28
30
30
33
34
38
38
39
40
46
46
54
57
57
86
91
94
134
137
141
175
179
183
1
2
3
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
9
9
9
10
10
10
10
11
11
11
11
12
12
12
12
13
13
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
17
18
18
18
18
18
18
18
19
20
20
20
20
20
20
20
21
21
21
21
23
23
23
23
23
24
24
25
25
25
25
25
26
26
26
26
26
26
26
26
27
27
28
28
29
29
31
33
33
34
39
39
40
41
41
47
47
50
54
55
87
92
95
135
138
142
176
180
184
1
1
1
3
4
4
4
4
4
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
13
13
13
13
13
13
14
14
15
15
15
15
15
16
16
16
16
17
17
17
17
17
18
18
18
19
19
19
19
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
23
24
24
24
24
24
24
24
24
24
24
25
25
26
26
26
26
27
27
27
27
27
27
28
29
29
32
33
33
34
40
41
42
42
48
48
55
56
88
93
96
136
139
143
177
181
185
1
1
1
2
4
5
5
5
5
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
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
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
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
27
28
28
28
28
29
32
33
34
34
39
40
42
43
43
49
49
56
57
89
94
97
137
140
144
178
182
186
1
1
1
1
3
4
4
4
4
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
7
7
7
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
12
12
12
12
13
13
13
13
14
14
14
14
15
15
15
16
16
16
17
17
17
17
18
18
18
18
19
19
19
20
20
20
20
20
20
21
21
21
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
24
24
25
25
25
25
26
26
26
26
26
26
27
27
28
28
29
29
30
32
33
34
39
40
40
43
50
50
58
90
95
98
138
141
145
179
183
187
1
1
2
4
4
4
4
4
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
13
13
13
13
14
14
14
14
14
15
15
16
16
16
17
18
18
18
18
18
19
19
19
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
24
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
27
27
27
28
30
32
33
34
35
39
39
40
40
41
41
41
44
51
51
59
91
96
99
139
142
146
180
184
188
1
1
1
2
3
4
5
6
6
6
7
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
11
11
11
11
11
11
11
11
11
11
11
12
12
13
14
14
14
14
14
15
15
15
15
16
16
16
17
17
17
18
18
18
19
19
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
27
28
28
28
31
33
34
41
42
42
42
45
52
52
60
70
92
97
100
140
143
147
181
185
189
1
1
1
2
3
4
4
4
5
5
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
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
12
12
12
12
12
13
13
14
14
15
15
16
16
16
16
16
17
18
18
18
18
19
20
20
20
20
20
20
21
21
21
21
21
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
26
26
26
26
27
27
28
29
29
31
32
33
34
42
43
43
43
53
53
61
65
71
93
98
101
142
144
148
182
186
190
1
3
4
4
5
6
6
7
7
7
7
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
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
13
13
13
14
14
14
14
16
16
16
17
17
17
17
17
18
18
19
19
19
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
23
23
23
24
24
24
24
24
24
24
25
25
25
26
26
26
26
26
27
27
27
28
28
28
29
30
32
32
40
43
44
54
54
62
72
94
99
102
143
145
149
183
187
191
4
4
5
5
6
6
7
7
7
7
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
10
11
11
11
11
11
11
11
11
11
11
11
11
13
13
14
14
14
14
14
15
16
16
17
17
17
17
18
18
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
24
24
24
24
25
25
25
25
25
25
26
26
27
27
27
28
28
28
29
32
33
40
44
45
55
55
63
73
95
100
103
144
146
150
184
188
192
1
1
4
4
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
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
11
11
11
12
12
14
15
15
16
16
16
17
18
18
18
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
23
23
23
23
23
23
23
23
24
24
24
24
25
25
25
26
26
26
26
26
26
27
28
28
28
29
29
30
32
34
40
40
46
56
56
64
65
96
101
104
140
145
147
151
185
189
193
1
1
1
1
1
4
4
5
6
6
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
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
12
12
12
13
14
14
16
16
17
17
17
18
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
24
24
24
24
24
24
24
25
25
26
26
26
27
27
27
27
27
28
28
28
29
29
29
30
33
40
40
47
57
57
65
66
97
102
105
146
148
152
186
190
194
1
1
1
1
1
1
4
4
5
6
7
7
7
7
7
7
7
7
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
11
11
11
11
12
12
12
13
13
13
14
15
16
17
17
18
18
19
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
24
24
24
25
25
25
25
25
25
26
26
27
27
28
28
28
28
28
28
29
30
30
30
31
31
35
40
40
48
58
58
66
67
98
103
106
147
149
153
187
191
195
1
1
1
1
1
5
5
5
7
7
7
7
7
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
13
13
13
14
14
14
16
17
18
19
19
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
23
23
23
23
23
23
24
24
25
25
25
26
26
26
26
26
26
27
28
28
29
29
29
29
29
30
31
31
31
32
32
35
36
40
40
49
59
59
67
68
99
104
107
148
150
154
188
192
196
1
1
1
5
6
7
7
7
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
12
13
13
13
13
14
14
17
18
19
19
20
20
20
21
21
21
21
21
21
22
22
22
22
23
23
24
24
24
24
24
25
25
26
26
27
27
27
27
27
28
29
29
30
30
30
30
30
31
32
32
33
35
35
37
40
50
60
60
68
69
70
73
100
105
108
149
151
155
189
193
197
1
1
1
1
5
7
7
7
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
11
12
12
13
13
13
13
14
14
14
14
16
18
19
19
20
20
20
21
21
21
21
21
22
22
23
24
25
25
25
25
25
26
26
27
27
28
28
28
28
28
29
29
30
31
31
31
31
33
33
34
35
35
35
35
35
36
38
40
61
61
65
69
70
71
106
109
150
152
156
190
194
198
1
1
1
1
5
5
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
13
13
14
14
14
16
16
19
20
20
21
21
21
22
23
24
25
25
26
26
26
26
27
27
27
28
28
29
29
29
29
30
30
31
32
32
32
32
34
34
35
35
35
35
36
36
36
37
62
62
70
71
72
107
110
151
153
157
191
195
199
1
1
1
1
1
4
5
5
5
5
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
12
12
12
12
13
14
16
17
18
18
21
21
21
21
22
24
25
25
26
26
27
27
27
27
28
28
28
29
29
30
30
30
31
32
33
33
33
33
35
35
35
35
35
36
36
37
37
37
63
63
71
72
73
108
111
152
154
158
192
196
200
1
1
1
1
1
5
5
5
5
5
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
12
12
13
13
14
14
16
16
16
18
19
19
20
21
22
22
25
26
26
27
27
27
28
28
28
29
29
29
29
30
30
31
31
31
31
32
33
34
34
34
34
35
35
35
35
35
36
36
36
36
37
37
38
64
64
72
74
109
112
153
155
159
193
197
201
1
1
1
1
1
1
5
5
5
5
7
7
7
7
7
7
7
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
11
13
13
13
14
14
14
15
16
16
17
18
18
20
21
21
23
23
24
26
27
27
27
28
28
29
29
29
29
29
29
30
30
30
30
31
31
32
32
32
33
34
35
35
35
35
35
35
36
36
37
37
37
37
38
65
65
72
72
73
73
73
75
110
113
154
156
160
194
198
202
1
4
5
5
5
5
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
12
13
13
13
14
14
14
15
15
16
17
18
19
21
21
21
22
24
24
25
27
28
28
28
29
30
30
30
30
31
31
31
31
31
32
32
33
33
33
34
35
35
35
35
35
35
36
36
36
36
36
37
37
38
38
39
54
66
74
74
74
111
114
155
157
161
195
199
203
1
1
1
4
5
5
5
5
5
5
5
5
5
5
5
5
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
11
11
11
12
12
12
13
13
13
13
14
14
14
15
15
16
16
18
18
19
20
20
21
22
23
24
25
26
27
28
29
29
30
31
31
31
32
32
32
32
33
33
34
34
34
35
35
36
36
36
36
37
37
37
39
40
50
55
67
75
75
75
112
115
156
158
162
196
200
204
1
1
1
4
4
5
5
5
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
8
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
12
12
12
13
13
13
14
14
14
14
14
15
15
15
16
16
17
18
18
18
20
20
21
21
23
24
24
26
27
27
28
29
30
30
30
31
31
31
31
32
32
32
33
33
33
33
34
34
35
35
35
35
35
36
37
37
37
37
40
41
56
68
76
113
116
157
159
163
197
201
205
1
1
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
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
12
12
12
13
13
13
13
13
13
13
13
13
14
14
15
15
15
16
16
16
17
18
18
18
18
19
20
20
21
22
24
24
24
25
27
27
28
28
29
29
30
31
31
31
32
32
32
33
33
33
34
34
34
34
35
35
36
36
36
36
37
38
38
41
50
57
69
72
73
77
114
117
158
160
164
198
202
206
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
15
15
16
16
16
16
16
16
17
17
18
18
18
19
20
20
21
22
23
23
24
24
25
26
27
27
29
29
29
30
32
32
32
33
33
33
34
34
34
35
35
35
35
35
35
36
36
37
37
37
38
39
51
70
74
78
115
118
159
161
165
199
203
207
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
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
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
13
13
13
13
13
13
13
13
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
20
20
20
20
21
23
23
24
24
24
24
26
27
27
27
30
31
33
33
33
34
34
34
35
35
35
36
36
36
36
36
37
37
38
40
52
71
75
79
116
119
160
162
166
200
204
208
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
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
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
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
17
17
18
18
18
18
18
18
18
18
19
19
19
20
20
20
20
21
21
23
23
24
24
24
24
25
25
27
27
27
28
31
32
34
34
34
35
35
35
36
36
36
37
37
37
37
38
39
41
53
72
80
117
120
161
163
167
201
205
209
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
11
11
11
11
12
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
16
17
17
17
18
18
18
19
19
19
19
20
20
20
20
20
20
21
22
23
23
23
24
24
24
25
26
26
27
28
29
32
33
35
35
35
36
36
36
37
37
38
38
39
39
42
54
54
57
73
81
118
121
162
164
168
202
206
210
4
4
5
5
5
5
5
5
5
5
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
9
9
10
10
10
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
19
19
20
20
20
20
20
20
20
21
21
21
23
23
23
23
23
24
24
24
24
25
26
27
27
29
30
34
36
36
36
37
37
38
38
38
39
40
41
43
50
55
55
74
82
119
122
163
165
169
203
207
211
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
11
11
11
11
12
12
12
13
13
13
13
14
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
21
22
22
22
23
23
23
23
23
24
24
24
24
24
25
25
27
28
30
31
35
37
37
37
38
38
39
42
44
56
56
75
83
120
123
164
166
170
204
208
212
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
12
12
12
13
13
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
22
22
23
23
23
23
23
23
23
24
24
24
25
25
25
26
28
29
31
32
36
38
38
39
39
43
45
57
57
76
84
121
124
165
167
171
205
209
213
4
4
4
4
4
4
4
5
5
5
5
5
5
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
12
12
12
12
13
13
13
14
14
14
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
25
25
26
26
29
30
32
39
39
40
41
46
57
57
58
77
85
122
125
166
168
172
206
210
214
1
4
4
5
5
5
5
5
5
5
5
5
5
7
7
7
7
7
8
8
9
9
9
9
9
9
9
10
10
11
11
11
11
12
12
12
12
13
13
13
14
14
14
15
15
16
16
16
16
16
16
16
17
17
17
18
18
18
18
19
19
19
19
19
20
20
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
27
29
30
30
31
33
39
42
47
47
57
57
58
59
78
86
123
126
167
169
173
207
211
215
1
4
4
4
4
5
5
5
5
5
5
5
5
5
6
7
7
7
7
8
8
8
8
9
9
9
10
10
10
10
10
10
11
11
13
13
13
13
14
14
14
15
15
15
16
16
16
16
16
16
17
17
17
17
18
18
18
18
19
19
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
23
23
23
24
24
24
25
25
25
25
26
26
28
29
29
34
34
39
43
43
48
48
58
59
79
87
124
127
168
170
174
208
212
216
4
4
4
4
4
4
5
5
5
5
5
5
6
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
10
10
11
11
11
11
11
12
12
14
14
15
15
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
20
20
21
22
22
22
22
22
22
22
22
22
23
23
23
24
24
24
24
24
25
25
26
26
27
27
29
30
32
34
35
35
39
49
49
57
57
59
80
88
125
128
169
171
175
209
213
217
1
4
4
4
5
5
5
5
5
5
5
5
6
6
6
7
7
7
9
9
9
9
9
9
9
10
10
10
10
11
11
12
12
12
13
13
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
22
23
23
23
23
23
23
23
23
23
24
24
24
25
25
25
25
26
28
28
30
33
35
36
38
50
50
58
81
89
104
126
129
170
172
176
210
214
218
2
4
4
4
4
5
5
5
6
7
7
7
8
9
9
10
10
10
10
10
11
11
11
11
11
12
13
13
13
14
16
16
16
17
17
17
18
18
18
18
18
18
18
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
23
24
24
24
24
24
24
25
25
26
26
29
29
30
31
31
33
33
34
36
37
39
43
47
59
82
90
105
127
130
171
173
177
211
215
219
1
3
4
5
5
5
5
5
5
6
6
7
7
9
9
9
11
11
11
11
11
11
12
12
12
14
14
15
16
16
16
16
16
17
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
21
21
21
21
22
22
22
22
22
22
22
23
23
23
25
25
25
25
25
26
26
27
27
29
30
34
34
35
37
38
38
48
83
91
106
128
131
172
174
178
212
216
220
1
2
4
4
4
5
5
5
5
5
5
6
7
7
9
9
10
10
12
12
12
13
13
14
15
16
16
17
17
17
18
18
19
19
19
19
20
20
21
21
22
22
22
22
23
23
23
23
23
24
24
24
25
26
26
26
28
29
29
30
35
35
36
38
39
49
84
92
107
129
132
173
175
179
213
217
221
1
2
3
4
4
5
5
5
5
5
6
7
7
9
9
9
10
11
12
12
12
13
14
16
16
16
17
18
18
18
19
19
20
20
20
20
21
22
22
23
23
23
24
24
24
24
25
25
27
29
29
29
30
35
35
39
40
73
85
93
100
108
130
133
174
176
180
214
218
222
1
1
1
1
1
1
2
3
4
4
5
5
6
7
7
7
7
7
7
7
8
9
9
10
11
11
12
12
13
13
14
15
15
15
16
17
17
17
18
18
18
19
20
21
21
21
22
23
23
24
25
25
25
26
26
26
28
29
30
30
35
35
35
40
41
74
86
94
109
131
134
175
177
181
215
219
223
1
1
1
2
2
3
4
4
5
5
6
7
7
7
7
7
7
8
9
9
10
10
10
10
11
11
13
14
15
16
16
16
16
16
17
18
18
18
18
19
19
21
22
22
22
23
24
25
26
26
26
26
26
27
27
29
35
35
35
41
42
75
87
95
110
132
134
135
176
178
182
216
220
224
1
1
2
3
3
4
4
5
5
5
7
7
7
7
7
7
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
15
16
16
17
17
17
17
17
18
18
18
19
19
19
20
20
22
23
23
24
25
26
27
27
30
30
35
35
35
42
43
76
88
96
111
135
136
177
179
183
217
221
225
1
1
1
1
2
3
5
5
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
12
14
16
16
16
16
17
17
18
18
18
18
18
19
19
19
19
20
20
20
21
21
23
24
26
27
28
29
30
35
35
43
44
73
77
89
97
112
136
137
178
180
184
218
222
226
1
2
2
3
4
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
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
13
13
15
16
16
17
17
17
17
17
18
18
18
19
19
19
19
19
19
20
20
20
21
21
22
22
26
28
29
29
35
44
72
73
74
78
90
98
113
132
137
138
179
181
185
219
223
227
1
1
1
3
3
4
5
5
7
7
7
7
7
7
7
7
7
7
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
10
10
11
11
11
11
11
12
12
12
13
13
14
14
14
15
16
17
17
17
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
21
21
21
21
22
22
23
23
26
29
29
30
35
72
74
75
79
91
99
114
138
139
180
182
186
220
224
228
7
7
7
7
7
7
7
7
7
7
7
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
11
11
11
11
11
11
11
11
11
12
12
13
13
14
14
15
15
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
21
21
21
21
22
22
22
22
23
23
24
26
28
29
35
75
76
80
100
115
139
140
181
183
187
221
225
229
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
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
11
11
11
11
11
11
12
12
12
13
13
13
14
16
16
16
16
16
16
17
17
17
17
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
22
22
22
22
23
23
23
23
24
25
29
76
76
81
101
116
140
141
182
184
188
222
226
230
1
1
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
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
12
12
12
12
12
13
14
14
16
17
17
17
17
17
18
18
18
18
19
19
19
19
19
20
20
20
20
21
21
21
21
22
22
23
23
23
23
24
24
24
24
25
25
26
82
102
117
141
142
183
185
189
223
227
231
1
1
1
1
4
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
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
14
14
16
16
17
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
21
21
21
21
22
22
22
22
23
23
24
24
24
24
25
25
25
25
26
27
28
103
118
142
143
184
186
190
224
228
232
1
1
1
1
5
5
7
7
7
7
7
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
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
14
16
16
16
17
17
19
19
19
19
19
19
19
20
20
20
21
21
22
22
22
22
23
23
23
23
24
24
25
25
25
25
26
26
26
26
27
28
28
57
104
119
143
144
185
187
191
225
229
233
1
1
1
1
1
4
5
7
7
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
14
14
14
14
14
16
16
16
16
16
17
18
18
19
20
20
20
20
20
21
21
22
22
23
23
23
23
23
23
23
24
24
24
25
25
26
26
26
26
27
27
27
27
27
28
29
29
31
31
58
105
120
144
145
186
188
192
226
230
234
1
1
1
1
4
5
7
7
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
13
13
13
13
14
14
14
14
14
15
15
15
16
16
16
16
16
17
17
19
19
19
19
20
21
21
21
21
22
22
23
23
23
23
23
24
24
24
24
25
25
25
26
26
27
27
27
27
28
28
28
28
28
29
30
31
31
31
31
31
32
59
106
121
145
146
187
189
193
227
231
235
1
1
1
1
1
4
5
5
7
7
7
7
7
7
7
7
7
8
8
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
13
13
13
13
14
14
16
16
16
16
16
16
17
17
18
18
19
19
20
20
20
22
22
22
22
23
23
23
23
23
24
24
25
25
25
26
26
27
27
28
28
28
29
29
29
29
29
31
31
31
31
32
32
32
33
60
76
107
122
146
147
188
190
194
228
232
236
1
1
1
1
1
5
5
5
5
5
5
5
5
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
10
10
10
10
10
10
11
11
11
11
12
12
13
13
14
14
14
16
16
16
17
17
17
18
18
19
19
20
21
21
23
23
23
23
23
23
23
24
24
25
25
26
26
26
27
27
28
28
29
29
29
30
30
30
30
30
31
31
31
31
32
32
33
33
33
43
61
82
108
123
147
148
189
191
195
229
233
237
1
1
1
1
1
1
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
12
12
12
12
12
12
13
13
14
14
16
16
16
16
16
18
18
18
19
19
19
20
20
22
22
23
24
24
24
24
25
25
26
26
27
27
27
27
28
28
30
30
30
30
31
31
31
31
31
31
31
31
31
32
32
33
33
34
47
57
57
62
109
124
148
149
190
192
196
230
234
238
1
1
1
1
1
4
4
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
16
16
16
16
16
16
18
19
19
19
20
20
20
20
21
21
23
23
23
25
25
25
25
26
26
27
27
27
28
28
28
28
29
31
31
31
31
31
31
31
31
32
32
32
32
32
33
33
34
43
48
57
57
58
58
63
110
125
149
150
191
193
197
231
235
239
1
1
1
5
5
5
5
5
5
5
5
5
5
5
5
5
7
7
7
7
7
7
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
10
10
10
11
11
11
11
12
12
12
13
13
13
13
13
13
13
14
14
14
15
15
16
16
16
16
18
18
19
20
20
20
21
21
21
22
22
23
24
24
25
26
26
26
26
27
28
28
28
29
29
29
29
30
31
32
32
32
32
32
32
33
33
33
33
33
35
49
59
59
64
111
126
150
151
192
194
198
232
236
240
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
7
7
7
7
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
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
16
16
18
18
18
18
18
19
21
22
22
23
23
24
25
27
27
27
27
28
29
29
30
30
30
30
31
31
31
31
32
33
33
33
33
33
33
33
34
34
36
43
50
60
60
65
112
127
151
152
193
195
199
233
237
241
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
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
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
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
15
15
15
15
15
16
16
16
16
16
16
18
18
18
19
19
20
20
20
22
23
24
24
26
26
27
28
28
28
28
28
29
30
30
31
31
31
31
31
32
32
32
34
34
34
34
35
37
44
60
66
113
128
152
153
194
196
200
234
238
242
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
5
5
5
5
7
7
7
7
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
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
13
13
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
16
17
17
18
18
18
18
20
20
21
23
24
24
25
25
25
26
27
28
28
29
29
29
29
29
30
31
31
31
31
32
32
32
32
33
33
33
35
35
35
35
43
45
47
114
129
153
154
195
197
201
235
239
243
1
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
7
7
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
9
10
10
10
10
10
10
10
10
10
10
10
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
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
19
20
20
21
21
21
21
21
21
22
24
24
25
26
26
26
28
28
28
29
29
30
30
30
30
30
31
31
31
31
32
32
32
33
33
33
33
34
34
36
46
48
50
115
130
154
155
196
198
202
236
240
244
1
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
6
6
6
7
7
7
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
9
9
10
10
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
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
21
21
21
22
22
22
24
27
27
28
29
29
29
30
30
31
31
31
31
31
31
31
32
32
32
33
33
33
33
34
34
34
37
47
47
49
60
116
131
155
156
197
199
203
237
241
245
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
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
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
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
16
16
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
22
23
23
23
24
28
29
30
30
30
31
31
32
32
32
32
32
32
33
33
34
34
35
35
38
43
48
48
66
117
132
156
157
198
200
204
238
242
246
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
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
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
15
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
20
20
20
21
21
21
21
21
21
21
21
22
22
23
24
29
30
31
31
31
32
32
33
33
33
33
33
34
35
35
36
39
49
49
118
133
157
158
199
201
205
239
243
247
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
9
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
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
20
21
21
21
21
21
21
21
21
21
21
22
22
22
22
23
23
30
31
32
32
32
33
33
34
34
34
34
35
36
40
50
50
119
134
158
159
200
202
206
240
244
248
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
8
8
9
9
9
9
10
10
10
10
10
10
10
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
19
20
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
31
32
33
33
33
34
34
35
35
36
41
51
120
135
159
160
201
203
207
241
245
249
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
9
9
10
10
10
11
11
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
21
21
21
21
21
21
22
22
23
23
23
23
23
23
23
24
24
32
33
34
34
35
35
36
50
50
52
121
136
160
161
202
204
208
242
246
250
1
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
11
12
12
13
13
13
14
14
15
15
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
20
20
20
20
20
21
21
21
21
22
22
22
22
23
23
24
24
25
25
29
34
35
35
36
51
122
137
161
162
203
205
209
243
247
251
4
4
4
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
10
10
10
11
12
13
14
14
14
14
15
16
16
17
17
17
17
18
18
18
19
19
19
19
19
20
20
20
20
21
21
21
21
21
21
22
22
22
23
23
23
23
25
26
30
30
35
36
36
52
123
138
162
163
204
206
210
244
248
252
4
4
4
5
5
5
5
5
5
5
6
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
10
11
13
14
14
14
14
14
15
16
16
17
17
17
18
18
19
19
19
19
19
19
20
20
20
20
21
21
21
21
22
22
22
22
22
23
23
23
24
24
31
31
36
36
124
139
163
164
205
207
211
245
249
253
4
4
4
4
5
5
5
5
5
5
5
6
6
7
7
7
9
9
9
9
9
9
10
10
11
12
13
14
14
14
15
15
16
17
17
17
17
18
19
19
19
20
20
20
20
20
21
21
21
22
22
22
23
23
23
24
24
25
26
32
32
35
36
125
140
164
165
206
208
212
246
250
254
1
4
4
5
5
5
5
6
6
7
7
7
7
7
7
8
9
9
9
9
10
10
11
11
12
13
14
15
16
16
16
17
18
18
18
19
19
19
20
20
21
21
21
21
21
22
23
23
23
24
24
25
25
26
33
33
36
126
141
165
166
207
209
213
247
251
255
4
4
5
5
5
5
5
7
7
7
8
8
9
9
9
10
10
11
11
11
12
13
16
17
17
17
19
19
20
20
20
21
21
22
22
22
22
23
24
24
25
26
27
34
34
35
127
142
166
167
208
210
214
248
252
256
4
5
5
5
6
7
8
9
9
9
10
11
11
12
12
12
13
16
17
18
18
19
20
21
21
21
22
23
23
23
23
24
24
25
25
31
35
36
76
128
143
167
168
209
211
215
249
253
257
4
5
5
5
7
8
10
10
11
11
11
12
13
13
16
17
18
19
19
21
22
22
23
24
24
24
25
26
27
29
31
31
36
76
77
129
144
168
169
210
212
216
250
254
258
4
5
5
7
10
11
11
12
13
14
17
18
18
20
22
23
23
24
25
25
27
27
30
31
31
35
77
78
130
145
169
170
211
213
217
251
255
259
1
1
4
5
5
7
12
12
12
12
13
14
18
19
19
21
23
24
24
25
25
27
31
31
31
78
79
131
146
170
171
212
214
218
252
256
260
1
1
1
2
2
5
9
11
12
13
13
14
17
18
19
19
20
20
22
24
24
25
27
31
31
32
79
80
132
147
171
172
213
215
219
253
257
261
1
1
1
1
1
2
3
3
5
7
10
12
12
12
13
14
14
16
17
17
20
20
21
21
24
25
26
27
31
31
33
80
81
133
148
172
173
214
216
220
254
258
262
1
1
1
1
1
2
2
2
3
4
4
7
7
7
8
9
9
10
10
11
11
13
14
14
15
17
17
21
21
22
24
25
27
31
34
81
82
134
149
173
174
215
217
221
255
259
263
1
1
1
1
1
2
2
2
3
3
3
4
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
10
11
11
11
11
11
11
12
13
14
14
14
15
15
17
17
18
22
23
24
24
26
35
82
83
135
150
174
175
216
218
222
256
260
264
1
2
2
3
3
3
4
4
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
13
14
14
14
14
14
14
15
15
15
16
16
16
17
19
23
24
24
24
25
31
82
83
136
151
175
176
217
219
223
257
261
265
2
3
3
4
5
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
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
13
13
14
14
14
14
15
15
15
15
15
15
16
16
17
17
17
17
17
17
20
21
24
24
24
31
60
83
137
152
176
177
218
220
224
258
262
266
3
4
4
5
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
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
11
11
11
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
21
21
25
25
31
50
60
61
84
138
153
177
178
219
221
225
259
263
267
1
5
5
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
9
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
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
17
17
17
17
17
17
17
18
18
18
18
19
19
19
21
21
21
24
31
51
61
62
85
139
154
178
179
220
222
226
260
264
268
7
7
7
7
7
7
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
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
12
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
19
19
20
20
20
21
21
24
28
28
52
62
63
83
86
140
155
179
180
221
223
227
261
265
269
1
4
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
11
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
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
18
18
18
18
19
19
19
19
19
20
20
21
21
21
21
21
24
28
28
29
53
63
64
87
141
156
180
181
222
224
228
262
266
270
1
1
4
4
4
5
5
5
7
7
7
7
7
8
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
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
19
19
20
20
20
20
20
21
21
21
21
22
22
22
24
28
28
29
30
54
64
65
142
157
181
182
223
225
229
263
267
271
1
1
1
1
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
17
17
17
17
18
18
18
18
18
18
19
19
19
19
20
20
21
21
21
21
21
21
21
22
22
23
23
25
28
28
29
30
35
50
55
65
66
66
143
158
182
183
224
226
230
264
268
272
1
1
1
1
1
4
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
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
16
16
17
18
18
18
18
18
19
19
19
19
20
20
20
20
21
21
21
22
22
22
22
22
23
23
24
24
27
28
28
29
30
36
50
51
56
66
67
67
144
159
183
184
225
227
231
265
269
273
1
1
1
1
1
1
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
7
7
7
7
7
7
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
15
16
16
16
17
17
18
18
18
18
18
19
19
19
20
20
20
20
21
21
21
21
21
22
22
22
23
23
23
23
24
24
25
27
27
27
28
29
30
37
52
57
67
68
83
145
160
184
185
226
228
232
266
270
274
1
1
1
1
3
4
4
4
4
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
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
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
15
17
17
17
18
18
18
18
19
19
20
20
20
21
21
21
21
21
22
22
22
22
23
23
23
24
24
24
25
25
26
28
28
28
28
28
29
30
38
50
53
58
69
87
146
161
185
186
227
229
233
267
271
275
1
1
1
1
1
3
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
7
7
7
7
7
7
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
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
13
13
13
14
14
14
14
14
14
15
16
18
18
18
19
19
19
19
19
20
20
21
21
21
22
22
22
23
23
24
24
24
25
25
26
26
27
28
28
28
28
29
29
29
30
39
39
50
50
50
51
59
67
70
147
162
186
187
228
230
234
268
272
276
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
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
8
8
8
8
8
8
8
8
8
8
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
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
15
15
16
16
16
16
17
18
18
19
19
19
19
19
20
20
20
20
21
22
22
22
23
23
23
24
24
25
25
26
26
27
27
28
28
28
29
29
30
30
35
40
40
51
52
71
148
163
187
188
229
231
235
269
273
277
1
1
1
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
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
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
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
13
13
13
13
13
13
13
14
14
14
14
14
14
15
16
16
17
17
17
18
19
19
19
19
20
20
20
20
21
21
21
22
22
23
23
23
24
24
25
26
26
27
27
27
28
28
28
28
29
29
30
30
41
41
50
50
52
53
149
164
188
189
230
232
236
270
274
278
1
1
1
1
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
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
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
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
16
17
18
18
18
18
18
19
19
19
19
20
20
20
21
21
21
22
22
23
23
23
24
24
25
25
26
27
27
27
28
28
28
28
28
29
29
29
30
30
42
42
51
59
150
165
189
190
231
233
237
271
275
279
1
1
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
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
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
9
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
12
12
12
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
15
15
15
15
15
16
16
16
16
16
16
16
16
17
18
19
19
19
19
19
19
19
20
20
21
21
21
22
23
23
24
24
24
24
25
25
26
26
27
28
28
28
28
29
29
29
29
30
30
30
43
52
67
151
166
190
191
232
234
238
272
276
280
1
1
1
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
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
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
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
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
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
18
19
19
19
19
19
20
20
20
20
21
21
22
23
24
24
24
24
25
25
25
26
26
27
27
28
28
28
29
29
29
30
30
30
30
31
42
42
44
71
152
167
191
192
233
235
239
273
277
281
1
1
1
3
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
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
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
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
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
20
21
21
21
22
22
22
23
24
25
25
25
25
26
26
26
27
27
27
27
28
28
29
29
30
30
31
32
43
153
168
192
193
234
236
240
274
278
282
1
1
1
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
5
5
5
5
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
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
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
22
23
23
23
24
24
24
26
26
26
26
27
27
27
28
28
28
28
28
29
29
30
30
31
44
154
169
193
194
235
237
241
275
279
283
1
1
3
3
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
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
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
11
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
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
23
24
24
24
24
25
25
25
27
27
27
27
28
28
28
28
28
29
29
29
29
30
30
31
155
170
194
195
236
238
242
276
280
284
1
4
4
4
4
4
4
4
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
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
11
11
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
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
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
20
21
21
21
22
22
22
24
24
25
25
25
25
26
26
26
28
28
28
28
29
29
29
29
30
30
30
31
156
171
195
196
237
239
243
277
281
285
4
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
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
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
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
21
21
21
22
22
23
25
26
26
26
26
27
27
27
29
29
29
29
30
30
30
31
31
157
172
196
197
238
240
244
278
282
286
4
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
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
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
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
24
26
27
27
27
27
28
28
28
30
30
30
30
31
31
32
158
173
197
198
239
241
245
279
283
287
4
4
5
5
5
5
5
5
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
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
16
16
17
17
17
17
17
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
22
22
27
28
28
28
28
29
29
29
31
31
31
31
31
159
174
198
199
240
242
246
280
284
288
4
5
5
5
5
5
6
6
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
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
14
14
14
15
15
15
15
15
15
15
16
16
16
17
17
17
17
17
18
18
18
18
19
19
19
20
20
20
20
20
20
20
21
21
21
22
22
23
28
29
29
29
29
30
30
30
32
32
160
175
199
200
241
243
247
281
285
289
4
4
5
5
5
5
5
5
5
6
6
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
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
13
14
14
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
18
18
18
18
18
18
19
19
19
20
20
20
21
21
21
21
21
22
22
22
24
29
30
30
30
30
31
31
31
161
176
200
201
242
244
248
282
286
290
4
4
5
5
5
5
5
5
6
6
6
7
7
7
7
8
8
8
8
8
8
8
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
12
12
12
12
13
14
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
19
20
20
21
21
21
22
22
22
22
22
25
30
31
31
31
32
162
177
201
202
243
245
249
283
287
291
5
5
5
5
5
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
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
12
12
13
13
14
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
20
20
20
20
21
21
22
22
22
23
26
31
32
32
163
178
202
203
244
246
250
284
288
292
1
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
12
12
13
13
13
13
13
13
15
15
15
15
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
21
21
21
21
22
22
23
25
27
27
32
32
32
164
179
203
204
245
247
251
285
289
293
1
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
13
14
14
15
15
16
16
16
17
17
18
18
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
22
22
22
22
22
26
28
28
31
32
165
180
204
205
246
248
252
286
290
294
1
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
10
10
10
10
11
11
11
11
12
12
12
13
13
13
15
15
15
16
16
17
17
17
17
17
17
18
18
19
19
20
20
20
21
21
21
21
21
21
22
22
22
22
23
23
27
29
29
31
166
181
205
206
247
249
253
287
291
295
1
2
4
5
5
5
5
5
6
6
6
7
7
7
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
11
11
12
12
12
12
12
12
13
13
15
16
16
16
17
17
17
17
18
18
18
18
19
19
21
21
21
22
22
22
22
22
23
23
23
23
25
28
30
30
32
167
182
206
207
248
250
254
288
292
296
2
3
4
5
5
5
5
5
5
6
6
6
7
8
8
8
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
13
13
13
13
13
16
17
17
17
18
18
18
19
19
19
19
22
22
22
22
22
23
23
23
23
26
29
31
31
31
168
183
207
208
249
251
255
289
293
297
1
3
4
5
5
6
6
6
6
6
7
7
7
8
9
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
13
14
14
14
14
15
17
17
18
18
18
19
19
19
20
22
22
23
23
23
24
24
27
28
28
31
32
83
83
169
184
208
209
250
252
256
290
294
298
1
1
4
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
14
14
15
15
15
15
17
17
18
18
19
19
19
20
21
22
22
23
23
23
25
25
27
28
28
33
84
84
170
185
209
210
251
253
257
291
295
299
1
1
2
4
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
15
15
15
15
16
16
17
18
18
19
19
19
20
20
21
22
22
22
22
26
26
28
28
29
34
85
85
171
186
210
211
252
254
258
292
296
300
1
1
2
3
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
15
15
15
16
16
17
17
17
18
19
19
19
19
20
21
21
22
22
22
23
23
27
27
28
28
30
35
67
86
86
172
187
211
212
253
255
259
293
297
301
1
1
1
3
3
4
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
17
17
18
18
19
19
20
20
21
22
22
22
22
22
22
28
28
28
28
31
36
53
68
87
87
173
188
212
213
254
256
260
294
298
302
1
1
1
1
1
1
2
4
4
5
5
5
5
6
6
6
6
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
10
10
10
10
10
11
11
11
11
11
11
12
12
12
13
14
14
14
14
15
15
15
15
15
15
15
15
15
16
18
19
19
19
20
21
21
21
22
22
22
23
23
23
27
28
28
29
29
37
54
69
87
88
88
174
189
213
214
255
257
261
295
299
303
1
1
1
1
1
2
2
3
4
5
5
5
5
5
5
6
6
6
6
6
6
6
6
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
11
12
12
12
13
13
14
14
15
15
15
15
16
16
16
16
16
17
19
19
19
20
20
20
21
22
22
23
23
24
24
28
28
28
30
30
38
53
55
67
70
88
89
89
175
190
214
215
256
258
262
296
300
304
1
1
1
1
1
2
2
3
3
4
4
4
5
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
10
10
10
10
10
10
10
10
10
11
12
12
12
12
13
13
14
14
15
15
15
15
16
16
16
17
17
17
17
17
18
19
19
20
21
21
22
22
23
25
25
27
27
28
31
31
39
42
53
53
56
59
68
71
89
90
90
176
191
215
216
257
259
263
297
301
305
1
1
1
1
1
1
1
2
2
3
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
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
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
13
13
13
14
14
14
14
14
15
15
15
16
16
16
17
18
18
18
18
19
19
19
20
21
22
22
23
26
26
28
32
32
40
42
42
43
54
57
60
69
71
72
90
91
91
177
192
216
217
258
260
264
298
302
306
1
1
1
1
1
1
2
2
2
2
2
3
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
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
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
15
15
15
15
16
16
16
16
16
17
19
19
19
19
19
19
19
20
23
27
27
33
33
41
42
43
44
55
58
61
70
72
73
91
92
92
178
193
217
218
259
261
265
299
303
307
1
1
1
1
1
1
1
1
2
2
2
3
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
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
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
16
16
17
17
18
19
19
19
20
20
20
20
21
22
28
28
34
34
42
44
45
56
59
62
71
73
74
92
92
179
194
218
219
260
262
266
300
304
308
1
1
1
1
1
1
1
1
1
2
2
2
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
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
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
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
18
18
19
19
19
20
21
21
21
21
22
29
29
35
35
43
45
57
60
63
72
74
75
180
195
219
220
261
263
267
301
305
309
1
1
1
1
1
1
1
1
1
2
2
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
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
7
7
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
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
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
19
19
20
22
22
22
22
30
30
36
36
44
58
64
73
75
76
92
181
196
220
221
262
264
268
302
306
310
1
1
1
1
1
1
1
1
1
2
2
2
3
3
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
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
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
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
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
15
15
15
15
16
16
16
16
16
16
17
17
19
21
23
23
23
23
24
31
31
37
37
45
59
74
76
92
182
197
221
222
263
265
269
303
307
311
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
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
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
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
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
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
17
17
17
17
17
17
18
18
22
24
24
24
24
24
24
24
25
32
32
38
38
46
60
75
183
198
222
223
264
266
270
304
308
312
1
1
1
1
1
1
1
1
1
2
2
2
2
2
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
6
6
6
6
6
6
6
6
6
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
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
10
10
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
17
17
17
17
18
18
18
18
18
19
23
24
24
24
24
25
25
25
25
25
26
33
33
39
39
47
64
76
76
184
199
223
224
265
267
271
305
309
313
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
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
6
6
6
6
6
6
6
6
6
6
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
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
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
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
18
19
19
19
19
19
20
24
24
24
24
24
24
24
25
25
26
26
26
26
26
27
34
34
40
40
48
76
76
185
200
224
225
266
268
272
306
310
314
1
1
1
1
1
1
2
2
2
2
3
3
3
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
6
6
6
6
6
6
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
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
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
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
20
20
20
21
24
24
24
24
24
25
25
25
25
25
26
26
27
27
27
27
35
35
41
41
49
186
201
225
226
267
269
273
307
311
315
1
1
1
1
1
1
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
5
5
5
5
5
5
5
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
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
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
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
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
19
19
19
19
19
20
21
21
22
24
24
24
24
24
25
25
26
26
26
26
26
28
28
28
28
36
36
42
42
50
187
202
226
227
268
270
274
308
312
316
1
1
1
1
1
2
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
6
6
6
6
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
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
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
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
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
22
23
24
24
24
24
24
24
24
25
25
26
26
27
27
27
29
29
29
29
37
37
43
43
51
188
203
227
228
269
271
275
309
313
317
1
1
1
1
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
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
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
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
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
14
14
14
14
15
15
15
15
15
15
15
15
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
24
24
24
24
24
24
24
25
25
25
25
26
26
27
28
30
30
30
30
38
38
44
44
52
189
204
228
229
270
272
276
310
314
318
1
1
1
2
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
6
6
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
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
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
11
11
11
11
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
14
14
14
14
14
14
14
14
14
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
21
21
22
22
24
24
24
25
25
25
25
26
26
26
26
29
31
31
31
31
39
39
45
45
53
190
205
229
230
271
273
277
311
315
319
1
1
1
1
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
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
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
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
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
15
15
15
15
15
15
15
15
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
21
21
22
22
23
24
24
25
26
26
26
26
27
30
32
32
32
32
40
40
46
46
54
191
206
230
231
272
274
278
312
316
320
1
1
1
2
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
6
6
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
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
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
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
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
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
20
20
20
20
20
20
22
22
23
23
24
24
24
25
26
27
31
33
33
33
33
41
41
47
47
55
192
207
231
232
273
275
279
313
317
321
1
1
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
6
6
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
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
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
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
20
21
21
21
21
23
23
24
24
24
25
25
26
32
34
34
34
34
42
42
48
48
56
193
208
232
233
274
276
280
314
318
322
1
1
2
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
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
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
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
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
22
22
22
22
24
24
24
25
25
26
26
33
35
35
35
35
43
43
49
49
57
194
209
233
234
275
277
281
315
319
323
1
1
2
2
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
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
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
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
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
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
20
20
20
21
21
21
23
23
23
23
25
25
26
26
36
36
36
36
44
44
50
50
58
195
210
234
235
276
278
282
316
320
324
1
2
4
4
4
4
4
4
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
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
9
9
9
9
9
9
9
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
12
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
15
15
15
15
16
16
16
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
20
20
20
21
21
22
22
24
24
26
27
37
37
37
37
45
45
51
51
59
196
211
235
236
277
279
283
317
321
325
2
4
4
4
4
4
4
5
5
5
5
5
5
5
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
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
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
12
12
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
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
20
20
20
21
21
22
22
23
25
25
38
38
38
38
46
46
52
52
60
197
212
236
237
278
280
284
318
322
326
1
3
4
4
4
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
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
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
12
12
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
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
21
21
21
22
22
23
23
24
26
39
39
39
39
47
47
53
53
61
198
213
237
238
279
281
285
319
323
327
4
4
4
4
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
8
8
8
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
11
11
11
11
11
11
11
12
12
12
12
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
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
20
22
22
22
23
23
24
24
25
25
27
40
40
40
40
48
48
54
54
62
199
214
238
239
280
282
286
324
328
1
1
4
4
4
4
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
8
8
8
8
8
8
9
9
9
9
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
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
19
19
19
20
21
21
23
23
23
24
24
25
25
25
26
41
41
41
41
49
49
55
55
63
200
215
239
240
283
287
325
329
4
4
5
5
5
5
6
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
9
9
9
9
9
9
9
10
10
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
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
19
19
21
22
22
24
24
24
25
25
26
26
42
42
42
42
50
50
56
56
64
201
216
240
241
284
288
326
330
4
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
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
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
22
23
23
25
25
25
26
26
43
43
43
43
45
51
51
57
57
65
202
217
241
242
285
289
327
331
4
4
5
5
6
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
14
14
14
14
14
15
15
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
19
19
23
24
24
26
26
26
27
44
44
44
44
45
46
52
52
58
58
66
203
218
242
243
286
290
328
332
2
5
5
6
6
7
7
7
7
8
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
14
15
15
15
16
16
17
17
17
18
18
18
19
19
19
19
24
24
25
26
27
27
28
45
45
45
45
46
47
53
53
59
59
60
67
92
204
219
243
244
287
291
329
333
1
3
4
4
5
6
6
6
7
7
7
8
8
9
9
9
9
9
9
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
15
15
16
16
17
17
17
17
18
18
19
19
20
20
24
25
26
28
28
29
46
46
46
46
47
48
54
54
60
60
61
68
76
93
205
220
244
245
288
292
330
334
1
4
5
5
5
5
5
7
7
7
7
7
9
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
16
16
16
16
17
17
17
17
18
19
21
21
24
26
29
29
30
47
47
47
47
48
49
55
55
60
60
61
61
62
69
77
94
206
221
245
246
289
293
331
335
1
5
5
5
6
6
6
7
7
8
8
9
9
10
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
14
15
16
17
17
17
17
17
18
22
22
24
30
30
31
48
48
48
48
49
50
56
56
60
61
62
62
63
70
78
95
207
222
246
247
290
294
332
336
4
5
5
5
5
5
6
7
7
7
7
7
7
8
9
9
9
10
10
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
14
14
14
15
16
17
17
18
18
22
23
23
24
31
31
32
49
49
49
49
50
51
57
57
62
63
64
71
79
96
208
223
247
248
291
295
333
337
1
4
4
5
5
6
6
6
7
7
8
8
8
8
8
9
9
9
10
10
11
11
11
11
11
11
11
11
13
13
13
13
14
14
14
14
14
14
14
15
15
16
17
17
17
18
19
22
23
24
24
24
32
32
33
50
50
50
50
51
52
58
58
63
64
64
65
72
80
97
209
224
248
249
292
296
334
338
1
1
1
2
4
4
5
6
6
6
6
7
7
7
7
7
7
8
8
9
9
9
9
10
10
10
11
11
11
11
11
11
11
11
12
13
13
13
13
14
14
14
15
15
15
15
16
16
17
17
17
17
18
18
18
18
20
23
24
24
25
25
33
33
34
51
51
52
59
59
64
65
65
66
73
81
98
210
225
249
250
293
297
335
339
1
1
1
1
2
3
5
5
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
8
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
12
13
13
13
13
14
14
14
15
15
16
16
16
17
17
17
17
17
17
17
17
18
18
19
19
19
19
21
24
24
25
26
26
34
34
35
52
52
60
60
65
66
66
67
74
82
99
211
226
250
251
294
298
336
340
1
1
1
1
1
1
2
2
3
4
4
4
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
11
13
13
13
13
14
14
14
15
16
16
17
17
17
17
17
17
17
18
18
18
19
19
20
20
20
20
22
24
25
26
27
27
35
35
36
53
53
61
61
66
67
67
68
75
83
100
212
227
251
252
295
299
337
341
1
1
1
1
1
1
1
2
2
2
2
3
3
3
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
12
12
14
14
14
14
14
15
15
17
17
17
17
17
17
17
17
17
17
17
18
18
19
19
19
21
21
21
21
23
24
24
26
28
28
36
36
37
54
54
62
62
67
68
68
69
76
76
84
92
101
213
228
252
253
296
300
338
342
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
3
4
4
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
8
8
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
12
13
13
13
13
15
15
15
16
17
17
17
17
17
17
17
18
18
18
19
19
19
20
20
20
22
22
22
22
24
24
27
29
29
37
37
38
55
55
63
63
68
69
69
77
77
85
93
102
214
229
253
254
297
301
339
343
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
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
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
11
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
13
14
14
16
16
16
17
17
17
17
17
17
19
19
19
19
20
20
20
21
21
23
23
23
23
24
24
25
30
30
38
38
39
56
56
64
64
69
70
76
78
78
86
92
94
103
215
230
254
255
298
302
340
344
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
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
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
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
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
14
14
14
14
15
15
17
17
17
17
17
17
17
18
20
20
20
21
21
21
22
22
24
24
24
24
24
24
26
31
31
39
39
40
57
57
65
65
69
71
77
79
79
87
93
95
216
231
255
256
299
303
341
345
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
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
5
5
5
5
5
5
5
5
5
5
5
5
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
7
7
7
7
7
7
7
7
7
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
9
9
9
10
10
10
10
10
10
10
10
10
10
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
14
14
15
15
15
15
16
17
17
17
17
17
17
18
19
19
19
19
21
21
21
22
22
22
23
23
24
24
25
25
25
27
32
32
40
40
41
58
58
66
66
72
78
80
80
94
96
217
232
256
257
300
304
342
346
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
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
5
5
5
5
5
5
5
5
5
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
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
9
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
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
16
16
16
17
17
17
17
17
17
19
19
19
20
20
20
22
22
22
23
23
23
24
24
24
24
26
26
28
33
33
41
41
42
59
59
67
67
73
79
81
81
95
97
218
233
257
258
301
305
343
347
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
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
5
5
5
5
5
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
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
9
9
9
9
9
9
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
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
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
17
17
17
17
18
19
20
21
21
21
23
23
23
24
24
24
24
24
25
27
27
29
34
34
42
42
43
60
60
68
68
74
80
82
82
96
98
219
234
258
259
302
306
344
348
1
1
1
1
1
1
1
1
2
2
2
2
2
2
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
5
5
5
5
5
5
5
5
5
5
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
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
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
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
16
17
17
17
17
18
19
19
19
21
22
22
22
24
24
24
24
25
25
25
26
28
28
30
35
35
43
43
44
61
61
69
69
75
81
83
83
97
99
220
235
259
260
303
307
345
349
1
1
1
1
1
1
1
1
1
2
3
3
3
3
3
3
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
6
6
6
6
6
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
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
10
10
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
12
12
12
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
16
18
19
19
19
20
20
22
25
25
26
26
29
31
36
36
44
44
45
62
62
70
70
76
82
84
84
98
100
221
236
260
261
304
308
346
350
1
1
1
1
1
1
1
1
2
2
2
2
3
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
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
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
9
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
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
17
17
17
17
17
18
19
19
20
20
20
21
21
22
22
26
26
27
27
30
32
37
37
45
45
46
63
63
71
71
77
83
85
85
99
101
222
237
261
262
305
309
319
347
351
1
1
1
1
1
1
2
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
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
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
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
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
14
14
14
14
14
15
15
15
15
15
15
16
16
16
17
18
18
18
19
19
19
20
21
22
23
23
24
27
28
28
38
38
46
46
47
64
64
72
72
78
83
85
86
86
99
101
102
223
238
262
263
306
310
320
348
352
1
1
1
1
2
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
5
5
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
8
8
8
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
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
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
16
16
17
17
18
18
19
19
19
19
19
19
20
20
21
22
22
22
22
22
24
24
24
24
24
25
26
28
28
29
29
30
30
39
39
47
47
48
65
65
73
73
79
86
87
87
102
103
224
239
263
264
278
307
311
321
349
353
1
1
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
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
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
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
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
15
15
15
15
15
15
15
15
16
17
17
18
18
18
19
19
19
20
20
20
21
21
21
25
25
25
25
25
26
30
30
31
31
40
40
48
48
49
66
66
74
74
80
87
88
103
225
240
264
265
279
308
312
319
322
350
354
1
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
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
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
10
10
10
10
10
10
10
10
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
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
17
17
18
18
18
19
19
20
21
21
21
21
22
26
26
26
26
26
27
31
31
32
32
41
41
49
49
50
67
67
75
75
81
83
85
89
99
101
226
241
265
266
280
309
313
323
351
355
1
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
7
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
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
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
18
18
18
18
19
19
19
20
21
21
22
23
26
27
32
32
42
42
50
50
51
68
68
76
76
82
86
90
102
227
242
266
267
280
281
310
314
324
352
356
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
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
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
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
14
14
14
15
15
15
15
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
19
19
19
20
20
21
21
23
24
26
28
33
33
43
43
51
51
52
69
69
77
77
83
87
91
103
228
243
267
268
282
311
315
325
353
357
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
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
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
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
15
15
16
16
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
20
20
21
21
21
24
25
26
29
34
44
44
52
52
53
59
62
70
70
78
78
84
92
229
244
268
269
283
312
316
326
354
358
1
3
4
4
4
4
5
5
5
5
5
5
5
6
6
6
7
7
8
8
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
14
14
15
15
15
17
18
18
18
18
18
18
18
19
19
19
19
20
20
20
21
21
21
22
25
35
45
45
53
53
54
60
63
71
71
79
79
85
93
230
245
270
284
313
317
327
355
359
1
2
4
5
5
5
7
7
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
16
18
18
19
19
19
19
20
20
20
21
21
21
23
26
36
45
46
46
47
47
54
54
55
61
62
64
65
72
72
80
80
86
94
231
246
271
285
314
318
328
356
360
1
2
3
4
4
5
8
8
8
8
8
9
9
9
9
9
9
10
10
10
11
11
11
11
11
11
11
11
12
13
13
13
13
13
13
13
14
14
14
14
15
17
17
18
20
21
22
22
24
27
37
46
47
47
48
48
55
55
56
63
66
73
73
81
81
87
95
232
247
272
286
315
319
329
357
361
1
3
4
5
5
7
8
8
8
9
9
9
9
9
9
10
10
10
10
11
12
12
12
13
13
14
14
14
15
16
17
18
18
22
23
23
24
25
28
38
47
48
48
48
49
49
50
50
56
56
57
64
67
74
74
82
82
88
96
233
248
273
287
316
320
330
358
362
1
2
4
4
4
4
5
5
5
5
6
6
6
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
12
13
13
13
14
15
16
16
17
18
18
19
23
24
25
26
29
39
49
49
51
51
57
58
65
68
83
83
97
234
249
274
288
321
331
363
1
2
3
3
3
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
10
10
10
11
11
12
12
12
13
13
14
14
14
16
17
17
17
18
19
20
24
25
26
27
30
40
50
50
52
52
58
59
66
69
84
84
98
235
250
275
289
322
332
364
2
3
3
4
4
4
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
11
11
12
12
12
13
13
13
13
14
15
15
17
17
18
18
19
20
21
22
25
26
27
28
31
41
51
51
53
53
59
60
67
69
70
85
85
99
236
251
276
290
323
333
365
1
3
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
8
10
10
10
11
11
11
11
12
12
12
12
12
12
12
13
14
14
14
14
15
16
16
19
19
19
20
21
22
23
24
26
27
28
29
32
42
52
52
54
54
60
61
68
70
71
86
86
100
237
252
277
291
324
334
366
1
1
2
3
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
8
8
8
9
9
9
9
10
11
11
11
11
11
12
12
12
12
12
12
13
13
13
14
14
15
15
15
16
17
17
17
19
19
20
20
20
21
23
25
27
28
29
30
33
43
52
53
53
55
55
61
62
69
71
72
87
87
87
101
103
238
253
278
292
325
335
367
1
2
3
3
4
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
10
10
10
10
11
11
12
12
12
12
13
13
13
13
13
13
13
14
15
16
16
17
17
18
19
19
19
21
21
21
22
24
26
28
29
30
31
34
44
52
53
54
54
56
56
62
63
70
72
73
88
88
88
102
104
239
254
279
293
326
336
368
1
1
2
3
4
4
5
5
5
6
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
11
11
12
12
13
13
13
13
13
13
13
14
14
15
16
17
17
17
18
19
19
19
19
21
22
22
23
25
29
30
31
32
35
45
53
54
55
55
57
57
63
64
71
73
74
89
89
89
103
105
240
255
280
294
327
337
369
1
2
2
3
3
3
4
4
5
5
6
6
6
7
7
7
7
7
8
9
9
9
9
10
10
10
10
11
11
11
12
12
12
12
12
12
13
13
13
13
14
15
16
17
17
18
18
19
19
19
19
20
23
23
26
30
31
32
33
36
46
54
55
56
56
58
58
64
65
69
72
74
75
90
90
90
104
106
241
256
281
295
328
338
370
2
3
3
3
3
5
5
5
7
7
7
8
8
8
8
9
9
9
10
10
10
10
10
10
12
12
12
12
13
13
13
13
13
13
13
13
14
16
17
17
18
19
19
19
19
19
20
20
20
21
21
21
24
27
31
32
33
34
37
47
55
56
57
57
59
59
65
66
70
73
75
76
91
91
91
105
107
242
257
282
296
329
339
371
1
4
5
5
5
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
12
12
12
12
12
12
13
13
13
13
13
13
13
14
15
18
19
19
19
20
20
21
22
22
22
25
26
28
32
33
35
38
48
56
57
58
58
60
60
66
67
69
71
74
76
77
85
92
92
92
101
103
106
108
243
258
283
297
330
340
372
1
1
3
3
4
4
4
5
5
5
6
6
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
11
12
12
12
12
12
12
12
13
13
13
13
13
14
16
19
19
19
20
21
21
22
23
23
26
27
33
34
36
39
49
57
58
59
59
61
61
67
68
70
72
75
77
78
83
86
93
93
93
99
102
107
109
244
259
284
298
331
341
373
1
1
2
3
3
3
3
4
4
5
5
5
5
6
6
7
7
7
7
7
7
8
8
8
9
9
9
10
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
14
15
17
19
20
21
22
22
23
27
28
28
34
35
37
40
50
58
59
60
60
62
62
68
69
69
71
73
76
78
79
85
87
87
94
94
94
101
103
108
110
245
260
285
299
332
342
374
1
1
1
2
2
3
4
4
4
5
5
5
5
5
6
6
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
10
10
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
16
18
19
19
19
21
22
23
26
29
29
30
30
35
36
38
39
41
51
59
60
61
61
63
63
69
69
70
72
74
77
79
80
83
86
88
95
95
95
99
102
104
109
111
246
261
286
300
333
343
375
1
1
1
2
2
2
3
3
4
4
5
5
5
5
5
5
5
5
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
9
9
10
10
10
10
10
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
15
15
16
16
19
19
19
20
20
22
23
24
30
31
35
36
37
39
40
42
52
60
61
62
62
64
64
70
71
73
75
78
80
81
87
89
96
96
96
103
105
110
112
247
262
287
301
334
344
376
1
1
1
2
2
2
3
3
4
4
4
4
4
5
6
6
6
7
7
7
7
7
7
7
7
8
8
8
8
8
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
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
16
16
17
19
20
20
20
21
21
21
21
23
24
25
26
26
31
32
37
38
40
41
43
53
61
63
63
65
65
71
72
74
76
79
82
88
97
97
97
104
111
113
248
263
288
302
335
345
377
1
1
1
1
2
2
2
3
3
3
4
4
4
5
5
5
5
6
7
7
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
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
14
14
14
14
15
15
15
15
15
16
17
18
19
19
20
20
21
21
21
22
22
22
24
24
24
25
28
28
30
31
32
33
38
39
41
42
44
54
64
64
66
66
72
73
75
77
80
83
98
98
98
112
114
249
264
289
303
336
346
378
1
1
1
2
2
2
2
3
3
3
4
4
4
4
5
5
5
5
5
5
6
6
6
7
7
7
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
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
14
14
14
14
15
15
15
15
16
16
16
18
20
21
21
22
22
25
25
26
29
29
30
30
31
33
34
39
40
42
43
45
55
65
65
67
67
73
74
76
78
81
83
84
85
99
99
99
101
113
250
265
290
304
337
347
379
1
1
2
3
3
3
3
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
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
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
15
16
16
17
19
19
21
22
23
26
26
26
26
27
30
31
31
32
32
33
34
35
40
41
43
44
46
56
66
66
68
68
74
75
79
82
85
86
100
100
102
114
251
266
291
305
338
348
380
1
1
1
1
1
1
1
1
1
1
1
1
1
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
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
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
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
13
13
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
17
18
19
19
20
23
26
26
29
30
31
32
32
34
35
41
42
44
45
47
57
67
69
69
75
76
80
83
86
87
101
101
103
115
252
267
292
306
339
349
381
1
1
1
1
1
1
1
1
1
1
1
1
1
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
4
4
4
5
5
5
5
5
5
5
6
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
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
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
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
14
14
14
14
15
16
16
16
16
17
17
17
18
19
19
20
21
23
30
30
31
32
33
35
36
42
43
45
46
48
58
68
70
70
76
77
84
87
102
102
116
253
268
293
307
340
350
382
1
1
1
1
1
1
1
1
1
1
1
1
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
3
3
3
3
3
3
3
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
6
6
6
6
6
6
6
6
6
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
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
13
13
13
13
13
14
14
14
14
14
15
17
17
17
18
18
20
21
31
31
32
33
34
36
37
43
44
46
47
49
59
69
71
71
77
78
85
88
103
103
117
254
269
294
308
341
351
383
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
3
3
3
3
3
3
3
3
3
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
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
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
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
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
14
14
14
14
14
15
15
18
19
19
21
32
34
35
37
44
45
47
48
50
60
70
72
72
78
79
86
89
104
104
118
255
270
295
309
342
352
384
1
1
1
1
1
1
1
1
1
1
1
1
2
2
3
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
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
10
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
15
16
20
20
35
36
38
45
46
48
49
51
61
71
73
73
79
80
87
90
105
105
119
256
271
296
310
343
353
385
