332
332
332
332
332
332
332
332
333
336
336
336
337
339
341
344
344
344
345
345
345
347
348
350
354
357
359
361
364
366
366
366
366
366
366
367
369
372
372
372
372
373
373
373
376
377
379
382
387
391
394
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
397
397
397
398
400
400
401
401
402
404
406
409
412
413
413
414
414
415
415
418
418
418
418
418
418
419
421
421
421
423
425
424
424
424
423
423
423
422
421
419
418
417
413
409
409
408
407
401
400
396
394
390
386
385
385
385
385
385
384
384
384
385
385
384
381
379
379
379
379
378
378
375
372
370
369
374
375
376
376
376
378
380
382
383
383
384
390
386
384
384
384
383
383
378
375
375
375
375
376
376
377
377
377
376
376
378
379
379
379
381
382
382
382
382
383
383
385
387
389
391
395
395
397
398
397
396
395
395
394
393
392
391
391
390
389
389
388
388
387
385
383
383
382
382
382
381
380
380
379
378
372
369
363
361
358
358
358
358
358
358
358
358
358
358
359
359
359
358
358
356
354
350
345
343
343
342
341
341
340
338
338
338
337
336
336
335
334
333
333
333
333
332
332
332
331
331
329
329
327
325
321
318
317
316
316
316
316
316
316
316
316
316
316
315
315
315
315
315
315
315
315
315
315
315
315
315
315
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
314
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
313
312
312
312
312
309
308
307
308
308
308
308
308
308
308
308
308
308
308
308
308
308
307
306
306
305
305
304
303
303
303
303
302
302
302
302
301
301
301
301
301
301
301
302
302
302
302
302
302
302
302
302
302
302
302
302
300
299
298
298
298
298
298
298
298
298
298
298
298
298
298
299
299
299
299
299
299
300
300
298
298
297
295
295
293
293
293
294
294
294
294
294
293
293
293
292
291
291
291
292
292
292
292
290
290
290
290
290
290
289
289
289
289
289
290
289
289
289
289
289
289
288
286
286
286
285
285
285
285
285
285
285
285
285
285
285
285
285
285
286
286
286
285
285
285
283
283
283
284
283
282
282
283
283
283
282
281
279
279
279
279
279
279
278
278
278
278
278
279
279
278
276
276
276
277
277
277
277
278
277
276
277
275
274
274
274
275
275
275
276
276
273
271
271
271
270
271
271
271
271
270
269
269
269
269
269
268
269
269
269
269
269
269
269
269
269
269
269
269
269
269
270
268
265
265
265
265
265
266
266
265
263
263
263
263
264
264
265
265
265
266
268
269
269
267
267
266
266
266
266
266
266
266
266
267
267
267
267
267
267
266
266
266
265
264
264
264
264
264
264
264
264
264
264
264
264
265
265
265
265
265
265
265
265
264
264
264
264
264
264
264
264
264
264
264
265
265
265
266
266
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
267
268
268
268
268
268
268
268
269
269
269
269
269
269
268
267
266
266
266
266
266
266
265
264
263
264
263
263
263
263
263
263
263
262
259
259
259
259
259
259
259
259
259
260
260
260
260
261
262
262
262
262
262
262
261
261
259
259
258
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
257
257
257
258
258
258
258
258
258
259
258
258
258
258
258
258
259
259
259
259
259
259
259
259
259
259
259
258
257
257
257
257
257
257
257
257
258
258
258
258
258
258
257
257
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
258
258
258
258
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
260
258
257
257
257
257
257
257
257
257
256
256
256
256
257
257
257
257
257
257
257
257
256
256
256
256
256
256
256
255
255
255
256
256
256
256
257
257
257
257
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
257
257
257
257
257
257
256
256
256
255
255
255
255
255
255
255
255
255
255
255
255
256
256
256
256
256
257
257
257
256
256
256
256
256
255
255
255
254
254
254
254
254
254
254
254
254
254
254
254
253
253
253
253
252
252
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
257
257
257
257
257
257
257
256
255
255
257
258
258
258
258
258
258
258
258
258
258
258
257
257
257
257
257
257
257
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
259
260
260
260
260
260
260
260
262
263
263
263
262
262
262
262
262
262
262
262
262
262
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
262
263
264
264
264
264
264
264
265
265
266
266
266
266
266
266
267
267
267
267
267
267
267
267
267
267
267
266
266
266
265
265
265
264
264
264
264
264
267
267
269
269
269
269
269
270
270
270
270
270
270
270
270
270
270
270
270
269
268
266
263
263
263
263
263
263
263
263
263
263
262
262
261
261
260
260
260
261
260
260
260
260
260
260
260
260
260
260
260
260
260
261
262
262
262
262
263
263
264
264
265
267
268
270
270
270
270
270
270
270
270
270
270
270
270
270
270
271
271
271
271
271
271
271
271
272
272
273
274
274
274
274
274
274
274
274
273
273
273
273
273
273
273
273
273
273
274
274
275
275
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
276
275
275
275
275
275
275
275
275
275
274
273
273
273
273
273
272
272
272
272
272
272
272
272
272
272
271
270
270
270
270
270
271
271
271
270
269
269
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
268
269
270
271
272
273
272
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
271
270
270
270
271
272
272
274
276
276
276
276
276
276
276
276
276
276
276
276
276
273
271
269
269
269
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
266
265
265
265
265
265
264
263
263
263
263
263
263
263
263
262
260
259
258
258
258
258
258
258
257
258
258
258
258
258
258
258
258
258
258
260
262
262
262
262
262
262
262
262
262
262
261
259
256
256
257
257
257
257
257
257
257
257
257
258
259
257
258
261
261
261
261
261
261
261
261
261
260
260
261
261
261
262
261
260
260
260
261
261
261
261
260
260
260
259
259
258
258
258
258
258
258
257
257
257
257
256
256
256
256
255
255
255
255
254
254
254
254
253
253
253
254
255
255
255
255
255
255
255
255
255
255
256
256
256
257
256
255
255
256
256
256
256
256
256
256
256
256
256
256
256
256
256
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
256
256
256
256
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
255
256
256
255
255
255
255
255
254
254
255
254
254
254
254
254
254
252
252
252
252
252
252
252
252
252
252
252
252
252
252
253
254
254
254
254
255
255
255
256
256
256
258
258
258
258
258
258
258
258
258
257
257
257
257
257
256
255
254
255
254
253
253
253
253
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
250
249
249
251
253
255
253
253
254
254
254
254
254
254
254
254
254
253
253
253
254
254
254
254
253
255
254
254
255
255
256
256
260
260
260
261
261
261
261
261
261
261
261
262
262
262
262
262
262
262
262
262
263
263
263
263
263
263
263
263
263
262
262
261
261
261
261
260
260
260
260
260
260
260
260
260
258
258
258
258
258
258
258
258
258
258
259
259
259
260
260
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
253
252
252
251
249
249
249
248
248
248
248
247
247
247
247
247
246
246
246
246
246
246
246
246
246
246
246
246
247
247
247
247
247
248
249
249
248
247
247
248
249
249
249
249
249
250
252
253
253
253
253
253
253
252
252
252
252
252
251
251
250
250
250
250
250
250
251
251
251
251
251
251
252
253
253
253
253
253
253
253
253
253
253
253
253
253
253
253
252
252
252
252
252
252
252
251
251
251
251
251
251
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
250
249
249
248
248
248
248
248
248
248
249
249
249
250
250
250
256
257
257
258
258
258
259
259
259
263
264
264
263
263
263
263
263
261
259
259
257
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
255
255
255
254
254
254
254
254
254
254
254
253
253
253
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
255
255
255
255
254
254
253
253
252
252
252
252
252
252
252
252
252
251
251
251
251
251
251
251
251
251
251
250
250
250
250
249
249
248
247
247
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
246
247
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
248
247
247
247
247
247
247
245
245
245
245
245
245
244
244
244
243
243
243
243
244
244
245
245
246
246
246
247
247
249
249
249
248
245
247
249
250
250
251
251
251
251
251
251
251
251
251
253
253
251
251
250
250
250
250
250
250
250
250
250
251
251
251
251
251
252
252
252
252
252
251
251
250
250
250
250
250
250
251
251
251
251
251
251
251
251
251
251
251
251
251
251
253
253
252
249
247
247
247
246
246
246
246
246
246
246
247
247
247
247
247
247
247
247
247
247
247
247
246
246
246
246
246
246
246
246
246
246
246
246
246
246
247
248
248
249
252
252
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
254
253
249
249
248
246
246
246
248
250
250
250
250
250
249
246
245
245
246
248
248
249
249
249
249
249
251
251
251
251
252
252
252
252
252
252
252
252
252
252
252
252
252
252
251
253
255
256
260
260
260
260
260
260
261
261
261
261
261
261
261
261
262
262
262
262
262
262
263
264
265
265
265
268
271
272
267
265
265
261
259
258
259
259
259
259
260
260
260
260
260
260
260
261
261
261
261
261
261
261
261
261
261
261
261
258
257
257
257
257
253
251
251
252
251
251
251
251
250
250
250
250
250
250
250
250
251
250
250
251
250
250
251
251
251
252
252
252
252
253
251
251
252
254
256
261
263
263
266
267
267
267
268
268
268
268
268
266
265
265
264
264
264
264
263
263
262
261
261
261
261
261
261
261
262
262
262
264
265
265
265
265
265
265
264
264
264
264
263
262
261
261
260
260
260
260
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
259
259
259
258
258
257
257
257
257
258
258
258
259
260
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
262
262
262
262
262
262
264
263
263
262
260
259
261
261
263
264
264
265
265
265
265
265
264
264
264
264
264
264
263
263
263
263
263
263
263
263
263
263
263
263
263
261
259
257
257
257
257
257
257
257
257
257
257
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
258
257
257
257
257
257
257
257
257
256
256
256
257
258
258
258
258
258
257
256
256
256
256
257
257
258
260
260
258
257
257
258
258
258
258
258
258
257
255
255
255
254
253
253
254
254
254
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
256
258
258
256
255
256
256
255
255
256
256
256
256
256
258
258
258
258
258
258
257
257
257
257
257
257
257
257
257
258
258
257
257
257
257
257
257
257
257
257
257
257
258
258
260
261
261
261
261
261
262
262
262
262
262
262
262
262
262
262
262
262
262
262
263
265
265
267
267
267
267
267
267
266
266
266
266
265
265
265
264
262
258
257
257
257
257
257
257
257
257
257
258
258
258
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
260
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
261
260
259
259
259
259
259
259
259
259
260
260
260
260
260
260
260
260
260
260
260
260
259
260
262
262
262
261
260
260
260
260
260
260
260
260
260
260
260