0
0
1
1
1
1
1
1
1
1
1
2
3
4
4
4
4
4
4
4
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
5
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
7
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
10
12
15
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
18
21
21
21
21
21
21
21
21
21
21
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
22
23
24
24
24
24
24
24
24
24
24
24
24
24
24
24
25
25
25
25
25
25
25
25
25
25
25
25
25
26
27
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
31
31
31
31
34
34
34
36
39
41
44
44
45
45
46
47
47
47
47
47
48
49
49
50
50
51
52
53
53
54
54
54
54
54
54
54
54
54
55
56
57
57
57
57
57
57
57
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
58
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
59
60
60
60
60
61
62
62
63
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
64
67
67
67
67
67
69
74
78
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
81
86
90
90
90
90
90
90
90
90
90
90
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
91
92
93
93
93
93
93
93
93
93
93
93
93
93
93
93
94
94
94
94
94
94
94
94
94
95
96
96
96
97
98
99
100
100
100
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
101
103
103
103
103
108
111
114
117
120
123
126
126
127
127
128
129
129
129
129
130
131
132
133
134
134
135
136
137
137
138
138
138
138
138
138
138
138
138
139
140
141
141
141
141
141
141
141
142
142
142
142
142
142
142
142
142
142
142
142
143
143
143
143
143
143
143
143
143
143
143
143
143
143
144
144
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
145
146
147
148
149
150
151
152
153
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
154
155
155
155
155
155
155
155
155
155
155
155
155
158
158
158
158
163
165
170
175
178
178
178
180
182
183
183
183
184
184
184
184
184
187
188
188
188
194
198
198
198
199
199
199
199
199
199
199
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
201
202
202
202
202
202
202
202
202
202
202
202
202
202
202
203
203
203
203
203
204
204
204
205
206
207
207
207
208
209
210
211
211
212
213
214
214
214
214
214
214
214
214
214
214
215
216
217
217
217
217
217
218
218
218
221
223
225
226
231
234
237
239
242
244
247
248
250
251
251
252
252
252
253
254
255
256
257
258
258
259
260
261
