243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
243
243
243
243
243
243
243
243
243
243
243
243
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
243
243
242
242
242
242
242
242
242
242
242
243
243
243
243
243
243
244
244
244
244
244
244
244
244
244
244
243
243
243
243
243
243
243
243
244
244
244
244
244
244
243
243
243
243
243
243
243
243
243
243
243
242
242
242
241
241
241
241
240
240
240
240
240
240
240
240
240
241
241
241
241
242
242
243
243
244
244
244
245
245
245
245
245
245
245
245
246
246
246
246
246
246
246
245
245
244
244
244
243
243
243
243
243
243
243
243
244
244
244
244
245
245
245
245
245
245
244
244
244
244
244
244
244
244
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
245
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
245
245
245
245
245
245
245
245
245
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
246
246
246
246
245
245
245
245
245
245
245
245
246
246
246
247
247
247
247
247
247
247
247
247
247
246
246
246
245
245
244
244
244
243
243
243
242
242
242
242
242
242
241
241
241
240
240
240
240
241
241
242
243
244
244
244
244
244
244
244
244
244
244
244
244
243
242
241
240
240
239
239
239
239
239
239
239
239
239
239
239
239
239
238
237
236
236
235
235
233
232
231
230
229
228
227
227
226
226
225
225
224
224
223
223
223
223
223
223
223
224
224
225
225
226
226
227
227
227
227
227
226
226
226
225
225
225
225
225
224
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
221
221
220
220
220
221
221
222
222
223
223
224
224
226
228
228
228
228
227
227
226
226
225
225
225
225
225
225
225
225
225
225
226
226
226
226
226
225
225
220
220
220
220
221
221
222
222
223
223
223
223
224
224
224
224
224
224
224
224
224
224
223
223
223
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
220
220
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
221
223
223
223
223
223
223
223
223
224
224
224
224
225
225
225
225
225
225
225
225
225
225
225
225
225
224
224
224
224
224
224
224
224
225
225
225
225
226
226
226
226
227
227
228
228
229
230
230
230
230
230
229
229
228
228
228
228
228
228
228
228
228
228
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
228
228
228
228
228
228
228
227
227
227
226
226
226
226
226
226
226
226
226
226
226
226
226
227
227
227
227
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
227
227
227
227
227
227
226
226
226
226
226
226
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
226
226
226
226
226
227
227
227
227
228
228
228
228
229
229
229
229
230
230
230
230
230
230
230
230
229
229
229
228
228
228
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
227
228
228
228
228
228
228
228
228
227
227
227
227
227
227
227
227
227
227
227
227
227
228
228
228
228
228
228
227
227
226
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
223
223
223
223
223
223
223
223
223
223
223
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
222
222
221
221
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
219
219
219
218
218
218
218
218
219
220
221
222
223
223
223
223
223
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
222
221
221
221
221
221
221
221
221
221
221
221
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
221
221
221
220
220
220
220
220
220
220
221
221
221
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
220
220
219
219
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
218
218
218
218
218
220
222
223
225
227
229
231
232
231
230
229
227
225
224
223
222
221
221
220
220
219
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
218
218
217
217
217
216
216
216
215
215
215
215
214
214
214
214
214
214
214
215
215
215
215
216
216
216
217
217
217
217
218
218
218
218
218
218
218
218
217
217
217
216
216
216
215
215
215
215
215
215
216
216
216
216
217
217
217
217
217
217
217
217
216
216
216
216
216
216
216
216
216
215
215
215
215
215
215
215
215
216
216
217
217
218
218
218
218
218
218
216
216
216
216
216
216
216
216
216
217
217
217
217
218
218
218
218
218
218
218
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
218
218
218
217
217
217
217
217
217
217
217
216
216
216
216
216
216
216
216
216
216
217
217
218
218
218
218
218
218
218
217
217
217
217
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
215
215
215
215
215
215
215
215
215
215
215
216
216
216
217
217
217
217
216
215
215
214
214
213
213
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
213
213
213
213
214
214
214
215
215
216
216
216
216
216
216
215
215
214
214
214
213
213
212
211
211
210
210
209
209
209
209
209
209
209
209
209
209
209
210
210
211
211
212
212
213
213
213
213
213
213
213
213
213
212
212
211
211
210
210
209
209
209
209
209
209
209
209
209
209
210
210
210
211
211
212
212
212
213
213
213
214
214
215
215
216
216
217
217
217
217
217
217
217
217
218
218
218
218
218
218
218
218
218
217
217
216
215
215
214
214
214
214
215
215
215
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
216
217
217
217
217
218
218
218
218
218
218
218
218
218
218
218
218
218
217
217
217
217
216
216
216
215
215
215
215
214
214
214
215
215
216
217
217
217
216
216
215
215
215
214
213
213
213
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
211
211
211
211
211
210
210
210
210
210
210
210
210
211
211
211
211
212
212
212
212
212
212
212
211
211
211
211
211
211
211
211
211
211
212
212
212
213
213
213
213
213
213
213
213
213
213
212
212
212
212
211
211
211
211
210
210
210
210
210
210
210
210
209
209
209
209
208
208
208
208
208
207
206
206
205
205
204
204
203
203
202
202
202
202
202
202
202
202
202
203
204
205
206
207
208
208
209
210
210
211
211
212
212
213
213
213
213
213
212
212
211
211
211
211
211
211
211
211
211
211
211
211
210
210
210
210
211
211
212
212
213
213
213
212
212
211
211
211
210
210
209
209
208
208
207
207
206
206
206
207
207
208
209
210
210
211
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
212
211
210
210
209
209
209
209
209
209
209
209
209
209
209
209
210
211
211
212
213
213
214
214
214
215
215
215
216
216
216
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
216
216
215
215
215
214
214
214
214
214
214
214
214
214
214
214
214
214
214
214
215
215
215
215
215
215
215
215
215
215
215
215
215
216
216
216
216
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
218
218
218
218
218
218
217
217
217
216
216
216
216
216
216
216
216
216
216
216
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
216
216
216
215
215
215
215
215
215
215
215
215
216
216
216
217
217
217
218
218
218
219
219
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
217
217
217
217
217
217
217
217
217
217
218
218
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
220
220
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
220
222
223
225
226
228
229
229
228
226
225
224
223
222
221
220
220
220
219
219
219
218
218
218
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
220
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
222
222
222
222
222
222
222
222
222
222
222
221
221
221
221
220
220
220
220
220
220
220
220
220
221
221
221
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
222
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
221
222
222
222
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
223
223
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
223
223
223
223
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
222
221
220
220
219
218
218
218
218
218
218
218
218
219
219
219
219
220
220
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
220
221
221
221
222
222
222
222
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
224
224
224
224
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
224
224
224
223
223
223
223
223
223
223
223
223
223
223
223
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
226
226
227
227
228
228
228
228
228
228
227
227
227
227
227
227
227
227
227
227
227
227
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
228
227
227
227
227
227
227
227
227
227
228
228
228
229
229
229
229
229
229
229
229
228
228
228
227
227
227
227
226
226
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
226
226
226
226
226
226
226
226
227
227
227
227
227
227
227
227
228
228
228
228
228
228
228
228
228
228
228
228
229
229
229
229
229
229
229
229
229
228
228
228
228
227
227
227
226
226
226
226
226
226
226
226
226
226
227
227
227
228
228
228
228
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
229
228
228
228
228
228
228
228
228
228
229
229
230
230
230
230
229
229
228
228
227
226
226
226
226
226
226
226
226
226
225
225
225
225
225
225
225
225
225
225
225
225
225
225
225
226
226
226
226
226
226
226
226
225
225
225
225
225
225
225
224
224
224
223
223
222
222
222
222
222
222
222
222
222
222
222
222
223
223
223
223
223
222
222
222
222
222
222
222
222
222
222
221
221
221
220
220
220
219
218
218
218
218
218
218
218
218
218
218
218
218
219
219
220
220
220
220
220
220
221
222
222
222
223
223
224
224
224
224
224
224
224
223
223
222
222
221
221
221
221
221
221
221
221
221
221
223
223
224
225
225
225
226
226
226
226
226
226
226
226
226
227
227
227
227
227
227
227
227
227
227
226
226
226
226
226
226
225
224
224
223
222
221
220
220
220
220
220
220
221
221
221
223
223
224
224
224
224
224
223
223
223
223
223
223
223
223
223
223
223
223
223
224
224
224
225
225
225
226
226
226
226
226
226
226
226
226
226
226
226
227
227
227
227
227
227
227
226
226
225
225
224
224
224
223
223
223
223
223
224
224
225
226
227
228
229
229
230
231
232
233
234
234
235
236
237
238
239
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
240
241
242
242
243
244
245
245
245
245
245
245
245
245
245
245
245
244
244
243
243
243
242
242
241
241
241
240
240
240
240
240
240
241
241
241
241
242
242
242
242
242
242
242
242
243
243
243
244
244
244
244
245
245
246
246
247
247
248
248
248
248
248
248
247
247
247
246
246
246
246
245
245
245
245
245
245
246
246
246
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
247
246
246
246
246
246
246
246
246
246
246
246
245
245
245
245
244
244
244
244
244
244
244
244
244
244
244
244
245
245
245
245
245
245
245
246
246
246
246
246
246
245
245
245
245
245
245
245
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
245
245
245
245
245
245
245
244
244
244
244
244
244
244
244
243
243
243
243
243
243
243
243
243
243
244
244
244
245
245
245
245
246
246
246
246
246
245
245
244
244
244
243
243
242
242
241
241
240
240
240
240
240
240
240
240
240
240
241
241
241
241
242
242
242
242
243
243
243
244
244
244
244
244
244
243
243
243
243
243
243
243
243
243
243
243
243
243
243
244
244
244
244
244
244
243
243
243
243
243
243
243
242
242
242
242
242
242
242
242
242
242
243
243
243
243
244
244
244
244
245
245
245
245
245
245
245
245
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
244
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
243
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
242
243
243
243
243
243
243
243
243
242