0
0
0
0
0
0
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
4
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
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
7
8
9
11
13
14
14
14
14
14
16
16
16
16
16
16
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
21
22
23
23
24
25
25
26
26
26
26
26
26
26
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
27
28
28
28
28
28
28
28
28
28
28
28
28
28
28
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
29
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
30
31
31
31
31
31
32
32
32
32
32
32
33
34
34
34
34
34
34
34
34
34
34
34
35
35
36
36
36
36
39
41
42
42
42
42
43
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
44
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
45
46
46
47
47
47
47
47
47
48
48
48
49
50
51
51
51
51
51
52
53
53
53
53
53
54
54
54
54
54
54
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
55
56
57
58
58
59
60
60
61
61
61
62
62
62
62
63
63
63
64
64
64
64
64
64
64
64
64
64
64
64
64
65
68
71
74
76
78
79
79
79
81
81
83
85
85
85
85
85
88
90
91
93
96
97
101
104
106
106
107
108
108
109
109
109
112
113
113
115
120
120
120
120
120
121
121
121
121
122
122
122
122
123
124
125
126
127
128
129
129
130
130
130
130
130
130
131
132
132
132
132
132
132
132
132
132
132
132
132
132
132
132
133
134
134
134
135
136
137
138
139
139
140
141
142
142
143
144
144
144
145
146
147
147
148
149
149
150
150
150
151
151
152
153
154
155
156
157
158
158
159
160
160
161
161
161
162
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
163
166
168
169
169
173
176
177
178
183
185
187
190
193
194
197
197
199
200
200
200
200
200
200
200
201
201
202
202
203
204
205
205
205
205
206
