223
222
222
222
222
222
221
221
221
221
221
221
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
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
218
218
218
219
219
219
220
220
221
221
222
222
222
223
223
224
224
224
225
225
225
226
226
226
227
227
228
228
228
229
229
229
230
230
230
231
231
231
231
231
232
232
232
232
232
232
233
233
233
233
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
234
235
235
235
236
236
237
237
238
238
238
239
239
239
239
239
239
239
239
239
239
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
237
237
237
237
236
236
236
236
235
235
235
234
234
233
233
233
233
232
232
232
231
231
231
231
231
231
231
231
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
231
231
231
231
231
231
231
232
232
232
232
232
232
232
233
233
233
233
233
233
233
233
233
233
233
233
233
233
233
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
232
231
231
230
230
229
228
227
226
226
225
224
223
223
222
221
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
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
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
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
219
219
219
219
219
220
220
220
220
220
221
221
221
221
221
221
221
222
222
222
222
222
222
222
223
223
223
223
223
223
223
223
223
223
223
223
223
222
222
222
221
220
220
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
219
219
219
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
218
219
219
219
219
219
219
220
220
220
220
220
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
221
221
220
220
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
220
220
220
220
220
221
221
221
221
221
221
221
221
220
220
219
219
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
219
219
219
219
219
220
220
220
220
220
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
221
221
221
220
220
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
219
219
219
219
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
221
221
221
221
221
221
221
221
220
220
220
220
220
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
219
219
219
219
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
222
222
222
222
221
221
221
221
221
221
221
221
220
220
220
220
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
219
219
219
219
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
222
222
222
222
222
221
221
221
221
221
221
220
220
220
220
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
219
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
219
219
219
219
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
222
222
222
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
220
220
220
220
220
220
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
218
218
218
218
217
217
217
216
216
216
216
216
216
216
216
216
216
216
216
216
217
217
217
217
217
217
217
217
217
218
218
218
218
218
219
219
219
219
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
222
222
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
221
220
220
220
220
220
220
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
219
219
219
219
220
220
220
220
220
220
220
220
220
220
220
220
220
220
219
219
219
219
218
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
219
219
219
219
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
222
222
222
222
222
222
222
222
222
221
221
221
221
221
221
221
221
221
220
220
220
220
220
220
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
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
219
219
219
219
219
219
219
218
218
218
218
218
218
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
217
218
218
218
218
218
219
219
219
219
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
222
222
222
222
222
222
221
221
221
221
221
221
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
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
219
219
219
219
219
219
218
218
218
218
218
218
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
218
218
218
218
219
219
219
219
219
220
220
220
220
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
221
221
221
221
221
221
220
220
220
220
220
220
219
219
219
219
219
219
219
219
219
219
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
218
219
219
219
219
219
220
220
220
220
220
221
221
221
221
221
222
222
222
222
222
223
223
223
223
223
224
224
224
224
224
225
225
225
225
225
225
225
225
226
226
226
226
226
226
226
226
227
227
227
228
228
228
228
228
229
229
229
229
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
231
231
231
231
231
232
232
232
232
232
232
233
233
233
233
233
234
234
234
234
234
235
235
235
235
235
235
236
236
236
236
236
236
236
236
236
237
237
237
237
237
237
237
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
238
239
239
239
240
240
241
241
241
242
242
243
243
243
244
244
244
244
244
244
245
245
245
245
245
245
245
245
245
245
244
244
244
243
243
242
242
242
241
241
241
241
241
241
241
241
241
241
241
241
241
242
242
243
243
244
244
245
245
246
246
246
246
246
245
245
245
244
244
244
243
243
243
242
242
242
241
241
241
240
240
240
239
239
239
238
238
238
238
238
239
239
240
241
241
242
242
243
244
244
245
245
246
246
247
247
247
247
247
247
247
247
247
247
246
246
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
246
246
246
246
245
245
245
245
244
244
243
243
242
242
241
241
240
240
239
239
239
240
240
241
242
242
243
244
244
245
245
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
245
245
245
244
244
244
244
243
243
243
242
242
242
241
241
241
241
241
241
241
241
241
241
242
242
242
242
242
242
242
242
243
243
243
243
243
244
244
244
244
244
244
245
245
245
245
245
245
245
245
245
244
244
244
243
243
243
242
242
242
241
241
241
241
240
240
240
240
240
239
239
239
239
239
238
238
238
238
238
237
237
237
237
237
237
237
237
237
237
237
237
237
237
237
236
236
236
236
236
235
235
235
235
235
234
234
234
234
233
233
233
232
232
232
232
231
231
231
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
229
229
229
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
227
227
226
226
226
226
226
226
225
225
225
225
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
223
223
223
223
223
223
223
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
221
221
221
221
221
220
220
220
220
219
219
219
219
233
219
220
220
220
221
221
222
222
222
222
222
223
223
223
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
226
226
226
226
226
226
226
226
226
226
226
227
227
227
227
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
228
228
228
228
228
228
228
228
228
228
228
227
227
227
227
227
227
226
226
226
226
226
226
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
223
223
223
223
223
223
223
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
236
234
232
231
231
230
228
226
226
225
225
225
224
224
223
222
222
221
220
220
220
219
219
219
219
219
219
219
219
219
219
219
219
219
219
219
220
220
221
221
221
221
222
222
222
223
223
224
224
225
225
225
225
226
226
226
226
227
227
227
228
228
228
228
229
229
229
230
230
230
230
230
230
230
230
230
230
230
231
231
231
231
232
232
232
232
232
233
233
233
233
233
234
234
234
234
235
235
236
236
237
237
237
237
238
238
238
238
238
238
238
238
238
238
239
240
241
241
242
243
244
244
245
245
244
243
242
241
241
241
241
241
242
243
243
245
246
246
246
245
245
244
243
242
242
241
241
240
239
239
239
238
238
238
239
241
242
243
245
247
247
247
246
246
246
246
246
246
246
246
246
246
246
247
247
247
247
248
250
251
253
254
254
254
254
254
255
255
255
256
256
256
257
257
257
257
257
257
256
255
254
254
254
253
252
251
251
250
250
249
249
249
248
248
248
247
247
246
246
245
245
245
245
245
245
245
244
244
244
244
244
244
244
244
244
245
245
245
245
246
246
246
246
247
261
245
259
258
257
257
256
256
255
255
254
254
252
250
249
249
248
248
247
247
247
247
247
247
247
247
247
247
248
248
248
247
246
243
242
239
238
238
239
240
241
241
242
242
243
243
244
244
244
245
245
246
246
246
245
244
243
242
242
242
242
242
242
242
243
243
245
246
246
245
244
243
243
241
240
239
239
238
238
238
238
238
238
238
238
237
236
236
235
235
235
234
234
234
233
233
233
233
233
232
232
231
231
231
231
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
230
229
228
227
226
225
225
225
225
225
225
225
225
225
225
225
224
224
224
223
223
222
222
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
221
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223
223