266
266
266
266
266
266
266
267
268
270
270
271
271
271
272
278
280
280
281
281
282
288
290
290
293
293
297
299
304
305
305
305
305
307
311
312
316
324
330
332
336
336
339
341
341
341
341
342
344
345
348
349
350
352
357
363
363
363
364
364
365
367
372
374
375
380
389
391
394
394
398
398
398
398
400
401
404
408
409
410
412
412
414
414
414
416
418
422
423
424
425
428
429
429
429
434
434
436
439
440
442
444
447
447
447
448
452
452
455
455
455
455
451
449
447
445
445
442
442
442
443
443
444
441
441
442
442
441
433
433
429
429
429
430
431
432
434
434
434
434
438
438
438
438
439
439
439
444
444
444
444
444
456
458
458
458
458
457
457
457
456
456
456
456
454
454
450
445
440
439
439
439
439
439
439
434
434
434
434
434
435
435
436
433
428
428
426
421
421
421
416
411
405
399
394
391
391
386
384
383
379
378
373
369
369
368
368
368
366
364
358
354
352
351
351
351
352
353
356
357
354
354
353
353
353
353
351
346
343
340
340
335
335
335
333
330
332
333
334
339
339
342
344
345
345
345
353
356
363
363
364
364
362
362
360
360
360
357
357
351
351
348
348
345
345
338
338
335
335
335
335
335
335
335
335
335
335
335
335
334
331
329
328
327
326
326
326
325
325
324
323
322
322
322
325
324
323
323
323
321
320
320
321
324
326
326
326
327
329
329
331
331
331
331
331
332
334
334
339
341
345
346
346
346
347
349
351
351
351
349
348
346
346
346
338
336
333
331
331
325
324
323
322
321
316
316
316
315
313
313
311
311
311
311
311
311
311
311
312
312
312
312
312
312
312
312
312
312
313
313
315
315
315
327
329
329
335
342
342
342
348
348
350
355
355
355
362
367
367
367
367
372
389
395
395
398
410
411
413
413
413
417
420
422
422
423
429
434
439
439
439
442
442
448
459
459
459
480
480
483
487
487
487
487
487
487
487
486
486
485
485
485
485
485
485
485
485
486
486
487
490
492
492
492
492
492
493
493
493
493
494
494
493
491
490
490
490
490
490
490
489
489
489
489
489
487
488
488
489
486
486
486
486
486
486
486
488
489
490
490
491
491
491
491
493
494
494
495
495
495
495
495
495
500
501
504
504
504
504
505
507
508
510
510
511
511
512
512
512
512
512
512
512
511
509
505
502
501
500
500
500
500
500
500
501
503
503
503
503
504
504
504
505
505
505
504
503
503
503
503
502
501
501
501
501
499
495
493
493
493
493
489
487
484
483
481
479
476
474
474
474
473
471
471
470
470
470
470
470
470
470
470
471
471
475
475
476
476
487
494
499
499
494
493
488
488
484
477
477
474
474
474
474
473
469
469
460
451
445
445
443
440
440
440
439
436
434
432
426
422
422
419
419
419
418
416
407
401
401
399
397
397
397
397
396
395
395
392
392
391
391
391
394
397
385
385
382
382
382
382
378
370
364
364
334
334
334
329
329
329
329
329
329
333
334
338
340
340
341
341
341
341
341
344
346
351
351
353
355
357
358
360
360
362
368
368
368
373
374
375
379
379
382
384
389
389
389
390
402
402
404
404
404
406
410
413
414
414
414
413
411
406
406
406
405
401
394
394
390
390
390
386
386
385
384
384
383
382
382
382
380
380
381
381
381
381
376
376
379
380
382
382
382
382
382
380
378
378
378
378
379
379
379
379
380
381
379
379
376
373
368
368
368
361
358
357
357
353
349
349
349
349
349
349
348
345
344
344
344
343
340
340
340
340
341
341
342
342
342
343
343
343
343
343
343
344
357
362
362
366
366
366
367
370
378
383
385
392
392
394
397
397
397
397
398
395
389
389
389
389
386
384
384
381
377
374
374
374
374
372
372
369
365
363
350
350
350
350
347
342
326
318
318
318
296
296
295
286
286
286
286
285
285
285
285
283
281
278
277
276
276
276
276
275
275
275
275
275
275
275
275
275
277
277
277
278
278
281
287
288
288
288
288
290
290
290
291
292
315
315
319
322
324
329
332
332
332
332
339
344
351
351
351
355
355
358
361
364
369
371
371
371
372
375
375
375
375
375
375
375
373
373
372
367
367
367
362
362
361
361
361
361
362
362
363
364
364
364
365
366
366
368
371
371
371
375
378
378
380
380
380
382
379
379
379
379
376
368
361
361
361
361
361
359
361
364
364
366
366
366
368
365
360
355
354
354
355
355
355
355
355
358
363
363
363
363
372
373
373
374
374
374
376
382
389
389
389
389
390
394
398
398
398
398
403
408
416
416
418
411
403
401
401
400
400
400
400
406
418
423
423
426
427
430
430
430
430
430
431
432
432
433
434
439
439
439
439
440
441
444
445
445
446
448
448
448
448
453
456
458
458
459
461
461
461
462
463
465
466
472
472
481
481
481
485
496
496
496
496
497
497
497
497
497
496
496
491
490
490
490
490
490
490
490
489
485
485
483
480
480
480
478
476
475
475
473
472
471
471
471
471
470
470
470
466
463
462
462
461
461
461
461
461
461
461
461
461
459
454
454
452
452
452
450
448
448
448
448
448
448
448
446
445
445
445
442
442
437
434
433
433
433
432
432
429
427
426
426
426
426
425
425
425
422
419
419
419
416
416
414
414
411
411
410
410
413
413
413
413
413
414
414
413
413
413
413
411
409
409
409
407
404
404
401
399
394
394
394
394
394
394
393
392
391
390
390
390
390
390
396
404
408
408
408
408
417
420
420
426
426
433
437
437
437
442
442
446
447
447
447
449
449
451
451
451
456
456
456
458
460
461
461
461
461
461
463
465
466
466
466
468
468
469
471
472
472
472
472
472
472
472
472
472
473
473
473
473
473
473
473
473
473
473
473
473
468
467
467
467
467
465
465
465
465
465
465
465
464
462
461
459
459
459
459
459
460
460
460
458
458
456
454
454
454
454
454
455
455
455
456
457
459
459
460
460
460
460
459
459
459
459
459
462
463
463
463
463
463
461
460
461
461
459
459
459
458
455
451
448
447
447
445
445
445
445
444
440
440
439
439
438
438
431
431
430
430
430
426
426
426
417
409
409
408
407
407
407
407
405
403
403
403
401
400
400
400
399
393
385
385
372
372
372
371
364
357
357
355
354
353
350
350
350
350
348
343
341
339
339
339
335
335
335
335
335
335
335
335
336
336
337
338
337
337
337
337
334
330
326
326
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
322
320
320
320
320
320
319
318
318
318
318
318
318
318
319
319
319
319
319
319
310
309
309
308
308
308
305
304
303
301
300
300
299
298
298
298
298
298
298
298
298
297
297
297
297
297
297
297
297
297
297
297
297
297
296
294
291
287
286
286
286
286
284
283
283
283
282
282
281
281
280
280
280
280
278
278
278
278
278
278
278
278
277
277
277
277
277
277
277
277
277
277
277
276
276
276
276
276
276
276
276
278
278
278
278
278
278
279
280
282
283
285
288
288
288
291
291
297
297
297
308
308
311
313
317
317
317
321
323
323
328
331
334
334
334
341
341
341
341
341
341
341
341
341
353
353
357
359
359
359
360
363
370
370
374
374
374
375
376
378
383
388
388
388
388
395
398
400
400
400
400
400
400
400
400
402
405
410
416
417
417
418
418
418
418
419
422
424
424
424
424
424
425
426
427
428
428
428
430
430
431
432
432
432
433
440
440
440
438
438
438
438
439
439
438
435
431
431
431
431
431
430
428
427
426
426
426
426
426
424
423
422
418
418
418
418
421
423
428
429
429
429
429
430
431
433
433
433
433
433
433
434
434
434
434
434
425
420
420
416
412
409
404
404
404
405
409
419
419
421
421
421
419
414
414
406
406
406
397
395
395
389
388
387
384
377
377
377
358
358
352
351
351
351
346
342
336
336
330
330
330
324
320
315
311
305
305
299
294
292
292
292
291
287
279
279
275
271
270
270
270
269
266
259
259
259
259
259
258
257
257
258
258
258
258
259
259
259
262
263
266
266
268
269
269
269
269
269
273
273
273
273
273
271
270
270
270
269
265
265
251
247
247
246
246
246
239
236
219
219
219
219
214
212
212
212
211
211
211
211
211
211
210
209
209
209
209
209
209
208
208
208
207
207
207
207
207
207
207
207
207
208
208
208
209
209
209
209
214
221
222
222
224
231
231
231
231
235
235
237
239
239
239
239
239
247
286
286
286
286
326
326
326
326
334
339
342
346
355
361
367
367
367
367
373
376
383
391
403
406
406
410
412
413
414
415
419
422
424
425
425
441
441
441
441
441
439
439
437
436
434
433
431
427
424
424
423
421
417
411
405
400
394
391
389
389
389
389
375
375
368
362
355
350
347
343
338
338
338
330
330
326
325
321
320
319
318
318
318
318
317
317
316
316
315
317
317
317
318
318
318
318
317
317
316
316
316
316
316
316
318
318
319
322
322
322
322
323
326
327
328
329
329
329
329
329
333
333
333
333
333
333
334
335
335
335
339
339
341
344
344
344
345
345
345
344
344
343
343
343
343
343
340
340
338
337
337
337
338
344
344
348
350
355
356
356
356
356
356
358
361
361
361
361
366
371
378
378
381
381
381
378
376
376
374
369
369
369
369
367
367
366
363
362
362
362
359
359
360
361
362
363
364
365
364
364
363
363
363
362
361
361
361
362
377
377
380
382
382
382
383
384
385
387
387
387
387
375
373
373
373
373
372
365
360
359
358
358
358
357
356
356
356
356
355
355
355
351
351
347
344
344
344
338
334
332
330
327
327
329
329
329
330
337
338
339
340
340
340
339
337
337
337
335
334
334
332
331
329
329
329
320
320
312
309
308
308
308
308
306
306
306
306
306
306
306
306
305
303
303
303
303
302
302
301
300
299
299
299
300
300
300
300
300
300
301
307
311
313
321
321
321
321
323
330
327
324
324
324
324
324
321
317
316
316
316
316
316
316
318
319
320
320
320
320
320
312
299
299
296
296
296
291
283
283
283
281
281
280
280
279
279
279
279
279
279
279
279
279
279
280
280
280
280
280
274
273
273
273
272
270
268
268
268
268
268
268
267
267
264
262
261
260
259
259
259
258
258
258
258
259
260
261
261
261
262
264
264
266
267
269
269
269
270
273
274
276
276
276
276
274
274
274
273
272
272
272
272
272
272
272
272
275
276
276
278
280
281
281
281
287
287
287
288
289
290
305
306
307
307
307
309
311
313
313
313
316
324
329
330
333
335
337
340
343
343
343
346
348
348
348
349
350
350
349
349
348
348
348
348
348
348
348
349
350
351
355
356
357
358
360
363
363
363
361
361
361
361
362
364
366
367
369
370
371
371
371
371
371
372
374
374
374
377
382
384
385
385
385
387
390
390
390
390
390
390
390
391
393
398
398
398
400
401
401
401
402
402
402
403
403
403
401
399
398
397
395
395
395
389
383
383
383
379
375
369
368
368
368
368
371
371
371
371
372
374
377
377
377
379
381
384
386
394
394
394
393
393
393
394
397
397
397
397
397
397
392
384
382
382
382
385
385
385
383
382
382
382
382
382
384
385
387
388
395
398
398
398
399
404
405
405
405
406
408
409
410
410
411
412
412
412
412
413
413
412
412
412
411
410
410
409
409
409
409
408
407
407
407
407
407
407
409
408
408
408
408
406
402
402
402
397
395
394
393
392
391
385
383
380
381
381
381
382
383
383
384
385
385
385
385
384
384
384
385
387
391
391
391
391
391
390
390
391
393
395
395
395
396
396
396
396
396
399
403
407
409
413
415
415
415
416
416
416
416
415
413
411
409
408
408
408
405
408
408
408
408
409
412
416
416
416
423
427
429
431
435
435
435
437
438
440
442
442
442
442
441
441
441
441
440
439
436
434
434
434
431
428
428
428
424
414
411
410
409
408
408
408
408
408
408
411
414
415
415
415
416
418
420
422
433
433
433
437
439
439
439
439
440
441
442
443
444
445
445
445
445
443
443
443
443
443
443
443
445
445
445
446
448
449
453
456
456
456
456
456
456
456
456
456
455
453
456
456
456
456
456
457
458
459
458
458
456
454
453
453
453
450
450
450
450
450
451
453
453
453
453
453
450
447
447
449
449
449
450
450
450
451
451
449
447
446
446
446
446
446
446
446
446
446
447
447
445
441
440
443
443
443
446
446
440
440
434
434
434
431
431
431
431
430
429
429
420
414
414
413
413
413
413
411
402
396
390
386
386
379
379
374
363
354
345
342
340
338
334
334
331
331
331
331
329
328
327
326
326
327
327
327
327
327
327
327
327
327
327
327
327
327
330
330
332
332
334
341
341
342
342
348
359
371
373
373
373
378
381
383
387
391
391
391
395
397
409
417
422
422
422
422
422
423
425
427
429
429
429
430
430
430
430
430
430
424
424
424
424
424
424
424
424
424
418
414
414
414
412
412
412
410
409
409
411
411
411
412
412
412
412
412
412
410
409
409
409
409
409
409
409
409
408
407
406
391
391
391
391
391
391
388
386
378
375
375
375
374
373
373
373
373
372
370
369
365
362
361
361
361
360
360
360
360
361
361
366
367
368
368
369
369
369
371
373
374
367
367
367
367
367
369
370
372
376
377
377
377
377
389
390
390
390
393
395
400
404
405
405
405
406
406
406
410
416
417
417
417
418
419
419
427
428
429
430
438
439
446
447
447
447
448
454
454
454
455
457
457
457
457
457
457
455
455
455
455
455
455
454
451
450
449
444
444
444
444
444
444
442
435
432
432
431
431
430
430
430
424
424
424
421
421
420
416
414
414
414
414
414
414
414
412
411
410
408
406
405
403
403
403
400
400
400
396
396
391
383
380
380
380
380
380
380
379
379
379
379
379
379
379
379
378
378
378
378
378
378
378
378
377
377
377
377
377
377
377
377
376
376
376
376
375
375
375
375
374
374
374
373
372
371
371
371
371
371
371
370
370
369
368
367
367
367
367
367
365
365
365
363
349
349
349
346
343
343
340
339
339
339
339
341
345
345
345
337
333
333
333
332
325
310
310
310
309
308
307
307
307
307
305
304
303
303
302
301
301
299
299
299
298
297
296
293
293
293
293
292
291
290
288
287
287
287
287
287
286
285
285
285
285
285
285
286
287
288
289
290
290
290
292
293
293
293
293
292
290
290
290
290
290
290
290
289
287
292
296
296
296
299
302
306
322
327
331
331
331
331
331
335
351
357
368
368
368
368
368
375
380
389
391
392
394
394
394
395
395
395
395
395
395
395
395
395
395
396
398
398
398
398
398
399
402
405
405
405
405
405
410
412
418
418
418
418
418
419
420
421
432
433
433
433
433
433
436
440
440
439
439
439
439
439
439
439
439
436
431
431
431
431
431
426
426
421
421
421
421
421
417
417
414
412
412
412
412
412
409
406
398
395
393
393
393
388
385
385
380
380
380
380
380
380
379
378
377
377
377
375
375
375
375
375
375
376
370
358
358
358
358
358
340
338
338
337
337
337
337
337
337
336
336
336
336
336
335
335
334
334
334
334
334
334
333
328
328
328
323
318
316
316
316
314
313
305
305
305
301
300
298
297
296
294
294
293
293
293
291
291
288
288
287
285
283
283
281
281
281
281
280
279
279
279
278
276
271
270
269
267
266
259
259
259
252
245
245
244
243
242
240
240
238
236
232
229
228
227
222
222
222
220
216
212
210
210
209
208
208
208
203
200
198
196
196
196
196
194
191
190
190
189
187
188
188
188
188
188
190
190
190
191
191
192
193
195
195
196
201
201
201
201
205
209
212
216
216
216
216
217
218
219
220
223
226
232
232
232
232
233
240
242
245
246
248
248
248
247
247
247
247
246
246
246
247
250
252
255
255
255
255
259
262
263
267
267
267
268
268
268
269
272
276
277
281
281
283
283
283
283
283
283
282
282
281
282
282
282
284
284
284
288
296
296
296
296
296
295
294
294
291
290
289
288
288
288
286
286
283
281
278
278
270
260
260
260
260
252
249
246
242
231
231
230
230
230
230
227
226
223
223
223
223
223
227
227
227
228
231
236
236
236
233
231
231
231
219
219
216
211
211
211
204
204
197
197
197
197
197
197
193
193
193
193
192
192
190
190
190
190
190
189
189
188
187
187
186
186
186
186
184
184
184
184
183
183
182
182
181
181
181
181
181
181
181
180
178
178
178
177
177
177
176
175
176
176
175
175
174
174
174
174
174
174
174
174
175
176
177
177
177
177
177
177
178
178
178
180
180
181
181
181
182
183
183
182
182
181
181
181
181
181
181
181
182
182
182
182
182
182
183
183
183
182
182
182
182
182
184
184
187
189
189
189
190
181
181
181
181
181
181
180
180
180
180
180
180
180
181
182
182
182
182
182
184
186
191
191
191
191
191
195
195
195
195
195
195
195
195
194
193
192
191
191
191
191
192
193
195
196
196
196
196
196
198
196
196
196
196
196
191
191
191
191
191
191
191
191
193
194
192
192
192
192
190
186
185
185
184
184
184
184
185
185
185
185
186
186
186
186
186
186
186
186
186
189
190
190
190
191
192
197
197
200
206
206
206
207
213
213
220
222
222
222
229
229
231
237
237
237
239
243
245
253
259
259
266
269
269
269
276
280
280
282
282
282
283
286
288
292
292
296
296
296
303
309
311
311
313
311
309
309
309
303
309
310
310
314
318
322
325
329
329
329
329
329
329
329
329
329
330
330
330
330
331
332
333
333
333
333
333
333
333
333
333
333
333
333
336
340
340
343
355
355
360
362
362
362
362
362
372
372
372
372
374
375
373
372
372
371
369
366
365
365
365
365
364
363
363
362
361
353
353
353
353
353
353
351
350
350
350
350
350
350
350
350
351
350
350
350
350
349
346
344
344
341
341
341
336
335
335
335
335
335
335
336
337
344
351
351
356
359
359
359
361
366
371
372
372
376
376
376
377
378
378
378
378
378
379
379
379
379
379
386
386
386
386
386
388
388
388
388
392
392
390
390
379
379
374
374
374
374
370
372
372
372
372
372
373
366
366
366
366
365
364
363
353
350
350
350
351
351
351
355
356
356
356
356
356
356
354
352
351
351
350
347
347
340
340
340
331
331
331
331
324
316
315
313
313
306
303
303
303
303
300
291
287
287
283
281
279
278
278
278
273
272
271
270
269
269
266
262
262
262
260
255
240
240
235
233
233
233
229
228
226
224
223
219
219
217
215
214
214
214
214
212
212
211
207
205
205
204
202
202
202
202
202
202
200
200
199
199
199
198
195
194
193
193
193
193
193
193
193
193
193
193
194
194
194
194
194
194
192
192
192
191
190
194
194
195
195
195