3
3
3
3
3
3
3
3
3
3
4
4
5
5
5
5
3
3
2
2
2
2
3
3
3
3
3
3
3
4
3
3
3
3
3
2
2
1
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
2
1
2
0
0
1
1
1
1
1
2
2
2
3
3
3
3
2
2
2
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
2
2
1
1
1
1
2
2
2
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
2
2
2
0
0
0
0
0
0
1
1
2
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
4
3
3
3
3
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
1
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
3
3
3
3
2
2
3
3
3
3
2
2
2
2
2
2
3
3
3
2
2
2
2
2
2
2
2
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
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
1
1
1
1
1
1
1
1
1
1
1
1
2
3
3
5
6
6
6
6
6
6
5
5
4
3
3
3
2
2
2
3
3
3
3
3
4
4
4
2
2
1
1
1
2
3
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
4
4
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
7
7
7
7
7
7
7
7
7
7
8
8
9
9
10
10
9
9
8
8
8
7
7
7
7
6
5
5
5
5
5
5
5
5
5
5
5
5
5
5
6
6
6
6
6
6
6
6
6
4
7
6
6
6
6
6
7
8
9
10
10
10
10
10
10
10
10
10
10
10
10
6
6
6
6
6
6
6
6
7
8
10
9
8
8
8
9
9
9
10
10
10
10
9
8
8
8
8
8
8
8
7
7
5
5
5
4
6
7
7
6
6
6
6
6
6
7
8
8
8
8
8
8
8
8
8
8
8
8
8
9
9
9
10
10
10
10
11
11
11
11
9
9
9
9
9
9
9
9
12
12
12
13
13
13
14
14
14
14
14
14
13
13
13
13
13
13
13
12
12
12
12
12
11
11
11
12
12
12
12
12
12
12
13
13
11
10
10
10
9
8
8
8
8
8
8
8
9
9
9
10
10
10
10
10
10
9
9
9
9
9
9
9
9
9
9
9
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
10
9
9
9
9
9
9
9
9
9
9
9
9
9
9
9
11
11
11
11
12
12
12
12
12
11
11
11
11
11
11
11
11
11
11
11
11
11
11
12
12
11
11
11
10
9
9
9
8
8
8
8
9
9
9
8
8
9
9
9
11
11
12
12
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
11
11
11
11
11
11
11
11
11
11
11
11
11
11
10
10
10
12
11
11
11
11
12
12
13
13
13
13
13
13
13
14
14
14
14
14
14
14
13
13
13
12
12
12
11
11
11
11
11
11
11
11
11
11
11
11
12
12
12
13
13
13
12
12
12
12
12
11
11
11
10
10
12
12
12
13
13
13
13
13
13
13
13
12
12
12
12
12
12
12
13
13
12
12
12
12
13
13
13
13
13
13
13
14
14
13
13
13
13
13
13
13
11
12
12
12
13
14
14
14
14
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
13
13
13
13
13
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
14
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
15
17
17
18
18
19
19
19
19
20
21
21
22
21
19
18
18
17
17
17
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
18
18
17
17
17
16
16
16
16
16
16
15
15
15
15
15
16
16
17
17
17
17
17
17
17
18
18
17
17
17
17
16
16
16
16
16
15
15
15
15
15
15
15
15
15
15
15
15
15
15
16
16
16
16
17
18
19
19
19
19
18
17
18
18
18
18
19
19
19
19
19
18
17
17
18
19
19
19
19
19
19
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
19
19
19
20
21
21
21
20
20
20
19
19
19
19
19
19
19
20
20
20
20
20
20
21
21
20
20
20
20
20
19
19
19
19
19
19
19
19
19
19
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
20
21
21
22
22
22
22
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
21
21
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
21
21
22
22
22
23
23
23
23
23
23
21
22
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
26
26
26
27
28
29
29
28
26
25
25
25
24
24
24
24
24
24
24
24
27
29
30
29
29
29
29
28
26
28
26
27
27
27
27
27
28
30
30
30
30
30
30
30
30
30
30
30
30
30
30
29
29
29
29
29
29
29
25
25
26
26
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
28
29
27
31
30
29
30
31
31
31
31
32
32
32
32
34
34
35
36
37
40
40
42
43
43
43
44
46
48
55
56
57
58
58
59
60
61
61
61
63
64
67
69
70
72
73
77
77
80
80
81
82
83
88
89
90
91
91
93
120
120
121
123
124
125
125
125
125
125
125
125
127
129
130
131
132
132
132
132
132
134
135
137
137
138
135
134
133
131
130
128
128
127
124
124
124
124
124
129
128
128
128
128
128
129
131
131
132
133
133
134
135
136
136
136
145
147
149
149
149
148
148
147
147
152
146
144
149
149
152
156
156
156
156
156
156
156
156
156
156
155
143
142
132
131
127
124
114
110
105
98
95
92
87
82
80
79
76
72
71
70
70
69
65
65
64
60
55
52
46
45
43
41
40
40
40
38
38
38
37
36
34
33
31
31
31
31
29
28
28
27
25
25
24
24
24
24
23
23
23
28
28
30
30
30
30
29
29
28
28
27
26
26
26
25
24
24
24
24
24
24
24
24
24
24
24
24
22
22
22
23
22
22
21
26
27
27
28
29
30
30
30
31
32
32
32
32
32
31
30
30
29
29
28
27
24
23
21
21
21
24
24
23
23
22
26
28
29
32
35
34
34
34
33
33
32
32
32
32
32
32
32
32
32
32
32
33
33
33
34
34
35
36
36
34
34
35
35
36
36
36
36
36
38
40
41
28
25
25
26
27
28
29
30
30
32
32
33
33
33
33
32
32
32
32
32
33
33
34
34
35
35
36
37
39
41
41
42
42
43
44
44
45
45
46
47
48
48
49
50
50
50
51
51
48
44
42
41
40
39
39
38
33
32
31
27
31
32
33
33
33
34
34
34
34
34
34
33
32
32
32
32
32
32
32
32
32
33
35
36
36
37
37
37
37
37
37
36
36
36
36
35
34
33
32
32
32
32
32
32
33
33
34
35
35
35
35
35
34
33
31
30
30
32
33
33
34
34
35
35
35
35
35
35
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
36
37
37
38
38
38
39
39
39
39
39
39
33
32
33
33
33
34
35
35
35
35
35
35
35
35
37
39
39
39
38
37
36
36
36
36
36
37
38
40
40
39
38
38
38
37
34
34
34
34
34
34
34
34
38
39
41
41
42
41
41
39
39
38
38
37
37
35
32
29
28
28
28
28
28
28
28
28
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
26
26
26
26
26
26
26
26
25
25
26
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
29
29
28
27
27
27
27
27
26
27
28
26
29
30
30
30
30
28
27
25
24
24
24
24
24
24
25
25
25
25
25
27
28
30
28
27
27
26
25
25
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
24
28
28
28
28
28
28
27
27
27
27
27
26
24
25
25
25
24
24
24
24
23
23
23
23
23
23
23
24
24
24
24
24
24
24
24
24
24
24
24
24
23
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
23
24
24
24
24
24
24
24
23
23
23
22
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
23
23
23
23
23
22
20
20
21
21
21
21
20
19
19
19
20
20
19
19
19
19
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
21
21
21
21
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
22
22
22
22
22
22
22
22
22
22
23
23
23
23
23
23
23
23
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
19
19
19
18
18
17
17
17
17
17
17
18
19
19
19
19
19
19
19
19
19
20
20
20
20
18
18
19
21
21
21
21
21
21
21
21
21
21
21
21
21
20
21
22
21
21
22
23
23
22
22
22
22
22
23
23
23
21
22
23
23
23
22
22
23
21
20
20
20
20
20
17
21
18
19
21
22
22
22
22
22
22
22
22
22
21
21
19
21
22
22
22
22
22
22
21
21
22
22
22
22
22
22
22
22
22
20
20
20
20
20
21
21
21
20
20
20
19
20
20
20
20
20
21
20
20
20
18
20
20
20
20
21
19
19
19
19
19
19
20
20
21
21
21
21
21
21
21
21
21
21
20
20
20
20
20
20
20
20
21
21
21
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
23
23
23
23
23
23
23
20
21
21
21
21
21
21
20
20
20
21
21
21
21
21
21
21
22
22
22
23
23
23
23
23
23
23
23
23
21
21
21
21
21
21
21
21
21
22
22
22
22
22
21
21
22
22
21
20
20
22
21
22
21
21
21
21
21
20
20
20
22
22
22
22
22
22
22
22
21
20
20
20
20
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
18
18
18
18
18
19
19
20
20
20
20
19
19
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
19
19
19
19
19
19
19
19
19
19
19
18
18
18
18
18
17
16
16
16
16
16
16
16
17
17
17
17
17
16
16
16
16
16
18
18
18
18
18
18
18
18
18
18
17
17
17
17
17
16
16
16
16
16
16
16
16
16
16
16
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
17
18
18
18
19
19
19
20
20
20
20
20
20
20
20
20
20
19
19
19
19
19
19
19
19
19
19
19
19
17
16
16
18
16
16
16
16
15
15
15
15
16
16
16
16
16
16
16
16
15
15
15
15
15
14
14
14
14
14
14
14
15
15
15
15
15
15
15
15
14
14
13
12
12
12
12
12
12
13
13
13
13
14
14
14
14
14
14
14
14
14
12
12
12
12
12
12
12
13
13
13
13
13
13
13
13
13
13
13
13
12
12
12
12
12
11
11
11
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
10
10
10
10
10
10
10
10
9
9
9
9
9
9
9
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
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
11
10
9
8
8
8
8
9
9
10
10
10
10
10
10
10
11
11
12
12
12
11
10
10
10
10
10
10
10
10
10
10
10
10
9
9
9
9
9
9
10
10
10
10
10
8
7
7
7
7
9
9
9
8
8
8
8
8
8
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
7
7
7
7
6
5
5
5
5
5
5
6
7
6
6
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
6
6
6
7
7
7
7
7
7
6
6
6
6
6
6
7
7
7
7
7
8
8
9
7
7
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
7
7
6
6
6
6
6
6
6
6
5
4
3
4
4
3
3
3
3
3
2
2
2
2
2
2
2
2
2
3
3
3
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
4
4
5
7
5
4
3
3
3
2
2
2
2
1
1
1
1
3
3
3
3
3
4
4
4
4
3
3
3
3
3
2
2
2
2
2
2
2
3
3
4
5
3
2