0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
2
2
2
2
2
2
2
2
2
2
2
2
2
2
2
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
3
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
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
6
7
8
8
8
8
8
8
8
8
8
8
8
8
8
8
8
13
13
13
13
13
13
13
13
13
13
13
13
13
15
17
22
25
25
37
37
37
38
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
43
44
44
44
44
44
44
44
44
44
45
45
45
46
46
46
46
47
47
47
47
48
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
49
50
51
52
52
52
52
52
52
52
52
52
52
56
59
64
69
74
74
75
78
78
81
83
83
84
84
85
86
86
87
88
89
90
91
92
93
94
94
94
94
94
94
94
94
94
94
94
94
94
95
95
95
95
95
95
95
96
96
96
96
96
96
96
96
96
96
96
96
96
96
96
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
97
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
98
99
99
100
101
102
102
102
102
102
102
102
102
102
102
102
102
102
102
102
107
107
107
107
107
107
107
107
107
107
107
107
107
109
111
115
117
117
129
129
129
130
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
136
137
137
137
137
137
137
137
137
137
138
138
138
139
139
139
139
140
140
140
140
141
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
142
143
144
145
145
145
145
145
145
145
145
145
145
149
152
157
162
167
167
168
171
171
174
176
176
177
177
178
179
179
180
181
182
183
184
185
186
187
187
187
187
187
187
187
187
187
187
187
187
187
188
188
188
188
188
188
188
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
189
190
190
190
190
190
190
190
190
190
190
190
190
190
191
191
191
191
191
191
191
191
191
191
191
192
193
193
193
193
193
193
193
193
193
193
193
193
193
194
194
195
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
198
198
199
200
200
200
200
200
200
200
200
200
200
200
200
200
200
200
205
205
205
209
210
210
210
210
210
210
210
210
210
212
215
220
223
224
235
235
235
235
238
238
238
238
238
238
238
238
238
238
239
239
239
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
241
242
242
242
242
242
242
242
242
242
243
243
243
244
244
244
244
245
245
245
245
246
247
247
248
248
248
248
248
248
248
249
250
251
251
252
253
254
254
254
254
255
255
255
255
256
257
257
257
258
259
260
261
262
264
266
269
272
276
280
285
285
286
288
288
290
292
292
293
293
294
295
295
296
297
298
299
300
301
302
303
