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
1
8
8
8
9
9
9
9
10
11
11
12
13
14
14
26
28
28
30
2
8
10
10
10
10
10
11
12
12
13
13
13
14
27
29
31
1
3
11
11
11
11
14
14
15
28
30
32
2
4
11
11
11
12
13
15
16
29
31
33
3
11
11
11
11
11
12
12
14
14
16
16
17
17
32
34
11
11
11
12
13
13
13
16
17
17
17
17
33
33
35
35
11
11
11
12
13
13
14
14
14
14
14
14
16
17
34
34
36
36
12
14
14
14
14
17
18
26
30
35
35
37
37
1
12
12
13
13
14
18
19
27
31
36
36
38
38
12
12
13
13
16
19
20
28
32
39
39
1
11
13
14
14
16
16
17
20
29
33
40
40
1
11
12
13
13
14
15
15
17
17
34
41
41
12
12
12
13
14
14
16
19
19
35
42
42
1
1
13
13
13
14
14
16
16
20
20
36
43
43
13
13
14
15
17
17
19
37
44
44
1
1
13
14
14
14
15
16
19
20
38
45
45
1
12
12
13
14
14
15
19
19
20
39
46
46
1
1
13
13
13
14
16
16
16
20
20
40
47
47
1
2
13
13
14
14
14
15
17
17
19
41
48
48
1
2
3
12
12
14
14
14
15
16
19
19
19
20
42
49
49
1
1
1
1
3
4
13
13
13
13
14
14
14
15
16
16
20
20
20
43
50
50
1
1
1
2
12
13
13
13
13
13
14
14
14
15
16
17
17
19
19
19
20
20
20
20
44
51
51
51
1
1
1
1
1
2
2
3
12
13
13
14
14
14
14
14
15
15
16
17
17
17
17
19
19
19
20
20
20
20
20
45
51
51
51
51
51
52
52
52
1
1
2
3
3
4
12
12
12
13
13
14
14
14
14
14
15
15
15
16
16
16
16
17
17
19
19
20
20
20
20
20
20
21
46
51
52
52
52
52
52
53
53
53
1
1
1
2
2
3
4
12
12
13
13
13
13
13
13
13
13
14
14
14
14
15
15
16
16
16
16
16
17
17
17
19
19
19
19
19
20
20
20
20
20
20
21
22
47
51
51
51
51
52
53
53
53
53
53
54
54
54
1
2
3
3
4
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
19
19
19
19
20
20
20
20
20
20
20
22
23
48
51
51
52
52
52
52
53
54
54
54
54
54
55
55
1
2
3
4
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
18
19
19
20
20
20
20
20
20
20
21
23
49
51
51
51
52
52
53
53
53
53
54
55
55
55
55
56
56
3
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
17
17
17
17
18
18
19
19
19
20
20
20
20
20
20
21
22
49
50
51
52
52
52
53
53
54
54
54
54
55
56
56
56
56
57
57
1
1
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
19
19
19
20
20
20
20
20
20
20
22
23
49
50
51
51
51
52
53
53
53
54
54
55
55
55
56
57
57
57
57
58
58
1
1
1
12
13
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
19
19
19
19
20
20
20
20
20
20
20
21
21
23
49
50
51
51
51
52
52
52
53
54
54
54
55
56
56
56
57
58
58
58
58
59
59
1
1
1
1
1
13
13
14
15
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
18
18
19
20
20
20
20
20
20
20
20
21
21
22
22
49
50
51
51
51
52
52
52
53
53
54
55
55
55
56
57
57
57
58
59
59
59
59
60
60
1
1
1
14
14
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
18
19
20
20
21
21
22
22
22
23
23
49
50
51
51
51
52
52
52
53
53
54
54
55
56
56
56
57
58
58
58
59
60
60
60
60
61
61
1
1
1
1
1
1
5
5
5
12
12
13
13
15
15
15
15
15
15
16
16
16
16
16
16
17
17
18
19
20
20
20
22
22
22
23
23
23
49
50
51
52
52
52
53
53
54
54
55
55
56
57
57
57
58
59
59
59
60
61
61
62
62
1
1
1
1
4
4
5
5
6
6
6
12
12
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
17
17
18
18
19
19
19
20
20
20
20
22
22
23
23
23
49
50
51
52
53
53
54
54
55
55
56
56
57
58
58
58
59
60
60
60
61
62
63
63
1
1
1
5
7
7
7
7
12
13
13
13
13
13
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
17
18
18
19
19
19
19
19
20
20
20
22
22
23
23
49
49
50
51
52
54
54
55
55
56
56
57
57
58
59
59
59
60
61
61
62
63
64
64
1
1
1
4
6
8
8
8
8
12
12
13
13
13
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
17
17
18
18
18
19
19
19
19
20
20
20
20
20
22
22
23
49
50
50
51
52
55
55
56
56
57
57
58
58
59
60
60
61
62
62
63
64
65
65
1
1
1
5
7
9
9
12
13
13
13
14
14
14
14
14
14
15
15
15
16
16
16
16
16
17
18
18
19
19
19
19
19
20
20
20
20
23
50
51
51
52
53
56
56
57
57
58
58
59
59
60
61
61
63
63
64
65
66
66
1
1
1
4
4
5
5
10
10
12
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
18
19
19
19
19
20
20
22
51
52
52
53
54
57
57
58
58
59
59
60
61
62
62
64
64
65
66
67
67
1
1
5
5
5
7
11
11
12
13
14
14
14
14
15
15
15
15
16
16
16
16
17
18
19
19
20
20
22
22
52
53
53
54
55
58
58
59
59
60
61
62
63
63
65
65
66
68
68
1
1
1
1
5
5
6
7
12
12
14
14
15
15
15
15
15
15
15
16
16
16
18
19
19
20
20
22
22
53
54
54
55
56
59
59
60
61
62
63
64
64
66
66
67
69
1
1
5
5
7
8
13
13
15
15
15
15
15
15
15
16
16
16
16
17
19
19
20
22
22
49
54
55
55
56
57
59
60
61
62
63
64
65
65
67
67
70
1
1
1
1
5
5
7
9
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
18
19
22
22
22
50
55
56
56
57
58
59
61
62
63
64
65
66
66
68
71
1
1
5
5
7
10
15
15
15
15
15
15
15
15
16
16
16
17
17
17
18
18
19
22
22
22
23
51
56
57
57
58
59
59
60
60
62
63
64
65
66
67
67
72
1
5
5
5
7
11
12
12
13
13
15
15
15
15
15
15
16
16
16
16
16
16
17
17
18
18
18
19
20
22
22
23
52
57
58
58
60
61
61
63
64
65
66
67
68
73
1
5
5
5
6
7
7
7
12
12
12
12
13
13
13
14
14
14
14
15
15
15
15
16
16
16
17
17
17
17
18
18
19
19
19
19
20
22
49
53
58
59
59
61
62
62
64
65
66
67
68
69
74
5
5
7
8
8
12
12
13
13
13
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
17
17
18
18
18
18
19
19
19
19
22
50
54
59
59
60
62
63
63
65
66
67
68
69
75
1
9
9
12
12
13
13
14
14
14
14
14
15
15
15
16
16
16
16
17
17
17
17
18
18
19
19
19
20
22
23
51
55
60
61
63
64
64
66
67
68
69
76
5
9
12
13
14
14
14
14
15
15
15
16
16
16
17
18
18
18
18
19
19
20
23
51
52
56
61
62
64
65
65
67
68
69
77
1
5
9
9
14
14
15
15
16
16
16
16
19
19
19
21
52
53
57
62
63
65
66
66
68
69
78
1
1
5
5
9
10
15
16
16
17
20
22
53
54
57
58
58
61
63
64
66
67
69
79
1
1
1
10
11
11
11
11
13
16
16
16
21
23
54
55
58
59
59
60
60
61
62
64
65
68
80
1
9
9
11
11
12
12
13
13
13
16
16
16
16
17
22
22
22
24
24
55
56
59
60
61
61
61
62
63
65
69
81
1
1
9
9
9
12
12
13
13
14
14
14
14
15
15
16
17
18
19
19
20
22
22
23
23
25
25
56
57
57
61
61
62
62
63
64
70
82
1
1
5
9
9
10
11
11
14
14
14
14
15
15
15
15
15
15
15
15
16
17
18
19
19
19
20
22
22
24
24
26
26
51
57
58
58
58
60
60
61
62
63
63
64
65
69
71
83
1
1
11
11
12
12
12
13
13
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
19
19
21
22
27
27
52
57
58
59
60
60
61
61
61
62
63
64
64
65
66
69
72
84
1
12
12
13
13
13
13
13
13
14
14
15
16
16
16
16
16
16
16
16
17
17
17
17
18
19
19
22
22
28
28
53
58
58
60
61
61
61
62
62
62
63
64
65
65
66
67
69
73
85
1
9
11
11
12
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
17
17
17
18
18
18
19
19
22
22
22
23
29
29
54
59
60
60
62
62
63
63
63
64
65
66
66
67
68
74
86
11
12
13
13
13
13
14
14
15
15
15
15
15
16
16
16
16
16
16
17
17
18
18
18
19
19
22
22
22
24
30
30
55
60
61
63
63
64
64
64
65
67
67
68
69
75
87
11
11
12
13
13
14
14
15
15
16
16
16
16
17
17
18
18
19
19
19
19
22
25
31
31
56
62
64
64
65
65
65
66
68
69
69
76
88
1
13
13
13
14
14
15
16
17
18
18
19
19
19
20
26
32
32
59
63
65
65
66
66
66
67
69
70
77
89
1
1
1
1
1
11
11
13
14
15
16
18
19
20
27
33
33
49
59
64
66
66
67
67
68
71
78
90
1
2
2
11
11
11
11
12
13
13
13
13
16
16
20
28
34
34
47
50
60
65
67
68
68
72
79
91
1
1
1
1
1
1
2
3
3
11
11
13
13
13
13
13
13
13
17
20
20
29
34
34
34
34
35
35
47
47
48
51
59
66
68
73
80
92
1
1
2
2
2
3
4
4
11
11
11
11
11
12
12
12
13
13
13
13
13
13
14
14
14
14
16
17
17
19
20
20
20
20
30
34
34
35
35
35
35
36
36
48
48
49
52
57
59
74
81
93
1
1
1
1
2
3
3
3
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
16
16
17
17
17
17
19
19
19
19
20
20
20
20
20
20
20
31
34
34
34
35
35
36
36
36
36
37
47
47
47
47
47
47
49
49
50
53
58
59
68
75
82
94
1
2
2
3
4
4
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
19
19
19
19
20
20
20
20
20
20
32
34
34
34
34
34
35
35
35
36
36
37
37
37
38
46
47
47
47
48
48
48
48
48
48
50
50
51
54
68
76
83
95
2
3
3
11
11
11
11
11
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
16
16
16
16
16
16
16
16
16
16
16
17
17
17
19
19
19
19
19
19
20
20
20
20
20
20
20
20
21
32
33
34
34
35
35
35
35
35
36
36
36
37
37
38
38
38
39
47
47
48
48
48
49
49
49
49
49
49
51
51
52
57
68
77
84
96
3
4
11
11
11
11
11
11
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
14
14
14
15
15
15
15
15
15
15
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
21
22
32
33
34
34
34
35
35
36
36
36
36
36
37
37
38
38
39
39
39
40
46
46
47
47
48
48
49
49
49
50
50
50
50
50
50
52
52
53
57
68
78
85
97
1
11
11
11
11
11
11
12
12
12
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
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
19
19
19
19
20
20
20
20
20
20
21
21
21
22
23
33
34
34
34
35
35
36
36
37
37
37
37
38
38
39
39
40
40
40
41
47
47
47
47
48
48
49
49
50
50
50
51
51
51
51
51
53
53
54
57
58
61
61
79
86
98
1
1
11
11
11
11
11
11
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
19
20
20
20
20
20
20
20
20
20
20
21
22
22
22
23
32
34
34
34
35
35
36
36
37
37
38
38
38
38
39
39
41
41
41
42
46
46
47
47
48
48
48
48
49
49
50
51
51
52
52
52
52
52
54
54
55
57
58
61
61
62
80
87
99
1
1
1
11
11
12
13
13
13
13
13
13
13
13
13
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
19
19
20
20
20
20
21
21
21
22
22
23
23
23
32
33
34
34
35
35
36
36
37
37
38
38
39
39
39
39
40
40
42
42
43
46
47
47
47
47
47
48
48
49
49
49
49
50
50
51
52
52
53
53
53
53
53
54
55
55
56
58
61
61
62
63
81
88
100
1
1
1
11
13
13
13
13
13
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
18
18
18
20
20
20
20
20
21
22
22
22
22
23
23
32
33
34
34
35
35
36
36
37
37
38
38
39
39
40
40
40
41
41
43
43
44
46
47
47
48
48
48
48
48
49
49
50
50
51
51
52
53
53
54
54
54
54
54
56
56
57
57
60
61
61
62
63
82
89
101
1
1
1
11
12
13
13
13
13
15
15
15
15
15
16
16
16
16
16
16
17
17
17
18
18
19
19
19
20
22
22
23
23
23
23
33
34
35
36
36
37
37
38
38
39
39
40
41
41
41
42
42
44
44
45
46
47
47
48
48
49
49
49
49
49
50
50
51
51
52
52
53
54
54
55
55
55
55
55
57
57
58
60
61
61
62
63
83
90
102
1
1
1
1
11
12
12
13
13
13
13
13
13
13
13
14
14
14
15
15
15
15
16
16
16
17
17
18
18
19
19
19
20
20
22
22
23
23
32
32
34
36
37
37
38
38
39
39
40
40
41
42
42
43
43
45
46
47
48
48
49
49
50
50
50
51
51
52
52
53
53
54
55
55
56
56
56
56
56
58
58
59
61
61
62
63
84
91
103
1
1
1
11
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
17
18
18
19
19
19
20
20
22
22
23
23
32
33
33
37
38
38
39
39
41
41
42
43
43
44
44
47
48
49
49
50
51
51
51
52
52
53
53
54
54
55
56
56
57
57
57
57
59
59
60
61
61
62
63
85
92
104
1
1
1
1
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
17
18
19
19
19
19
20
20
22
23
23
32
33
34
34
38
39
39
40
42
42
43
44
44
45
46
46
48
49
50
51
52
52
52
53
53
54
54
55
55
57
57
58
58
58
58
59
60
61
62
63
86
93
105
1
1
1
1
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
17
18
19
19
19
19
20
20
23
32
33
34
35
35
39
39
40
41
43
43
44
45
46
47
47
49
51
52
53
53
53
54
54
55
55
56
56
58
59
59
59
60
60
61
62
63
87
94
106
1
1
1
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
18
19
19
19
20
20
20
22
22
33
34
35
36
36
39
40
41
42
44
44
45
46
46
48
48
50
52
53
54
54
54
55
55
56
57
57
59
59
59
60
60
60
62
63
88
95
107
1
1
13
13
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
17
18
18
19
20
20
20
20
22
22
22
34
35
36
37
37
39
39
39
41
42
43
45
46
46
47
47
49
49
51
53
54
55
55
55
56
56
56
58
58
59
60
61
61
61
63
89
96
108
1
1
11
11
13
13
13
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
18
19
19
19
19
20
20
22
35
36
37
39
40
40
42
43
44
46
47
47
48
50
50
52
54
55
56
56
57
57
59
59
59
60
61
62
62
62
90
97
109
1
1
1
4
11
12
13
13
13
13
13
13
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
18
18
19
19
19
20
22
22
22
32
36
37
39
40
41
41
43
44
45
47
48
49
51
51
53
55
55
56
57
58
58
60
60
60
62
63
63
91
98
110
1
1
5
5
11
12
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
16
16
17
17
18
18
19
19
19
19
19
20
20
22
33
37
39
40
41
42
42
44
45
46
49
50
52
52
54
55
56
57
58
59
59
60
61
61
63
64
92
99
111
1
1
5
5
6
11
11
12
13
13
13
13
14
14
15
15
15
15
15
15
15
16
16
16
16
16
17
17
18
18
19
19
20
22
22
22
34
40
41
42
43
43
45
46
50
51
53
53
55
55
57
58
59
60
60
62
62
64
93
100
112
1
4
4
4
5
6
7
12
13
13
13
13
13
14
14
14
15
15
15
15
15
16
16
16
16
16
17
18
18
19
19
19
22
22
32
34
35
41
42
43
44
46
51
52
54
54
55
56
58
59
60
61
61
61
61
63
63
65
94
101
113
1
1
4
4
5
5
7
8
13
14
14
14
14
15
15
15
16
16
16
16
16
17
17
17
18
19
19
19
19
20
22
33
35
36
39
42
43
45
52
53
55
55
56
57
59
60
61
61
61
62
62
62
64
64
95
102
114
1
1
4
5
5
6
8
9
12
13
14
15
16
16
16
16
16
16
17
17
17
18
18
18
19
20
20
22
34
36
37
37
37
39
41
43
46
46
53
54
55
56
57
57
58
60
61
61
61
61
61
62
62
63
63
63
65
96
103
115
1
4
4
4
5
5
7
9
10
11
12
12
13
13
14
14
16
16
16
16
16
17
17
18
18
18
19
19
22
22
35
37
38
38
39
39
41
42
47
47
47
47
54
55
57
57
58
58
59
61
61
61
61
61
62
62
62
63
63
64
64
97
104
116
1
1
1
5
5
5
6
8
10
11
11
11
12
13
14
14
14
14
14
15
15
16
16
16
17
18
19
19
19
19
22
22
23
36
39
40
40
41
41
42
43
47
48
48
48
54
55
56
56
57
58
59
59
60
61
61
61
61
62
62
62
63
63
63
64
65
98
105
117
1
4
5
6
7
9
11
11
12
12
13
13
13
14
14
14
15
15
15
16
16
16
16
16
17
18
19
19
19
23
37
37
37
39
41
41
41
41
42
43
44
47
49
49
49
55
55
56
56
57
57
57
58
59
60
60
61
61
61
62
62
63
63
63
64
65
99
106
118
1
1
7
7
8
10
11
12
12
12
12
13
13
13
13
13
13
13
14
14
15
15
15
15
15
16
16
16
16
16
17
18
19
19
22
22
34
37
37
38
38
39
39
41
42
42
42
43
44
45
46
50
50
50
55
57
57
57
58
58
59
60
61
61
61
61
62
62
63
63
64
65
100
107
119
1
9
11
11
11
12
12
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
18
19
19
19
19
22
22
35
38
38
39
39
40
41
41
42
43
43
43
44
45
46
51
51
51
56
56
57
58
58
59
59
60
60
61
61
61
62
62
62
63
63
65
101
108
120
1
1
7
7
11
11
12
12
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
19
19
19
19
19
36
37
39
40
41
41
42
42
43
44
44
45
46
46
52
52
52
55
57
57
58
59
59
60
60
61
61
61
61
62
62
63
63
64
102
109
121
1
7
8
8
8
8
12
13
13
13
13
14
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
18
18
19
22
22
37
38
39
41
42
43
43
44
45
46
46
47
53
53
55
55
56
56
58
59
60
60
61
61
61
61
62
62
62
63
64
65
103
110
122
1
7
7
8
8
11
12
13
13
14
14
14
14
15
15
15
15
15
16
16
16
16
16
17
17
18
18
19
19
20
22
39
40
42
43
44
44
45
46
48
54
54
56
56
56
57
59
60
61
61
62
62
62
63
63
63
66
104
111
123
1
7
12
12
13
13
13
13
13
14
14
15
15
15
15
16
16
16
17
17
18
18
19
19
19
39
41
43
45
45
46
47
49
54
55
55
55
57
57
58
60
60
61
61
62
62
63
63
64
64
67
105
112
124
7
7
7
7
8
8
12
13
13
13
13
13
14
14
14
14
15
15
16
16
16
16
16
17
18
19
19
19
19
32
39
42
46
46
48
50
55
55
56
57
58
58
59
61
61
61
62
64
65
65
68
106
113
125
8
8
9
9
13
13
13
14
14
14
15
15
16
16
16
16
16
17
18
19
20
20
22
33
37
39
43
49
51
56
57
58
59
59
60
61
62
62
63
66
69
107
114
126
1
10
10
11
11
13
14
15
15
16
16
16
16
16
17
17
18
20
21
21
22
22
34
37
39
46
50
52
55
58
59
60
60
61
61
63
64
65
67
70
108
115
127
1
8
8
8
11
11
13
13
16
16
16
17
18
18
19
20
22
22
22
32
32
35
39
46
46
51
53
55
59
60
61
61
61
62
64
65
68
71
109
116
128
1
2
7
10
10
11
11
11
11
11
11
11
13
13
13
16
17
18
19
19
23
23
32
32
33
33
37
46
47
52
54
60
61
61
62
62
65
65
69
72
110
117
129
2
3
8
8
10
11
11
11
11
11
11
13
13
13
13
13
13
13
13
18
19
24
24
30
32
32
32
32
33
33
34
34
37
41
41
46
48
55
56
61
61
62
63
65
66
70
73
111
118
130
1
1
1
1
3
4
10
10
10
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
13
13
14
19
20
20
25
25
31
32
32
32
32
33
33
33
33
34
34
35
35
37
37
41
41
42
49
55
56
61
61
62
63
64
64
67
71
74
112
119
131
1
1
2
2
8
8
10
11
11
11
11
11
11
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
17
17
19
19
20
20
20
20
26
26
30
30
32
32
32
32
33
33
33
33
34
34
34
34
35
35
36
36
37
37
41
41
42
43
43
44
50
55
57
61
61
63
64
64
68
72
75
113
120
132
1
1
1
1
1
1
2
3
3
8
8
8
8
10
10
10
11
11
11
11
11
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
16
17
17
17
19
19
20
20
20
21
27
27
31
31
32
32
33
33
33
34
34
34
34
35
35
35
35
36
36
37
37
37
41
41
42
43
43
43
44
44
44
45
51
56
58
58
61
61
64
64
69
73
76
114
121
133
1
1
2
2
2
3
4
4
8
8
10
10
10
10
10
10
11
11
11
11
11
11
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
17
19
20
20
20
21
22
27
27
27
27
28
28
30
32
32
32
33
33
34
34
34
35
35
35
36
36
36
37
37
37
38
38
39
41
41
42
43
44
44
44
45
45
45
46
54
55
59
59
61
65
65
70
74
77
115
122
134
1
1
2
3
3
3
8
8
8
8
8
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
16
16
16
16
17
19
19
20
20
20
20
20
20
20
21
22
23
27
27
28
28
28
28
29
29
30
31
32
32
32
33
34
34
35
35
35
36
36
36
37
37
37
37
39
39
39
41
41
42
43
43
45
45
45
46
46
46
47
55
60
60
65
66
71
75
78
116
123
135
1
1
2
2
3
4
4
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
11
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
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
19
19
20
20
20
20
20
20
22
23
24
27
27
27
28
28
29
29
29
29
30
30
30
31
32
32
32
33
33
33
34
35
35
36
36
36
37
37
37
37
37
38
38
38
40
40
41
41
42
42
42
43
43
43
44
44
44
46
46
46
47
47
48
55
61
61
64
67
72
79
117
124
136
2
3
3
8
8
8
8
10
10
10
10
10
10
10
10
10
10
11
11
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
15
15
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
19
19
19
19
19
20
20
20
20
20
20
21
23
25
27
27
27
27
27
28
28
28
29
29
30
30
30
30
31
31
31
32
32
33
33
34
34
34
35
36
36
37
37
37
37
38
38
39
39
39
39
41
41
42
43
43
43
44
44
44
45
45
45
47
47
48
48
49
51
55
62
62
68
80
118
125
137
3
4
8
8
8
8
8
10
10
10
10
10
10
10
11
11
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
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
19
19
19
20
20
20
20
20
20
20
20
20
21
22
25
26
27
27
28
28
28
28
28
29
29
29
30
30
31
31
31
31
32
32
32
33
34
34
35
35
35
36
37
37
37
38
38
39
39
39
40
40
40
42
42
42
42
43
43
44
44
44
45
45
45
46
46
46
48
48
49
49
50
54
54
63
63
69
81
119
126
138
1
8
8
8
8
8
8
10
10
10
10
10
10
10
10
11
11
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
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
22
23
25
26
27
27
27
28
28
29
29
29
29
29
30
30
31
31
32
32
32
32
33
34
35
35
36
36
36
37
38
39
39
39
39
40
41
41
41
43
43
43
43
44
44
45
45
45
46
46
46
47
47
47
49
49
50
50
51
55
55
57
61
64
64
70
82
120
127
139
1
1
8
8
8
8
8
8
9
10
10
10
10
10
10
11
11
12
12
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
19
20
20
20
20
20
20
20
20
20
20
20
21
22
22
22
22
23
26
27
27
27
28
28
29
29
30
30
30
30
31
31
32
32
33
33
33
34
35
36
36
37
37
37
38
39
39
40
40
41
42
42
42
42
42
43
44
44
44
44
45
45
46
47
47
47
48
48
48
50
50
51
51
52
52
55
57
57
58
61
65
65
71
83
121
128
140
1
1
1
8
8
8
8
8
8
9
10
10
10
10
10
10
10
11
11
12
12
12
13
13
13
13
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
19
19
19
20
20
20
20
21
21
21
22
22
23
23
23
23
25
27
27
27
28
28
29
29
30
30
30
30
31
31
31
31
32
32
34
34
34
35
36
37
37
37
38
38
39
39
41
41
42
42
43
43
43
43
43
44
44
44
45
45
45
45
46
46
47
48
48
48
49
49
49
51
51
52
52
53
55
56
57
58
59
61
66
66
72
84
122
129
141
1
1
1
8
8
9
10
10
10
10
10
10
10
10
10
10
10
11
12
12
12
13
13
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
18
18
19
20
20
20
20
20
21
22
22
22
22
23
23
25
26
27
27
28
28
29
29
30
30
31
31
31
31
32
32
32
32
33
33
35
35
36
37
37
38
38
39
39
39
40
42
42
42
43
43
44
44
44
44
44
45
45
45
46
46
47
47
48
49
49
49
50
50
50
52
52
53
53
54
54
55
57
57
59
60
61
67
67
73
85
123
130
142
1
1
1
1
8
10
10
10
10
10
10
10
10
11
11
12
12
12
12
13
13
13
13
13
13
15
15
15
15
16
16
16
16
16
17
17
17
18
18
19
19
19
20
20
20
22
22
23
23
23
23
25
25
25
26
27
27
28
28
29
29
30
30
31
31
32
32
32
32
33
33
33
34
34
36
36
37
37
38
39
39
39
40
41
42
43
43
43
43
44
44
45
45
45
45
46
46
46
47
47
48
48
49
50
50
50
51
51
51
52
53
54
54
55
55
57
57
58
60
61
68
68
74
86
124
131
143
1
1
1
8
10
10
10
10
10
12
12
12
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
16
16
16
16
17
17
17
18
18
19
19
19
20
20
20
22
22
23
23
25
26
26
26
27
28
29
29
30
30
30
31
31
32
32
33
33
33
34
34
34
35
35
37
37
37
38
39
39
40
40
41
41
41
42
42
43
43
44
44
44
44
45
45
46
47
47
47
48
48
49
49
50
51
51
51
52
52
52
54
55
56
56
56
57
57
58
59
61
69
69
75
87
125
132
144
1
1
1
2
8
10
10
10
10
10
10
10
10
11
12
12
13
13
13
13
13
13
14
14
14
15
15
15
15
15
16
16
16
16
16
17
17
18
18
19
19
20
20
22
22
22
23
23
25
26
27
27
27
29
30
30
30
31
31
31
32
32
33
33
34
34
34
35
35
36
36
37
38
39
40
41
41
41
41
42
42
42
43
43
44
44
45
45
45
46
47
48
48
48
49
49
50
50
51
52
52
52
53
53
55
55
56
56
57
57
57
58
59
70
70
76
88
126
133
145
1
1
1
1
2
3
8
10
10
10
10
10
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
15
15
15
16
16
16
16
17
17
18
18
19
19
19
20
22
22
23
23
25
26
27
28
28
30
31
31
31
32
32
32
34
34
35
35
35
36
36
37
37
37
37
40
41
41
41
41
41
42
42
42
43
43
43
44
44
45
45
46
47
48
49
49
49
50
50
51
51
52
53
53
54
54
55
56
57
58
58
59
71
71
77
89
127
134
146
1
1
1
3
4
10
10
10
10
11
11
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
16
16
16
16
17
18
18
19
19
19
19
19
20
20
22
22
23
26
27
28
29
29
31
32
32
32
33
33
35
35
36
37
37
38
38
38
41
41
41
41
41
42
42
42
43
43
43
44
44
45
46
47
48
49
50
50
50
51
51
52
52
53
54
55
55
55
57
58
59
59
72
72
78
90
128
135
147
1
1
1
4
4
5
5
10
10
10
11
12
12
12
13
13
13
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
18
19
19
19
19
19
20
20
20
20
22
23
27
28
29
30
30
32
32
32
32
33
33
34
34
36
36
37
38
39
39
39
39
39
41
41
41
41
42
42
42
42
42
43
43
43
44
44
45
47
48
49
50
51
51
51
52
53
53
54
55
56
56
56
58
59
60
73
79
91
129
136
148
1
1
5
5
6
6
8
8
10
10
12
12
12
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
18
18
19
19
20
20
20
22
22
22
28
29
30
32
32
32
33
33
33
34
34
35
35
35
37
37
37
38
39
39
40
40
40
41
41
42
42
43
43
43
43
43
44
45
46
48
49
50
51
52
52
52
53
54
55
55
56
57
57
59
61
74
80
92
130
137
149
1
1
7
7
8
10
10
10
10
11
12
12
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
17
17
18
18
19
19
19
19
19
19
20
22
25
29
30
30
32
32
33
33
34
34
34
35
35
35
36
36
37
37
38
38
39
39
39
40
40
41
41
41
41
41
42
43
43
44
44
44
45
47
49
50
51
53
53
53
54
55
56
57
57
58
58
60
71
75
81
93
131
138
150
1
1
4
4
8
8
8
10
10
10
10
11
11
12
12
12
13
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
17
17
18
18
19
19
20
20
22
22
22
26
30
31
32
33
34
34
35
35
35
36
36
37
37
37
38
38
39
39
39
39
40
40
41
41
41
42
42
42
43
45
45
45
48
50
51
51
52
54
54
55
56
57
57
57
58
58
59
59
75
76
82
94
132
139
151
1
1
1
5
5
5
5
8
9
9
9
10
10
10
10
11
12
12
13
13
13
13
13
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
18
18
19
19
19
20
22
27
32
33
34
35
35
36
36
36
37
38
38
39
39
39
40
40
40
41
41
41
42
42
43
43
46
46
46
49
51
51
52
53
55
55
56
57
57
58
58
59
59
60
77
83
95
133
140
152
1
1
10
10
10
10
10
10
10
10
12
13
13
13
13
13
13
14
14
15
15
15
15
15
16
16
16
17
17
18
18
19
19
20
22
22
22
25
28
33
34
35
35
36
37
37
37
38
39
39
39
40
40
40
41
41
41
41
42
42
43
43
47
47
47
50
52
52
53
53
54
56
56
57
57
57
58
59
59
60
60
61
78
84
96
134
141
153
1
1
1
4
5
8
10
11
11
11
11
12
13
14
14
14
15
15
15
15
15
15
15
16
16
16
17
18
18
19
19
19
20
22
22
26
29
30
30
34
35
35
36
36
37
37
38
38
39
39
40
41
41
41
41
42
42
42
43
43
44
48
48
48
51
52
53
53
54
54
55
57
57
57
57
58
58
59
60
60
62
79
85
97
135
142
154
1
1
5
6
10
11
12
12
13
14
14
14
15
15
15
16
16
16
16
16
16
16
16
17
17
17
18
19
19
19
22
22
22
27
27
30
31
31
32
32
34
34
35
35
36
36
37
37
38
39
39
39
40
41
41
42
43
43
43
44
45
49
49
49
52
52
52
53
54
55
55
56
57
57
57
57
58
58
58
59
59
60
61
80
86
98
136
143
155
1
5
5
8
8
8
11
11
11
12
13
13
13
13
13
14
14
14
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
19
19
22
22
22
23
28
28
32
33
33
34
34
35
35
36
37
38
39
39
40
40
40
41
41
43
44
45
45
46
50
50
50
53
53
54
55
56
56
57
57
57
57
57
58
58
59
59
59
60
62
81
87
99
137
144
156
1
1
5
6
8
10
10
11
12
12
12
13
13
13
13
14
14
14
14
14
14
15
16
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
20
22
22
22
23
29
29
30
32
32
34
34
34
35
36
36
37
39
40
40
40
41
41
41
42
44
45
45
46
51
51
51
52
54
54
55
56
57
57
57
57
57
57
58
58
58
59
59
60
60
61
82
88
100
138
145
157
1
1
4
5
5
9
10
10
12
12
12
13
13
13
14
14
14
15
15
15
15
16
16
16
16
16
17
17
17
18
18
18
19
19
19
19
19
19
22
30
30
30
30
31
32
33
34
35
35
36
37
37
37
40
40
41
41
41
42
42
43
44
44
46
47
51
52
52
52
53
53
54
55
55
56
57
57
57
58
58
58
58
59
59
59
61
62
83
89
101
139
146
158
1
5
6
6
8
8
10
10
12
12
12
13
13
13
14
14
15
15
15
16
16
16
16
16
16
16
17
18
18
19
19
19
19
22
22
30
31
31
32
32
33
34
34
34
35
36
36
37
37
38
38
39
41
41
42
43
43
44
44
45
47
48
50
52
52
53
53
53
54
54
56
56
57
57
57
58
58
59
59
59
59
60
62
84
90
102
140
147
159
1
1
5
5
5
8
8
8
10
10
11
12
12
12
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
16
17
17
18
19
19
19
19
22
22
30
30
31
32
33
34
34
34
35
35
35
36
37
38
39
39
41
43
44
44
44
45
46
48
49
51
51
53
53
54
54
55
55
57
57
57
57
58
58
59
59
60
60
61
85
91
103
141
148
160
1
1
5
6
6
8
10
10
10
12
12
12
12
12
13
13
13
14
14
14
14
14
15
15
15
16
16
16
16
16
17
17
18
18
19
19
19
19
19
27
31
31
32
32
34
35
35
36
36
37
37
39
39
40
41
41
44
44
45
46
47
49
50
52
52
54
54
54
55
55
56
56
57
57
58
58
58
59
59
60
61
86
92
104
142
149
161
1
5
5
5
5
5
5
6
6
8
10
12
12
12
12
13
13
13
13
14
14
14
14
15
15
16
16
16
16
17
17
18
18
19
19
19
19
22
28
32
32
33
35
35
36
36
37
37
37
37
38
39
41
41
41
44
46
47
48
50
51
53
54
55
55
55
56
56
57
57
58
59
59
60
61
87
93
105
143
150
162
5
5
5
5
5
6
6
6
7
10
10
12
13
13
14
14
14
14
14
15
15
15
15
16
16
18
18
19
19
19
19
19
19
19
20
20
22
29
32
33
34
36
37
37
38
38
38
39
41
41
42
45
47
48
49
51
52
54
54
56
56
56
56
57
57
58
58
59
60
88
94
106
144
151
163
1
5
5
5
5
5
5
5
5
6
6
8
10
10
11
11
13
14
14
15
15
15
15
15
15
16
16
16
16
16
19
19
19
19
20
20
20
20
20
21
21
22
30
35
35
37
38
39
39
39
41
43
45
48
49
50
52
53
55
55
55
57
57
57
57
58
58
59
61
89
95
107
145
152
164
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
9
10
11
11
11
13
13
13
15
15
16
16
16
16
16
16
17
17
17
19
19
19
19
20
20
21
21
21
21
22
22
25
30
30
32
35
36
39
40
43
44
44
49
50
51
52
54
54
56
56
56
58
58
58
58
59
60
90
96
108
146
153
165
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
8
11
13
13
13
13
13
15
16
16
16
16
17
17
17
18
18
19
19
19
19
19
20
20
20
21
21
22
22
22
22
23
26
30
30
30
30
31
31
32
35
35
39
41
44
45
50
51
52
55
57
57
57
59
59
59
60
91
97
109
147
154
166
5
5
5
5
5
5
5
5
5
5
6
6
6
6
8
11
11
11
11
11
13
13
13
13
13
14
16
16
17
17
18
18
18
19
19
19
20
20
20
20
20
20
21
21
21
22
22
22
23
23
23
24
27
30
30
31
31
31
32
32
32
33
35
39
39
42
45
46
51
53
56
58
58
58
60
60
61
62
92
98
110
148
155
167
1
5
5
5
5
5
5
6
6
6
6
7
7
9
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
15
16
17
17
18
18
19
19
19
19
20
20
20
21
21
21
21
21
22
22
22
23
23
24
24
24
25
28
28
28
30
30
30
31
32
32
32
32
33
35
37
39
39
39
40
41
42
43
46
47
52
52
57
59
59
61
61
62
62
93
99
111
149
156
168
1
5
5
5
5
5
5
5
5
6
6
6
6
7
8
8
8
8
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
14
14
16
16
18
18
19
19
19
19
20
20
21
21
22
22
22
22
23
23
24
24
25
25
25
26
29
29
30
30
30
30
31
31
31
32
32
33
33
34
35
37
39
39
40
41
41
43
44
47
48
52
53
57
58
60
60
62
63
75
94
100
112
150
157
169
1
2
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
8
8
8
8
10
10
11
11
11
11
11
11
13
13
13
13
13
13
13
14
14
15
15
17
19
19
19
19
20
20
21
21
22
22
23
23
23
23
24
24
25
25
26
26
26
27
28
28
30
30
30
30
30
30
30
31
31
31
32
32
32
32
33
34
34
35
35
35
39
39
41
41
42
44
45
48
49
54
54
57
57
59
60
61
64
72
76
95
101
113
151
158
170
1
2
3
5
5
5
5
5
5
5
5
6
6
6
6
7
8
8
8
8
8
8
8
8
8
8
10
10
10
11
11
11
11
12
13
13
13
13
13
13
13
13
14
15
15
15
17
18
19
19
20
20
21
21
22
22
23
23
24
24
24
24
25
25
25
25
26
26
27
27
28
29
29
30
30
30
30
31
31
31
32
32
32
33
33
33
34
35
35
35
36
37
39
39
40
41
42
45
46
50
51
55
55
57
57
60
60
62
65
73
77
96
102
114
152
159
171
1
3
4
5
5
5
5
5
5
7
8
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
11
11
11
11
11
13
13
13
13
13
13
13
13
14
14
14
14
15
15
17
18
19
19
20
20
20
20
21
21
22
22
23
23
23
24
24
25
25
25
25
25
25
25
26
26
26
26
27
27
28
28
28
28
29
30
30
30
30
31
31
32
32
32
33
33
33
34
34
34
34
34
35
36
36
37
37
37
39
39
40
41
41
46
47
51
52
56
56
57
57
60
61
66
74
78
97
103
115
153
160
172
1
1
2
5
6
6
6
8
8
8
8
8
8
8
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
15
15
15
15
17
17
18
19
19
19
20
20
20
21
21
22
22
23
23
24
24
24
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
28
28
28
29
29
29
30
30
30
30
30
30
31
32
32
33
33
33
34
34
34
34
34
35
35
35
35
35
37
37
37
38
39
39
40
40
40
41
41
47
48
52
52
57
57
57
57
61
67
75
79
98
104
116
154
161
173
1
1
2
3
5
5
5
5
5
6
6
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
11
11
11
11
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
16
17
17
17
17
19
19
19
20
20
21
22
22
23
23
23
23
24
24
25
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
29
29
29
30
30
30
30
30
31
31
31
31
32
32
33
33
34
34
34
34
34
35
35
35
35
36
36
36
36
37
37
38
39
40
40
40
41
41
41
49
51
52
53
57
57
58
58
61
68
76
80
99
105
117
155
162
174
1
1
1
3
4
5
5
5
5
6
6
6
8
8
8
8
8
8
8
8
9
10
10
10
10
10
10
10
10
10
10
11
11
11
12
12
13
13
13
13
13
13
14
15
15
15
15
15
15
16
16
17
18
18
20
20
20
20
20
21
22
23
23
24
24
24
24
25
25
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
31
31
32
32
32
32
32
33
34
34
34
34
35
35
35
35
36
36
36
37
37
37
37
39
40
40
41
41
41
42
42
50
50
51
54
57
57
59
61
69
71
77
81
100
106
118
156
163
175
1
1
1
2
2
5
5
5
5
6
6
6
8
8
8
8
8
8
8
8
9
10
10
10
10
10
10
11
11
11
11
11
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
15
15
16
16
16
17
17
17
17
18
19
19
19
19
20
20
20
20
21
22
23
23
24
24
25
25
25
25
26
26
27
27
27
27
27
28
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
30
30
30
31
31
31
32
32
33
33
33
33
34
34
34
35
35
35
36
36
36
37
37
38
38
38
40
40
40
40
41
41
42
42
43
43
50
51
55
57
60
61
70
72
78
82
101
107
119
157
164
176
1
1
1
1
1
2
2
3
3
5
5
5
5
6
8
8
8
8
8
8
8
9
10
10
10
10
10
10
10
10
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
16
16
16
17
17
17
17
17
17
18
19
19
19
19
20
20
20
20
20
22
23
23
24
24
24
25
25
25
25
26
26
27
27
28
28
28
28
28
29
29
29
29
29
30
30
30
30
30
30
31
31
32
32
32
32
33
33
34
34
34
34
34
34
35
35
36
36
37
37
37
38
39
39
39
39
40
40
40
40
41
41
41
42
42
43
43
44
51
56
57
61
61
71
73
79
102
108
120
158
165
177
1
2
3
3
4
4
5
5
6
8
8
8
10
10
10
10
10
10
10
10
10
11
11
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
16
16
16
16
17
17
17
18
18
19
19
19
20
20
20
20
20
21
21
21
23
23
23
24
24
25
25
25
25
26
26
26
26
27
27
28
28
29
29
29
29
29
30
30
30
30
30
31
31
31
31
32
32
32
33
33
33
34
34
34
34
35
35
35
35
35
36
36
37
38
38
39
39
39
40
40
40
40
40
41
41
41
41
42
42
42
43
44
45
47
48
57
57
62
72
74
103
109
121
159
166
178
1
2
3
4
5
5
8
8
8
10
10
10
10
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
17
18
18
19
19
19
19
20
20
20
20
20
20
20
20
20
21
21
22
22
22
23
24
24
24
24
24
25
25
26
26
26
27
27
27
27
28
28
28
29
29
30
30
30
30
31
31
31
32
32
32
32
32
32
33
34
34
34
35
35
35
36
36
36
36
37
39
39
39
40
40
40
40
41
41
41
41
42
42
42
42
43
43
43
44
45
46
50
51
51
57
58
63
73
75
104
110
122
160
167
179
3
5
5
5
6
8
8
8
10
10
10
10
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
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
18
19
19
19
20
20
20
20
20
20
20
20
20
21
22
22
23
24
24
25
25
25
25
26
27
27
27
28
28
28
28
29
29
29
30
30
30
31
31
31
32
32
32
32
33
33
33
34
35
35
35
35
36
36
36
37
37
38
38
38
39
39
40
40
40
40
41
41
41
42
42
42
42
43
43
43
43
44
44
45
46
47
50
52
53
54
57
59
64
74
76
105
111
123
161
168
180
1
5
5
5
6
6
8
8
10
10
10
10
10
10
11
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
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
19
19
19
19
20
20
20
20
20
21
21
22
23
23
23
24
25
25
26
26
27
28
28
28
28
29
29
29
29
30
30
30
31
32
32
32
32
32
33
34
34
34
35
35
36
36
37
37
38
38
38
39
39
39
39
39
40
40
40
40
41
41
41
41
42
42
42
43
43
44
44
44
45
45
46
47
48
50
52
53
54
57
60
65
75
77
106
112
124
162
169
181
1
1
5
5
5
5
6
8
10
10
10
10
10
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
19
19
19
20
20
20
20
20
20
20
20
20
20
21
22
22
24
24
24
25
26
27
27
28
28
29
29
29
29
30
30
30
30
31
31
31
32
32
33
33
34
35
35
35
35
36
37
38
38
38
39
39
39
39
39
39
39
40
40
40
40
40
41
41
41
41
42
42
42
42
43
43
44
45
45
45
46
46
47
48
49
51
52
53
54
54
55
57
61
66
76
78
107
113
125
163
170
182
1
1
1
5
5
5
6
6
8
9
10
10
10
10
10
12
12
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
18
19
19
19
20
20
20
20
20
20
21
21
22
23
25
25
25
26
27
28
28
29
29
30
30
30
30
31
31
31
32
32
32
34
34
35
35
36
36
37
37
37
38
38
38
39
39
39
39
39
39
39
40
40
40
40
40
40
40
40
41
41
41
41
41
42
42
42
43
43
43
44
44
45
46
46
46
47
47
48
49
49
50
51
53
53
54
55
56
62
67
77
79
108
114
126
164
171
183
1
1
1
1
5
5
5
6
8
10
10
10
12
12
12
13
13
13
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
18
19
19
20
20
20
21
21
22
22
22
23
23
26
26
26
27
28
29
30
30
30
31
31
31
31
32
33
33
34
34
35
35
35
35
37
37
38
38
39
39
39
39
39
39
39
40
40
40
40
40
40
41
41
41
41
41
41
41
41
42
42
43
43
43
44
44
45
45
46
47
47
47
48
48
49
50
51
52
53
54
55
56
63
68
78
80
109
115
127
165
172
184
1
1
1
5
8
10
10
10
10
10
10
11
12
13
13
13
13
14
15
15
15
15
15
15
15
15
16
16
16
16
17
18
18
19
19
20
20
20
21
22
22
22
23
23
23
23
24
24
27
27
27
28
30
30
31
31
32
32
32
33
34
34
34
34
34
35
36
36
36
37
37
38
39
39
39
39
40
40
40
40
40
41
41
41
41
41
41
42
42
42
42
42
43
44
44
44
45
45
46
46
47
48
48
48
49
49
50
52
52
54
54
55
56
64
69
79
79
110
116
128
166
173
185
1
1
1
1
9
10
10
10
12
12
12
12
12
13
13
13
13
13
13
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
18
19
19
19
20
20
20
21
22
22
22
22
22
22
22
23
23
23
24
24
25
26
28
28
28
28
30
30
30
31
32
32
33
33
33
34
34
34
34
34
35
35
35
35
36
37
37
37
37
38
38
38
39
39
40
40
40
41
41
41
41
41
42
42
42
43
43
43
43
44
45
45
45
46
46
47
47
48
49
49
49
50
51
52
53
54
54
55
56
65
70
80
111
117
129
167
174
186
1
1
1
5
8
8
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
17
18
18
18
19
19
19
19
20
20
20
20
22
22
22
23
23
23
23
23
24
24
25
26
26
27
29
30
31
31
32
32
33
33
33
34
34
34
34
34
34
35
35
35
35
36
36
36
36
37
38
38
38
39
39
39
39
39
40
41
41
41
42
43
43
44
44
44
44
45
46
46
46
47
47
48
48
49
50
50
51
52
53
54
54
54
55
56
66
71
81
112
118
130
168
175
187
1
1
1
5
5
8
10
10
10
10
11
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
17
17
18
18
18
19
19
19
19
19
19
20
20
20
20
21
23
24
25
25
26
26
26
27
27
28
28
30
30
32
32
32
32
32
32
33
33
34
34
34
34
34
34
35
35
35
35
35
36
36
36
36
37
37
37
37
38
38
39
39
39
39
40
40
40
40
41
42
43
44
45
45
45
45
46
47
47
47
48
48
49
49
50
51
52
52
53
53
55
55
56
67
72
82
113
119
131
169
176
188
1
1
1
6
6
6
8
9
10
10
10
10
11
12
12
12
13
13
13
13
13
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
17
18
18
19
19
19
19
20
20
20
22
22
22
22
24
26
26
26
26
27
27
28
28
28
29
29
30
30
31
31
32
32
33
33
33
33
33
34
34
34
34
35
35
35
35
36
36
36
36
36
37
37
38
38
39
39
40
40
41
41
41
41
43
45
46
46
46
46
47
48
48
48
49
49
50
51
52
52
53
53
54
54
56
56
68
73
83
114
120
132
170
177
189
1
1
1
5
5
5
5
8
8
8
8
8
10
10
11
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
15
15
16
16
16
16
16
16
16
17
18
19
19
19
19
20
20
22
22
22
23
23
23
24
24
26
27
27
27
28
28
29
29
30
30
30
31
31
31
32
32
34
34
34
34
34
34
34
35
35
35
35
36
36
36
36
37
37
37
37
37
38
39
39
40
40
41
41
42
42
46
47
47
47
47
48
49
49
50
50
51
52
53
53
54
54
54
55
55
57
69
74
80
84
115
121
133
171
178
190
1
1
1
5
5
5
8
8
8
8
10
10
10
11
12
12
12
12
13
13
13
14
14
14
14
14
14
14
15
15
15
16
16
16
18
19
19
19
19
20
20
20
20
22
23
23
24
24
24
25
25
26
26
27
28
28
28
29
30
31
31
31
32
32
32
32
32
33
33
34
34
35
35
35
35
36
36
36
37
37
37
37
37
38
38
38
38
39
40
41
41
42
43
43
47
48
48
48
48
49
50
51
51
52
53
53
53
54
54
55
55
56
56
70
75
82
85
116
122
134
172
179
191
1
1
5
5
5
6
8
9
10
10
10
10
10
11
12
12
13
13
13
13
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
19
19
19
20
20
20
21
22
22
24
25
25
26
26
26
27
27
28
28
29
29
30
31
31
32
32
32
32
33
33
33
33
33
34
34
35
35
36
36
36
37
37
38
38
38
38
38
39
39
39
41
42
42
44
44
48
49
49
49
50
51
52
52
53
53
54
54
55
55
56
56
71
76
86
117
123
135
173
180
192
1
1
1
5
6
8
8
9
10
10
10
11
12
12
13
13
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
18
19
20
22
22
22
22
22
23
24
26
26
27
27
28
28
28
29
29
30
30
30
31
31
32
33
33
33
34
34
34
34
34
35
35
36
37
37
38
38
38
39
39
39
39
40
40
43
43
43
45
45
48
50
50
50
51
52
53
53
53
53
54
55
55
56
57
72
77
87
118
124
136
174
181
193
1
1
1
5
5
8
8
9
11
12
12
13
13
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
18
19
19
19
22
22
22
22
23
24
25
27
27
28
28
29
29
29
30
30
30
31
31
33
34
34
34
35
35
35
36
38
38
39
39
39
40
40
40
41
41
43
44
44
46
46
48
50
50
51
51
51
52
53
54
54
54
54
54
55
56
56
73
78
88
119
125
137
175
182
194
1
1
5
6
6
8
10
10
13
14
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
18
18
19
19
22
22
22
22
23
23
24
26
28
28
28
30
30
30
31
31
31
32
32
34
35
35
36
36
39
39
40
40
41
41
41
42
42
42
45
45
47
47
48
49
51
52
52
52
53
53
53
54
54
54
55
55
55
55
56
74
79
89
120
126
138
176
183
195
1
5
5
8
10
10
12
13
13
14
14
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
19
19
19
22
22
23
24
27
28
29
30
31
31
32
32
32
32
33
33
34
35
35
35
36
37
38
39
40
41
41
42
42
42
42
46
46
48
49
50
52
53
53
53
54
54
54
54
54
54
54
55
55
56
56
56
75
80
90
121
127
139
177
184
196
1
8
10
12
12
12
13
13
14
14
14
15
16
16
16
16
16
17
17
17
17
18
18
18
18
19
19
19
19
22
22
24
28
29
30
33
33
33
33
34
34
34
36
36
37
38
39
39
41
42
42
42
42
43
47
47
49
50
51
51
53
53
53
54
54
54
54
54
55
55
55
55
55
56
56
57
57
76
81
91
122
128
140
178
185
197
1
1
5
5
8
12
12
12
13
13
13
14
14
14
14
15
16
16
17
17
18
18
18
18
19
19
19
19
22
22
24
30
30
31
34
34
34
34
35
35
37
37
37
38
39
39
42
42
43
43
44
46
48
48
50
51
52
52
53
53
54
54
55
55
55
55
56
56
56
56
57
58
77
82
92
123
129
141
179
186
198
1
1
5
5
6
6
10
10
12
12
13
13
13
14
14
14
14
15
15
16
16
17
17
18
18
19
19
19
19
20
24
25
30
31
31
34
35
35
35
36
37
37
38
38
39
39
39
42
44
44
45
47
47
49
49
51
52
53
53
54
54
54
55
55
56
56
56
56
57
57
58
78
83
93
124
130
142
180
187
199
1
1
5
5
5
5
5
5
5
5
6
6
10
12
12
13
13
14
14
14
14
15
15
16
16
16
17
17
18
18
19
19
19
22
23
26
30
31
33
34
35
36
36
37
37
39
39
39
39
40
43
45
45
46
48
48
50
50
50
52
53
53
53
54
54
55
55
56
57
57
57
58
58
79
84
94
125
131
143
181
188
200
1
1
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
12
12
13
13
14
14
14
14
15
15
15
16
16
16
17
17
17
17
18
18
19
19
19
19
22
24
26
26
27
30
31
33
34
35
37
37
37
39
39
39
40
41
42
46
46
46
47
49
50
50
50
51
51
51
53
54
54
54
54
55
55
56
57
58
58
59
80
85
95
126
132
144
182
189
201
1
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
11
11
12
13
13
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
17
17
18
18
18
18
19
19
19
19
20
20
20
22
22
22
25
26
26
27
28
28
30
33
34
35
38
38
39
39
41
42
43
47
47
47
47
49
50
50
51
51
52
52
52
53
53
54
55
55
55
56
58
59
60
81
86
96
127
133
145
183
190
202
1
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
8
11
11
12
13
13
13
13
13
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
20
20
21
21
22
22
22
22
26
26
26
27
28
28
28
30
31
33
34
34
38
39
39
40
42
43
43
48
48
48
49
50
50
51
51
51
52
52
52
53
53
53
54
55
56
57
60
61
82
87
97
128
134
146
184
191
203
1
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
8
9
12
12
13
13
13
13
13
13
14
14
15
15
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
20
20
20
20
21
21
22
22
22
22
22
26
26
27
28
28
28
28
29
29
30
31
32
33
34
34
37
39
40
41
43
44
46
49
49
50
50
51
51
52
52
52
53
53
53
54
54
54
55
58
61
83
88
98
129
135
147
185
192
204
1
1
5
5
5
5
5
5
5
5
6
6
6
6
7
7
8
8
8
11
11
11
11
12
13
13
14
14
14
14
14
15
15
15
15
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
22
22
23
23
24
26
26
27
28
28
28
29
29
30
30
30
33
33
34
34
35
37
39
41
42
44
45
46
47
48
50
50
51
52
52
53
53
53
54
54
54
55
55
62
84
89
99
130
136
148
186
193
205
1
1
2
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
8
8
8
8
8
11
11
11
11
11
13
13
13
13
13
13
13
14
14
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
18
18
18
19
19
19
19
19
20
20
20
21
21
21
22
22
22
22
22
24
24
24
26
26
26
27
28
28
28
28
28
30
30
30
31
33
34
34
35
37
38
39
42
43
45
46
47
49
50
51
51
52
53
53
54
54
54
55
55
55
56
58
63
85
90
100
131
137
149
187
194
206
2
3
5
5
5
5
5
6
6
6
6
6
6
7
8
8
8
8
8
10
10
11
11
11
13
13
13
13
13
13
13
13
14
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
19
19
19
20
20
21
21
21
22
22
22
22
22
22
23
23
23
23
23
25
25
26
26
27
28
28
28
28
28
28
28
29
29
29
31
32
33
35
35
37
37
37
39
39
43
44
46
47
49
51
52
52
53
54
54
55
55
56
56
56
57
58
64
86
91
101
132
138
150
188
195
207
1
3
4
5
5
5
5
5
7
8
8
8
10
10
10
10
11
11
11
11
11
11
11
13
13
13
13
13
13
14
14
15
15
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
20
21
21
22
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
26
26
27
28
28
28
29
29
29
29
30
30
30
30
32
33
33
34
35
36
37
37
38
38
39
40
44
45
47
52
53
53
53
54
55
55
56
57
57
57
65
79
87
92
102
133
139
151
189
196
208
1
5
6
6
8
8
8
8
8
8
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
13
13
13
13
13
13
14
15
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
20
20
20
20
21
22
22
22
22
23
23
23
24
24
24
24
24
24
25
25
25
25
25
26
26
27
27
28
28
28
28
28
29
30
30
30
30
30
31
31
32
33
33
34
34
35
35
35
37
37
38
39
39
48
49
53
53
54
54
54
55
56
57
58
66
80
82
88
93
103
134
140
152
190
197
209
1
1
1
1
1
5
5
5
6
6
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
16
16
17
17
17
17
17
17
18
19
19
19
20
20
21
21
21
21
21
22
23
23
23
23
24
24
24
24
24
25
25
25
25
26
26
26
26
26
27
27
28
28
28
28
28
28
28
29
29
29
30
31
31
31
32
32
32
32
33
33
33
33
34
34
34
35
35
36
37
37
38
39
40
40
49
49
53
54
54
55
55
57
58
59
67
81
83
89
94
104
135
141
153
191
198
210
1
1
1
2
2
5
5
6
6
6
7
8
8
8
8
8
8
8
8
8
8
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
17
17
17
18
19
20
21
21
22
22
22
22
22
23
23
23
23
24
24
24
24
24
25
25
25
26
26
26
27
27
27
27
27
28
28
28
29
29
29
29
30
30
30
30
30
31
32
32
32
32
33
33
33
33
34
34
34
34
35
35
35
36
36
37
37
37
38
39
40
41
48
50
54
54
55
56
56
58
58
68
82
84
90
95
105
136
142
154
192
199
211
1
1
1
2
3
3
5
5
5
6
7
8
8
8
8
8
8
8
9
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
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
16
17
17
17
18
19
21
21
21
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
25
25
25
26
26
26
26
27
27
27
28
28
28
28
28
28
28
29
30
30
30
30
30
31
31
31
32
32
32
33
33
33
34
34
34
34
34
35
35
35
35
35
35
36
37
37
37
37
37
38
38
39
40
42
49
51
53
54
56
57
57
57
69
83
85
91
96
106
137
143
155
193
200
212
1
1
1
1
2
2
2
3
4
4
6
6
7
8
8
8
8
8
8
9
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
13
13
13
13
13
13
14
14
14
14
14
15
15
15
16
16
16
16
16
17
17
17
17
19
20
22
22
22
22
23
23
23
23
24
24
24
24
24
24
25
25
25
25
26
26
26
26
26
27
27
27
27
28
28
28
28
28
29
29
29
29
29
30
30
30
31
31
31
31
32
32
32
32
32
33
33
33
33
34
34
34
35
35
35
35
35
35
36
36
36
36
37
38
38
38
38
39
39
41
43
48
51
52
54
54
57
57
58
70
84
86
92
97
107
138
144
156
194
201
213
1
2
3
3
3
5
5
5
5
6
6
8
8
8
8
8
8
10
10
10
10
10
10
10
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
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
20
20
21
22
23
23
23
23
24
24
24
24
24
25
25
25
25
26
26
26
26
27
27
27
27
27
28
28
28
28
29
29
29
29
29
30
30
30
30
30
30
31
32
32
32
32
32
32
33
33
33
33
34
34
34
35
35
35
36
36
36
36
37
37
37
37
37
37
39
39
39
39
40
42
44
46
48
52
53
53
54
57
59
71
85
87
93
98
108
139
145
157
195
202
214
1
2
3
4
4
5
6
6
7
8
8
8
8
8
8
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
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
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
18
18
20
21
22
22
23
23
23
24
24
24
25
25
25
25
26
26
26
26
26
26
27
27
27
27
28
28
28
28
28
29
29
30
30
30
30
30
30
31
31
31
32
32
32
33
33
33
33
33
33
34
34
34
34
35
35
35
35
35
35
35
36
37
37
37
37
37
37
38
38
38
38
38
38
40
40
40
41
43
45
46
53
53
54
57
60
72
86
88
94
99
109
140
146
158
196
203
215
3
5
5
5
5
6
8
8
8
8
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
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
19
19
21
21
22
22
23
23
23
24
24
24
25
25
26
26
26
26
26
26
26
27
27
27
27
27
28
28
28
28
29
29
29
30
30
31
31
31
31
32
32
32
33
33
33
33
34
34
34
34
34
35
35
35
35
36
36
36
36
36
36
37
37
38
38
38
38
38
39
39
39
39
39
39
41
42
44
47
54
55
58
59
61
73
87
89
95
100
110
141
147
159
197
204
216
1
1
5
5
6
6
6
8
8
8
8
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
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
17
17
17
18
19
20
20
21
22
22
22
22
23
23
24
24
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
29
29
29
30
30
30
30
32
32
32
32
32
33
33
33
33
34
34
34
35
35
35
35
35
35
35
36
36
36
36
37
37
37
37
37
37
37
37
38
39
39
39
39
40
40
40
40
40
42
43
46
53
56
57
61
62
74
80
88
96
101
111
142
148
160
198
205
217
1
1
1
1
1
5
5
5
5
6
7
8
10
10
10
10
10
10
11
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
14
14
14
14
14
14
14
15
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
19
20
21
22
23
23
23
23
23
24
25
25
26
26
26
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
29
29
29
30
31
31
31
32
32
33
33
33
33
33
33
33
34
34
34
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
37
38
38
38
38
38
38
38
40
40
40
40
41
41
41
41
43
43
44
46
46
54
57
63
75
81
97
102
112
143
149
161
199
206
218
1
1
1
1
1
5
6
6
7
10
10
10
10
10
10
10
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
14
15
15
15
15
15
16
16
17
17
17
17
18
18
19
19
19
19
19
19
20
21
22
23
24
24
24
24
24
25
26
26
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
29
29
29
29
30
30
31
32
32
32
32
33
33
34
34
34
34
34
35
35
35
35
35
35
36
36
36
36
37
37
37
37
37
37
37
37
37
37
38
38
38
38
38
39
39
39
39
39
39
41
41
42
42
42
42
44
45
46
47
47
53
58
64
76
82
98
103
113
144
150
162
200
207
219
1
1
1
5
5
5
6
8
8
10
10
10
10
10
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
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
18
18
19
19
19
19
19
20
20
20
20
20
20
22
22
23
24
25
25
25
25
26
26
26
27
27
27
27
27
28
28
28
28
28
28
29
29
29
30
30
31
31
32
32
32
33
33
33
33
34
35
35
35
35
35
35
35
35
35
36
36
36
36
36
37
37
37
37
37
37
37
38
38
38
38
38
38
38
38
39
39
39
39
40
40
40
40
40
42
42
43
43
43
43
45
46
47
54
59
65
77
83
99
104
114
145
151
163
201
208
220
1
1
5
5
6
10
10
10
10
10
10
10
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
18
19
19
19
20
20
20
20
20
21
21
22
22
23
23
24
24
25
26
26
26
26
26
26
26
27
27
28
28
28
28
28
29
29
29
30
30
30
31
32
32
32
32
32
32
33
33
33
33
34
34
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
37
37
37
38
38
38
38
38
39
39
39
39
39
39
40
40
40
41
41
41
41
41
43
43
44
44
46
47
49
50
50
50
53
60
66
78
84
100
105
115
146
152
164
202
209
221
1
1
5
5
6
7
8
8
10
10
10
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
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
19
19
19
19
19
20
20
20
21
21
22
22
22
23
23
24
24
24
24
25
26
26
26
26
27
27
27
27
27
28
28
28
29
29
29
30
30
31
31
32
32
32
32
33
33
33
33
33
34
34
35
35
36
36
36
37
37
37
37
37
37
37
37
38
38
38
38
38
38
39
39
39
39
39
40
40
40
40
41
41
42
42
42
42
42
44
45
45
46
48
49
50
51
51
54
61
67
79
85
101
106
116
147
153
165
203
210
222
1
1
5
5
6
6
8
8
9
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
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
17
17
19
20
20
20
20
22
23
23
24
24
24
25
25
25
26
26
26
27
27
27
28
28
28
28
28
29
30
30
30
30
30
31
31
32
32
32
32
32
33
33
33
34
34
34
34
34
35
36
37
37
37
37
37
38
38
38
38
38
38
38
39
39
39
39
39
40
40
40
41
41
41
41
42
43
43
43
43
45
46
46
47
48
49
50
50
52
52
54
62
68
80
86
102
107
117
148
154
166
204
211
223
1
1
1
1
1
5
5
5
6
6
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
15
15
15
16
16
16
16
16
17
17
17
18
19
20
22
23
24
24
24
25
25
25
26
26
26
26
26
27
27
28
28
28
28
28
29
29
30
31
31
31
31
31
32
32
32
32
32
33
33
33
33
34
34
34
35
35
35
36
37
37
38
38
38
38
39
39
39
39
39
39
39
40
40
40
41
41
41
42
42
42
43
43
44
44
44
46
47
47
49
50
50
50
51
53
53
63
69
81
87
103
108
118
149
155
167
205
212
224
1
1
1
1
5
7
8
8
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
15
16
16
19
20
20
21
22
22
24
24
25
25
26
26
26
26
27
27
28
28
28
29
29
29
30
30
30
30
30
31
31
32
32
32
32
32
32
33
33
33
33
34
34
34
34
35
35
36
36
37
37
37
38
39
39
39
40
40
40
40
40
41
41
42
42
42
43
43
43
44
45
45
45
47
48
48
48
48
50
50
51
51
52
53
64
70
82
88
104
109
119
150
156
168
206
213
225
1
1
1
1
1
5
8
10
10
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
15
16
19
19
20
20
21
21
22
22
23
24
25
25
26
26
26
26
27
28
28
28
28
29
30
30
30
30
31
31
31
31
32
32
32
32
33
33
33
33
33
34
34
34
34
35
35
35
35
36
36
37
37
37
38
39
40
40
41
41
41
41
42
42
43
43
44
44
44
45
46
46
46
48
48
49
49
49
50
50
51
52
52
53
65
71
83
89
105
110
120
151
157
169
207
214
226
1
1
1
1
5
5
5
6
6
8
10
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
15
19
19
20
21
22
22
23
24
24
25
26
26
26
26
27
28
28
28
29
30
30
31
31
31
31
32
32
32
32
32
33
33
33
34
34
34
34
34
35
35
35
35
35
35
36
36
36
37
37
38
39
41
41
42
42
42
42
43
43
44
45
45
45
45
45
46
47
47
47
48
49
50
50
50
51
52
53
66
72
84
90
106
111
121
152
158
170
208
215
227
1
1
1
5
5
5
6
8
8
8
10
10
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
15
16
17
19
19
19
19
20
22
23
24
25
25
26
26
26
27
27
28
29
29
29
30
30
30
30
31
31
32
32
33
33
33
33
33
33
34
34
35
35
35
36
36
36
36
37
37
37
38
39
42
42
42
43
43
44
44
45
45
46
46
46
47
48
48
48
49
50
51
52
54
67
73
85
91
107
112
122
153
159
171
209
216
228
1
1
1
1
1
5
8
8
8
9
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
15
15
15
15
15
16
16
16
16
16
16
18
19
19
22
24
25
26
26
26
27
27
28
28
28
29
29
30
30
30
31
31
31
32
32
33
33
34
34
34
34
34
35
35
36
36
37
37
37
37
38
38
39
41
43
43
43
44
44
45
45
45
45
46
46
47
47
47
48
49
49
49
49
52
55
68
74
86
88
108
113
123
154
160
172
210
217
229
1
1
1
6
8
9
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
19
19
19
19
19
22
23
25
26
26
27
28
29
29
29
29
30
30
31
31
31
31
32
32
32
33
33
34
35
35
35
35
35
36
36
37
38
38
38
39
39
40
41
41
43
43
43
44
44
45
45
45
45
45
46
46
46
47
47
48
48
48
49
50
50
56
69
75
87
109
114
124
155
161
173
211
218
230
1
1
1
5
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
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
19
19
19
19
19
20
24
26
26
28
29
29
30
30
30
30
31
32
32
32
32
33
33
34
35
35
36
36
36
37
39
39
39
40
40
41
41
42
44
44
45
45
45
46
46
46
47
47
47
48
48
49
49
49
50
51
51
70
76
88
91
110
115
125
156
162
174
212
219
231
1
8
10
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
13
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
19
19
19
22
25
26
26
26
28
29
29
30
31
31
31
31
32
33
34
35
36
36
37
37
37
38
40
40
41
42
44
45
45
46
46
46
47
47
47
48
48
48
49
49
50
50
50
51
52
52
58
71
77
89
89
111
116
126
157
163
175
213
220
232
1
1
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
13
13
13
13
13
13
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
19
19
19
20
22
22
26
26
26
27
29
30
30
31
32
32
32
33
34
36
36
37
37
37
37
38
39
40
43
44
44
45
46
47
47
47
48
48
48
49
49
49
50
50
50
50
50
51
51
51
52
53
59
61
72
78
90
112
117
127
158
164
176
214
221
233
8
11
11
11
11
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
16
16
16
16
16
16
16
17
17
17
18
19
19
22
23
26
26
28
30
31
31
32
33
33
33
35
36
37
37
37
38
39
40
40
43
44
45
45
46
47
48
48
48
49
49
49
50
50
50
50
51
51
51
51
52
52
53
60
62
73
79
91
113
118
128
159
165
177
215
222
234
5
6
8
10
11
11
11
11
11
11
11
11
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
17
19
19
19
20
22
24
26
28
30
32
32
33
33
34
34
35
35
37
37
38
39
40
40
46
46
47
48
49
49
49
50
50
50
50
50
51
51
52
52
52
52
53
54
61
63
74
80
92
114
119
129
160
166
178
216
223
235
1
5
5
5
5
6
6
9
10
10
11
11
11
11
11
11
11
12
12
12
13
13
13
13
13
14
14
14
14
15
15
15
15
15
16
16
16
16
16
19
20
21
22
23
24
25
28
28
28
29
33
33
33
33
34
35
35
35
37
37
39
40
40
43
47
47
48
49
50
50
50
50
50
50
50
51
51
51
51
52
52
53
53
55
62
64
75
81
93
115
120
130
161
167
179
217
224
236
5
5
5
5
6
7
9
9
11
11
11
12
13
13
14
14
14
15
15
15
15
16
16
16
16
16
16
19
20
20
22
22
23
24
24
25
26
28
29
29
31
33
34
34
34
35
35
35
36
37
37
40
44
45
48
48
49
50
50
50
50
50
51
51
51
51
51
52
52
53
53
56
63
65
76
82
94
116
121
131
162
168
180
218
225
237
5
5
5
5
5
5
5
6
6
6
6
8
10
11
11
11
11
12
13
13
14
14
15
15
16
16
16
16
16
17
17
18
20
22
23
23
24
24
25
25
26
27
28
30
30
31
32
33
35
35
35
35
37
37
40
46
47
49
49
50
50
50
50
50
51
51
52
52
52
52
53
54
57
64
66
77
83
95
117
122
132
163
169
181
219
226
238
5
5
5
5
5
5
5
5
5
6
6
6
6
7
9
9
9
11
11
11
11
11
11
12
12
13
13
13
13
14
14
14
15
15
15
16
16
17
17
17
17
18
19
20
22
22
23
24
24
24
24
24
25
26
26
26
27
28
31
31
31
32
32
36
36
37
41
44
47
48
50
50
50
50
51
51
51
52
52
52
53
55
58
65
67
78
84
96
118
123
133
164
170
182
220
227
239
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
8
9
9
9
11
11
11
11
11
11
11
11
11
12
13
13
14
14
14
14
15
15
15
15
16
16
16
17
17
18
18
19
19
20
22
22
23
24
24
24
25
25
26
26
26
26
27
28
28
29
31
32
32
32
33
35
37
40
41
45
48
49
50
50
51
51
51
52
52
52
56
59
59
66
68
79
85
97
119
124
134
165
171
183
221
228
240
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
8
9
9
9
11
11
11
11
11
11
11
11
11
11
11
13
13
13
14
15
15
15
15
15
15
16
16
16
16
17
17
17
18
19
19
20
20
20
22
22
23
24
24
24
24
24
24
24
25
25
26
26
26
26
27
27
28
28
29
30
31
31
32
32
32
34
36
37
42
43
46
49
50
50
50
51
52
52
57
60
60
67
80
86
98
120
125
135
166
172
184
222
229
241
1
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
8
8
9
9
9
9
9
9
11
11
11
11
11
11
11
11
11
11
11
12
14
14
15
15
16
16
16
16
17
17
17
18
18
18
19
20
20
20
21
22
22
23
23
24
24
24
24
25
25
25
25
25
25
26
26
26
26
27
27
28
28
29
30
31
31
31
32
32
32
35
36
37
42
44
47
50
50
50
51
51
52
53
58
61
61
81
87
99
121
126
136
167
173
185
223
230
242
1
1
2
5
5
5
5
5
5
5
6
6
6
6
6
7
7
8
8
9
9
11
11
11
11
11
11
11
11
11
11
11
11
12
12
13
13
13
15
15
15
16
16
17
17
17
18
18
18
19
19
19
20
21
21
22
22
22
22
22
23
24
24
24
24
24
24
24
24
24
25
25
25
26
26
26
26
26
26
26
26
27
27
28
28
29
30
31
31
32
32
32
32
35
35
35
36
37
41
45
48
51
51
52
52
53
53
59
62
82
88
100
122
127
137
168
174
186
224
231
243
1
1
1
1
3
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
8
8
8
8
8
8
9
9
9
9
9
9
11
11
11
11
11
12
12
13
13
13
13
13
14
15
15
15
16
17
17
18
18
18
19
19
19
20
20
20
20
22
22
22
22
23
23
23
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
28
28
28
29
31
31
32
32
32
33
33
35
36
36
37
37
41
46
49
52
52
52
53
60
63
83
89
101
123
128
138
169
175
187
225
232
244
1
1
1
1
1
2
2
4
5
5
5
5
5
5
6
6
6
6
6
7
8
8
8
8
8
9
9
9
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
14
15
15
15
16
16
16
17
17
18
18
19
19
19
20
20
20
21
21
21
21
21
22
22
22
23
23
24
24
24
24
24
25
25
25
26
26
26
26
26
26
26
27
27
28
28
28
28
28
29
30
30
31
32
33
33
34
35
35
37
37
37
38
47
50
53
53
54
61
64
84
90
102
124
129
139
170
176
188
226
233
245
1
1
1
2
2
3
3
5
5
5
5
6
6
7
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
16
16
17
17
17
18
19
19
20
20
20
21
21
21
21
22
22
22
22
22
22
23
24
24
24
24
24
24
25
25
25
26
26
26
26
27
27
27
27
28
28
28
29
29
29
30
30
30
31
31
31
32
33
34
35
35
35
35
36
37
38
42
48
49
51
53
62
65
85
91
103
125
130
140
171
177
189
227
234
246
1
2
3
3
4
5
5
5
6
6
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
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
16
17
17
17
18
18
18
19
20
20
21
21
22
22
22
22
23
23
23
23
23
24
24
24
25
25
25
25
25
25
26
26
26
26
27
27
28
28
28
28
28
29
29
30
30
30
30
30
30
30
30
30
30
31
31
31
32
32
32
33
35
35
35
35
36
36
36
37
37
43
43
46
49
49
50
63
66
86
92
104
126
131
141
172
178
190
230
235
247
1
1
2
3
4
5
5
5
6
6
6
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
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
14
14
14
14
14
14
14
14
14
15
16
17
18
18
19
19
19
20
21
21
21
21
22
22
22
23
23
23
24
24
24
24
24
24
25
25
26
26
26
26
26
27
27
27
28
28
28
28
29
29
29
30
30
30
30
31
31
31
31
31
31
31
31
31
31
32
32
32
32
33
33
33
33
35
35
36
36
36
37
37
37
43
44
47
50
50
51
52
67
87
93
105
127
132
142
173
179
191
231
236
248
1
1
2
2
3
5
5
6
6
6
7
7
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
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
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
17
18
19
19
20
20
20
21
21
21
21
21
22
22
22
22
23
23
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
27
27
27
27
28
28
28
29
30
30
30
30
30
30
30
30
31
31
31
32
32
32
32
32
32
32
32
32
32
33
33
33
33
33
34
35
35
36
37
37
37
37
38
43
44
48
51
51
52
68
88
94
106
128
133
143
174
180
192
227
232
237
249
1
2
3
3
4
5
5
5
6
6
7
8
8
8
8
8
8
8
8
8
8
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
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
14
14
15
15
18
19
20
20
21
21
21
22
22
22
22
22
23
23
23
24
24
24
25
25
25
25
26
26
26
26
26
26
27
27
28
28
28
28
28
29
29
30
30
30
30
31
31
31
31
31
31
31
31
32
32
32
33
33
33
33
33
33
33
33
33
33
33
34
34
35
35
36
37
38
38
39
43
43
44
49
52
52
53
69
89
95
107
129
134
144
175
181
193
233
238
250
1
3
4
6
6
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
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
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
15
15
15
16
16
19
19
19
20
20
21
21
21
21
21
22
22
23
23
23
23
23
24
24
24
24
25
25
26
26
26
26
27
27
27
27
27
27
27
28
28
28
29
29
29
30
30
30
30
30
31
31
31
31
32
32
32
32
32
32
32
33
33
33
33
34
34
34
34
34
34
34
35
35
36
37
39
39
39
40
44
44
50
50
51
53
70
89
90
96
108
130
135
145
176
182
194
234
239
251
1
1
1
5
5
5
5
6
6
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
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
16
16
16
17
17
19
20
20
20
20
21
21
21
21
21
22
22
22
22
22
23
23
24
24
24
24
24
24
24
25
25
25
26
26
26
27
27
27
27
27
28
28
28
28
28
29
29
29
30
30
30
30
30
30
31
31
31
31
31
32
32
32
33
33
33
33
33
33
33
34
35
35
35
35
35
35
35
36
36
37
40
40
43
44
50
51
54
67
90
91
97
109
131
136
146
177
183
195
235
240
252
1
1
1
5
6
6
7
8
8
8
8
8
8
8
8
8
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
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
15
15
16
16
16
17
17
17
19
20
20
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
30
30
30
31
31
31
31
31
31
31
31
31
31
32
32
32
32
32
33
33
33
34
34
34
34
34
35
36
36
36
36
36
36
36
37
37
38
41
43
44
50
50
50
88
91
91
92
98
110
132
137
147
178
184
196
236
241
253
1
1
1
1
1
5
5
5
6
8
8
8
8
8
8
8
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
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
16
16
16
16
17
17
17
19
20
20
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
24
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
28
28
28
29
29
29
29
30
30
30
30
30
30
30
30
30
31
31
31
31
31
31
32
32
32
32
32
32
32
33
33
33
33
33
34
34
35
35
35
35
35
35
35
35
36
37
37
37
37
37
37
38
38
39
40
42
50
50
50
70
89
92
92
93
99
111
133
138
148
179
185
197
237
242
254
1
1
1
1
5
5
6
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
16
16
16
16
17
17
17
18
19
20
20
20
21
21
21
22
22
23
23
23
23
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
29
30
30
30
30
31
31
31
31
31
31
31
31
31
32
32
32
32
32
32
33
33
33
33
33
33
34
34
34
34
34
35
35
35
36
36
36
36
36
36
36
37
38
38
38
38
38
39
39
40
42
44
50
50
50
52
68
90
93
93
94
100
112
134
139
149
180
186
198
238
243
255
1
1
1
5
6
6
6
7
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
11
11
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
16
16
16
16
16
16
17
17
17
17
19
20
21
21
22
22
22
22
23
23
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
27
28
28
28
28
29
29
29
29
29
29
29
29
30
30
31
31
31
32
32
32
32
32
32
32
32
33
33
33
33
33
34
34
34
34
34
35
35
35
35
35
35
36
36
37
37
37
37
37
37
38
39
39
39
39
40
41
41
43
45
50
50
50
54
91
94
94
95
101
113
135
140
150
181
187
199
239
244
256
1
1
1
5
6
6
7
7
8
8
8
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
17
17
17
17
17
18
19
20
20
21
22
22
23
23
23
24
24
24
24
25
25
25
25
25
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
29
29
29
29
29
30
30
30
30
30
30
31
31
32
32
32
33
33
33
33
33
33
34
34
34
34
34
35
35
35
35
35
35
35
35
36
36
36
36
36
37
37
38
38
38
38
39
40
40
40
41
41
42
43
45
46
50
50
50
92
95
95
96
102
114
136
141
151
182
188
200
240
245
257
1
1
5
5
5
5
5
6
7
8
8
8
8
8
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
13
13
13
14
14
14
14
14
14
14
15
15
15
18
18
19
20
20
21
21
22
23
23
24
24
24
24
24
25
25
25
26
26
26
26
26
27
27
27
27
27
28
28
28
28
28
28
30
30
30
30
30
30
30
31
31
31
31
31
32
32
33
33
33
34
34
34
35
35
35
35
35
35
35
35
35
36
36
36
36
36
36
37
37
37
38
38
38
39
39
40
41
41
41
42
43
44
45
45
45
47
50
50
50
93
96
96
97
103
115
137
142
152
183
189
201
241
246
258
1
1
1
5
5
5
6
7
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
15
15
15
16
16
18
19
19
20
20
21
21
22
22
22
22
24
24
24
24
25
25
25
25
26
26
26
27
27
28
28
28
28
29
29
29
29
29
29
30
30
30
30
31
31
31
31
31
32
32
32
32
33
33
34
35
35
35
35
35
35
36
36
36
36
36
36
36
37
37
37
37
37
38
38
39
39
40
40
42
42
42
42
43
43
44
45
46
46
48
94
97
97
98
104
116
138
143
153
184
190
202
242
247
259
1
1
1
5
5
5
6
8
8
8
9
10
10
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
14
14
16
16
16
16
17
18
19
20
20
21
21
22
22
23
23
23
25
25
26
26
26
26
27
28
28
28
29
29
29
30
30
30
30
30
30
30
30
30
31
31
31
32
32
32
32
33
33
33
34
34
35
35
36
36
36
36
37
37
37
37
37
37
37
38
38
39
39
40
41
41
43
43
43
44
44
45
47
47
95
98
98
99
105
117
139
144
154
185
191
203
243
248
260
1
1
1
1
1
1
1
5
5
5
5
6
6
9
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
16
16
17
17
19
19
20
20
21
21
22
22
22
22
23
23
24
24
24
26
26
26
26
27
27
28
29
30
30
30
30
30
30
30
31
31
31
31
31
31
32
32
32
33
33
34
35
35
35
35
36
36
37
37
37
38
38
38
38
39
39
39
40
40
41
42
42
44
44
44
45
45
45
46
48
99
100
106
118
140
145
155
186
192
204
244
249
261
1
1
5
5
6
7
8
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
15
16
18
18
19
20
21
22
22
22
22
22
23
23
23
23
24
24
25
26
26
26
27
27
27
28
28
29
30
30
30
31
31
31
31
31
32
32
32
32
32
33
34
35
35
35
36
36
36
37
37
38
38
39
39
39
39
40
40
40
40
41
42
43
43
43
45
45
45
45
45
46
47
100
101
107
119
141
146
156
187
193
205
245
250
262
1
1
1
5
5
6
8
8
9
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
15
16
16
16
18
20
20
21
22
23
23
23
23
24
24
24
24
24
26
26
26
27
27
27
28
29
29
30
30
30
31
31
32
32
32
32
33
33
33
34
35
35
35
36
37
37
37
39
39
40
40
40
41
41
41
42
43
44
44
45
45
46
46
46
47
48
98
102
108
120
142
147
157
188
194
206
246
251
263
1
1
1
1
5
6
8
8
8
8
9
9
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
13
13
13
14
14
14
16
16
16
16
17
19
20
21
22
22
22
23
24
24
24
24
24
25
25
25
26
26
27
27
28
28
28
29
30
30
30
30
31
31
32
32
33
33
34
34
35
36
36
37
37
38
38
38
39
40
40
41
41
41
42
42
42
43
44
45
45
45
46
47
47
49
95
98
103
109
121
143
148
158
189
195
207
247
252
264
1
1
5
5
5
5
8
8
8
8
9
9
10
10
10
10
10
10
10
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
15
16
16
16
16
17
20
22
23
23
23
24
25
25
25
26
26
26
27
27
27
28
28
28
29
29
30
30
30
31
31
31
32
32
33
34
34
35
36
36
37
38
38
39
39
40
40
41
42
42
42
43
43
43
44
45
45
45
46
46
47
50
99
104
110
122
144
149
159
190
196
208
248
253
265
1
1
1
5
6
8
8
8
9
10
10
10
10
10
10
11
11
11
11
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
16
16
20
23
24
24
24
24
26
26
27
27
27
27
27
28
28
28
28
29
29
30
30
31
32
32
32
33
33
34
35
36
37
38
39
39
40
40
40
41
41
42
43
43
43
44
44
44
45
45
45
45
46
46
47
47
51
100
105
111
123
145
150
160
191
197
209
249
254
266
1
5
8
8
9
9
9
10
10
10
10
10
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
15
15
15
16
16
16
17
20
20
24
24
24
25
25
25
26
27
27
27
28
28
29
29
29
30
30
31
32
33
33
34
35
35
38
39
39
39
40
40
41
41
41
42
42
43
44
44
44
45
45
45
45
46
46
46
47
47
52
95
98
106
112
124
146
151
161
192
194
198
210
250
255
267
1
1
5
8
8
8
8
9
9
10
10
10
10
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
16
16
16
16
18
21
24
24
25
26
26
27
27
27
28
29
29
29
29
30
30
30
31
31
32
34
35
35
36
36
36
40
40
40
40
41
42
42
42
43
43
44
45
45
45
45
45
45
45
45
46
46
47
47
47
53
99
107
113
125
147
152
162
195
199
211
251
256
268
1
1
5
8
8
8
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
15
15
15
16
20
22
24
24
24
26
27
27
27
28
28
28
28
29
29
29
30
30
31
32
32
33
34
36
37
37
38
40
40
41
41
41
41
42
43
43
43
44
44
45
45
45
45
46
46
46
46
46
46
47
48
48
100
108
114
126
148
153
163
192
196
200
212
252
257
269
1
5
8
8
8
9
9
9
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
14
15
15
16
16
16
16
20
23
24
24
24
24
25
26
27
28
28
29
29
29
29
29
29
30
31
32
33
33
34
34
35
35
37
38
39
40
41
42
42
42
42
43
44
44
44
45
45
45
45
46
47
47
47
47
47
47
49
68
95
98
109
115
127
149
154
164
197
201
213
253
258
270
1
5
5
5
8
8
9
9
9
9
9
9
9
10
10
10
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
14
14
15
16
18
20
20
20
21
24
24
24
24
25
25
26
28
28
29
29
29
29
29
30
30
30
31
32
33
34
34
35
38
39
39
40
41
42
43
43
43
43
44
45
45
45
45
45
45
45
46
46
46
47
48
48
50
69
99
110
116
128
150
155
165
198
202
214
254
259
271
5
5
5
5
5
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
11
11
12
12
12
12
12
12
12
13
13
13
13
13
14
14
16
16
16
18
20
20
20
20
20
20
21
21
22
24
24
24
25
26
26
27
29
29
29
29
30
30
31
31
32
33
35
35
35
35
35
40
40
41
42
43
44
44
44
44
45
45
45
46
46
46
46
46
47
47
51
67
70
100
111
117
129
151
156
166
199
203
215
255
260
272
5
5
5
5
5
5
5
5
5
5
5
6
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
11
12
12
12
12
13
13
13
13
13
13
14
14
15
16
18
20
20
20
20
20
20
21
21
21
21
21
22
22
23
24
24
26
26
27
28
29
29
30
31
32
32
33
33
35
35
36
36
41
41
42
43
44
45
45
45
45
45
45
46
47
47
47
47
47
52
68
71
112
118
130
152
157
167
200
204
216
256
261
273
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
8
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
11
11
12
12
13
13
13
13
13
13
14
14
14
15
15
15
16
18
20
20
20
20
21
21
21
21
21
22
22
22
22
22
23
23
24
24
27
27
28
29
30
31
32
33
33
33
35
35
35
37
42
42
43
44
45
45
45
46
46
46
46
47
47
48
48
51
53
69
70
72
113
119
131
153
158
168
201
205
217
257
262
274
5
5
5
5
5
5
5
5
5
7
8
9
9
9
9
9
9
10
10
10
11
11
11
12
12
13
13
13
14
14
14
14
15
15
15
16
16
16
17
18
20
20
21
21
21
21
22
22
22
22
22
23
23
23
23
24
24
24
26
27
27
30
30
30
31
32
33
33
35
35
35
38
43
43
44
45
46
46
47
47
47
49
52
54
54
70
71
73
114
120
132
154
159
169
202
206
218
258
263
275
5
5
5
5
5
5
5
5
6
6
8
9
9
9
9
9
9
9
10
10
11
11
11
11
12
13
13
14
14
15
15
15
15
16
17
17
18
20
20
21
21
22
22
22
22
22
23
23
23
23
24
24
24
24
24
25
25
26
26
27
29
30
30
31
31
32
33
33
35
35
35
38
39
42
44
45
46
47
47
50
53
55
55
71
72
74
115
121
133
155
160
170
203
207
219
259
268
276
5
5
5
5
5
5
5
5
5
6
6
6
6
7
8
8
8
9
9
9
9
9
9
9
9
9
9
11
11
11
11
13
13
13
13
15
15
15
15
15
16
16
17
18
20
20
20
21
22
22
22
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
26
26
26
27
27
29
30
30
31
31
31
32
33
33
35
35
35
38
40
43
45
47
48
51
54
56
72
73
75
116
122
134
156
161
171
204
208
220
260
269
277
1
5
5
5
5
5
5
5
5
5
5
5
6
7
7
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
12
13
13
13
13
14
14
14
14
15
16
16
16
16
17
17
17
18
20
20
21
21
21
22
22
22
22
23
23
24
24
24
24
24
24
24
25
25
25
25
26
26
26
27
27
27
28
29
30
30
31
32
32
33
34
34
35
39
41
44
46
48
55
57
73
74
76
117
123
135
157
162
172
205
209
221
261
270
278
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
8
8
8
9
9
9
9
9
9
9
9
9
10
10
11
11
11
13
14
14
14
14
14
15
15
15
15
16
17
17
17
17
17
18
18
18
20
20
21
22
22
22
22
22
23
23
23
24
24
24
24
25
25
25
25
25
26
26
26
26
27
27
27
28
28
29
29
30
30
33
33
33
34
35
38
42
45
48
56
58
74
75
77
118
124
136
158
163
173
206
210
222
262
271
279
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
8
8
8
8
9
9
9
9
9
9
9
9
9
10
11
11
11
12
12
12
13
13
13
14
14
15
15
15
15
15
15
15
16
16
16
17
18
18
18
19
19
19
20
20
20
21
22
22
23
23
23
23
24
24
24
24
24
25
25
25
26
26
26
26
27
27
27
28
28
29
29
29
30
30
30
31
31
34
35
43
46
48
48
52
57
59
76
78
119
125
137
159
164
174
207
211
223
263
272
280
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
8
8
8
8
8
8
8
9
9
9
9
11
11
11
11
11
12
12
12
13
13
13
13
14
14
14
14
14
15
15
15
16
16
16
16
16
16
17
17
17
18
18
19
19
19
20
20
20
21
22
22
22
23
24
24
24
24
24
24
25
25
25
26
26
27
27
28
28
29
29
29
30
30
30
30
30
31
31
32
38
44
45
47
47
53
58
60
77
79
120
126
138
160
165
175
208
212
224
263
264
273
281
1
5
5
5
5
5
5
5
6
6
6
6
6
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
10
11
11
12
12
12
13
13
13
14
14
14
14
14
15
15
15
15
16
16
16
17
17
17
17
17
17
18
18
18
19
20
20
20
20
21
21
21
22
22
22
23
23
24
24
24
25
25
25
25
26
26
27
27
28
28
29
29
30
30
30
31
31
31
31
32
33
39
39
43
45
47
48
54
59
61
121
127
139
161
166
176
209
213
225
265
274
282
1
1
1
1
2
4
4
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
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
11
11
13
13
13
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
19
19
20
20
21
22
22
22
22
22
22
23
23
24
24
24
25
26
26
26
27
27
27
29
29
30
30
30
31
31
31
32
32
32
33
38
39
45
48
49
55
60
74
77
77
122
128
140
162
167
177
210
214
226
266
275
283
1
1
1
1
1
1
1
2
2
3
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
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
11
11
11
11
11
11
11
12
13
13
13
14
14
14
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
20
20
20
20
22
22
23
23
23
23
24
24
24
25
25
26
27
27
27
27
28
28
28
30
30
30
31
31
31
31
32
32
33
33
33
38
38
45
47
50
56
78
123
129
141
163
168
178
211
215
227
267
276
284
1
1
2
2
2
3
3
4
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
11
11
12
12
12
13
14
14
14
14
14
14
15
15
15
16
16
16
16
16
17
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
20
20
20
20
20
21
21
21
22
22
22
23
24
24
24
24
24
25
25
25
25
25
25
26
26
28
28
28
28
28
28
29
29
29
30
31
31
31
31
31
32
32
32
33
34
34
38
38
43
44
45
47
51
57
79
124
130
142
164
169
179
212
216
228
268
277
285
1
3
3
3
4
4
4
5
5
5
5
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
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
13
13
14
14
15
15
15
15
15
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
20
20
21
21
22
22
22
22
22
22
23
23
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
28
29
29
29
29
29
30
30
30
30
31
31
31
32
32
32
33
33
35
35
38
38
44
45
45
52
58
74
77
125
131
143
165
170
180
213
217
229
269
278
286
1
1
2
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
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
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
15
16
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
22
22
22
23
23
23
23
23
23
24
24
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
30
30
30
30
30
30
31
31
31
31
31
32
32
33
33
34
35
36
38
39
44
45
46
53
59
78
98
126
132
144
166
171
181
214
218
230
270
279
287
1
1
2
3
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
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
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
12
16
17
17
17
17
17
18
18
18
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
29
29
29
29
30
31
31
31
31
31
32
32
32
33
33
34
38
39
39
46
46
47
60
74
77
79
95
99
127
133
145
167
172
182
215
219
231
271
280
288
1
1
1
1
3
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
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
17
17
18
18
18
18
18
19
19
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
23
23
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
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
30
31
31
31
31
32
32
32
33
34
35
35
38
38
47
48
61
78
100
128
134
146
168
173
183
216
220
232
272
281
289
1
1
4
5
5
5
5
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
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
11
11
11
11
12
12
12
12
12
12
13
13
13
14
18
18
18
19
19
19
19
20
20
20
20
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
30
30
30
30
30
30
30
31
31
31
31
31
31
32
32
33
33
35
35
36
45
45
48
62
79
98
101
129
135
147
169
174
184
217
221
233
273
282
290
5
5
5
5
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
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
11
12
12
12
12
12
13
13
13
13
13
13
14
14
14
15
17
18
19
19
19
20
20
20
20
20
20
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
26
26
27
28
28
28
28
28
28
28
28
29
29
29
29
29
29
30
30
30
30
30
30
31
31
31
31
31
31
31
32
32
32
32
32
33
33
37
38
45
45
49
63
99
130
136
148
170
175
185
218
222
234
274
283
291
1
1
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
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
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
14
14
14
14
14
15
16
18
18
18
19
20
20
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
26
26
26
27
27
27
27
27
28
29
29
29
29
29
29
30
30
30
30
30
31
31
31
31
31
31
31
32
32
32
32
32
32
33
33
33
35
38
39
45
45
50
60
100
131
137
149
171
176
186
219
223
235
275
284
292
1
1
1
5
5
5
5
5
5
5
6
6
6
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
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
13
13
13
14
14
14
15
15
15
16
18
19
19
21
22
22
22
22
22
22
22
22
22
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
29
30
30
30
30
30
30
31
31
31
31
32
32
32
32
32
33
33
33
33
34
35
35
39
45
45
51
63
101
132
138
150
172
177
187
220
224
230
236
276
285
293
1
1
1
5
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
8
8
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
12
12
12
12
13
13
13
13
13
14
14
15
16
16
16
18
19
19
20
20
22
22
22
22
22
22
23
23
23
23
23
23
23
24
24
24
24
25
25
25
25
26
26
26
26
26
26
26
26
26
26
26
27
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
31
31
31
31
31
32
32
32
32
33
33
33
33
33
34
34
34
35
35
40
40
45
45
52
61
102
133
139
151
173
178
188
221
225
231
237
277
286
294
1
1
1
1
5
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
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
13
13
13
13
14
14
14
14
16
16
16
16
16
16
17
17
18
19
19
20
21
21
22
22
22
23
23
23
24
24
24
24
24
24
24
24
24
25
25
25
26
26
26
26
27
27
27
27
27
27
27
27
27
28
28
29
29
29
29
29
29
29
29
29
30
30
30
30
31
32
32
32
32
32
33
33
33
33
34
34
35
35
36
40
40
41
45
45
53
101
103
134
140
152
174
179
189
222
232
238
278
287
295
1
1
1
1
1
5
5
5
5
5
5
5
5
5
5
6
6
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
11
12
12
12
13
13
14
14
14
15
16
16
16
17
17
17
17
17
18
18
18
19
19
20
21
22
22
22
22
23
23
24
24
24
24
24
25
25
25
25
25
25
25
25
26
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
29
30
30
30
30
30
30
30
30
31
31
31
31
33
33
33
33
33
33
34
34
34
35
35
36
36
40
40
41
42
45
54
98
104
135
141
153
175
180
190
223
233
239
279
288
296
1
1
1
1
1
1
1
1
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
12
12
13
13
14
15
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
20
20
20
20
21
22
22
22
23
24
24
25
25
25
25
25
26
26
26
26
26
26
27
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
30
31
31
31
31
31
31
32
32
32
32
32
33
33
34
34
34
34
35
35
35
35
36
37
37
40
40
41
42
45
95
99
105
136
142
154
176
181
191
224
234
240
280
289
297
1
1
1
1
1
1
1
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
8
8
9
9
10
10
10
10
10
10
11
12
12
13
13
14
16
16
16
16
16
16
16
17
17
17
18
18
18
19
19
19
19
20
20
20
20
20
20
21
21
21
21
22
23
24
25
25
26
26
26
26
27
27
27
27
28
28
28
28
28
29
29
29
29
30
30
30
30
30
30
30
31
32
32
32
32
32
32
32
33
33
33
33
34
34
34
34
35
35
35
35
36
36
36
37
38
38
40
40
40
41
42
100
106
137
143
155
177
182
192
225
225
235
241
281
290
298
1
1
1
1
1
1
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
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
12
13
13
13
13
13
14
14
16
16
16
17
17
17
17
17
17
18
18
18
18
18
19
19
20
20
20
20
21
21
21
21
21
22
22
22
22
22
24
25
25
26
27
27
27
28
28
28
28
28
28
28
29
29
29
30
30
30
30
30
31
31
31
31
31
32
32
33
33
33
33
33
34
34
34
34
34
35
35
35
36
37
37
37
38
39
39
40
41
41
42
101
107
138
144
156
178
183
193
226
236
242
282
291
299
1
1
1
1
1
5
5
5
5
5
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
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
12
13
13
13
13
13
13
14
15
16
16
16
17
17
17
18
18
18
18
18
18
18
19
19
19
20
20
20
21
21
21
21
22
22
22
22
22
23
23
23
23
24
25
26
27
28
28
28
28
29
29
29
29
29
29
30
30
30
31
31
31
32
32
32
32
32
33
33
34
34
34
34
34
35
35
35
35
36
36
36
37
38
38
38
39
40
40
40
40
40
40
42
42
108
139
145
157
179
184
194
227
237
243
283
292
300
1
1
1
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
12
12
13
13
14
14
15
16
16
16
17
17
17
18
18
18
19
19
19
19
19
20
20
20
20
20
20
21
21
21
22
22
22
22
23
23
23
23
24
24
25
25
25
26
28
28
28
29
29
29
29
30
30
30
30
31
32
32
32
33
33
34
34
34
34
35
35
35
35
35
36
36
36
36
37
37
37
38
39
39
39
40
40
40
40
40
41
41
41
41
43
109
140
146
158
180
185
195
228
238
244
284
293
301
1
1
1
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
8
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
11
11
12
12
12
12
13
13
13
13
15
15
16
16
17
17
17
18
18
18
19
19
20
20
20
20
20
20
21
21
21
21
21
22
23
23
23
24
24
24
24
25
25
25
25
25
26
28
28
29
29
29
29
29
29
30
30
31
31
32
33
34
34
34
35
35
35
35
36
36
36
36
37
37
37
37
38
38
38
39
40
40
40
40
40
41
41
41
41
42
42
42
107
141
147
159
181
186
196
229
239
245
285
294
302
1
1
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
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
12
12
13
13
13
13
14
16
16
16
17
17
18
18
19
19
19
20
20
21
21
21
21
21
21
22
22
22
22
22
22
23
24
24
25
25
25
25
25
25
27
29
29
30
30
30
30
31
31
33
34
35
35
35
35
36
36
36
36
37
37
37
37
38
38
38
38
39
39
39
40
40
40
41
41
41
42
42
42
43
43
101
108
142
148
160
182
187
197
230
240
246
286
295
303
1
5
5
5
5
5
5
5
5
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
10
10
10
10
10
10
11
11
13
13
13
13
14
15
16
17
17
18
18
18
19
19
19
20
20
21
21
22
22
22
22
22
22
22
23
23
23
23
24
25
25
25
25
25
26
28
30
30
31
31
31
31
34
35
35
36
36
36
36
37
37
37
37
38
38
38
39
39
39
39
40
40
40
40
40
40
40
40
41
41
42
42
42
43
43
44
46
109
143
149
161
183
187
188
198
231
241
247
287
296
304
1
5
5
5
5
5
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
11
12
12
13
13
13
14
15
17
18
18
18
19
19
19
20
20
21
21
22
22
22
23
23
23
23
24
24
24
25
25
25
25
25
26
26
27
29
29
31
32
32
33
33
36
36
37
37
37
37
38
38
38
38
39
39
40
40
40
40
40
40
40
41
41
41
41
41
42
43
43
45
47
107
110
144
150
162
184
188
189
199
232
242
248
288
297
305
4
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
12
12
12
13
13
13
13
13
13
13
14
15
15
16
18
18
19
19
19
20
20
20
21
21
22
22
22
22
23
24
24
24
25
25
25
25
25
25
27
28
30
33
33
34
35
37
37
38
38
38
38
39
39
39
39
40
40
40
40
41
41
41
41
42
42
42
44
44
46
48
77
101
108
145
151
163
185
189
190
200
233
243
249
289
298
306
1
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
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
11
11
11
12
12
12
13
13
13
13
14
14
14
15
16
16
16
16
16
16
17
18
18
19
19
20
20
20
21
21
22
22
22
23
23
23
23
24
24
25
25
25
25
26
26
26
29
31
31
34
35
36
38
38
39
39
39
40
40
40
40
40
40
41
41
42
42
43
45
45
47
49
74
77
78
109
146
152
164
185
190
191
201
234
244
250
290
299
307
5
5
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
8
8
8
8
8
9
9
9
9
10
10
10
10
10
10
11
11
12
12
12
13
13
13
13
13
13
14
14
14
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
19
19
20
20
21
21
22
22
22
22
22
24
24
25
25
25
25
25
26
26
26
27
27
30
31
31
31
35
36
37
39
39
40
40
40
40
40
41
41
41
41
42
42
46
46
48
50
78
79
110
147
153
165
191
192
202
235
245
251
291
300
308
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
8
8
8
9
9
10
10
10
10
10
11
11
11
11
12
12
13
13
13
13
13
13
14
14
14
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
20
20
21
21
22
22
22
22
22
23
25
25
25
26
26
27
27
28
28
31
31
31
36
37
38
40
40
41
41
41
41
42
42
47
47
49
51
79
80
101
107
148
154
166
192
193
203
236
246
252
292
301
309
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
10
10
11
11
11
11
12
12
12
13
13
13
13
14
14
14
15
15
15
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
20
20
20
21
21
22
22
22
22
22
23
24
26
26
26
27
27
28
28
29
31
31
32
37
38
39
40
40
41
41
42
42
42
48
48
50
52
80
108
149
155
167
193
194
204
237
247
253
293
302
310
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
10
11
11
12
12
12
13
13
13
13
14
14
14
15
15
15
16
16
16
17
17
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
22
22
22
22
23
24
25
25
27
27
27
28
28
29
29
30
31
31
33
38
39
40
41
42
42
42
43
44
49
51
53
81
109
150
156
168
194
195
205
238
248
254
294
303
311
4
4
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
8
8
8
8
9
9
9
10
11
12
12
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
17
18
18
18
19
19
20
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
24
25
26
27
27
28
28
28
29
29
30
31
31
34
39
40
41
42
42
43
45
50
52
61
80
82
151
157
169
195
196
206
239
249
255
295
302
304
312
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
7
7
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
10
10
10
10
10
11
12
13
13
13
13
13
13
14
14
14
15
15
15
16
16
16
16
16
17
17
17
17
17
17
18
18
19
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
25
26
27
27
27
27
28
28
28
29
29
31
31
35
40
41
42
42
43
46
62
63
77
83
152
158
170
196
197
207
240
250
256
296
303
305
313
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
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
10
10
11
11
11
11
11
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
19
19
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
24
24
24
25
26
27
27
27
27
28
28
28
28
28
28
29
31
34
36
42
47
60
63
64
74
78
84
153
159
171
197
198
208
241
251
257
297
297
304
306
314
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
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
11
11
12
12
12
13
13
13
13
14
14
14
14
14
15
15
15
16
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
25
25
25
26
27
27
27
27
27
27
28
28
28
28
28
29
29
33
37
43
43
48
61
64
65
79
85
154
160
172
198
199
209
242
252
258
305
307
315
1
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
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
11
11
11
11
11
11
11
11
11
12
12
13
13
13
13
13
13
13
13
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
18
18
18
18
18
18
19
19
19
20
20
20
20
20
20
21
21
22
22
22
22
22
22
22
23
23
23
24
24
24
24
25
25
25
25
25
26
26
27
27
27
27
27
28
28
28
28
28
28
28
29
30
34
35
38
42
43
49
62
65
66
80
86
155
161
173
199
200
210
243
253
259
306
308
316
1
2
4
5
5
5
5
5
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
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
17
17
17
17
18
18
18
18
19
19
19
19
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
23
23
23
23
24
24
24
24
25
25
25
25
26
26
26
26
27
27
27
27
27
27
27
28
28
28
28
28
28
29
29
29
33
34
36
39
42
50
63
66
67
86
87
156
162
174
200
201
211
244
254
260
307
309
317
1
3
4
4
4
4
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
8
8
8
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
24
24
24
25
25
25
25
26
26
26
27
27
27
27
27
27
28
28
28
28
28
28
28
29
29
29
30
33
33
34
37
40
51
64
67
68
80
87
88
157
163
175
201
202
212
245
255
261
308
310
318
1
1
1
2
4
4
4
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
10
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
26
26
26
27
27
27
27
28
28
28
28
28
28
28
29
29
29
29
29
30
30
33
34
38
41
52
65
68
69
86
88
158
164
176
202
203
213
246
256
262
309
311
319
1
1
1
1
3
4
4
4
4
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
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
12
12
12
13
13
13
13
13
13
13
14
14
14
15
15
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
19
20
20
20
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
25
26
27
27
27
27
28
28
29
29
29
29
29
30
30
33
33
34
38
39
40
42
53
66
69
70
80
87
89
159
165
177
203
204
214
247
257
263
310
312
320
1
1
1
2
2
4
4
5
5
5
5
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
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
12
13
13
13
14
14
14
14
14
14
14
15
16
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
18
19
19
20
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
26
26
26
26
26
26
27
27
27
27
28
28
29
29
29
30
30
31
31
34
34
39
39
40
41
43
54
67
70
70
88
160
166
178
204
205
215
248
258
264
311
313
321
1
1
2
3
3
4
4
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
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
11
11
11
11
12
12
12
12
12
12
13
13
13
13
14
14
14
15
15
15
15
15
15
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
27
27
27
27
27
27
28
28
28
29
30
32
32
33
33
34
40
40
40
42
44
55
71
89
161
167
179
205
206
216
249
259
265
312
314
322
1
1
1
1
2
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
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
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
14
14
14
14
14
14
15
15
16
16
16
16
16
16
17
17
18
18
18
18
18
18
18
19
19
19
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
26
26
26
27
27
28
28
28
28
29
29
30
31
33
33
33
34
40
41
41
43
45
52
72
80
86
162
168
180
206
207
217
250
260
266
313
315
323
1
1
2
3
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
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
11
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
15
16
16
16
16
16
17
17
17
17
17
17
18
18
18
19
19
19
19
19
20
20
21
21
21
21
21
21
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
26
26
26
27
27
27
27
27
27
28
28
28
28
29
29
32
32
33
34
34
34
40
42
42
44
46
87
163
169
181
207
208
218
251
261
267
314
316
324
1
1
2
3
4
4
4
5
5
5
5
5
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
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
11
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
15
15
16
16
16
17
17
18
18
18
18
18
18
18
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
26
26
26
26
26
27
27
27
28
28
28
28
28
29
29
31
33
33
34
35
35
40
40
43
43
45
47
55
67
67
70
70
88
164
170
182
208
209
219
252
262
268
315
317
325
1
1
3
4
4
4
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
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
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
16
16
17
17
18
18
19
19
19
19
19
19
19
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
24
24
24
24
24
24
25
25
25
25
26
26
26
26
26
26
26
26
27
27
27
27
28
28
28
28
29
29
30
30
32
32
36
36
40
40
44
44
46
48
53
67
70
71
71
165
171
183
209
210
220
253
262
263
269
316
318
326
4
4
5
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
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
13
13
13
14
14
14
14
14
14
14
15
15
15
16
16
17
17
17
18
18
18
19
20
20
20
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
25
26
26
26
27
27
27
27
27
27
28
28
28
28
29
30
31
31
34
37
40
40
40
45
47
49
71
72
72
101
166
172
184
210
211
221
254
263
264
270
317
319
327
1
1
1
4
5
5
5
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
9
9
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
11
11
11
11
11
12
12
12
12
13
13
13
13
14
14
15
15
16
16
16
16
17
17
18
18
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
26
26
26
27
27
28
28
28
28
28
28
28
31
31
32
32
34
38
40
40
46
48
50
72
102
107
167
173
185
211
212
222
255
264
265
271
318
320
328
1
1
1
4
5
5
5
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
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
12
12
12
12
12
12
13
13
13
14
14
16
16
17
17
17
18
18
19
19
20
20
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
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
26
26
27
27
28
28
28
29
29
29
29
32
32
33
39
40
40
47
51
101
103
108
168
174
186
212
213
223
255
265
266
272
319
321
329
1
1
1
1
5
5
5
5
6
6
6
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
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
13
13
13
13
14
14
15
17
17
18
18
19
20
20
20
20
20
20
20
20
21
21
21
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
25
25
25
25
25
26
26
26
26
26
26
27
27
27
28
28
28
28
29
29
30
30
30
31
31
34
40
40
40
48
52
104
109
169
175
187
213
214
224
266
267
273
320
322
330
1
1
1
4
5
5
5
5
5
5
6
6
6
7
7
7
7
7
8
8
8
8
8
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
12
12
13
13
13
14
14
14
14
15
16
16
16
16
17
19
19
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
23
24
24
24
24
25
25
25
25
26
26
26
26
26
27
27
27
27
28
28
28
28
28
29
29
30
30
31
31
31
32
35
40
41
49
53
105
107
110
170
176
188
214
215
225
267
268
274
321
323
331
1
1
1
1
1
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
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
13
13
13
13
13
14
14
14
14
14
15
15
17
17
17
17
18
18
19
20
20
20
20
20
21
21
21
21
22
22
22
22
23
23
23
23
24
24
24
24
24
25
25
25
25
26
26
26
26
27
27
27
28
28
28
28
28
29
29
29
30
31
31
32
32
32
35
35
36
40
42
54
101
106
108
171
177
189
215
216
226
268
269
275
322
324
332
1
1
1
1
1
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
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
12
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
16
16
18
18
18
18
18
20
20
20
21
21
21
21
21
21
21
22
23
23
23
23
23
24
24
24
25
25
25
25
25
25
26
26
26
26
27
27
27
28
28
28
28
29
29
29
29
29
30
30
30
31
33
33
33
35
35
36
37
43
55
107
109
110
172
178
190
216
217
227
269
270
276
323
325
333
1
1
1
1
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
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
10
11
11
11
11
12
12
12
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
17
17
18
18
19
19
19
19
20
20
20
21
21
21
22
22
22
23
23
24
24
24
25
25
25
26
26
26
26
26
26
27
27
27
27
28
28
28
29
29
29
30
30
30
30
30
31
31
32
34
34
34
36
37
38
44
56
108
110
173
179
191
217
218
228
270
271
277
324
326
334
1
1
1
1
1
1
1
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
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
11
11
12
12
12
13
13
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
17
17
18
18
18
18
18
20
20
20
21
21
21
21
21
22
22
23
23
23
23
24
25
25
25
26
26
27
27
27
27
27
27
27
28
28
28
29
29
30
30
30
30
31
31
31
31
32
32
33
35
35
35
35
35
35
35
35
37
39
45
57
111
174
180
192
218
229
271
272
278
325
327
335
1
1
1
1
1
4
4
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
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
12
12
12
12
13
13
13
13
13
13
14
14
14
14
15
15
15
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
19
21
21
21
21
21
22
22
22
23
23
23
24
24
24
25
26
27
27
27
28
28
28
28
28
28
28
29
29
29
29
30
30
30
30
31
31
31
31
32
32
32
33
33
34
35
35
35
36
36
36
36
36
36
40
46
58
112
175
181
193
219
230
272
273
279
326
328
336
1
1
1
1
4
4
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
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
13
13
13
13
13
13
14
14
14
14
14
15
15
16
16
16
16
17
17
17
18
18
18
18
18
18
18
19
19
19
19
20
20
20
20
21
21
22
23
23
23
24
24
25
25
25
27
27
28
28
28
29
29
29
29
29
29
30
30
30
31
31
31
31
32
32
32
33
33
33
34
34
35
35
35
35
35
35
36
37
37
37
37
37
37
41
47
59
108
110
176
182
194
220
231
273
274
280
327
329
337
1
1
1
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
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
13
13
13
13
13
13
13
14
14
14
14
15
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
21
21
21
21
21
21
22
23
23
23
24
24
25
25
26
27
27
28
29
29
29
29
30
30
30
30
31
31
31
32
32
32
32
33
33
33
34
34
34
35
35
35
35
35
35
35
36
36
36
36
37
38
38
38
42
48
60
111
177
183
195
221
232
274
275
281
328
330
338
1
1
1
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
17
17
18
18
18
18
18
19
19
19
19
20
20
20
20
20
21
21
21
22
22
22
22
23
23
23
24
24
24
25
25
27
27
27
29
29
30
30
30
31
31
31
31
31
32
32
32
33
33
33
33
34
34
34
35
35
35
35
35
35
35
36
36
36
36
37
37
37
37
39
43
49
61
112
184
196
222
233
275
276
282
329
331
339
1
1
1
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
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
12
12
12
12
12
12
12
12
12
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
18
18
18
18
19
19
19
20
20
20
21
21
21
21
21
21
21
22
23
23
23
24
24
24
25
25
26
27
27
27
28
30
30
31
31
31
31
32
32
32
32
32
33
33
33
34
34
34
34
35
35
35
35
35
36
36
36
36
36
37
37
37
37
38
40
44
50
53
62
80
108
110
185
197
223
234
276
277
283
330
332
340
1
4
4
4
4
4
4
4
4
4
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
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
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
13
13
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
20
20
20
21
21
21
22
22
22
22
22
23
24
24
24
24
25
25
26
27
27
27
29
29
31
31
32
32
32
33
33
33
33
33
34
34
34
35
35
35
35
35
35
36
36
36
36
37
37
37
38
38
41
45
51
54
63
81
86
108
110
111
186
198
224
235
277
278
284
331
333
341
1
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
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
18
18
18
18
18
18
19
19
20
20
20
21
21
21
21
21
22
23
23
23
23
23
24
25
25
26
27
27
27
28
31
32
32
33
33
33
34
34
34
34
34
35
35
35
35
35
36
36
36
36
37
37
37
37
38
39
46
52
52
55
64
80
82
87
111
112
187
199
225
236
278
279
285
332
334
342
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
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
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
20
20
20
20
21
21
21
22
22
23
24
24
24
24
24
24
24
26
27
27
28
28
31
32
33
33
34
34
34
35
35
35
35
35
36
36
36
36
37
37
37
37
38
40
47
53
53
56
65
70
83
88
112
188
200
226
237
279
280
286
333
335
343
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
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
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
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
21
21
21
23
23
24
24
24
24
25
25
25
25
27
27
28
29
32
33
34
34
35
35
35
36
36
36
36
36
37
37
37
37
39
41
48
54
54
57
66
71
84
86
89
189
201
227
238
280
281
287
334
336
344
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
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
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
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
22
23
23
24
24
24
24
26
26
26
26
27
28
30
33
34
35
35
36
36
36
37
37
37
38
38
38
40
49
55
55
55
58
67
70
72
80
85
87
190
202
228
239
281
282
288
335
337
345
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
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
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
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
23
23
23
23
23
23
24
24
24
25
25
27
27
27
29
34
35
36
36
37
37
38
38
38
39
39
50
56
56
56
59
67
68
71
73
86
88
191
203
229
240
282
283
289
336
338
346
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
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
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
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
24
24
24
24
24
24
25
26
26
28
28
30
35
36
37
37
38
38
39
40
40
51
57
57
57
60
69
72
74
87
89
89
192
204
230
241
283
284
290
337
339
347
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
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
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
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
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
25
25
25
25
27
29
29
31
36
37
38
38
39
41
41
52
58
58
58
61
70
73
75
90
193
205
231
242
284
285
291
338
340
348
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
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
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
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
18
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
25
25
25
26
26
30
30
30
32
37
38
39
39
42
42
53
59
59
59
62
71
76
91
194
206
232
243
285
286
292
339
341
349
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
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
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
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
26
26
30
31
31
33
33
34
38
39
39
43
43
54
60
60
63
70
72
77
87
89
195
207
233
244
286
287
293
340
342
350
1
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
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
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
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
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
26
26
26
26
26
27
29
32
32
34
35
39
39
44
44
55
61
61
64
67
71
73
78
87
89
90
196
208
223
234
245
287
288
294
341
343
351
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
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
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
15
15
15
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
20
20
20
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
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
25
25
25
26
26
26
27
27
27
27
30
33
33
35
36
38
39
45
45
56
62
62
72
74
79
90
91
197
209
224
235
246
288
289
295
342
344
352
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
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
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
26
26
27
27
28
28
28
30
34
34
36
37
39
46
46
57
59
62
63
73
75
80
87
89
91
198
210
225
236
247
289
290
296
343
345
353
1
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
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
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
25
25
25
25
26
27
28
29
29
29
29
29
35
35
37
38
38
47
47
58
63
64
76
81
90
199
211
226
237
248
290
291
297
344
346
354
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
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
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
14
14
14
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
25
25
26
28
29
30
30
30
30
30
35
36
36
38
39
48
48
59
64
65
77
79
82
91
200
212
227
238
249
291
292
298
345
347
355
1
4
4
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
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
15
15
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
20
20
21
21
21
21
21
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
26
26
29
30
30
31
31
32
35
35
37
37
39
40
49
49
59
60
62
66
73
78
80
201
213
228
239
250
292
293
299
346
348
356
1
1
1
2
4
4
4
4
4
5
5
5
5
5
5
5
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
10
10
10
11
11
12
12
12
12
12
12
12
12
13
13
13
14
14
14
15
15
15
15
16
16
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
21
21
22
22
22
22
23
23
23
23
23
23
23
23
24
24
24
24
24
25
25
25
25
25
25
26
26
26
26
26
26
27
29
29
30
30
32
32
33
35
35
38
38
40
41
50
50
61
63
67
79
81
202
214
229
240
251
293
294
300
347
349
357
1
1
1
1
2
3
4
4
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
14
14
14
15
16
16
16
16
16
16
17
17
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
22
22
23
23
23
23
24
24
25
25
25
25
25
26
26
26
26
26
26
27
27
27
29
30
30
31
33
33
34
35
35
39
39
41
42
51
51
62
64
68
80
82
203
215
218
230
241
252
294
295
301
348
350
358
1
1
1
1
1
1
2
2
3
4
4
5
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
14
14
14
15
15
15
15
15
16
16
16
17
17
17
17
17
17
18
19
19
20
20
20
20
20
20
21
21
21
21
21
22
22
22
23
23
23
24
25
25
26
26
26
26
27
27
27
27
27
28
28
28
29
32
34
34
35
35
35
40
40
42
43
52
52
63
69
73
79
81
204
216
231
242
253
295
296
302
349
351
359
1
1
2
2
2
3
3
4
4
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
16
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
18
18
19
19
20
21
21
21
21
22
22
22
22
23
23
23
24
25
26
26
27
27
27
28
28
28
28
29
29
29
30
33
35
35
35
36
41
41
43
44
53
53
64
70
80
82
110
205
217
232
243
254
296
297
303
350
352
360
1
1
2
3
3
3
4
4
4
5
5
5
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
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
12
12
12
13
13
13
13
13
14
14
15
15
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
22
22
22
23
23
23
23
24
25
26
26
27
29
29
29
29
30
30
30
34
36
36
37
42
42
44
54
54
65
71
81
83
108
110
111
206
218
233
244
255
297
298
304
351
353
361
1
1
1
2
3
4
4
5
5
5
5
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
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
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
23
23
23
23
24
25
26
26
26
27
28
28
29
30
30
31
31
35
35
37
37
43
43
55
55
66
72
84
108
110
111
112
207
219
234
245
254
256
298
299
305
352
354
362
2
3
5
5
5
5
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
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
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
16
16
16
16
17
17
17
17
17
18
18
18
18
19
19
19
19
19
19
20
20
20
20
21
21
21
21
21
21
21
22
22
22
23
24
25
26
26
26
27
28
29
31
31
32
35
36
38
38
44
44
56
56
67
73
85
111
112
113
208
220
235
246
255
257
299
300
306
353
355
363
1
3
4
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
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
15
15
16
16
16
16
16
17
17
17
17
17
18
18
18
18
19
19
19
19
19
19
19
20
20
20
21
21
22
22
22
22
22
22
23
23
23
23
23
25
26
26
26
28
28
32
32
33
35
37
39
39
45
45
57
57
68
74
86
112
113
209
221
236
247
247
256
258
300
301
307
354
356
364
5
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
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
13
13
14
14
15
15
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
20
21
21
21
22
22
23
23
23
23
23
23
23
23
24
24
24
26
26
28
29
29
33
33
34
35
38
40
40
46
46
58
58
69
75
87
113
222
237
257
259
301
302
308
355
357
365
1
1
1
5
5
6
6
6
6
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
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
12
12
12
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
15
16
16
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
19
20
20
20
21
21
21
22
22
22
23
23
23
23
24
24
24
24
24
25
25
25
27
28
30
34
34
35
35
39
41
41
47
47
59
59
70
76
88
114
223
238
258
260
302
303
309
356
358
366
1
1
5
5
5
6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
16
16
16
16
16
17
17
17
17
17
17
17
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
22
22
22
23
23
23
23
23
24
25
25
25
25
25
26
26
27
29
29
31
35
35
35
36
40
42
42
48
48
60
60
71
77
89
115
224
239
259
261
303
304
310
357
359
367
1
1
1
1
2
4
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
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
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
16
16
16
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
20
21
21
21
21
21
21
21
22
22
22
23
23
23
23
23
24
24
24
25
26
26
26
26
26
26
27
27
28
31
31
32
36
36
37
41
43
43
49
49
61
61
72
78
90
113
116
225
240
260
262
304
305
311
358
360
368
1
1
1
1
2
3
4
5
5
5
5
6
7
7
7
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
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
16
16
16
17
17
18
18
18
19
19
19
19
19
19
19
19
20
20
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
24
24
24
25
25
25
26
27
27
27
27
27
28
28
29
31
31
32
33
37
38
42
44
44
50
50
62
62
73
79
91
117
226
241
261
263
305
306
312
359
361
369
1
1
1
1
1
1
1
3
4
5
5
5
5
5
5
5
6
6
6
6
6
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
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
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
18
19
19
19
19
19
20
20
20
20
20
21
21
22
22
22
23
23
23
23
23
23
23
23
23
24
24
24
25
25
25
26
26
26
27
27
28
28
28
29
29
31
31
32
33
38
39
43
45
45
51
51
63
63
74
80
92
113
227
242
262
264
306
307
313
360
362
370
1
1
1
1
1
4
4
4
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
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
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
19
19
19
20
20
20
21
21
21
21
21
21
22
22
23
23
23
23
23
23
24
24
24
24
24
24
24
25
25
25
26
26
26
27
27
27
27
28
28
29
29
29
30
30
31
31
32
33
39
40
44
46
46
52
52
64
64
75
81
93
117
228
243
263
265
307
308
314
361
363
371
1
1
1
1
1
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
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
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
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
19
19
20
20
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
25
25
25
25
25
25
26
26
26
27
27
28
28
28
28
29
30
30
30
31
31
31
31
32
33
40
41
45
47
47
53
53
65
65
76
82
89
89
94
229
244
264
266
308
309
315
362
364
372
1
1
1
1
1
1
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
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
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
14
14
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
18
19
20
21
21
21
22
22
23
23
23
23
23
23
23
24
24
25
26
26
26
26
26
26
26
26
27
27
28
28
29
29
29
29
30
31
31
31
31
31
31
31
31
32
32
33
41
42
46
48
48
54
54
66
66
73
77
83
87
89
90
90
95
230
245
265
267
309
310
316
363
365
373
1
1
1
1
1
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
18
18
18
19
19
19
19
19
19
19
20
20
20
21
21
22
22
23
23
23
23
24
24
24
24
24
24
24
25
26
26
27
27
27
27
27
27
27
27
28
29
30
30
30
30
31
31
32
32
32
32
32
32
33
42
43
47
49
49
55
55
62
67
67
78
84
87
90
91
91
96
231
246
266
268
310
311
317
364
366
374
1
1
1
1
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
18
18
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
22
23
23
23
23
24
24
25
25
25
25
26
27
27
27
28
28
28
28
28
28
28
28
29
30
31
31
31
31
31
31
31
31
31
32
33
33
33
33
33
33
43
44
48
50
50
56
56
63
68
68
79
85
91
92
92
97
232
247
267
269
311
312
318
365
367
375
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
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
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
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
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
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
19
19
19
20
20
20
21
21
21
21
21
21
21
21
22
22
23
23
23
24
25
25
26
26
26
26
27
28
28
28
29
29
29
29
29
29
29
29
30
31
31
31
31
32
32
32
32
32
32
32
33
34
34
34
44
45
49
51
51
57
57
62
64
69
69
80
86
92
93
98
233
248
268
270
312
313
319
366
368
376
1
1
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
18
18
18
18
18
19
19
19
19
20
20
20
20
21
21
22
22
22
22
22
22
22
23
23
25
25
25
26
27
27
27
28
28
29
29
30
30
30
30
30
30
30
30
31
31
31
31
31
32
32
33
33
33
33
33
33
33
34
35
45
46
50
52
52
58
58
59
63
65
70
70
79
81
87
94
99
234
249
269
271
313
314
320
367
369
377
1
1
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
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
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
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
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
19
19
19
19
19
19
20
20
20
20
21
21
21
21
22
22
23
23
23
23
23
23
25
26
27
27
28
28
28
28
29
29
30
30
31
31
31
31
31
31
31
31
31
32
32
32
33
33
34
34
34
34
36
46
47
51
53
53
59
59
64
66
71
71
73
80
82
88
92
95
100
235
250
270
272
314
315
321
368
370
378
1
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
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
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
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
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
20
20
20
20
20
21
21
21
22
22
22
23
24
24
24
24
24
24
25
25
26
26
28
29
29
29
29
30
30
31
31
31
31
32
32
32
32
32
32
32
33
33
33
33
35
35
37
47
48
52
54
54
60
60
65
67
72
72
73
73
79
81
83
89
96
101
236
251
271
273
315
316
322
369
371
379
1
1
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
7
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
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
21
21
21
21
21
21
21
21
22
22
23
24
24
25
25
25
25
26
27
27
28
29
30
30
30
30
31
31
32
32
32
33
33
33
33
33
33
33
34
36
38
48
49
53
55
55
61
61
62
68
73
73
74
80
82
84
90
102
237
252
272
274
316
317
323
370
372
380
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
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
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
11
11
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
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
23
24
26
26
26
26
28
28
28
29
30
31
31
31
31
32
32
33
33
33
34
34
34
34
34
37
49
50
54
56
56
59
62
62
63
69
74
74
75
81
85
91
92
103
238
253
273
275
317
318
324
371
373
381
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
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
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
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
27
27
29
29
29
30
31
31
32
32
32
32
33
33
34
35
35
35
38
50
51
55
57
57
63
63
64
70
75
75
76
82
86
92
96
104
239
254
274
276
318
319
325
372
374
382
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
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
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
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
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
24
24
24
28
28
30
30
30
31
32
33
33
33
33
34
34
35
36
39
51
52
56
58
58
64
64
65
71
76
76
77
79
87
93
105
240
255
275
277
319
320
326
373
375
383
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
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
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
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
24
24
24
25
29
31
31
31
32
33
34
34
34
35
40
52
53
57
59
59
65
65
72
73
77
77
78
80
88
94
106
241
256
276
278
320
321
327
374
376
384
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
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
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
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
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
23
24
24
25
30
32
32
32
33
34
34
35
35
41
53
54
58
60
60
66
66
73
78
78
79
81
89
95
107
242
257
277
279
321
322
328
375
377
385
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
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
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
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
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
23
24
24
25
26
31
33
33
34
34
35
36
42
54
55
59
61
61
67
67
79
79
80
82
90
96
108
243
258
278
280
322
323
329
376
378
386
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
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
9
9
9
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
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
24
24
27
32
34
34
35
35
35
37
43
55
56
60
62
62
68
68
80
80
80
82
83
91
97
109
244
259
279
281
323
324
330
377
379
387
4
4
4
4
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
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
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
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
24
24
28
30
33
35
35
35
38
44
56
57
61
63
63
69
69
81
81
83
84
92
98
110
245
260
280
282
324
325
331
378
380
388
4
4
4
4
4
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
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
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
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
20
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
24
24
24
24
27
31
34
35
35
39
45
57
58
62
64
64
70
70
82
82
84
93
99
111
246
261
281
283
325
326
332
379
381
389
1
4
4
4
4
4
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
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
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
15
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
20
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
24
24
24
24
24
24
25
25
27
29
32
35
35
40
46
58
59
63
65
65
71
71
83
83
94
100
112
247
262
282
284
326
327
333
380
382
390
1
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
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
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
16
16
17
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
22
22
22
22
22
22
22
23
23
23
23
24
24
24
25
25
25
26
26
30
33
35
36
41
47
59
60
64
66
66
72
72
84
84
95
101
113
248
263
283
285
327
328
334
381
383
391
4
4
4
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
10
10
10
10
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
15
15
16
16
16
16
17
17
17
18
18
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
22
22
23
23
23
23
23
23
24
24
24
25
26
26
30
31
34
35
37
42
48
60
61
65
67
67
73
73
85
85
96
102
114
249
264
284
286
328
329
335
382
384
392
4
4
5
5
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
7
8
8
8
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
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
15
15
16
16
17
17
17
17
17
17
18
18
18
19
19
19
19
19
20
20
20
21
21
21
21
21
21
21
22
22
23
23
24
24
25
25
26
27
31
32
35
38
43
49
61
62
66
68
68
74
74
86
86
97
103
115
250
265
285
287
329
330
336
383
385
393
1
1
4
4
4
5
5
5
5
5
6
6
6
7
7
7
7
7
7
8
8
8
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
12
12
12
12
12
12
12
12
12
13
13
13
13
14
14
14
14
14
15
16
16
17
17
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
21
21
22
22
23
24
24
24
24
25
25
25
26
26
28
31
32
33
39
44
50
62
63
67
69
69
75
75
87
87
98
104
113
116
251
266
286
288
330
331
337
384
386
394
1
2
2
5
5
5
5
6
6
6
7
7
7
7
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
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
15
17
17
17
17
18
18
19
19
19
19
20
20
20
20
20
21
21
21
21
22
23
23
24
24
26
26
27
29
31
33
34
40
45
51
63
64
68
70
70
76
76
88
88
99
105
114
117
252
267
287
289
331
332
338
385
387
395
1
1
2
3
3
4
5
5
5
6
6
7
8
8
8
9
9
9
9
9
10
10
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
15
16
16
16
17
17
18
18
18
19
19
20
20
21
21
21
21
21
22
22
22
22
24
24
24
25
25
30
31
34
35
41
46
52
64
65
69
71
71
77
77
89
89
100
106
115
118
253
268
288
290
332
333
339
386
388
396
2
3
4
4
5
5
5
5
5
6
6
7
7
7
7
8
9
9
9
9
9
10
10
10
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
14
14
14
17
17
17
17
17
19
19
20
20
21
21
22
22
22
22
23
23
24
24
25
25
25
25
31
31
31
35
42
47
53
65
66
70
72
72
78
78
90
90
101
107
116
117
119
254
269
289
291
333
334
340
387
389
397
1
1
1
1
1
3
5
6
6
6
6
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
9
10
10
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
14
14
14
14
14
14
15
17
17
18
18
18
18
20
21
21
23
23
23
24
24
24
24
26
27
31
31
31
32
43
48
54
66
67
71
73
73
79
79
91
91
102
108
113
117
118
120
255
270
290
292
334
335
341
388
390
398
1
1
1
1
2
2
2
5
5
5
5
6
6
6
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
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
14
14
14
14
14
14
14
14
14
15
15
16
17
17
17
19
19
19
21
21
22
24
24
24
24
24
25
25
27
31
31
31
33
36
44
49
55
67
68
72
74
74
80
80
92
92
103
109
114
118
119
121
256
271
291
293
335
336
342
389
391
399
1
1
1
2
2
3
3
3
4
5
5
5
6
6
6
7
7
7
7
7
7
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
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
15
15
16
16
17
17
17
17
19
20
20
20
21
21
21
23
24
24
25
25
26
31
31
33
34
37
45
50
56
68
69
73
75
75
81
81
92
93
93
104
110
115
119
120
122
257
272
292
294
336
337
343
390
392
400
1
1
1
1
2
2
3
3
4
4
4
4
5
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
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
12
12
12
12
12
13
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
20
21
21
21
21
21
21
23
24
24
24
31
34
35
38
46
51
57
69
70
74
76
76
82
82
93
94
94
105
111
116
120
121
123
258
273
293
295
337
338
344
391
393
401
1
2
3
3
4
5
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
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
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
19
19
21
21
21
21
22
22
22
24
24
26
31
35
36
39
47
52
58
70
71
75
77
77
83
83
94
95
95
106
112
117
122
124
259
274
294
296
338
339
345
392
394
402
3
4
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
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
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
20
20
21
21
21
21
21
22
23
25
26
31
36
37
40
48
53
59
71
72
76
78
78
84
84
95
96
96
96
107
113
118
125
260
275
295
297
339
340
346
393
395
403
5
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
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
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
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
17
17
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
20
21
21
21
21
21
21
23
24
24
25
27
31
37
38
41
49
54
60
72
73
77
79
79
85
85
96
97
97
97
108
114
119
126
261
276
296
298
340
341
347
394
396
404
4
5
5
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
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
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
15
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
22
24
25
25
25
32
38
39
42
50
55
61
65
73
74
78
80
80
86
86
97
98
98
98
109
115
120
127
262
277
297
299
341
342
348
395
397
405
1
1
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
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
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
15
15
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
20
20
20
20
20
20
21
21
21
21
21
21
21
22
23
25
26
27
28
28
33
39
40
43
51
56
62
66
74
75
79
81
81
87
87
92
98
99
99
99
110
116
120
120
128
263
278
298
300
342
343
349
396
398
406
1
1
1
1
3
3
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
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
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
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
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
20
20
21
21
21
21
21
21
21
22
22
22
23
24
24
24
27
27
28
29
34
40
41
52
57
63
67
75
76
80
82
82
82
88
88
93
99
100
100
100
111
117
122
129
264
279
299
301
343
344
350
397
399
407
1
1
1
1
3
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
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
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
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
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
21
21
21
21
21
22
22
22
22
22
23
23
23
24
25
25
25
28
28
28
29
30
35
42
53
58
64
68
76
77
81
83
83
83
89
89
94
101
101
101
112
118
130
265
280
300
302
344
345
351
398
400
408
1
1
1
1
1
3
3
3
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
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
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
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
17
17
17
18
18
18
18
18
18
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
22
22
22
23
23
23
23
23
24
24
24
25
26
26
26
27
28
28
29
29
30
36
43
54
59
65
69
71
77
78
80
82
82
84
84
84
90
90
95
102
102
113
119
131
266
281
301
303
345
346
352
399
401
409
1
1
1
1
1
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
15
15
15
15
15
15
16
16
16
16
17
17
17
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
21
21
21
21
21
21
21
21
22
22
22
22
23
23
23
24
24
24
24
25
25
26
27
27
27
27
28
28
28
29
30
37
44
55
60
65
66
70
72
78
79
82
83
83
85
85
85
91
91
96
103
103
114
120
132
267
282
302
304
346
347
353
400
402
410
1
1
1
1
1
1
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
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
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
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
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
18
18
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
22
23
23
23
24
24
24
25
25
26
27
27
28
28
28
28
28
28
28
28
28
29
29
29
30
38
45
56
61
67
71
73
79
80
80
83
84
84
86
86
86
92
92
97
104
104
115
121
133
268
283
303
305
347
348
354
401
403
411
1
1
1
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
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
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
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
11
11
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
15
15
15
15
15
16
16
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
19
20
20
20
21
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
23
24
24
24
25
25
25
26
26
27
27
28
28
28
28
28
28
29
29
29
29
29
29
30
30
39
46
57
62
68
72
74
80
80
81
82
82
84
85
87
87
87
93
93
98
105
105
116
122
134
269
284
304
306
348
349
355
402
404
412
1
1
1
1
1
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
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
16
16
16
16
16
16
17
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
21
21
21
22
22
22
22
22
22
23
23
24
24
24
24
24
24
25
25
25
26
26
26
27
27
27
27
28
28
28
28
28
29
29
29
29
30
30
30
30
30
40
47
58
63
69
75
80
81
82
83
83
85
86
88
88
88
94
94
99
99
106
106
117
123
135
270
285
305
307
349
350
356
403
405
413
1
1
1
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
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
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
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
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
18
19
19
19
19
19
19
19
20
20
20
20
21
21
21
21
22
22
23
23
24
24
24
24
25
25
25
25
26
26
26
27
27
27
27
27
27
28
28
28
28
28
29
29
29
30
30
30
30
31
31
40
48
59
64
70
76
82
83
84
84
87
89
89
89
95
95
99
101
107
107
118
124
136
271
286
306
308
350
351
357
404
406
414
1
1
1
1
3
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
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
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
19
19
19
19
19
19
20
20
20
20
21
21
21
21
22
22
22
23
23
24
25
25
25
26
26
26
26
27
27
27
27
28
28
28
28
28
29
29
29
29
30
30
30
31
49
60
65
71
72
74
83
84
85
88
90
90
96
96
108
108
119
125
137
272
287
307
309
351
352
358
405
407
415
1
1
1
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
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
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
22
22
23
23
23
24
24
24
24
26
26
26
27
27
27
27
27
27
28
28
28
29
29
29
30
30
31
32
50
61
66
72
75
84
85
89
89
91
91
97
97
109
109
120
126
138
273
288
308
310
352
353
359
406
408
416
1
1
3
3
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
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
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
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
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
22
22
23
24
24
24
24
25
25
25
25
27
27
27
27
27
28
28
28
28
28
29
29
29
30
30
32
51
62
67
73
76
85
86
90
92
92
98
98
110
110
121
127
139
274
289
309
311
353
354
360
407
409
417
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
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
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
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
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
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
15
16
16
16
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
21
22
22
23
24
24
24
25
25
25
25
26
26
26
26
28
28
28
28
29
29
29
29
29
30
30
30
52
63
68
74
86
87
91
93
93
99
99
111
111
122
128
140
275
290
310
312
354
355
361
408
410
418
1
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
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
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
25
25
25
26
26
26
26
27
27
27
27
29
29
29
29
30
30
30
31
31
40
53
64
69
75
87
88
92
94
94
100
100
112
112
123
129
141
276
291
311
313
355
356
362
409
411
419
1
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
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
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
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
20
20
20
20
20
21
21
21
21
21
21
22
22
23
23
24
24
26
26
26
27
27
27
27
28
28
28
28
30
30
30
31
32
43
54
65
70
76
88
89
93
95
95
101
101
113
113
124
130
142
277
292
312
314
356
357
363
410
412
420
1
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
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
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
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
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
15
15
15
15
15
15
15
15
15
15
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
19
19
19
19
19
20
20
20
20
21
21
21
21
21
22
22
22
22
22
25
25
27
27
27
28
28
28
28
29
29
29
29
31
31
31
55
66
71
77
89
90
94
96
96
102
102
114
114
125
131
143
278
293
313
315
357
358
364
411
413
421
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
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
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
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
21
21
21
22
22
22
23
23
24
26
26
28
28
28
28
28
29
29
29
30
30
30
31
32
56
67
72
78
90
91
95
97
97
103
103
115
115
126
132
144
279
294
314
316
358
359
365
412
414
422
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
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
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
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
17
17
17
18
18
19
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
21
21
21
21
22
23
25
27
27
29
29
29
30
30
30
31
31
31
57
68
73
79
91
92
96
98
98
104
104
116
116
127
133
145
280
295
315
317
359
360
366
413
415
423
4
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
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
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
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
22
22
22
22
22
26
28
28
30
30
30
31
31
32
58
69
74
80
92
93
97
99
99
105
105
117
117
128
134
146
281
296
316
318
360
361
367
414
416
424
4
4
4
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
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
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
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
20
20
20
20
21
21
21
21
21
22
23
23
23
27
29
29
31
31
31
32
32
59
70
75
81
93
94
98
100
100
106
106
118
118
129
135
147
282
297
317
319
361
362
368
415
417
425
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
7
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
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
12
12
12
13
13
13
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
17
17
17
17
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
21
22
22
22
23
28
30
30
32
32
32
60
71
76
82
94
95
99
101
101
107
107
119
119
130
136
148
283
298
318
320
362
363
369
416
418
426
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
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
12
12
13
13
13
13
13
14
14
14
15
15
15
15
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
21
21
22
22
23
24
28
29
29
31
31
31
32
61
72
77
83
95
96
100
102
102
108
108
120
120
131
137
149
284
299
319
321
363
364
370
417
419
427
4
5
5
5
5
5
5
5
5
5
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
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
14
14
15
15
15
15
15
16
16
16
16
17
17
17
17
18
18
18
18
19
19
19
19
19
19
20
20
20
20
21
21
21
21
22
22
22
22
23
25
27
30
31
31
32
32
32
62
73
78
84
96
97
101
103
103
109
109
121
121
132
138
150
285
300
320
322
364
365
371
418
420
428
1
1
4
5
5
5
5
6
6
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
9
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
13
13
13
13
13
13
13
13
13
13
13
13
13
14
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
19
20
21
21
21
22
22
22
22
23
23
26
28
31
31
63
74
79
85
97
98
102
104
104
110
110
122
122
133
139
151
286
301
321
323
365
366
372
419
421
429
1
1
2
4
4
5
5
5
5
5
5
6
6
7
7
7
7
7
8
8
8
9
9
9
9
9
9
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
13
13
13
13
14
14
14
14
14
14
14
14
15
15
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
19
19
19
19
20
20
21
22
22
22
22
22
22
23
26
27
29
32
64
75
80
86
98
99
103
105
105
111
111
123
123
134
140
152
287
302
322
324
366
367
373
420
422
430
2
3
4
5
5
5
5
5
5
5
6
6
6
7
7
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
14
14
15
15
15
15
15
15
16
17
17
17
17
18
18
18
18
18
18
18
18
19
19
19
19
19
19
20
21
21
22
23
23
23
23
27
27
30
31
65
76
81
87
99
100
104
106
106
112
112
122
124
124
135
141
153
288
303
323
325
367
368
374
421
423
431
1
3
3
4
5
5
5
5
6
6
6
6
6
6
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
15
15
15
16
16
16
16
16
17
17
17
18
18
18
19
19
19
19
19
19
19
19
20
20
20
22
22
22
23
24
27
28
31
31
66
77
82
88
100
101
105
107
107
113
113
123
125
125
136
142
154
289
304
324
326
368
369
375
422
424
432
1
1
1
1
4
4
5
5
5
5
5
6
6
6
6
6
6
7
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
11
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
15
15
16
17
17
17
17
17
17
17
18
18
19
19
19
20
20
20
20
20
21
21
21
22
22
23
23
23
23
25
28
29
32
67
78
83
89
101
102
106
108
108
114
114
124
126
126
137
143
155
290
305
325
327
369
370
376
423
425
433
1
1
1
1
2
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
11
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
16
17
17
18
18
18
18
19
19
20
20
21
21
21
21
22
22
22
22
22
23
23
26
28
28
29
30
68
79
84
85
90
101
102
103
107
109
109
115
115
120
125
127
127
138
144
156
291
306
326
328
370
371
377
424
426
434
1
1
1
2
2
3
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
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
12
12
12
12
12
13
13
13
13
14
14
15
15
15
16
16
16
16
17
18
18
19
19
19
19
19
19
19
20
20
21
21
22
22
22
22
22
27
28
28
29
30
31
40
69
80
85
86
91
102
103
104
108
110
110
116
116
121
126
128
128
139
145
157
292
307
327
329
371
372
378
425
427
435
1
1
1
2
3
3
4
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
12
12
12
12
12
12
12
13
13
13
13
14
15
15
15
15
15
16
16
16
17
17
17
18
19
19
19
19
19
20
20
20
21
21
22
22
22
23
23
24
28
28
28
31
32
41
43
70
81
86
87
92
103
104
105
109
111
111
117
117
122
127
129
129
140
146
158
293
308
328
330
372
373
379
426
428
436
1
1
1
1
1
1
2
2
3
4
4
4
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
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
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
14
14
14
14
15
15
15
16
16
16
16
16
16
16
17
17
18
19
19
19
19
19
20
20
21
21
22
22
22
22
23
24
24
27
27
28
29
32
42
44
71
82
85
87
88
89
93
99
104
105
106
110
112
112
118
118
120
123
128
130
130
141
147
159
294
309
329
331
373
374
380
427
429
437
1
1
1
2
2
3
3
4
4
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
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
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
16
17
17
18
18
19
19
19
19
19
19
20
20
21
22
22
22
22
23
25
25
27
28
28
33
43
45
72
74
83
85
88
89
90
94
100
105
106
107
111
113
113
119
119
121
124
129
131
131
142
148
160
295
310
330
332
374
375
381
428
430
438
1
1
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
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
11
11
11
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
15
16
16
16
16
18
18
19
19
19
19
19
19
21
21
21
22
22
22
23
24
26
27
28
28
34
44
46
72
73
74
75
84
85
89
90
91
95
101
106
107
108
112
114
114
120
120
122
125
130
132
132
143
149
161
296
311
331
333
375
376
382
429
431
439
1
1
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
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
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
13
13
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
16
16
16
16
16
17
17
19
19
19
19
19
19
20
22
22
23
25
27
27
27
28
28
35
45
47
72
74
75
76
85
86
90
91
92
96
102
107
108
109
113
115
115
121
121
123
126
131
133
133
144
150
162
297
312
332
334
376
377
383
430
432
440
1
1
1
1
1
1
2
2
2
2
3
3
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
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
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
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
15
15
15
16
16
16
16
16
16
16
16
16
17
17
17
19
19
19
19
20
22
22
23
26
28
29
29
29
31
31
36
46
48
75
76
77
86
87
91
92
93
97
103
108
109
110
114
116
116
122
122
124
127
132
134
134
145
151
163
298
313
333
335
377
378
384
431
433
441
1
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
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
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
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
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
16
17
17
17
18
18
18
19
19
19
19
20
23
27
29
30
30
30
32
32
37
47
49
76
77
87
88
92
94
98
99
104
109
110
111
115
117
117
123
123
125
133
135
135
146
152
164
299
314
334
336
378
379
385
432
434
442
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
18
18
19
19
19
19
21
22
28
30
31
31
31
33
33
38
40
48
50
77
88
89
93
99
100
105
110
111
112
116
118
118
124
124
127
136
136
147
153
165
300
315
335
337
379
380
386
433
435
443
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
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
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
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
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
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
19
19
19
20
20
29
31
32
32
32
34
34
41
49
78
89
90
94
100
101
106
111
112
113
117
119
119
125
125
137
137
148
154
166
301
316
336
338
380
381
387
434
436
444
1
1
1
1
1
1
1
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
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
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
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
12
12
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
17
18
18
18
19
19
21
24
25
33
33
33
35
35
42
79
90
91
95
101
102
112
113
114
118
120
120
125
126
126
138
138
149
155
167
302
317
337
339
381
382
388
435
437
445
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
3
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
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
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
14
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
18
19
19
19
22
24
25
34
34
34
36
36
43
80
91
92
96
102
103
114
115
119
121
121
127
127
133
139
139
150
156
168
303
318
338
340
382
383
389
436
438
446
1
1
1
1
1
1
1
2
2
2
2
3
3
3
3
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
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
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
10
10
10
11
11
11
11
11
11
11
11
12
12
12
12
12
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
18
18
18
18
18
19
19
20
20
23
24
24
24
24
24
26
35
35
35
37
37
38
44
81
92
94
97
103
104
115
116
120
122
122
128
128
140
140
151
157
169
304
319
339
341
383
384
390
437
439
447
1
1
1
1
1
1
1
1
1
2
2
2
2
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
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
12
12
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
17
17
17
17
17
17
17
17
17
18
19
19
19
19
19
19
20
21
21
24
24
24
24
25
25
25
27
28
29
36
36
36
38
38
45
82
93
98
104
104
106
116
117
121
123
123
129
129
141
141
152
158
170
305
320
340
342
384
385
391
438
440
448
1
1
1
1
1
1
1
2
2
2
2
3
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
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
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
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
12
12
12
12
12
12
12
12
13
13
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
20
20
20
20
21
22
22
24
24
24
24
24
25
25
26
26
26
29
30
37
37
46
83
94
99
105
112
117
118
122
124
124
130
130
142
142
153
159
171
306
321
341
343
385
386
392
439
441
449
1
1
1
1
1
1
2
3
3
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
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
18
18
18
19
19
19
19
19
19
19
20
20
21
21
22
23
24
24
24
24
24
25
25
25
26
26
27
29
30
31
47
84
95
100
106
118
119
123
125
125
131
131
143
143
154
160
172
307
322
342
344
386
387
393
440
442
450
1
1
1
1
1
1
1
2
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
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
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
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
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
14
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
20
20
20
21
22
22
23
24
24
24
24
24
24
24
25
25
26
26
26
27
29
31
32
48
85
96
101
107
119
120
124
126
126
132
132
144
144
155
161
173
308
323
343
345
387
388
394
441
443
451
1
1
1
1
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
6
6
6
6
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
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
15
15
15
15
15
15
15
15
15
15
16
16
16
16
17
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
19
20
20
21
21
22
23
24
24
24
24
24
24
25
25
25
25
26
26
27
28
32
33
49
86
97
102
108
120
121
125
127
127
133
133
145
145
156
162
174
309
324
344
346
388
389
395
442
444
452
1
1
2
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
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
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
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
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
14
15
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
19
19
19
19
20
20
20
20
20
21
22
22
24
24
24
24
24
24
24
25
25
25
26
26
26
26
29
33
34
50
87
98
103
109
121
122
126
128
128
134
134
146
146
157
163
175
310
325
345
347
389
390
396
443
445
453
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
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
19
19
19
19
19
19
19
19
19
20
21
21
21
21
22
23
23
24
24
24
24
25
25
25
25
26
26
26
27
30
34
35
51
88
99
104
110
122
123
127
129
129
135
135
147
147
158
164
176
311
326
346
348
390
391
397
444
446
454
1
1
1
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
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
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
20
20
20
20
21
22
22
22
22
23
24
24
24
24
25
25
26
26
26
26
27
31
35
36
49
89
100
105
111
123
124
128
130
130
136
136
148
148
159
165
177
312
327
347
349
391
392
398
445
447
455
1
1
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
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
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
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
18
18
18
18
18
19
19
19
19
19
19
20
20
21
21
22
23
23
24
24
24
25
25
25
26
26
27
32
36
37
90
101
106
112
124
125
129
131
131
137
137
149
149
160
166
178
313
328
348
350
392
393
399
446
448
456
1
1
2
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
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
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
18
19
19
19
19
19
20
20
21
22
22
23
24
24
24
25
25
26
26
28
33
37
38
51
91
102
107
113
125
126
130
132
132
138
138
150
150
161
167
179
314
329
349
351
393
394
400
447
449
457
2
2
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
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
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
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
15
15
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
18
19
19
19
20
20
20
20
21
22
23
23
24
25
25
26
26
27
38
39
50
92
103
108
114
126
127
131
133
133
139
139
151
151
162
168
180
315
330
350
352
394
395
401
448
450
458
1
1
2
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
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
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
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
18
18
18
19
19
19
19
19
19
20
21
21
22
23
24
25
26
26
39
40
93
104
109
115
127
128
132
134
134
140
140
152
152
163
169
181
316
331
351
353
395
396
402
449
451
459
2
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
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
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
14
14
14
14
14
14
15
15
15
15
15
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
19
19
19
20
20
21
22
22
23
25
27
37
37
94
105
110
116
128
129
133
135
135
141
141
153
153
164
170
182
317
332
352
354
396
397
403
450
452
460
3
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
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
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
13
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
18
18
19
19
20
20
22
23
24
26
95
106
111
117
129
130
134
136
136
142
142
154
154
165
171
183
318
333
353
355
397
398
404
451
453
461
4
4
4
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
8
8
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
11
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
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
17
17
17
18
18
18
19
19
19
21
21
23
24
25
27
39
40
96
107
112
118
130
131
135
137
137
143
143
155
155
166
172
184
319
334
354
356
398
399
405
454
462
1
5
5
5
5
5
5
5
5
5
5
6
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
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
14
14
14
14
14
14
15
15
15
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
22
22
24
25
25
25
26
38
38
97
108
113
119
131
132
136
138
138
144
144
156
156
167
173
185
320
335
355
357
400
406
455
463
2
4
5
5
5
5
5
5
6
6
6
6
7
7
7
7
7
8
8
9
9
9
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
14
14
15
15
16
16
16
16
16
16
16
17
17
17
17
17
17
18
18
18
18
19
19
23
23
25
25
26
26
29
98
109
114
120
132
133
137
139
139
145
145
157
157
168
174
186
321
336
356
358
401
407
456
464
1
1
3
5
6
6
6
6
6
6
7
7
7
7
7
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
12
12
12
12
12
12
12
12
13
13
13
14
14
14
14
15
15
15
15
16
16
16
16
17
17
17
17
17
17
17
18
18
18
18
19
21
24
24
26
27
30
99
110
115
121
133
134
138
140
140
146
146
158
158
169
175
187
322
337
357
359
402
408
457
465
4
4
4
4
5
5
6
6
6
6
7
7
7
7
8
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
13
13
13
13
13
13
14
15
15
16
16
16
16
16
17
17
17
17
17
18
18
18
18
19
22
25
25
26
28
31
100
111
116
122
134
135
139
141
141
147
147
159
159
170
176
188
323
338
358
360
403
409
458
466
1
4
5
5
5
6
6
6
6
6
7
7
7
7
7
8
8
9
9
9
9
10
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
14
14
14
15
15
16
16
17
17
17
17
17
17
18
18
18
19
23
26
29
32
94
101
112
117
123
135
136
140
142
142
148
148
160
160
171
177
189
324
339
359
361
404
410
459
467
1
2
5
5
6
6
7
7
7
7
8
8
8
8
8
8
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
13
13
14
14
15
15
15
16
16
16
17
18
18
18
18
19
19
23
24
26
30
33
95
102
113
118
124
136
137
141
143
143
149
149
161
161
172
178
190
325
340
360
362
405
411
460
468
1
1
3
4
5
5
5
5
6
6
7
7
7
7
8
8
8
8
9
9
9
9
10
10
10
10
10
10
10
10
11
11
11
11
11
11
12
12
12
12
12
12
13
13
13
13
14
16
16
16
17
17
17
17
17
19
19
24
25
31
34
96
103
114
119
125
137
138
142
144
144
150
150
162
162
173
179
191
326
341
361
363
406
412
461
469
1
2
5
5
5
5
5
6
7
7
7
7
7
8
8
8
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
11
11
12
12
12
12
13
13
14
14
14
14
15
15
16
17
17
17
18
20
22
23
24
25
32
35
77
92
97
104
115
120
126
133
138
139
143
145
145
151
151
163
163
174
180
192
327
342
362
364
407
413
462
470
2
2
3
4
5
5
5
5
6
6
7
7
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
12
12
12
13
13
13
14
14
15
16
16
17
17
18
18
19
21
23
24
24
26
29
33
36
77
78
93
98
105
112
116
121
127
134
139
140
144
146
146
152
152
164
164
181
193
328
343
363
365
408
414
463
471
1
1
3
3
4
4
4
5
5
5
6
7
7
7
7
7
7
8
8
8
9
9
9
9
9
9
10
10
11
11
11
11
11
11
11
11
12
12
12
13
13
13
13
14
14
14
14
17
17
17
17
17
17
19
22
24
24
25
27
30
34
36
38
38
38
50
78
79
94
99
106
113
117
122
128
135
140
141
145
147
147
153
153
165
165
182
194
329
344
364
366
409
415
464
472
1
1
1
1
2
4
4
4
4
4
5
5
6
6
6
7
7
7
7
7
7
7
7
8
8
9
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
12
13
13
14
14
14
14
14
14
14
14
15
17
17
17
17
18
18
18
19
20
23
24
25
26
28
31
31
39
39
39
39
51
79
80
95
100
107
114
118
123
129
136
141
142
146
154
154
166
166
183
195
330
345
365
367
410
416
465
473
1
1
1
1
1
1
1
1
2
2
3
4
5
5
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
9
10
10
10
10
11
11
11
11
11
11
11
11
11
12
14
14
14
14
14
14
15
15
15
16
17
17
17
17
17
18
18
19
19
19
20
24
24
26
27
29
32
37
37
40
40
40
40
49
52
80
81
92
96
101
108
115
119
124
130
137
142
143
147
155
155
167
167
184
196
331
346
366
368
411
417
466
474
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
4
4
4
5
5
5
5
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
12
13
13
14
14
14
14
14
14
15
16
16
17
17
17
17
17
17
17
17
18
19
19
21
24
24
24
25
30
31
33
38
38
41
41
41
41
50
53
81
82
92
92
97
102
104
106
109
116
120
125
125
127
131
138
143
144
148
156
156
168
168
185
197
332
347
367
369
412
418
467
475
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
3
3
3
3
3
3
3
3
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
12
14
14
14
14
14
14
14
14
14
15
16
17
17
17
17
17
17
17
17
17
17
17
19
20
20
22
24
24
24
26
32
34
39
39
42
42
42
42
51
54
82
83
93
98
103
105
107
110
117
121
126
126
128
132
139
144
145
149
157
157
169
169
186
198
333
348
368
370
413
419
468
476
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
12
12
12
12
12
12
13
14
14
14
14
14
14
15
15
15
16
17
17
17
17
17
17
17
17
17
18
19
20
21
21
23
24
24
24
33
35
40
40
43
43
43
43
51
52
55
83
84
94
99
104
106
108
111
118
122
127
127
129
133
140
145
146
150
158
158
170
170
187
199
334
349
369
371
414
420
469
477
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
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
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
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
12
12
12
12
12
12
13
13
13
14
14
14
14
14
14
14
15
16
16
17
17
17
17
17
17
17
17
17
19
19
20
21
22
22
24
24
24
34
36
36
41
41
44
44
44
44
52
53
56
84
95
105
107
109
112
119
123
128
128
130
134
141
146
147
151
159
159
171
171
188
200
335
350
370
372
415
421
470
478
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
3
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
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
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
12
12
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
15
16
17
17
17
17
17
17
17
20
21
22
23
23
24
24
25
35
37
37
40
42
42
45
45
45
45
53
54
57
96
108
110
113
120
124
129
129
131
135
142
147
148
152
160
160
172
172
189
201
336
351
371
373
416
422
471
479
1
1
1
1
1
1
1
1
1
1
1
1
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
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
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
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
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
14
14
15
15
15
16
16
16
17
17
17
17
19
21
22
23
24
24
24
26
36
38
38
41
43
43
46
46
46
46
54
55
58
97
109
111
114
121
125
130
130
132
136
148
149
153
161
161
173
173
190
202
337
352
372
374
417
423
472
480
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
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
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
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
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
16
16
17
17
17
17
17
19
20
22
23
24
24
24
27
37
39
39
42
44
44
47
47
47
47
55
56
59
105
110
112
115
126
131
131
133
137
149
150
154
162
162
174
174
191
203
338
353
373
375
418
424
473
481
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
15
15
15
15
16
16
16
16
16
17
17
17
17
18
19
19
19
21
23
24
24
24
28
38
40
40
43
48
48
48
48
56
60
111
113
116
127
132
132
134
138
150
151
155
163
163
175
175
192
204
339
354
374
376
419
425
474
482
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
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
5
5
5
5
5
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
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
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
15
15
15
16
16
16
16
17
17
18
19
19
19
19
20
20
22
25
29
34
39
41
44
47
49
49
49
49
57
61
112
114
117
128
133
133
135
139
151
152
156
164
164
176
176
193
205
340
355
375
377
420
426
475
483
1
1
1
1
1
1
2
2
2
2
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
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
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
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
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
14
14
15
15
15
15
15
15
15
15
15
16
17
17
18
19
19
20
20
21
21
30
40
42
44
45
48
49
50
58
113
115
118
129
134
134
136
140
152
153
157
165
165
177
177
194
206
341
356
376
378
421
427
476
484
1
1
1
1
1
1
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
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
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
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
13
13
13
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
15
15
15
16
16
16
16
17
18
18
19
19
20
21
21
22
27
31
40
43
44
44
46
47
47
49
51
56
59
113
115
116
119
130
134
135
136
137
141
153
154
158
166
166
178
178
195
207
342
357
377
379
422
428
477
485
1
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
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
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
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
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
15
15
15
16
16
16
17
17
17
18
19
19
19
19
19
19
20
21
22
32
36
46
47
48
48
50
52
60
116
117
120
131
136
137
138
142
154
155
159
167
167
179
179
196
208
343
358
378
380
423
429
447
478
486
1
1
2
3
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
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
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
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
13
13
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
17
18
18
18
18
19
19
19
19
19
19
20
20
20
20
21
22
23
27
47
49
49
51
53
61
117
121
132
137
138
143
155
156
160
168
168
180
180
197
209
344
359
379
381
424
430
448
479
487
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
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
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
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
14
14
15
15
15
15
15
15
16
16
16
17
18
19
19
19
19
20
20
20
21
21
21
21
22
24
27
36
40
44
44
44
47
47
48
52
54
56
59
122
133
138
144
156
157
161
169
169
181
181
198
210
345
360
380
382
394
425
431
449
480
488
1
1
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
6
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
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
13
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
16
16
16
17
17
18
18
18
19
20
20
20
21
21
21
21
22
25
37
41
48
48
49
53
55
60
113
115
123
134
134
136
139
145
157
158
162
170
170
182
182
199
211
346
361
381
383
395
426
432
450
453
481
489
4
4
4
4
4
4
4
4
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
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
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
12
12
13
13
13
13
13
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
17
18
18
18
18
19
19
19
21
21
21
22
23
26
27
34
38
42
49
49
50
54
56
61
116
124
135
137
140
146
158
159
163
171
171
183
183
200
212
347
362
382
384
396
427
433
454
482
490
1
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
8
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
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
13
13
13
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
17
17
17
17
17
17
18
18
18
18
19
19
19
19
20
21
23
24
26
27
35
39
43
55
57
117
125
136
138
141
147
159
160
164
172
172
184
184
201
213
348
363
383
385
397
399
428
434
455
483
491
1
1
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
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
12
12
13
13
13
13
13
13
13
13
14
14
14
15
15
15
16
18
18
18
18
18
18
18
19
19
20
20
21
25
26
28
36
40
44
47
56
58
126
137
142
148
160
161
165
173
173
176
179
185
185
202
214
349
364
384
386
400
429
435
456
484
492
1
2
2
3
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
7
7
7
7
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
14
15
17
17
17
18
18
18
18
19
19
19
19
20
21
21
21
37
41
45
48
57
59
127
138
143
149
161
162
166
174
174
177
180
186
186
203
215
350
365
385
387
401
430
436
457
485
493
2
3
3
4
4
5
5
5
5
5
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
11
11
11
11
11
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
14
14
15
15
18
18
18
18
19
20
20
20
20
22
38
42
46
49
60
128
139
144
147
149
149
150
162
163
167
174
175
175
177
178
181
187
187
204
216
351
366
388
402
431
437
458
486
494
1
3
4
4
4
5
5
5
6
6
7
7
8
8
9
9
9
9
9
9
10
10
10
10
10
10
10
11
11
11
11
11
12
12
13
13
13
13
13
13
13
14
14
14
15
16
18
19
19
39
43
47
47
50
61
129
140
145
148
150
150
151
163
164
168
176
176
179
182
188
188
205
217
352
367
389
403
432
438
459
487
495
1
4
5
5
5
6
6
7
7
7
8
8
8
8
9
9
9
9
9
10
10
10
10
10
10
11
11
12
12
13
13
13
14
14
14
15
16
17
17
17
20
20
40
44
44
48
48
51
62
130
141
145
147
147
149
151
151
152
164
165
169
177
177
180
183
189
189
206
218
353
368
390
404
439
460
496
1
2
3
4
5
5
5
5
5
5
5
5
6
6
6
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
11
12
12
13
13
13
14
16
17
18
18
18
19
21
41
45
49
49
52
63
131
142
150
152
152
153
165
170
181
184
190
190
219
354
369
391
405
440
461
497
1
2
3
4
4
4
4
4
5
5
5
5
6
6
6
6
6
6
6
6
7
7
7
7
7
8
8
8
8
8
8
8
9
9
9
9
9
10
10
10
11
11
12
12
12
12
12
12
12
13
13
13
14
15
17
17
18
19
19
19
22
46
50
50
53
64
132
143
151
153
153
154
166
171
182
185
191
191
220
355
370
392
406
441
462
498
2
3
3
3
4
4
4
4
4
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
10
10
10
10
11
11
11
12
13
13
13
13
13
13
14
14
15
16
17
18
19
19
20
20
23
47
47
51
51
54
65
133
144
152
154
154
155
167
172
183
186
192
192
221
356
371
393
407
442
463
499
1
1
3
4
4
4
4
4
4
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
10
10
10
10
10
10
11
11
11
12
12
12
12
12
13
14
14
14
14
15
15
16
17
17
19
20
21
21
24
44
48
52
52
55
66
134
145
153
155
155
156
168
173
184
187
193
193
222
357
372
394
408
443
464
500
1
1
2
2
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
6
6
7
7
7
7
7
8
8
8
9
9
9
9
10
10
10
11
11
11
11
11
11
11
12
12
12
12
13
13
13
13
13
14
14
14
15
15
15
15
16
17
18
19
19
21
22
22
25
41
45
49
53
53
56
67
105
135
146
154
156
156
157
169
174
185
188
194
194
223
358
373
395
409
444
465
501
2
3
3
3
4
4
4
4
4
5
5
5
5
5
5
5
5
6
6
6
7
7
7
7
8
8
8
8
8
8
8
9
9
10
10
10
10
11
11
12
12
12
12
12
12
12
12
13
13
13
13
13
13
14
15
16
16
16
17
17
19
19
19
19
22
23
26
26
45
46
47
50
54
54
57
68
106
121
136
142
147
155
157
157
158
170
175
186
189
195
195
224
359
374
396
410
445
466
502
3
3
4
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
10
10
11
12
12
12
12
12
13
13
13
13
13
13
13
13
13
14
14
14
17
17
18
19
19
19
20
23
24
27
27
30
41
43
46
47
49
55
55
58
69
84
107
122
137
143
148
156
158
158
159
171
176
187
190
196
196
225
360
375
397
411
446
467
503
1
1
3
4
4
4
5
5
5
5
5
6
6
6
7
7
7
7
7
7
7
7
7
8
9
9
9
9
10
10
11
11
12
12
12
13
13
13
13
13
13
13
13
14
14
14
14
14
15
15
17
18
19
19
19
19
21
24
25
28
28
31
41
44
45
47
50
56
56
59
70
84
85
108
123
138
144
149
157
159
159
160
172
177
188
191
197
197
226
361
376
398
412
447
468
504
1
2
2
4
5
5
5
5
5
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
9
9
9
9
9
10
10
10
10
12
12
12
12
12
12
12
13
13
13
13
14
14
14
15
15
17
19
19
19
20
22
25
26
29
29
32
40
45
46
48
51
57
57
60
71
85
86
97
99
109
113
124
134
139
145
150
158
160
160
161
173
178
189
192
198
198
227
362
377
399
413
448
469
505
1
2
3
3
3
5
5
5
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
8
8
9
9
9
10
10
10
10
12
12
12
12
12
12
12
12
13
13
13
13
13
14
15
16
16
19
19
20
21
26
27
30
33
41
46
47
52
58
58
61
72
86
87
98
100
110
114
115
125
135
136
140
142
146
151
159
161
161
162
174
179
190
193
199
199
228
363
378
400
414
449
470
506
1
1
1
3
3
4
4
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
10
11
11
12
12
12
12
12
12
12
12
13
13
13
13
16
17
17
19
21
22
27
28
31
34
42
47
53
59
59
62
73
87
88
97
99
101
111
113
116
126
134
137
141
147
152
160
162
162
163
175
180
191
194
200
200
229
364
379
401
415
450
471
507
1
1
2
2
3
3
4
4
4
5
5
5
6
6
6
6
6
7
7
7
7
7
7
7
7
8
9
9
9
9
9
9
9
9
9
10
10
10
10
11
12
12
12
12
12
12
13
13
13
13
13
15
17
18
18
19
22
28
32
35
43
43
48
54
58
59
60
60
62
63
74
88
89
99
100
102
112
114
115
117
121
127
135
136
138
142
148
153
161
163
163
164
176
181
192
195
201
201
230
365
380
402
416
451
472
508
1
1
2
2
3
3
4
4
5
5
5
5
5
5
5
6
6
7
7
7
7
7
7
7
7
7
8
8
8
8
9
9
9
9
9
9
9
10
10
10
10
10
11
11
11
12
12
12
12
12
12
12
13
13
13
13
13
13
13
14
15
16
18
19
19
19
20
29
33
36
40
44
49
55
56
60
61
61
64
75
89
90
101
103
113
116
118
128
137
139
143
149
154
162
164
164
165
177
182
193
196
202
202
231
366
381
403
417
452
473
509
1
1
2
2
3
4
4
4
4
4
5
5
5
6
6
6
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
9
9
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
13
13
13
14
14
14
14
15
15
16
16
17
19
19
19
19
20
20
21
30
34
37
45
45
46
47
47
50
56
61
62
62
65
76
91
102
104
114
117
129
138
144
150
155
163
165
165
166
178
183
194
197
203
203
232
367
382
404
418
453
474
510
1
1
2
2
3
3
5
5
5
5
6
6
7
7
7
7
7
7
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
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
14
14
14
15
15
15
15
16
16
17
18
19
20
20
20
21
21
22
31
35
41
46
46
50
50
51
62
63
63
66
71
77
103
105
130
145
151
156
164
166
166
167
179
184
195
198
204
204
233
368
383
405
419
454
475
511
1
1
1
2
2
3
3
4
4
4
5
5
5
5
6
6
6
6
7
7
7
7
7
8
8
8
9
9
9
9
9
9
9
9
9
9
9
9
9
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
13
13
13
13
13
14
14
14
14
14
14
14
15
15
15
17
17
18
19
19
21
21
22
22
32
41
44
44
45
47
47
47
47
52
56
59
59
59
62
64
64
65
67
72
78
104
106
146
157
165
167
167
168
180
185
196
199
205
205
234
369
384
406
420
455
476
512
1
1
1
1
2
2
2
3
3
4
4
4
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
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
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
12
13
13
14
14
14
14
14
14
15
15
15
15
15
15
15
15
16
18
19
19
20
22
23
33
46
48
48
48
53
56
56
58
60
60
63
65
65
68
73
79
105
107
147
158
166
168
168
181
186
197
200
206
206
235
370
385
407
421
456
477
513
1
1
1
2
3
3
3
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
8
8
8
8
8
8
8
8
8
9
9
9
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
10
10
11
11
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
15
16
16
16
16
20
21
24
34
47
49
49
50
54
57
57
59
61
61
64
66
66
69
74
80
106
108
113
115
134
136
148
159
167
169
169
182
187
198
201
207
207
236
371
386
408
422
457
478
514
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
3
4
4
4
4
4
4
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
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
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
12
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
17
17
17
19
19
21
25
35
50
50
55
55
56
58
60
62
67
67
70
75
81
109
116
137
149
160
168
170
170
183
188
199
202
208
208
237
372
387
409
423
458
479
515
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
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
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
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
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
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
16
16
16
17
17
17
17
18
19
19
20
26
36
48
50
56
56
56
57
59
61
68
68
71
76
82
110
117
138
150
161
169
171
171
184
189
200
203
209
209
238
373
388
410
424
459
480
516
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
13
13
13
13
13
14
14
14
14
14
14
15
15
15
17
17
18
18
18
20
21
27
37
57
57
57
58
60
62
69
69
72
77
83
151
162
170
172
172
185
190
201
204
210
210
239
374
389
411
425
460
481
517
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
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
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
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
9
9
9
9
9
9
9
9
10
10
10
10
10
10
10
10
10
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
12
12
12
12
12
12
12
12
13
14
14
14
14
14
15
15
15
15
18
19
19
19
21
28
38
58
58
61
63
70
73
78
84
152
163
171
173
173
186
191
202
205
211
211
240
375
390
412
426
461
482
518
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
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
10
10
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
12
12
12
12
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
14
15
15
16
16
20
20
20
29
39
59
62
64
71
74
79
85
153
164
172
174
174
187
192
203
206
212
212
241
376
391
413
427
462
483
519
