300000
128256
233
215
216
208
216
219
206
211
226
215
241
245
227
234
213
209
225
221
232
213
220
250
204
212
239
225
241
239
219
206
201
209
224
220
208
217
230
226
214
226
200
241
210
244
242
211
240
206
218
213
244
242
240
248
209
206
212
206
219
224
227
244
237
244
202
203
248
200
243
244
230
232
234
249
234
221
244
243
221
242
217
215
201
250
202
249
249
233
222
200
215
228
203
247
225
236
231
212
231
242
225
241
244
234
224
246
221
208
235
224
224
217
200
245
238
225
247
208
241
230
246
240
225
213
227
248
211
208
215
209
209
243
228
210
204
218
216
248
221
230
235
234
211
202
210
203
211
201
242
217
222
234
236
232
249
212
236
214
242
243
240
210
241
224
215
249
203
246
200
238
203
224
218
245
226
211
202
235
200
211
231
229
209
249
208
248
208
219
233
230
218
237
226
246
206
207
226
244
229
208
244
204
242
231
219
212
238
202
246
248
203
208
231
204
234
220
202
221
205
234
207
201
226
202
227
236
246
238
220
221
244
222
225
218
235
247
208
222
227
243
212
211
240
212
224
249
224
250
238
250
226
249
239
235
237
220
247
244
232
249
246
204
246
214
209
239
229
223
215
201
244
239
218
239
230
220
245
207
214
231
204
201
225
207
209
200
240
205
230
222
202
200
229
233
233
221
212
249
237
219
210
239
230
237
242
202
232
235
207
248
203
236
217
204
211
217
217
200
227
218
245
207
210
201
229
210
200
223
238
204
229
235
236
231
223
243
219
228
231
245
202
202
230
212
207
215
236
224
206
200
222
215
203
204
248
245
238
229
233
227
213
245
237
226
205
250
223
222
213
238
224
209
203
240
232
211
225
241
216
216
248
212
205
240
245
229
238
201
248
208
249
223
250
241
216
236
246
212
232
238
204
225
225
229
223
239
224
200
200
249
241
221
231
233
237
220
241
233
228
218
249
210
246
204
249
226
228
242
243
206
216
232
221
203
207
217
234
239
248
208
203
219
229
201
235
247
214
201
235
209
233
248
243
208
202
244
250
248
200
200
214
237
210
222
201
234
232
235
201
206
222
205
200
249
201
225
212
203
202
223
250
245
244
227
214
216
220
216
242
243
239
247
209
244
249
247
247
205
232
227
244
235
250
209
239
230
226
224
247
235
213
243
209
207
238
210
215
227
225
213
229
216
211
218
207
210
234
240
219
242
242
212
246
247
233
235
228
219
205
208
233
247
247
212
229
248
238
218
201
216
247
213
230
239
232
240
217
232
235
215
214
211
244
215
229
250
225
238
248
210
205
202
244
245
250
249
214
250
213
226
248
250
208
219
223
249
234
224
232
246
248
201
209
241
226
239
249
227
207
211
207
202
239
221
225
250
231
208
232
227
209
208
250
235
219
239
239
248
214
242
207
229
235
205
246
227
211
236
246
224
226
240
221
213
226
246
232
207
250
203
245
243
220
203
210
217
214
200
245
224
213
231
239
232
204
214
247
206
226
223
207
242
216
235
249
209
217
204
237
217
239
222
233
241
209
209
243
231
216
234
239
232
217
217
246
250
212
239
222
250
228
207
248
212
224
212
243
233
224
238
230
234
247
248
209
216
232
223
247
222
210
216
205
204
228
208
227
209
237
246
226
206
219
241
206
225
243
241
211
213
247
219
241
235
236
244
200
238
244
213
210
236
234
202
247
202
248
221
247
219
244
223
231
208
247
240
211
233
208
202
221
232
247
218
207
234
206
248
242
204
249
232
211
211
246
207
217
237
249
230
239
232
205
213
201
241
224
248
207
236
213
242
226
248
239
216
213
216
200
208
233
242
228
210
234
217
247
232
223
240
207
203
200
242
235
211
239
204
218
239
233
221
249
217
225
242
202
235
216
216
200
244
246
249
203
230
246
218
205
248
243
202
204
206
225
205
214
210
250
239
202
224
235
211
213
233
243
208
236
224
229
236
242
200
210
209
210
211
209
229
225
237
238
224
229
219
213
238
249
238
227
239
222
218
244
223
204
210
229
211
205
233
215
245
213
219
225
212
209
206
232
249
246
221
211
201
232
223
222
234
216
232
243
236
204
204
206
237
202
215
217
212
240
216
205
209
247
207
223
223
207
222
246
240
219
203
202
250
234
223
222
245
206
238
248
215
237
240
219
234
231
214
202
207
243
250
212
204
201
224
240
227
229
210
228
232
233
207
212
238
200
238
241
221
241
244
203
232
230
235
238
218
241
240
221
218
249
229
235
212
231
233
212
239
215
236
234
247
236
218
204
212
229
237
214
248
200
207
226
203
203
246
203
249
218
224
249
221
201
209
234
245
220
228
247
217
236
248
208
242
248
250
220
227
223
206
249
206
216
239
213
234
234
212
229
206
243
220
213
243
223
242
237
230
204
239
228
215
211
244
238
240
225
240
244
241
205
213
243
217
211
224
231
235
244
249
211
219
215
227
211
228
228
236
221
228
215
226
217
235
217
244
212
237
206
250
223
228
246
212
241
202
206
222
231
201
208
207
204
208
241
208
244
219
210
237
208
231
204
202
216
225
225
233
225
202
233
231
205
216
247
212
200
226
232
249
207
248
229
211
236
219
205
201
238
239
241
209
214
215
212
236
246
221
204
200
225
212
205
227
214
249
221
236
247
241
248
206
235
250
219
237
216
230
204
229
231
204
247
211
211
234
250
214
213
219
229
217
241
215
219
205
217
222
235
249
247
224
249
207
241
220
211
224
215
236
244
250
237
242
249
240
216
230
223
239
200
226
231
248
207
236
203
250
203
243
208
246
210
227
247
205
209
206
227
203
224
219
213
236
231
244
248
229
210
244
240
246
239
203
245
224
206
241
218
250
202
246
229
238
224
242
223
234
225
210
210
216
200
216
215
214
222
217
230
238
231
220
243
215
220
237
206
210
217
209
201
200
226
244
210
224
201
248
202
246
222
203
210
231
206
247
210
208
229
249
220
244
223
225
242
242
233
243
247
203
204
218
229
241
225
219
231
228
244
230
242
238
239
219
223
249
239
207
215
249
231
242
242
221
245
218
226
217
203
233
234
222
208
213
245
231
240
228
214
229
242
208
222
220
219
200
226
211
202
215
246
226
217
219
240
210
216
209
203
247
237
215
234
232
213
235
207
246
230
235
223
207
242
202
233
206
228
220
204
240
250
234
219
246
212
243
229
231
232
219
216
226
215
226
223
235
229
238
233
207
221
241
237
231
201
235
228
239
223
235
245
207
214
248
214
223
201
231
203
200
202
228
206
234
217
216
245
242
205
207
220
203
204
217
226
201
201
206
200
214
215
236
241
243
249
249
222
248
226
237
223
246
212
219
211
232
246
206
243
216
211
234
210
227
250
213
202
230
235
246
207
243
233
231
246
211
207
239
231
250
239
229
240
202
217
226
236
249
232
217
211
223
220
242
247
217
207
232
220
212
246
208
209
234
224
228
237
235
235
230
250
231
222
227
244
207
225
209
202
229
244
240
222
244
212
209
218
233
239
208
229
236
219
236
213
244
213
217
245
234
231
203
214
218
239
245
203
215
229
241
224
244
242
232
245
201
250
250
201
245
233
244
245
210
248
226
203
212
226
215
232
234
250
214
208
234
202
219
204
229
202
226
232
207
246
230
245
250
209
245
219
210
216
225
240
202
224
221
223
200
208
248
250
249
200
213
220
223
230
230
247
242
227
224
235
211
219
244
222
225
223
249
244
225
236
236
205
232
213
226
227
215
223
248
248
248
207
233
235
232
210
217
202
206
200
211
244
238
247
230
230
214
232
220
212
219
232
249
242
209
242
204
227
225
212
224
220
250
233
213
213
227
227
213
250
224
200
235
212
238
217
203
234
225
203
217
213
214
231
208
232
233
225
220
209
244
211
236
217
229
235
228
207
244
204
223
216
235
212
222
222
225
210
210
222
206
223
225
245
226
208
201
249
213
212
232
200
213
228
213
219
201
243
216
214
243
210
240
205
218
209
249
240
242
215
223
213
248
239
227
205
221
209
234
229
203
214
244
247
215
200
242
242
212
246
235
235
226
242
238
227
210
238
204
240
228
237
237
231
218
200
248
214
222
233
202
214
224
223
248
201
216
247
233
234
211
209
232
204
230
205
249
212
220
222
208
241
215
230
207
238
221
219
216
213
250
242
218
245
203
218
249
221
214
239
218
239
232
216
205
227
214
233
239
232
239
232
239
202
206
230
207
229
207
208
240
220
222
221
230
227
209
245
237
236
240
243
249
206
248
219
229
218
217
203
222
250
200
231
230
224
226
245
214
204
229
238
207
247
231
210
244
205
219
214
215
248
217
218
238
207
220
243
250
223
231
211
227
230
242
210
200
210
221
222
232
212
227
247
228
228
217
223
244
230
210
239
246
215
222
245
225
228
241
214
220
230
207
217
221
229
221
200
208
207
226
235
246
216
236
241
239
232
250
208
215
202
209
236
230
236
202
242
245
214
240
232
230
229
217
208
203
242
229
217
223
219
246
213
234
206
226
204
236
228
234
219
211
248
212
213
207
206
246
213
239
202
217
249
215
207
219
201
202
231
204
243
240
245
237
210
246
214
227
221
227
223
212
225
221
235
247
201
240
217
235
236
242
246
241
223
233
226
245
205
225
239
200
212
216
205
235
234
225
239
246
228
207
220
205
246
241
248
245
239
230
231
203
201
241
224
214
222
246
241
225
218
240
225
212
205
235
208
242
223
205
210
245
208
209
212
239
206
213
235
232
211
214
218
218
211
239
230
209
219
204
223
242
218
240
222
223
226
244
200
217
211
210
210
208
217
222
231
240
224
247
204
213
215
231
200
224
247
202
236
226
231
223
206
201
237
230
237
206
233
236
210
240
230
201
227
241
225
213
224
239
233
203
226
219
218
238
207
240
233
222
234
212
209
236
231
245
244
211
215
245
238
229
212
225
229
230
200
243
232
220
234
250
200
219
248
217
202
237
204
230
219
246
215
234
232
208
234
213
221
249
236
215
245
239
244
226
210
205
218
201
211
240
244
245
219
237
230
243
235
236
250
211
241
239
241
231
222
230
221
229
228
213
234
237
241
217
245
205
203
230
207
244
249
242
210
240
235
227
212
242
227
208
207
239
246
250
222
207
232
231
204
222
241
244
238
224
231
243
239
203
209
214
221
233
223
226
249
201
224
221
244
232
214
228
245
223
243
203
233
218
214
205
245
227
222
220
209
248
236
249
217
209
202
207
209
235
228
209
249
200
207
200
202
207
245
226
247
218
200
244
219
250
244
242
210
203
214
234
231
209
244
223
250
227
203
225
242
228
217
205
221
207
215
236
206
223
228
213
244
201
214
201
240
246
222
225
248
223
222
230
249
228
202
205
207
239
240
249
248
211
243
201
224
223
217
220
228
209
236
230
222
249
244
250
235
218
207
200
237
201
240
234
241
223
234
202
216
202
201
249
241
240
209
238
220
219
242
231
234
214
226
221
221
224
228
227
227
249
227
235
231
206
230
201
248
250
238
246
241
202
228
218
249
215
250
230
210
209
224
240
227
249
212
214
205
210
216
240
222
200
214
213
211
205
248
241
213
228
225
220
240
222
246
223
206
210
200
239
205
235
237
247
233
235
202
225
206
236
222
248
234
211
238
207
228
207
202
214
241
245
236
242
201
222
211
250
213
245
227
245
220
209
218
211
246
207
243
206
211
241
223
242
229
222
212
206
223
210
246
201
228
249
214
219
235
225
203
216
237
228
221
236
223
250
224
241
242
245
201
231
246
236
238
237
201
225
216
216
222
231
236
213
243
229
239
250
200
250
227
224
240
240
220
200
250
233
215
242
222
224
222
248
202
204
242
204
226
211
239
200
205
214
231
234
237
223
237
219
237
239
229
226
239
222
221
240
238
236
214
231
231
237
211
209
244
222
203
245
217
230
229
242
245
210
247
206
215
401
420
354
482
348
512
475
497
472
366
486
504
470
496
455
346
462
384
387
513
324
440
435
352
391
448
430
380
405
354
487
431
349
491
380
356
488
458
466
476
364
440
468
412
472
459
400
455
330
330
436
408
362
385
416
367
385
480
513
408
354
356
404
467
420
332
365
468
448
451
419
509
494
491
466
398
407
329
516
412
326
407
347
374
490
482
323
387
465
466
478
414
370
420
411
487
509
399
464
466
385
360
465
365
414
357
350
338
491
406
331
421
322
497
325
442
482
459
394
410
418
505
346
499
432
520
366
449
488
492
390
492
385
506
363
338
413
406
412
370
357
482
331
447
463
486
507
388
446
512
332
404
390
457
420
500
348
384
329
415
503
394
433
384
397
505
349
376
502
476
460
444
421
422
500
345
452
405
371
428
432
456
505
454
342
513
345
447
420
506
410
450
420
505
339
472
320
427
384
383
360
402
361
325
489
472
376
400
472
384
463
418
364
451
447
408
491
505
327
382
468
518
337
436
357
338
410
387
341
402
329
439
474
403
334
463
475
455
396
407
432
348
408
431
324
489
421
445
496
397
460
520
378
499
428
347
367
346
510
465
512
385
439
441
481
401
477
515
419
397
342
362
443
475
335
347
349
349
335
330
432
517
507
408
468
503
478
396
513
502
492
370
431
376
368
463
359
497
348
334
510
355
484
349
341
346
502
456
431
332
358
446
441
460
501
333
406
361
503
428
329
391
490
399
520
343
343
385
478
487
444
320
461
517
424
478
419
413
410
432
440
496
351
519
432
442
332
384
511
416
503
449
446
434
364
417
489
512
513
347
477
376
516
375
387
396
337
374
509
498
442
322
338
422
488
409
414
367
323
493
504
411
425
496
334
454
479
366
367
489
400
462
372
340
483
465
440
513
465
421
333
418
380
455
375
447
497
352
364
351
430
446
341
329
450
340
361
380
325
368
461
422
385
358
441
336
401
360
491
512
347
501
499
394
443
509
471
359
396
416
394
507
476
432
346
437
477
341
335
398
375
482
371
383
348
439
471
347
464
515
321
460
469
434
457
474
461
453
324
415
392
455
435
381
477
486
374
363
331
468
338
376
482
517
502
332
482
409
396
441
507
423
364
496
336
479
364
400
514
455
326
428
372
481
383
414
344
435
372
397
425
382
465
353
515
451
422
422
471
476
399
457
451
370
399
399
422
322
505
486
412
399
378
517
466
483
364
439
518
395
431
513
485
441
341
393
391
401
366
517
439
514
449
508
354
412
503
413
490
477
363
442
488
428
474
331
447
462
396
408
383
506
377
468
480
453
504
501
435
402
341
410
465
354
347
409
491
445
398
488
430
475
361
404
325
450
498
390
505
365
487
516
383
474
399
478
381
410
501
455
486
326
469
354
513
393
372
322
494
458
513
427
391
369
388
514
462
404
515
336
351
388
418
437
340
455
429
460
510
469
512
361
441
330
441
493
478
468
476
479
426
474
386
403
410
431
409
508
470
408
338
418
460
518
415
370
436
343
347
511
512
410
392
360
491
330
401
447
363
502
470
411
416
365
383
382
336
496
453
444
508
355
348
328
480
351
516
344
453
348
444
346
331
346
421
408
389
406
398
358
351
427
334
322
517
475
457
460
360
321
432
452
357
393
472
469
380
457
357
374
415
429
458
477
465
460
391
320
418
383
411
444
365
412
451
464
383
500
469
458
390
430
347
418
380
405
366
483
377
453
474
389
350
369
367
350
347
385
393
380
435
444
446
444
380
428
502
444
474
429
463
490
373
470
468
481
460
425
328
496
490
335
507
357
348
354
515
323
483
378
488
513
468
326
504
340
465
413
367
343
468
503
435
377
320
359
451
325
507
346
494
495
477
371
380
432
480
393
476
452
507
369
434
470
338
383
372
414
483
329
320
423
508
468
321
388
326
501
484
441
454
425
456
349
395
439
338
387
429
393
365
414
427
515
402
439
489
495
391
425
514
470
320
381
407
408
468
432
389
378
464
361
421
469
348
378
406
437
487
437
430
375
489
448
322
423
430
509
333
333
333
387
439
398
361
402
487
475
428
518
429
369
359
378
360
473
378
508
391
339
468
338
456
342
332
426
399
385
380
403
410
336
466
453
403
500
468
507
368
430
340
321
405
347
496
491
423
498
419
422
410
370
370
428
430
495
342
436
507
482
336
431
515
430
326
496
430
410
392
491
507
353
433
324
381
445
483
423
360
381
376
511
337
470
329
342
327
494
397
357
479
381
441
450
328
355
430
416
370
355
355
424
374
455
353
350
441
508
416
378
444
403
393
505
324
386
515
418
353
421
372
446
513
481
336
391
380
406
434
484
452
519
456
327
431
350
432
374
349
462
360
358
519
430
382
412
446
354
355
337
360
438
441
401
330
480
387
462
407
408
492
497
412
323
402
463
400
501
423
440
413
416
372
428
427
411
358
385
374
504
404
391
389
488
419
503
340
498
509
444
439
421
516
390
484
385
422
407
382
400
467
390
445
484
438
487
368
512
431
496
329
453
481
390
458
359
400
376
513
423
380
476
342
371
370
510
463
386
453
483
420
491
445
455
470
486
466
388
320
487
411
389
424
477
473
351
418
477
484
482
412
362
508
437
482
359
480
427
475
370
442
422
504
472
442
360
432
324
486
519
508
446
373
347
464
421
498
423
455
511
435
324
502
511
478
456
441
410
417
376
331
498
392
344
326
484
462
438
501
342
347
368
478
469
329
323
402
330
427
336
413
518
453
393
497
380
459
422
465
433
503
332
434
437
365
512
381
487
447
358
428
441
492
367
467
397
360
396
359
429
482
355
414
493
409
421
336
400
436
380
508
376
342
505
510
461
371
445
357
420
499
512
498
396
510
513
382
484
458
490
428
513
373
389
493
403
440
471
412
418
360
470
404
352
519
377
398
471
376
427
428
396
503
470
482
428
373
357
323
516
329
414
504
443
428
413
487
491
480
344
463
376
517
395
397
349
418
423
379
385
443
460
488
383
407
388
437
519
412
445
419
401
505
422
353
508
507
345
487
455
477
369
425
444
358
452
334
410
422
442
444
356
337
410
431
470
357
440
458
432
351
351
397
375
360
433
354
373
397
491
441
340
408
459
400
471
366
424
378
406
476
442
448
394
419
405
332
467
325
344
420
488
506
473
425
419
449
378
420
464
418
381
422
371
430
389
325
343
471
337
480
372
325
446
376
321
448
328
361
497
404
476
433
378
328
479
390
346
340
464
504
379
429
486
448
486
472
465
517
365
399
393
412
342
481
520
482
394
327
354
358
361
395
360
327
346
470
501
487
455
519
347
430
384
462
425
364
415
421
344
508
440
434
396
482
389
492
401
426
391
462
483
442
404
508
415
458
405
489
439
403
456
495
491
406
341
460
439
432
516
497
453
368
482
351
422
487
465
463
387
512
520
345
474
320
398
451
517
335
366
371
459
361
447
470
372
320
471
483
479
375
486
368
459
464
474
462
371
353
458
468
421
354
352
322
467
340
329
343
510
328
465
358
403
357
381
372
423
510
393
467
337
434
503
453
430
447
456
391
320
425
388
460
494
497
421
381
365
343
458
510
406
494
334
374
344
356
321
437
328
463
399
510
509
430
484
328
516
390
408
358
457
379
465
384
342
374
388
407
344
457
365
448
415
373
438
321
346
482
392
357
451
455
465
508
437
485
413
355
399
499
465
442
354
443
399
375
410
353
484
430
428
483
493
433
462
420
443
370
325
519
471
442
420
411
434
459
442
451
454
366
375
512
328
500
494
339
469
471
410
338
466
331
442
489
357
437
498
497
405
513
322
457
516
430
483
443
394
385
337
495
470
431
407
443
512
470
468
380
384
498
495
444
496
486
378
434
408
396
340
500
445
519
509
495
447
417
388
428
376
352
474
497
431
320
400
457
472
381
327
442
465
431
478
332
442
473
497
502
471
431
504
496
385
404
367
484
353
495
473
506
344
421
477
400
435
403
405
419
484
388
372
437
515
378
371
326
388
419
430
365
513
372
472
505
376
348
512
341
462
338
379
361
359
494
400
425
455
345
496
356
506
472
425
418
454
329
466
381
432
454
375
363
466
442
491
326
488
474
509
449
321
323
430
439
386
389
337
432
454
383
468
429
419
412
499
377
350
383
425
477
380
462
493
457
518
327
423
472
334
375
409
413
358
325
479
435
467
465
343
406
387
458
414
453
379
328
406
480
468
393
434
376
336
383
342
491
343
328
517
493
421
419
381
368
344
509
326
461
446
466
360
384
407
321
427
355
430
489
355
342
501
442
352
458
490
365
427
401
421
330
474
449
321
378
487
346
334
448
405
408
507
376
359
355
358
348
518
364
430
334
390
341
324
424
420
453
436
466
412
410
388
360
450
443
421
496
322
479
417
429
478
515
510
339
480
406
484
328
320
336
445
332
411
425
449
321
378
515
460
456
419
425
378
419
347
438
352
437
403
470
335
348
415
341
499
486
343
380
509
507
458
421
404
335
500
399
474
375
383
440
444
373
438
376
341
443
435
330
336
513
509
353
475
378
428
448
447
381
511
349
352
407
448
404
415
423
321
364
395
356
489
374
340
419
410
360
506
390
517
422
421
442
320
520
511
483
428
328
431
478
508
383
503
457
465
355
395
450
430
331
425
436
469
468
473
372
335
362
473
410
476
337
478
391
422
323
482
457
502
448
441
336
456
433
417
339
445
436
422
422
493
390
503
443
367
413
441
381
394
492
389
490
414
490
435
402
344
368
375
409
354
488
469
505
465
328
402
454
450
365
436
486
381
452
373
485
378
439
467
426
353
350
422
423
375
355
483
488
419
366
378
422
419
391
483
517
375
467
409
497
415
464
466
492
432
344
411
346
354
482
438
416
476
404
349
473
505
327
355
326
479
471
226
210
242
215
244
244
207
235
213
221
203
243
236
224
209
249
225
214
238
227
204
217
228
228
246
222
207
236
230
244
243
205
206
201
229
226
212
247
216
216
223
202
224
213
239
248
205
238
214
225
229
208
245
201
232
246
228
214
217
243
223
227
233
200
246
204
230
202
231
221
201
241
243
213
246
243
247
219
214
235
209
209
242
212
201
203
201
247
242
248
218
218
203
218
204
228
237
243
242
203
248
203
238
247
229
212
200
214
200
211
230
232
238
249
210
240
239
221
249
239
237
211
229
240
203
237
205
212
216
218
220
201
250
229
223
235
236
220
227
217
235
238
226
216
240
215
244
205
232
211
236
230
249
222
246
223
218
229
227
236
207
244
213
203
242
238
222
214
234
249
240
241
235
238
200
246
249
221
210
238
244
216
245
225
245
239
215
231
236
214
241
206
208
224
248
203
211
212
247
233
226
240
239
236
202
227
201
216
233
224
214
242
209
233
231
201
218
238
217
243
241
211
210
227
200
249
246
234
246
212
201
216
244
238
245
233
230
225
241
209
212
241
200
201
230
250
249
209
226
221
214
221
241
229
217
225
229
224
218
237
204
247
235
240
206
209
218
246
230
226
222
206
221
223
217
237
206
218
219
247
243
216
238
234
244
227
246
230
205
220
240
200
216
212
205
234
245
225
235
233
228
207
247
232
234
207
250
207
207
209
242
241
210
209
238
201
223
225
249
211
208
212
222
247
218
231
208
244
208
221
221
249
224
219
208
220
212
242
248
248
246
231
241
226
206
216
223
208
241
248
247
219
203
229
247
201
202
219
239
203
214
215
238
217
235
229
230
249
234
224
231
244
241
229
220
230
227
214
231
226
234
207
237
229
208
221
248
244
220
201
215
210
207
202
207
207
215
229
243
229
244
241
235
217
221
200
217
201
244
244
221
203
229
221
205
216
209
222
224
218
212
249
219
239
203
206
237
200
240
220
200
244
212
234
237
208
232
213
216
225
248
202
249
226
224
208
212
239
222
243
205
247
241
240
237
209
225
242
206
206
215
203
232
247
200
246
221
227
205
244
242
235
246
227
206
237
225
219
209
219
220
206
223
225
211
213
220
213
218
221
203
230
230
235
217
206
240
236
200
217
243
239
228
248
241
215
221
225
216
241
220
235
242
234
206
245
211
215
213
226
217
231
205
224
230
201
216
230
206
242
200
203
206
225
248
232
211
245
228
230
216
208
207
210
215
202
211
213
234
250
223
221
231
224
228
231
202
217
245
247
232
210
249
208
245
217
246
225
232
229
217
210
202
202
206
200
202
208
249
228
235
240
219
223
233
233
236
228
201
214
239
205
233
229
232
202
235
246
200
200
215
230
202
233
223
215
242
231
244
237
245
213
212
213
217
218
201
245
215
235
242
225
232
236
228
247
206
239
203
213
218
215
217
213
250
242
248
233
228
242
202
250
229
209
218
245
231
241
202
205
223
233
237
215
221
237
249
227
246
208
206
240
232
204
218
237
248
234
202
215
227
220
217
213
226
239
225
248
216
228
207
230
211
212
239
229
230
234
232
229
244
226
211
216
250
232
238
226
205
208
202
237
238
200
218
215
222
220
249
248
250
247
224
211
203
213
211
241
247
225
218
237
241
234
239
220
246
213
227
237
232
222
242
224
219
203
202
219
243
211
220
216
204
239
244
227
225
215
211
231
242
247
250
228
214
209
215
219
245
249
226
233
230
223
246
235
229
247
238
214
203
217
215
242
216
218
216
228
245
247
231
232
244
223
240
242
201
223
241
222
241
243
213
245
202
208
220
230
231
223
230
201
239
247
218
203
228
249
245
231
245
248
211
246
225
208
215
222
212
225
210
208
223
216
250
243
225
245
230
235
228
215
228
219
214
248
227
223
225
212
218
244
223
241
229
225
211
226
206
200
242
245
204
205
230
214
240
226
246
227
222
202
237
210
201
238
211
216
229
218
232
228
249
223
230
219
201
207
223
234
248
232
205
231
227
229
230
232
242
241
244
232
238
205
210
225
239
239
249
235
214
247
219
208
205
207
229
210
238
231
238
215
200
239
225
232
225
208
218
234
239
240
250
240
234
203
205
230
203
210
246
222
213
230
246
246
226
233
205
230
229
242
210
212
209
224
250
227
217
204
229
211
232
231
227
233
222
235
223
207
236
211
229
234
217
213
217
235
201
209
208
217
248
241
213
238
227
230
219
237
208
247
215
221
202
206
227
231
245
210
241
211
211
224
228
248
241
227
201
200
211
242
248
232
220
206
238
214
201
210
205
205
248
248
230
201
216
237
239
247
216
235
217
212
234
217
234
231
217
217
227
232
206
246
204
237
244
211
212
245
214
218
213
234
230
244
204
240
248
233
221
222
202
246
248
237
210
228
212
238
236
221
231
206
219
201
213
207
230
204
209
208
238
240
248
214
203
245
223
241
246
230
233
223
238
244
205
200
218
234
209
211
243
237
228
213
222
236
238
236
225
241
216
201
208
221
208
212
223
223
235
244
245
227
236
201
232
232
215
231
213
218
200
218
221
249
202
240
211
233
214
240
205
232
221
201
245
229
247
224
246
217
214
228
241
217
203
248
241
242
209
236
222
238
231
246
243
204
226
240
214
200
214
229
230
214
213
212
244
237
237
239
207
228
232
224
219
205
202
232
227
232
219
236
244
246
246
240
209
202
200
234
223
226
233
231
226
234
223
242
206
227
228
247
245
202
222
226
238
234
247
244
204
213
228
240
232
219
208
220
217
204
250
245
229
242
235
234
213
211
228
250
217
202
201
243
239
223
200
211
242
245
205
211
229
224
217
216
240
234
217
230
200
200
226
211
250
201
207
230
250
238
244
247
200
200
250
242
207
207
203
220
215
239
214
220
220
229
221
249
223
247
207
238
211
229
210
217
242
204
220
224
243
224
237
238
201
223
204
236
247
200
250
212
249
230
205
220
207
250
239
244
203
247
245
226
216
230
215
247
205
229
215
220
215
219
218
218
225
215
228
202
220
240
237
225
207
200
215
244
223
241
222
225
235
249
214
204
211
245
223
248
212
222
234
200
208
246
209
243
201
240
244
238
249
220
211
228
211
212
248
249
228
223
214
243
213
222
218
240
205
203
223
210
246
219
242
207
231
202
245
212
228
229
218
218
214
203
206
212
238
230
232
243
212
205
226
234
240
210
250
226
244
204
245
217
219
219
245
242
230
223
212
221
211
243
212
236
200
205
218
248
219
202
233
229
245
224
210
237
241
221
221
206
246
215
236
214
219
209
227
238
233
237
233
212
245
240
208
228
247
224
204
230
249
220
212
218
248
217
240
213
203
221
244
202
239
232
205
203
250
212
208
228
233
242
237
222
231
231
202
241
200
247
219
233
220
213
213
224
229
240
216
201
217
207
242
231
210
211
214
249
223
216
245
238
216
234
217
236
238
243
210
215
224
250
200
215
248
203
249
236
207
240
239
239
223
207
238
238
217
216
218
215
203
230
221
223
240
213
239
249
204
210
245
243
220
203
240
250
237
236
239
246
223
247
239
231
222
202
222
228
228
230
239
239
246
205
242
206
204
231
217
249
226
207
243
203
202
213
228
229
244
223
250
223
242
231
229
207
220
240
246
220
237
237
220
230
217
201
213
206
239
239
208
221
211
240
246
248
225
248
210
208
237
226
226
207
212
215
209
200
233
229
200
232
217
238
224
239
207
240
200
221
241
242
218
206
207
235
237
239
246
226
246
203
239
200
238
228
227
234
209
234
217
210
243
224
219
245
238
244
200
234
215
201
204
243
244
226
234
249
244
225
223
236
243
217
224
218
241
209
235
200
210
241
249
206
203
221
232
204
221
235
237
205
242
250
250
209
239
234
230
210
248
241
235
224
207
241
225
247
212
223
227
216
202
231
244
223
243
224
238
225
224
220
232
220
213
214
211
202
208
219
233
238
233
229
241
231
242
232
215
242
224
248
246
242
221
247
207
203
225
240
209
204
217
221
209
247
226
209
236
241
204
227
224
227
234
234
220
226
243
247
206
220
227
203
233
200
228
214
223
205
223
206
227
217
233
225
201
250
200
226
213
209
220
208
211
210
232
233
209
213
219
242
240
230
220
240
238
208
233
233
244
246
226
239
201
228
210
215
229
210
240
245
237
248
246
242
210
208
226
225
238
213
229
242
218
248
217
232
241
234
218
216
247
220
235
233
231
210
216
244
221
204
227
217
247
216
216
249
227
241
219
242
208
242
223
238
238
221
209
221
239
242
228
232
220
208
237
208
208
218
236
225
226
213
215
225
234
248
242
241
249
209
214
231
200
230
244
210
232
215
217
244
201
238
234
235
242
204
247
250
233
207
242
225
203
234
228
226
222
234
235
209
233
209
213
241
233
228
234
208
215
204
250
230
231
212
215
239
222
213
208
204
202
224
207
247
209
200
226
208
239
238
225
216
228
202
238
212
230
250
222
223
236
238
225
209
239
240
240
206
236
223
215
218
210
205
248
209
236
236
247
208
210
245
215
231
240
218
249
211
230
238
207
247
234
211
246
247
247
245
241
240
202
203
202
247
223
221
206
223
248
201
242
231
247
210
241
245
234
223
233
214
230
208
213
247
231
203
234
225
233
205
207
219
213
201
215
221
228
241
248
238
222
244
223
234
204
209
215
206
239
236
217
221
231
243
210
207
250
244
207
238
235
246
233
204
234
230
214
230
207
204
236
204
209
248
241
224
234
241
214
229
221
240
229
244
235
242
217
230
243
230
200
234
200
240
250
218
215
233
250
220
208
244
227
216
244
223
246
233
236
430
425
387
474
415
394
380
341
381
436
366
464
442
465
495
322
322
513
507
342
389
387
413
500
514
342
411
501
457
359
402
352
413
412
442
519
408
433
379
515
322
383
481
343
489
465
470
403
360
355
330
476
353
461
476
428
345
452
424
405
486
449
358
399
481
331
478
414
443
477
403
328
354
372
430
412
346
432
327
404
518
421
489
422
381
366
482
388
368
438
420
438
449
483
415
382
350
410
337
380
378
454
453
383
435
420
374
370
342
416
363
396
495
396
405
343
498
520
520
473
363
451
379
405
503
369
499
368
328
457
514
322
404
494
474
352
467
421
336
346
405
368
439
331
503
418
367
389
437
390
463
440
350
438
482
386
363
515
345
481
483
379
343
494
513
449
464
432
400
382
496
320
323
353
393
424
381
487
475
489
397
459
427
359
424
363
326
398
346
518
437
453
437
415
505
497
435
345
501
417
467
361
506
373
470
472
517
493
434
397
449
402
402
340
363
453
443
495
494
407
482
449
471
443
325
455
354
465
340
487
353
389
320
426
491
335
458
416
367
400
450
333
498
498
462
360
399
462
381
516
354
347
520
478
337
369
469
382
326
423
410
348
457
392
514
462
425
457
457
449
463
402
443
491
348
388
447
438
450
354
384
360
451
327
416
471
372
412
401
358
354
326
471
424
472
409
330
453
487
330
404
365
410
483
327
344
480
403
406
329
337
362
386
320
445
400
516
450
323
419
329
418
515
438
452
353
412
430
405
510
490
342
365
515
454
415
511
511
376
349
503
475
381
355
381
426
483
464
456
368
344
491
338
457
401
476
406
358
358
423
444
369
496
512
489
370
378
403
468
396
377
474
340
456
435
494
508
350
418
336
374
393
345
517
476
444
356
502
350
368
329
392
482
449
503
411
419
402
463
344
398
342
399
469
410
407
359
422
434
331
413
504
382
412
425
342
441
365
342
432
371
436
348
443
452
510
517
341
393
398
342
378
343
462
455
457
377
441
332
337
412
427
341
438
397
439
460
384
440
441
413
384
347
507
419
383
379
485
391
323
356
389
388
350
352
459
448
393
433
518
442
452
424
430
423
452
441
396
326
425
512
430
431
451
499
375
384
333
492
367
359
438
457
471
321
321
402
354
408
434
497
439
381
480
506
367
357
413
386
355
424
361
406
505
437
409
384
491
511
513
505
349
431
347
399
384
459
384
514
438
404
320
377
381
511
466
461
518
487
493
484
491
490
477
492
362
507
403
437
355
444
346
474
440
378
362
345
385
390
424
480
428
500
391
432
404
328
441
396
448
368
386
332
342
403
470
361
413
515
367
355
518
338
498
470
423
390
483
467
329
335
347
437
503
384
348
386
349
359
518
351
330
462
357
471
355
444
411
363
394
339
369
413
361
475
363
322
492
517
490
332
443
439
444
437
447
502
454
507
460
352
360
355
376
436
354
377
518
435
497
498
514
366
341
387
387
431
500
489
329
477
458
468
459
386
367
330
365
397
438
482
497
343
405
418
395
390
509
379
321
382
336
463
483
387
390
508
445
402
508
431
369
413
377
335
493
509
459
444
412
514
378
446
421
423
343
453
328
341
447
479
382
413
490
338
411
355
337
465
349
422
457
484
489
506
384
494
427
520
428
507
438
409
443
380
375
335
507
440
501
374
440
432
378
349
429
459
498
518
387
397
351
335
361
422
390
328
507
424
340
326
485
340
452
476
460
490
433
414
423
353
400
411
409
497
442
333
361
520
331
320
485
482
501
420
341
364
374
475
373
432
344
331
320
437
505
473
445
366
489
456
418
402
426
348
380
336
480
440
369
336
347
334
388
507
502
502
450
383
385
371
480
382
413
459
451
451
479
463
354
325
376
334
385
418
415
452
437
435
439
494
411
480
332
356
495
347
411
438
369
453
351
457
370
488
476
413
400
431
458
418
455
429
372
501
359
509
332
427
369
382
507
513
393
357
388
477
471
323
441
327
335
501
357
350
431
342
494
377
344
414
503
373
409
331
377
371
504
372
450
498
332
401
501
366
451
377
396
471
387
409
443
493
328
340
456
496
344
466
457
424
359
367
448
504
379
462
488
447
445
507
373
508
438
359
496
411
454
516
435
370
365
425
352
495
432
418
405
378
504
324
463
487
360
327
462
344
506
382
337
339
437
444
423
377
467
471
446
378
358
352
363
492
371
335
354
511
471
489
455
377
345
325
364
426
462
347
335
438
492
373
433
457
510
476
406
390
456
479
482
404
348
419
385
402
373
470
326
352
365
348
503
394
485
338
504
516
368
447
363
322
472
363
467
455
495
502
390
330
461
377
412
405
323
464
396
346
398
460
493
496
410
456
455
505
424
483
357
477
340
404
321
402
428
514
512
505
351
474
426
453
392
366
499
488
508
427
509
501
347
396
451
344
365
403
348
448
407
351
324
368
493
361
435
399
346
509
495
411
456
511
410
400
474
349
484
323
474
334
348
448
366
345
470
514
387
430
435
434
358
440
324
492
509
323
431
445
427
407
363
411
390
456
409
402
384
408
344
491
388
402
346
427
477
493
354
495
507
435
473
442
358
470
386
491
502
415
395
354
416
335
423
519
457
507
415
428
355
372
393
486
456
459
391
396
501
498
386
387
450
326
432
431
402
416
347
367
378
331
407
384
507
455
463
493
380
393
416
469
421
467
411
355
397
425
476
333
502
471
423
414
467
486
458
495
456
376
396
348
460
505
429
424
407
408
410
412
442
421
498
468
511
355
327
344
476
420
514
492
429
407
428
504
438
398
444
333
336
346
324
511
498
397
323
425
379
448
374
419
446
465
410
334
343
508
376
419
456
468
388
336
469
457
467
508
500
509
421
409
387
437
367
464
498
382
329
364
492
348
359
518
472
328
513
409
327
466
403
449
358
480
327
457
391
388
518
383
338
453
396
428
489
494
460
488
446
336
459
486
395
337
474
390
415
355
388
355
398
335
501
370
496
389
420
341
369
344
410
508
465
444
413
454
455
414
382
325
385
373
504
440
362
471
515
379
349
503
336
511
469
373
344
353
464
466
336
381
489
441
380
363
448
496
416
441
516
467
413
335
346
441
324
442
395
323
431
421
436
469
426
357
514
397
349
407
353
429
359
493
425
358
491
406
327
406
477
461
340
450
379
497
377
455
335
324
510
424
329
505
505
435
340
354
372
352
486
381
423
387
416
413
466
474
328
444
499
518
376
439
443
513
461
326
485
409
423
325
420
506
453
436
333
403
376
441
380
341
416
360
488
329
409
374
497
434
467
359
513
492
362
386
380
406
493
346
364
400
520
354
468
498
344
365
443
413
430
351
368
511
330
355
377
448
463
331
389
482
500
341
401
511
443
445
376
356
371
512
447
400
399
347
439
340
395
484
496
338
494
399
498
451
517
483
452
405
460
487
447
355
392
351
426
443
417
476
449
415
408
440
337
382
494
506
425
487
321
368
358
470
441
321
355
361
520
447
388
384
447
364
350
399
410
462
443
437
342
463
411
369
341
408
414
443
416
418
486
322
328
509
365
384
364
398
335
474
338
452
431
386
429
323
320
406
403
320
340
326
380
503
465
499
385
340
420
438
455
324
389
428
398
328
404
487
354
374
490
327
417
327
354
509
432
430
423
405
427
334
503
465
439
468
424
434
499
517
372
407
439
347
414
413
322
386
393
397
493
466
503
378
360
325
446
520
410
516
338
490
516
495
437
373
489
358
392
501
435
425
456
355
514
430
373
337
502
369
484
361
367
461
491
440
358
436
496
417
410
438
335
494
442
403
330
465
424
462
506
385
411
486
386
340
334
390
507
448
393
472
356
501
514
505
330
466
427
320
462
432
339
488
449
451
434
449
367
383
399
417
428
421
464
513
463
508
329
421
439
518
324
419
492
491
430
486
453
413
358
465
492
512
393
448
360
358
418
486
483
470
416
433
423
404
465
400
432
371
479
418
455
492
406
412
487
426
408
401
473
396
440
401
465
506
471
433
344
469
379
512
320
490
323
403
478
476
332
351
400
413
453
447
351
429
412
332
385
415
448
326
477
374
481
498
344
328
520
501
457
389
442
395
327
494
430
485
488
481
348
476
347
463
482
342
495
366
503
514
416
411
332
411
510
476
461
473
452
371
509
487
342
459
520
499
458
436
322
322
411
358
370
428
395
350
324
445
455
465
418
519
347
423
339
326
456
410
428
519
445
491
326
404
386
431
389
518
357
473
349
377
381
487
504
470
434
442
471
513
407
336
474
486
381
513
511
501
323
410
428
352
427
405
415
326
479
387
374
345
409
321
414
360
474
474
411
476
336
390
495
386
349
449
364
433
330
371
512
491
481
420
331
480
454
358
328
380
381
504
509
363
465
405
371
374
353
356
390
452
341
430
488
414
436
459
467
382
336
333
493
502
380
412
335
385
519
344
471
424
505
449
416
361
329
348
497
342
510
479
333
356
324
332
400
437
337
436
418
482
504
517
448
344
503
492
467
382
345
354
415
483
482
336
460
371
334
364
353
465
477
341
457
485
439
448
351
485
358
396
482
515
489
405
470
479
475
386
368
389
351
519
500
369
410
457
456
493
419
391
330
450
348
330
416
500
438
418
358
329
383
386
434
439
359
456
404
411
514
427
471
320
517
394
405
470
486
365
369
327
443
320
481
382
364
514
483
378
371
423
478
448
428
335
499
325
389
445
354
512
343
407
460
348
333
381
508
501
504
496
417
451
459
374
383
508
455
362
511
406
465
342
367
497
328
492
350
475
493
489
475
397
436
339
427
334
403
484
365
443
406
437
499
500
322
374
345
452
500
345
371
491
468
512
515
397
474
383
509
474
436
461
476
432
432
481
358
378
411
364
332
446
346
484
441
496
455
512
391
324
442
454
469
512
340
333
426
372
329
469
509
497
486
430
362
340
373
464
365
334
461
475
447
498
344
488
472
432
391
505
382
386
330
337
472
504
407
336
392
505
362
407
358
332
343
334
383
387
480
398
401
350
477
344
409
331
363
402
397
344
494
412
376
408
497
327
437
367
350
497
460
344
498
465
375
359
405
394
365
373
477
370
367
324
514
388
374
436
328
369
470
502
488
378
372
352
425
421
494
509
463
338
429
485
427
451
357
500
420
351
513
501
469
368
406
480
446
419
493
354
409
388
354
327
367
491
384
432
461
451
464
425
350
369
412
336
458
379
382
373
514
441
480
444
471
401
489
353
404
341
406
342
457
349
484
440
427
468
410
450
392
368
401
450
340
431
509
374
505
462
398
422
465
355
470
505
378
350
377
471
396
391
349
509
495
331
517
372
456
353
426
418
437
405
517
347
439
387
451
384
421
438
380
390
445
428
458
356
347
411
396
364
469
503
353
419
413
420
430
464
463
394
426
398
455
410
363
381
444
329
512
423
485
372
440
378
417
360
374
434
461
411
468
336
415
428
404
482
328
443
371
385
367
331
338
434
400
509
465
466
404
515
381
337
463
492
449
392
389
329
382
413
514
479
512
517
515
439
509
392
335
367
334
473
363
365
332
341
505
479
459
395
494
432
463
344
428
449
406
328
429
425
357
429
423
384
407
465
366
519
357
464
475
379
353
357
352
437
456
400
465
416
422
363
473
386
377
368
469
467
378
448
440
371
455
385
361
425
371
366
364
392
447
418
503
407
420
402
353
490
367
357
496
501
462
351
515
473
445
488
438
359
485
378
491
338
488
355
471
445
495
515
511
454
354
511
517
386
514
325
424
482
441
415
484
515
451
412
326
363
472
394
394
338
400
325
359
423
393
478
492
392
499
457
516
415
322
363
434
376
463
446
515
398
419
443
371
507
419
422
430
482
467
511
500
394
455
496
378
325
501
432
322
403
451
357
396
516
483
383
435
501
459
452
434
501
335
379
385
398
335
478
333
398
459
412
484
509
450
429
398
451
344
472
505
492
441
329
406
506
350
491
398
450
461
442
448
327
444
394
340
406
457
508
473
405
400
473
383
500
419
400
501
403
434
477
427
349
381
494
510
326
464
384
353
361
347
507
379
493
360
400
445
389
409
435
386
465
413
347
348
447
369
481
332
393
458
471
456
460
459
440
497
476
429
511
334
352
360
411
455
468
412
468
323
321
489
501
458
393
479
340
458
485
496
412
478
408
445
407
346
320
408
327
335
416
472
322
339
339
500
229
235
213
249
247
223
239
239
245
211
231
230
221
205
221
218
202
211
205
230
233
226
242
233
219
210
221
218
232
205
239
221
219
241
205
225
208
226
212
211
221
200
224
231
206
209
233
200
220
216
206
233
238
250
245
231
216
248
249
209
221
221
249
205
224
238
249
227
237
236
214
239
221
241
246
223
246
246
246
229
238
204
207
230
204
246
249
220
202
216
241
221
246
228
223
241
202
201
205
219
206
215
214
245
200
222
227
215
226
238
215
216
222
201
231
242
244
211
247
204
220
206
209
249
244
225
250
208
240
232
240
214
247
239
244
229
242
228
249
221
206
219
220
225
215
226
243
232
234
226
228
239
205
230
239
209
239
250
231
214
201
207
232
239
239
210
229
201
239
218
226
230
202
218
247
219
203
249
220
248
231
221
219
215
250
249
213
209
239
217
228
250
211
237
207
236
227
231
231
231
221
250
232
250
208
247
248
219
232
204
221
245
226
210
207
238
218
235
216
241
207
241
208
223
238
205
236
240
235
209
215
242
215
228
220
224
219
209
224
206
202
204
211
209
210
224
200
250
209
203
247
217
201
209
240
226
235
235
212
220
249
208
221
206
246
225
225
243
249
229
249
225
226
247
227
203
245
234
219
245
201
222
242
210
218
233
238
226
248
236
205
213
213
207
236
221
200
215
226
222
230
212
225
238
203
217
220
244
239
220
248
210
229
227
224
214
244
216
209
235
230
233
248
206
233
250
225
232
231
212
204
213
222
203
232
210
205
233
207
209
204
207
250
232
227
208
239
237
241
242
202
224
216
227
233
206
245
232
235
229
245
248
216
228
213
214
217
230
242
238
211
227
244
228
209
249
210
234
245
220
246
221
248
207
209
201
233
236
213
250
200
205
209
220
214
231
200
207
207
220
222
238
246
232
244
242
244
246
235
236
232
235
222
214
208
234
225
226
233
236
209
212
214
205
244
249
247
216
202
205
236
220
211
204
250
243
249
212
238
229
225
240
207
237
246
233
248
242
249
218
240
250
201
218
210
206
223
206
245
247
221
207
238
210
218
202
212
204
237
243
247
206
238
232
205
215
204
205
204
219
202
209
227
242
226
219
208
221
202
243
230
210
232
234
201
219
233
216
225
212
209
238
229
228
207
236
224
225
227
215
237
205
220
245
248
214
211
246
214
235
220
235
239
240
250
248
243
213
209
225
248
224
202
204
217
204
205
242
231
220
222
220
220
249
233
200
203
212
246
223
218
234
246
223
208
205
200
230
241
237
250
228
248
211
232
228
243
213
217
210
201
219
223
206
217
203
222
205
237
231
243
222
247
217
240
236
210
229
242
236
208
235
247
247
231
226
224
210
204
237
243
203
241
212
248
203
226
212
220
239
203
231
240
228
219
204
223
207
232
227
236
228
214
250
204
238
205
242
216
209
208
201
212
243
217
238
237
206
201
244
206
208
250
204
237
212
239
202
245
249
208
231
231
212
210
232
212
225
223
225
201
216
206
235
231
244
241
218
203
214
201
222
233
214
227
232
239
233
220
214
250
238
218
229
212
203
246
216
224
239
201
228
238
235
206
221
229
234
214
218
238
217
237
217
216
208
201
235
248
233
238
206
219
247
224
234
210
219
207
219
213
237
244
204
231
242
228
222
243
237
200
235
224
233
213
238
230
249
204
215
201
210
244
247
224
229
201
237
235
205
219
225
238
222
222
229
205
235
235
218
213
215
233
237
243
213
209
222
221
237
208
223
242
248
217
248
212
214
219
217
235
207
224
211
200
236
209
239
219
209
229
225
225
242
200
209
224
246
220
228
221
213
213
235
247
204
208
237
236
209
247
248
217
205
241
227
222
247
206
224
227
235
232
225
244
242
227
202
246
241
232
240
204
232
249
205
224
227
201
224
222
212
221
242
234
245
213
244
213
217
218
248
202
201
246
218
222
245
206
230
229
241
240
211
228
232
239
206
226
216
243
222
222
225
239
224
202
222
227
222
227
218
241
208
235
240
227
250
225
232
230
219
224
206
228
242
227
203
209
217
230
231
225
243
233
241
237
228
204
205
247
248
241
242
227
210
220
244
247
222
250
213
241
246
203
225
210
208
231
250
202
204
203
244
203
225
203
245
211
202
230
226
249
228
215
234
224
223
237
213
228
241
215
208
231
214
240
238
210
250
202
229
240
241
212
210
237
205
231
215
237
208
210
249
216
238
208
210
223
228
224
213
224
213
226
224
228
221
216
241
226
213
247
228
213
204
236
231
232
242
238
226
221
243
214
229
212
227
222
241
235
230
224
229
231
209
217
217
232
215
217
234
235
210
225
250
203
208
219
220
246
224
203
225
206
248
239
241
238
224
246
227
236
225
240
214
233
207
213
201
218
218
211
217
236
210
233
233
201
230
235
244
229
242
216
212
212
233
233
232
240
200
234
218
209
235
243
234
226
208
212
211
232
240
233
236
230
243
209
209
223
208
246
215
243
224
249
212
215
230
216
244
237
235
211
234
203
227
237
202
242
206
208
214
238
232
206
218
236
239
232
233
214
241
224
231
229
236
248
210
207
225
236
220
210
236
235
203
215
225
235
213
240
241
240
206
202
232
224
216
244
223
203
241
245
231
223
223
232
244
231
220
208
237
242
232
220
243
226
237
214
223
203
244
217
250
248
224
223
220
231
241
237
237
212
227
236
201
248
238
232
244
203
242
206
247
220
248
206
200
246
207
247
249
223
215
201
223
220
222
232
247
248
217
214
245
240
207
240
209
212
224
240
249
230
240
236
208
248
238
219
224
233
204
242
202
227
224
231
241
236
214
243
221
230
245
242
227
220
205
242
212
222
205
219
249
232
241
220
229
208
228
212
210
237
205
209
247
216
231
235
239
221
230
208
217
224
220
249
215
240
207
242
201
224
219
208
224
210
238
211
248
224
207
201
200
242
206
219
238
235
203
208
240
210
233
209
217
222
217
200
249
216
247
211
228
211
220
223
206
241
221
249
232
206
222
203
239
202
240
231
219
225
202
246
235
244
207
210
203
208
226
204
207
248
231
229
222
227
241
216
221
228
250
250
249
234
235
228
208
230
201
239
228
236
206
250
202
237
233
220
225
211
208
200
221
210
232
240
232
210
225
204
228
202
226
231
229
217
223
232
228
211
245
225
239
238
217
235
209
222
247
221
226
218
207
239
241
200
223
247
233
206
210
236
240
221
237
211
238
202
201
247
250
225
230
241
242
247
241
212
212
208
250
228
239
209
241
231
247
208
206
217
222
206
213
229
234
221
241
215
226
215
203
247
232
244
215
223
235
247
208
227
227
204
221
208
220
224
207
248
243
200
230
208
242
208
214
243
209
222
222
234
215
223
229
216
228
237
200
221
207
224
227
247
227
202
231
221
205
236
230
216
211
215
234
203
241
231
244
243
248
202
228
215
204
225
212
225
215
203
221
224
223
206
231
239
243
210
232
203
238
211
229
224
225
219
247
205
203
242
218
233
214
209
209
235
238
230
202
238
215
234
214
236
209
203
250
247
202
222
227
233
213
248
229
241
248
243
219
212
224
229
250
230
208
206
200
244
205
249
212
227
209
247
233
210
215
204
248
221
200
222
238
212
239
205
213
243
250
234
230
213
226
226
210
246
211
240
226
202
236
220
207
243
219
236
211
221
246
213
232
238
202
238
230
230
204
236
216
240
249
244
228
209
248
200
245
222
210
207
248
235
208
213
235
212
225
223
202
213
246
202
225
219
249
235
211
213
225
227
225
250
221
219
229
245
244
234
203
219
209
232
238
219
219
212
248
204
237
227
240
235
235
208
242
245
228
212
206
212
243
232
220
222
217
214
241
202
211
208
213
230
221
206
218
209
204
216
237
211
218
200
250
238
243
221
200
223
249
208
236
205
200
200
242
213
243
223
214
244
206
207
211
200
208
238
224
233
230
229
216
247
214
212
234
213
238
219
209
220
223
236
222
218
247
201
203
238
245
241
238
201
250
202
210
228
234
202
210
216
209
221
211
223
215
217
206
244
214
245
245
242
204
203
221
238
241
223
249
220
214
243
247
250
209
203
216
212
217
239
208
222
208
247
250
213
238
215
224
250
224
245
246
243
238
239
207
227
215
211
243
217
246
210
221
201
247
220
238
231
225
249
218
234
203
229
235
206
221
210
217
233
235
239
213
219
236
249
210
228
212
237
243
247
232
212
213
229
205
230
209
201
250
226
240
203
209
238
214
239
225
227
223
216
235
219
242
215
220
233
202
205
250
228
230
232
224
222
204
247
219
220
202
239
221
206
229
217
206
231
240
238
202
220
214
245
243
225
224
239
214
209
215
249
236
230
237
239
222
247
240
226
216
226
218
245
201
242
218
231
230
234
244
236
234
236
203
203
210
237
230
225
245
241
206
231
245
203
241
238
225
212
249
235
214
247
233
224
240
236
239
219
224
213
201
208
233
221
240
200
236
232
247
232
229
249
205
209
238
229
233
243
201
213
236
208
206
209
235
206
219
217
236
221
242
206
242
221
242
219
219
203
238
212
245
248
240
202
209
214
217
216
215
202
207
222
218
215
200
227
226
243
220
221
209
248
245
206
245
206
217
213
202
238
239
203
237
247
233
205
207
210
202
234
234
230
226
210
247
229
236
246
231
209
212
248
238
237
224
243
207
222
236
230
245
239
220
213
224
248
202
238
204
239
216
235
247
208
234
218
226
200
237
246
200
233
229
217
219
225
216
220
220
243
219
219
237
245
206
219
222
214
248
239
228
202
214
247
201
208
212
231
232
210
217
209
250
230
229
226
230
229
241
234
221
208
213
231
236
207
236
210
200
202
244
240
231
225
206
224
248
222
211
244
206
212
246
202
232
237
200
236
237
233
234
209
250
248
204
237
228
232
225
213
241
206
222
228
223
237
240
222
212
212
225
203
211
218
235
214
233
229
206
201
247
202
234
246
211
242
229
217
204
225
216
222
218
229
236
227
204
203
223
224
201
236
211
223
240
222
220
232
215
211
206
213
207
207
203
217
237
237
226
229
226
203
238
230
221
244
249
221
229
210
242
229
250
225
209
241
202
211
238
235
222
239
212
250
227
220
210
242
226
245
206
234
245
231
249
250
219
229
219
227
216
239
241
242
240
213
202
208
219
214
235
217
215
242
233
200
213
246
241
234
250
215
232
229
241
240
226
206
227
232
233
201
242
224
244
216
222
235
215
245
249
220
218
203
204
202
210
245
215
210
200
237
239
232
201
246
217
216
213
215
235
222
243
236
228
222
238
248
231
203
211
241
238
235
217
247
241
236
214
222
249
219
223
250
249
238
237
246
236
208
224
215
205
216
250
250
242
247
230
239
245
217
246
240
231
243
249
241
222
223
207
241
229
208
232
240
232
223
225
206
211
223
245
230
245
206
229
243
236
204
232
244
223
202
208
235
213
221
218
246
234
200
219
203
216
237
200
249
206
245
242
241
217
232
239
237
217
228
200
240
203
205
250
236
215
228
242
220
226
206
243
218
205
220
235
210
243
223
202
215
238
238
222
246
250
206
216
243
201
205
200
200
224
222
201
204
241
220
236
206
217
213
245
241
231
250
224
215
217
247
214
230
240
234
247
232
237
213
224
212
218
219
208
225
214
216
207
239
214
200
241
244
201
250
231
224
223
239
234
234
221
218
212
239
238
211
250
229
203
243
232
226
225
238
214
210
242
226
241
238
220
206
235
239
212
215
200
232
211
245
242
219
234
241
239
234
200
217
230
219
220
216
244
227
235
208
209
241
245
236
250
242
215
248
203
240
247
225
237
212
247
239
200
201
216
215
250
226
240
236
222
202
241
236
245
210
247
206
244
211
248
214
213
203
241
208
206
202
212
204
225
243
200
210
222
241
204
214
241
226
219
222
221
245
207
202
229
230
202
246
207
202
249
200
244
220
219
224
206
244
200
244
208
234
245
200
201
218
208
215
216
242
239
237
231
242
229
235
220
229
234
249
202
221
200
248
222
216
220
209
228
207
241
221
218
203
203
241
249
236
249
236
236
214
202
238
222
205
212
225
227
202
231
220
211
245
231
248
231
216
214
215
207
237
215
212
214
223
234
221
240
215
247
234
221
223
233
225
221
209
239
226
240
245
200
244
216
217
206
250
224
226
214
226
200
234
250
216
201
243
249
205
231
249
226
218
228
221
221
229
220
233
237
200
203
215
203
218
225
211
231
211
238
244
231
214
228
200
231
240
209
238
230
231
207
245
248
237
242
201
248
238
201
216
243
217
219
205
245
250
232
214
207
232
214
210
247
224
228
200
212
207
222
230
202
236
229
210
225
250
240
207
217
222
236
210
237
243
220
236
204
211
215
230
222
232
220
234
249
245
250
216
245
218
217
211
244
208
231
248
228
246
234
233
238
250
233
242
227
236
236
233
242
222
228
228
237
205
228
239
221
238
202
229
237
238
230
208
232
224
217
215
236
231
204
210
204
230
206
245
218
249
228
243
210
206
244
209
244
246
211
205
218
248
216
201
249
236
211
231
239
227
219
220
210
226
204
238
246
206
202
232
233
233
227
241
201
213
235
248
244
221
234
231
236
224
244
227
213
221
222
243
230
222
216
233
220
216
238
229
237
246
223
216
202
240
236
203
226
221
229
214
205
248
225
220
221
202
240
206
215
245
206
225
245
239
219
213
223
232
235
241
224
218
220
234
220
242
203
235
219
203
234
235
241
240
202
233
240
210
228
240
246
208
250
222
211
227
246
219
231
211
220
228
223
241
247
246
202
241
214
249
235
222
205
235
229
249
248
245
208
243
238
207
244
217
231
205
225
205
202
212
242
236
210
250
226
233
235
228
207
238
243
223
219
239
213
229
213
240
236
236
204
244
235
247
237
221
204
218
209
239
219
241
241
206
248
208
209
212
234
226
224
205
221
230
233
232
226
207
200
227
224
241
221
237
206
238
212
222
229
213
223
218
230
226
249
210
239
207
215
218
245
228
243
245
235
222
223
224
209
215
200
247
225
239
244
200
237
221
200
240
215
220
225
239
207
248
244
234
210
220
200
220
217
226
211
205
247
219
233
238
211
225
244
243
236
240
223
202
217
226
230
244
218
231
203
220
201
225
244
241
240
205
246
248
218
226
229
201
239
208
228
223
220
212
250
230
213
211
200
248
241
219
243
235
220
242
217
210
250
236
229
213
228
227
212
248
240
215
228
226
209
221
233
208
212
212
204
207
206
217
200
216
228
239
209
222
234
212
202
211
214
222
211
222
224
203
232
243
224
228
240
231
217
214
238
215
208
233
232
218
243
212
224
234
231
224
233
203
248
232
211
247
224
237
218
249
241
203
225
228
229
249
248
236
226
234
245
208
227
228
247
234
235
238
236
214
244
223
226
230
220
226
230
235
217
248
216
237
222
228
219
222
239
237
249
245
201
210
225
205
234
202
231
234
230
241
200
248
205
203
246
212
205
249
229
218
227
237
200
207
203
518
409
438
475
475
516
347
399
414
399
376
376
421
482
382
410
402
477
396
333
330
379
370
431
381
439
406
371
476
482
347
486
479
351
326
501
391
365
451
423
449
445
514
452
326
424
463
373
372
373
457
407
365
458
330
341
480
447
325
334
391
409
496
506
485
445
456
385
339
332
466
341
346
348
513
368
491
396
474
411
508
462
449
329
436
459
335
330
322
514
415
482
365
392
468
391
439
366
449
500
514
376
414
342
353
496
416
321
351
419
350
327
374
421
370
500
481
336
329
375
423
495
414
346
350
330
345
471
443
396
408
323
503
363
332
384
403
512
450
490
428
440
518
367
351
348
471
418
456
475
330
467
493
322
408
328
445
461
497
498
518
346
509
339
335
433
422
357
501
390
477
514
396
387
385
338
434
368
468
518
431
323
520
392
406
474
414
414
519
464
498
457
385
479
480
333
475
375
428
382
376
503
472
447
323
464
487
351
354
349
443
505
332
356
368
328
450
356
509
340
504
431
439
414
446
502
329
355
424
446
372
515
439
416
513
459
473
460
370
451
367
405
504
383
324
422
382
450
436
417
384
321
328
402
413
516
473
503
499
488
388
494
469
500
352
366
445
366
415
454
479
365
457
447
381
490
401
418
387
494
348
441
483
515
358
465
389
420
444
358
409
429
350
465
434
322
410
508
412
468
464
434
440
352
359
471
343
408
507
421
479
341
503
409
368
456
332
324
473
331
348
483
395
372
389
325
332
509
335
519
458
408
413
457
337
456
503
410
494
445
414
330
518
361
441
395
375
430
360
385
348
424
431
449
430
409
331
371
473
429
378
365
387
439
403
480
342
467
464
403
384
493
489
414
330
512
388
429
392
408
361
460
358
458
506
457
477
426
482
385
431
445
337
450
417
462
438
372
334
341
344
487
513
342
460
475
468
356
396
447
370
478
514
477
464
336
410
364
343
326
387
447
483
465
477
489
371
375
326
411
423
519
462
458
337
493
325
421
359
393
492
352
322
480
499
478
442
517
379
472
361
445
341
439
406
483
475
492
516
342
427
449
363
455
459
400
378
404
512
349
322
341
323
518
499
500
353
505
371
397
460
367
460
385
408
446
493
391
462
373
493
320
323
516
324
402
331
339
425
498
368
333
435
445
409
355
389
406
417
432
441
416
344
324
426
403
444
361
334
365
489
346
399
456
443
399
395
399
323
358
493
406
374
487
495
435
322
362
471
344
339
390
358
425
341
467
504
512
439
330
370
370
437
420
455
448
462
451
502
418
333
391
433
464
520
463
497
409
490
447
368
490
477
324
381
422
475
373
421
380
451
352
497
452
463
369
513
372
403
326
451
513
404
327
433
350
403
492
502
409
327
477
465
384
508
507
437
519
513
360
377
461
367
470
349
439
481
409
326
321
419
500
396
474
406
399
384
372
507
405
422
481
337
404
327
500
333
374
327
402
322
455
438
352
356
516
352
329
420
334
442
514
368
511
477
396
513
470
328
400
432
487
345
427
483
368
430
387
393
429
474
335
465
486
497
495
338
351
519
449
492
380
452
410
377
339
475
491
472
463
423
441
467
321
475
487
439
371
389
432
418
455
327
518
452
421
449
502
406
455
440
481
516
387
380
456
495
512
447
410
466
390
446
321
413
468
411
515
515
434
503
364
454
403
393
364
458
479
326
368
414
457
416
472
501
484
519
425
382
426
429
478
364
520
355
351
343
375
500
330
498
371
397
475
416
391
510
349
437
326
350
328
416
327
475
468
405
332
502
441
348
377
413
423
469
446
346
497
421
477
320
479
426
505
431
321
365
321
335
327
485
356
437
426
413
500
390
462
383
386
384
406
464
335
389
519
355
442
460
488
447
483
441
397
330
484
504
404
320
519
403
462
426
498
329
386
515
360
373
382
369
367
399
399
328
478
376
431
349
323
342
386
519
386
460
499
451
454
320
324
328
369
476
483
331
455
324
362
398
468
328
436
447
345
324
485
365
475
450
467
405
338
507
337
422
332
519
470
429
379
365
470
491
505
466
349
365
491
384
420
339
333
327
500
351
441
431
392
362
484
470
437
514
370
482
373
332
343
455
372
320
412
481
376
382
471
463
448
362
426
485
349
487
442
442
411
320
439
487
502
445
494
354
359
419
471
337
409
389
508
367
464
432
420
503
363
377
387
473
335
435
484
356
473
352
373
451
505
360
465
439
509
350
474
401
491
410
498
328
398
446
328
475
378
439
402
447
409
332
512
363
379
462
406
358
420
465
418
409
357
368
470
359
487
328
478
402
337
370
386
466
358
486
329
440
468
361
474
368
485
356
322
425
485
399
466
436
504
464
503
483
321
329
442
516
380
387
447
511
496
458
384
369
323
354
428
333
504
481
330
402
438
400
367
478
519
438
392
483
516
324
442
346
466
455
517
352
352
331
482
354
330
434
357
331
472
377
458
468
348
466
487
386
331
431
438
459
480
368
500
516
417
470
514
405
462
349
410
349
505
432
445
390
373
383
359
425
454
326
466
465
326
438
341
320
379
473
492
452
450
495
328
412
401
455
410
474
473
427
512
441
403
443
393
414
459
428
385
469
476
481
454
395
472
439
471
446
392
437
463
432
459
369
387
517
354
501
499
375
435
449
341
517
333
501
393
512
341
427
479
379
366
334
349
454
369
344
491
470
321
418
421
422
368
510
508
446
335
445
479
405
501
410
370
472
453
369
452
462
339
330
421
391
348
347
362
360
481
484
405
460
507
373
410
408
420
390
354
324
451
438
437
413
467
350
358
449
374
519
399
428
510
508
480
512
407
395
330
334
408
497
423
427
474
371
443
509
412
426
489
418
508
359
442
397
513
414
494
378
404
343
476
458
460
443
340
437
395
460
346
403
441
452
349
386
491
381
373
413
430
470
397
438
402
334
506
364
434
382
414
355
452
430
468
322
329
345
440
457
500
373
372
493
498
501
515
503
366
320
423
422
510
359
419
504
338
514
367
359
325
404
472
468
447
394
512
505
366
327
440
324
488
343
391
329
445
442
514
464
517
498
386
402
405
369
387
475
492
455
498
460
362
454
430
361
433
330
429
383
364
456
450
461
467
394
387
496
460
424
333
438
416
465
445
393
487
469
374
486
438
370
490
379
336
432
358
509
461
380
340
469
357
405
389
374
420
383
471
335
429
357
349
358
366
414
500
436
396
338
444
351
488
324
348
401
433
395
351
407
366
504
418
331
416
502
500
514
360
478
329
466
331
514
354
399
455
331
468
400
432
482
463
434
433
396
480
408
367
330
405
389
337
333
345
326
449
409
497
441
515
365
423
497
408
432
503
470
381
450
407
475
440
457
366
416
497
443
430
501
507
356
461
358
329
320
434
469
418
507
425
382
361
323
504
486
325
471
442
351
320
505
439
420
484
341
486
447
500
329
365
408
462
321
357
336
409
367
393
406
343
461
443
455
410
418
438
474
515
511
367
357
347
490
354
327
475
480
326
444
377
408
409
338
455
473
406
486
496
507
400
431
337
484
372
466
333
466
439
498
359
349
444
480
511
469
375
338
424
458
364
356
413
363
367
519
456
382
515
446
443
452
331
355
416
499
370
437
439
323
514
476
357
403
468
518
417
381
391
323
414
354
381
401
424
455
512
428
356
438
443
346
406
417
490
460
495
375
468
357
446
441
369
330
487
402
495
332
400
511
403
370
334
381
381
344
361
384
399
474
351
434
502
376
451
439
343
416
364
481
486
510
391
491
471
483
488
439
445
489
515
494
496
486
337
342
489
517
360
402
352
449
509
393
386
437
407
326
513
431
392
503
507
472
457
413
479
480
452
354
439
323
465
391
412
396
517
481
378
370
516
387
327
393
356
429
451
351
505
514
466
412
467
436
433
438
518
337
324
443
482
341
504
453
445
347
409
325
490
503
341
519
340
471
433
435
447
432
424
505
454
330
417
404
454
487
499
381
357
467
514
356
448
327
459
499
326
471
420
409
473
384
424
468
517
486
348
380
391
463
403
336
418
497
325
349
406
443
416
418
464
490
480
418
380
417
375
460
460
443
436
444
494
498
464
331
418
353
492
486
377
407
399
473
369
359
454
423
330
419
379
321
482
358
352
339
342
382
367
510
456
504
455
372
454
437
388
443
375
348
324
482
449
442
363
410
494
421
480
379
506
507
497
337
406
340
482
451
349
498
496
516
500
464
500
500
480
449
417
388
376
454
373
428
426
411
449
477
474
406
503
389
516
506
436
500
476
334
485
455
366
474
468
410
487
493
495
396
417
519
429
446
486
441
429
364
377
416
423
362
376
462
373
324
325
459
345
446
406
418
481
492
347
501
490
371
488
386
420
486
371
465
422
449
321
439
510
500
395
363
454
516
365
411
355
392
327
418
439
477
380
505
514
400
511
467
519
504
496
406
320
519
489
327
499
498
341
483
412
497
516
423
396
353
422
479
360
414
425
465
459
333
372
428
458
438
401
507
320
335
389
503
394
372
385
376
490
444
385
398
465
441
337
458
509
510
330
471
471
504
396
409
495
501
328
440
409
398
338
416
418
410
441
407
433
504
457
364
403
433
479
516
324
505
498
396
465
376
482
480
434
439
485
446
391
483
337
442
415
488
404
392
355
498
332
408
495
460
349
336
466
415
395
472
434
400
487
333
346
483
497
496
439
384
473
389
504
511
402
469
483
449
463
353
345
447
368
447
380
453
356
498
383
455
324
386
403
326
369
432
386
438
346
487
473
410
490
412
445
519
500
362
431
499
371
424
337
512
397
399
382
393
324
483
342
479
452
333
417
350
455
391
432
391
363
440
353
404
442
518
432
400
351
497
418
504
480
399
466
464
378
520
502
476
383
428
446
351
402
436
519
339
464
373
368
509
497
420
345
487
331
359
374
485
322
342
520
474
406
376
473
387
509
431
426
391
494
508
474
501
425
448
349
421
343
341
462
429
391
389
350
470
402
502
403
344
331
383
520
397
419
321
353
501
498
375
429
426
410
465
326
423
411
414
338
398
491
407
404
423
429
394
380
363
366
475
404
421
348
421
363
493
481
396
434
408
497
499
387
492
415
503
410
328
401
374
387
340
412
497
383
388
445
514
359
426
510
417
440
385
344
383
519
395
507
369
368
447
478
458
355
398
421
477
492
376
361
438
452
329
493
516
513
498
336
376
450
470
486
414
361
512
429
520
448
368
432
393
518
394
371
515
471
348
336
400
445
342
462
501
424
337
462
490
419
433
363
432
517
355
379
480
428
488
398
350
395
398
492
513
451
476
395
339
360
436
355
441
322
380
421
434
357
397
407
400
504
518
345
453
512
336
357
378
460
441
410
452
520
410
414
336
373
442
404
513
381
503
515
389
520
414
403
474
448
413
486
398
359
338
332
434
343
351
452
389
441
499
429
349
461
519
426
396
481
382
517
329
356
356
514
464
354
479
378
372
406
321
494
412
399
372
384
469
519
364
518
515
514
515
488
393
442
401
518
464
389
418
325
507
348
456
461
389
497
432
485
453
479
371
422
433
514
439
422
327
478
449
325
329
322
478
331
340
355
457
421
407
441
433
478
340
486
386
330
361
421
473
363
328
369
473
426
347
365
367
440
516
486
421
487
373
447
442
369
471
334
387
452
356
490
470
386
516
360
418
341
486
440
332
482
372
508
357
431
490
428
439
436
431
380
419
347
435
336
382
508
414
408
506
508
353
404
384
424
418
442
455
404
452
325
361
438
352
361
512
346
402
410
340
499
447
372
333
435
379
429
378
501
454
450
480
387
520
453
497
380
347
511
507
485
431
460
502
454
416
505
467
374
459
514
342
375
497
448
475
513
467
478
470
422
446
350
349
509
352
469
510
416
384
499
458
391
512
365
498
342
344
324
509
373
396
492
392
384
341
478
404
428
416
462
488
357
367
336
420
358
337
430
481
324
451
461
512
467
455
323
337
475
503
485
359
463
508
433
434
364
379
433
342
436
504
398
412
322
416
360
491
428
391
426
342
341
338
448
427
367
343
419
501
457
407
328
462
487
500
493
431
368
441
398
389
514
369
390
356
345
362
446
455
487
376
438
390
360
421
511
329
391
491
322
468
372
341
387
393
518
512
356
433
490
379
341
438
382
444
435
423
476
382
398
382
347
336
516
321
348
381
455
368
442
354
398
493
323
494
432
436
467
484
401
378
337
393
393
382
390
340
510
332
464
502
365
326
458
410
354
331
364
379
433
347
345
458
405
491
388
488
473
517
338
460
429
353
444
344
423
470
502
520
416
341
359
423
473
420
393
367
520
464
481
437
376
403
395
404
464
484
434
484
458
411
391
372
360
485
373
411
372
414
428
413
357
364
385
455
404
378
367
359
332
425
464
354
323
452
512
465
475
417
390
425
423
368
488
518
394
329
399
484
342
487
439
323
370
391
424
439
507
356
405
365
345
491
388
350
436
386
370
455
500
428
430
459
481
394
406
414
326
363
350
393
335
370
452
337
344
512
441
411
496
413
374
483
326
387
428
483
458
443
395
372
343
388
507
396
365
404
339
501
487
353
320
340
349
351
400
504
444
335
410
322
324
368
328
469
439
463
332
491
468
420
329
342
352
496
410
349
420
392
402
416
338
485
489
503
481
465
341
381
517
516
427
344
415
425
419
388
327
328
464
470
367
513
411
513
407
395
416
357
343
468
334
365
336
474
463
388
472
325
329
459
347
362
382
380
446
388
509
440
499
341
378
418
420
497
327
507
434
444
358
390
361
450
454
332
407
379
376
320
426
474
390
483
417
478
465
357
403
337
508
410
463
411
423
413
371
337
334
480
420
411
502
491
372
389
456
359
382
507
466
376
361
404
501
459
493
465
426
380
443
453
409
494
512
497
422
363
470
339
492
433
334
416
377
490
470
395
471
480
456
507
498
445
337
444
429
371
320
461
379
369
358
352
401
341
361
421
375
388
475
428
367
429
502
347
321
324
382
438
359
381
449
515
320
395
362
332
374
367
462
398
455
349
365
463
478
385
339
388
353
371
354
466
415
410
447
389
486
361
486
406
366
502
386
388
378
467
427
397
515
507
471
440
490
331
489
420
422
480
325
353
345
448
481
502
511
485
332
507
487
328
343
442
370
514
442
489
441
508
479
520
512
386
325
340
480
442
420
499
391
422
435
406
517
355
360
460
518
497
411
347
434
515
417
329
483
500
344
400
494
502
508
412
370
372
489
479
359
446
373
514
374
442
469
456
357
480
460
354
356
370
381
359
352
409
346
414
495
404
346
400
353
382
424
372
353
407
483
321
344
367
367
409
452
372
499
422
493
462
377
403
412
500
509
459
424
417
407
370
430
331
457
425
335
384
361
358
352
481
488
356
510
402
345
416
475
332
468
439
343
336
389
406
487
493
488
379
376
421
438
451
438
369
493
417
398
445
410
337
515
473
406
457
420
481
433
501
499
398
372
456
436
352
414
478
340
423
483
415
396
457
450
389
342
364
480
429
343
477
475
500
372
451
402
415
450
472
377
325
340
431
472
452
320
465
342
402
436
489
454
492
332
343
337
330
389
362
337
368
390
499
419
358
386
356
453
355
361
436
374
403
482
396
321
403
383
449
480
324
515
518
461
438
479
378
338
465
491
502
455
333
351
440
329
506
480
336
431
418
362
420
433
419
502
490
330
459
471
508
461
330
421
490
505
482
344
372
494
388
520
488
451
442
444
446
323
349
501
456
441
326
329
453
518
487
351
452
349
423
410
382
323
461
324
502
444
497
351
323
351
368
509
353
482
464
492
363
364
475
362
324
342
469
509
427
386
429
465
393
379
492
439
515
465
350
426
497
456
321
325
412
473
338
388
351
372
479
464
476
378
470
415
338
430
363
377
341
402
393
506
505
511
346
372
513
388
470
361
391
511
385
412
440
376
345
386
492
354
354
514
415
335
378
354
494
442
444
340
420
443
483
347
382
388
457
395
415
447
433
353
515
399
401
433
495
497
323
366
455
474
336
341
322
419
474
348
361
476
424
488
496
437
334
502
480
397
385
434
361
375
399
446
343
326
517
471
449
323
322
473
403
505
366
417
395
360
353
411
436
447
385
427
473
386
406
417
335
378
505
453
455
514
362
441
403
398
432
389
450
402
516
520
512
488
362
472
422
324
513
490
448
385
489
488
499
477
503
383
424
424
414
380
397
325
517
474
411
377
325
392
376
370
360
386
356
415
469
448
357
502
373
497
389
485
514
497
517
474
383
401
474
391
469
508
445
501
358
384
389
340
502
458
347
405
437
503
520
450
381
475
493
446
509
361
373
343
370
420
433
450
486
364
518
497
409
377
448
360
332
325
513
448
436
412
347
354
385
446
390
337
432
448
346
379
467
475
435
344
441
486
508
505
491
452
462
482
406
381
368
340
397
426
437
413
401
487
345
432
435
473
401
350
399
434
324
390
485
349
375
346
443
418
513
509
355
431
333
417
351
404
414
484
388
382
508
486
489
507
492
340
469
464
502
377
334
430
386
341
409
476
454
444
361
454
365
397
480
429
490
414
413
381
512
351
407
458
442
485
409
416
400
465
381
457
508
398
509
349
479
325
457
346
360
352
426
463
323
435
508
352
471
377
341
492
498
351
503
463
448
454
387
482
411
491
431
441
457
444
428
509
340
439
323
419
499
510
337
362
415
428
335
491
401
324
390
476
443
483
473
386
472
449
339
441
344
443
374
436
426
453
419
448
404
491
341
504
388
442
493
380
373
412
327
454
343
492
479
429
346
396
427
364
476
514
347
470
417
452
452
387
460
456
324
392
385
380
489
392
482
367
464
360
403
332
334
502
495
449
380
425
515
375
399
351
336
483
354
347
474
434
504
344
359
460
388
357
463
321
479
450
356
390
426
369
462
407
457
457
487
361
448
321
458
423
425
370
495
414
367
442
466
356
440
450
334
363
332
339
391
428
472
358
464
449
436
491
466
423
476
353
333
457
414
431
323
433
387
422
456
415
482
446
397
362
485
374
465
510
378
448
366
391
509
519
506
453
352
330
458
470
425
376
422
338
428
482
447
458
351
373
401
337
456
480
370
482
376
450
369
485
418
329
516
426
412
458
468
360
378
451
462
363
371
436
466
352
419
496
435
510
482
347
400
464
459
337
499
352
399
452
400
347
516
328
434
408
469
441
383
464
474
415
336
490
447
382
336
357
451
357
324
468
452
402
476
419
474
464
469
324
359
436
425
351
421
494
412
426
471
487
348
506
347
420
421
408
342
344
465
338
442
342
367
508
321
412
436
325
423
421
514
483
501
417
344
353
511
363
450
430
447
347
423
499
473
380
486
414
384
326
372
481
434
444
341
440
372
424
490
422
491
473
401
440
515
351
501
416
487
458
405
487
395
329
427
384
481
501
407
357
392
371
370
490
479
453
342
382
503
324
493
438
477
429
466
507
432
320
366
335
404
444
344
441
456
438
480
344
375
510
371
435
361
326
335
406
418
445
493
421
432
243
235
248
219
221
250
238
201
213
229
240
227
212
243
238
247
224
211
229
239
208
241
204
200
204
245
216
227
201
204
239
236
243
239
243
232
219
220
218
217
206
228
212
208
201
208
203
236
217
212
211
246
208
232
243
246
240
222
235
231
219
248
213
233
241
200
232
217
229
240
209
220
203
223
223
200
217
247
229
204
228
241
231
202
236
229
232
225
234
231
200
205
210
222
211
236
244
238
244
208
240
227
200
221
217
249
205
215
236
239
232
224
230
211
249
206
246
238
205
225
221
203
232
228
245
207
246
204
242
202
211
215
232
209
232
227
226
210
220
219
242
207
201
239
228
227
234
217
229
200
232
236
220
222
227
239
215
248
218
228
220
206
244
229
211
246
218
228
246
242
249
213
217
200
200
237
207
209
221
227
203
206
213
222
219
211
225
200
234
247
217
222
209
242
215
223
246
240
208
229
239
223
204
222
202
219
224
222
213
203
229
203
214
204
233
207
224
213
229
210
249
204
225
235
249
212
250
216
221
231
238
218
250
249
216
211
237
248
203
225
240
206
219
249
237
222
233
201
247
209
219
240
224
250
237
229
200
229
219
206
229
215
228
218
204
218
200
241
220
232
246
233
222
206
206
233
235
206
228
202
230
201
204
219
201
208
238
215
216
225
208
219
244
235
222
210
232
228
218
202
209
227
221
201
207
205
212
211
200
246
249
248
233
243
237
205
248
242
237
236
234
208
225
247
205
237
228
224
228
200
230
205
237
250
210
227
209
208
201
217
227
239
207
216
237
220
239
220
204
234
217
210
202
221
224
203
226
228
229
222
213
249
246
203
210
226
214
248
247
242
229
204
250
219
239
227
228
224
226
215
206
209
234
217
235
226
221
225
240
203
205
248
239
246
244
223
207
209
238
234
202
204
224
237
210
205
221
219
230
204
229
244
218
202
231
224
217
230
233
208
233
210
218
225
234
231
238
230
229
205
209
206
246
205
233
222
236
224
228
240
215
226
228
221
248
214
240
220
217
211
247
216
247
222
250
217
219
232
211
243
202
237
209
222
243
207
222
200
229
217
243
233
211
208
219
250
226
239
230
205
248
223
212
200
222
217
241
211
220
210
241
243
238
238
229
231
247
227
219
247
242
242
244
222
209
206
228
210
206
230
206
200
212
215
234
242
231
244
211
238
222
250
209
225
208
216
228
204
200
250
216
233
247
205
228
244
203
234
235
235
217
213
205
214
202
223
212
225
246
215
237
244
221
223
237
247
236
225
246
237
226
250
201
244
245
249
209
234
225
206
207
249
246
237
227
240
219
201
244
222
212
213
221
219
212
227
231
243
201
239
241
217
222
210
206
218
201
226
236
209
223
212
234
223
238
216
234
243
202
228
201
215
244
202
229
233
236
213
239
214
236
250
212
242
242
244
244
232
237
221
240
228
211
242
233
219
200
249
218
220
243
222
216
243
221
221
202
249
224
220
209
210
230
249
216
209
214
210
244
231
221
206
248
238
245
242
207
212
210
239
249
217
238
239
215
206
231
212
241
218
214
248
235
226
234
206
238
227
221
215
238
240
200
212
219
220
215
220
218
246
240
223
205
208
232
247
214
245
214
210
246
236
208
231
232
202
248
209
200
240
229
225
218
239
231
238
209
208
233
211
234
225
202
233
216
207
239
239
213
208
201
203
201
216
222
236
219
210
218
213
208
213
217
216
246
244
239
220
207
250
248
211
230
227
249
250
217
241
231
223
247
204
211
219
240
207
236
229
237
244
214
219
238
200
229
242
227
248
211
233
204
231
203
224
221
219
227
205
200
243
226
215
241
212
232
250
245
237
205
238
221
241
227
232
215
216
243
232
241
205
244
204
238
209
235
228
236
221
247
220
243
214
228
248
217
234
217
201
226
229
203
213
210
214
219
204
235
226
217
232
244
241
244
211
234
213
232
203
228
201
204
214
225
210
246
223
217
244
243
215
212
214
241
241
230
214
237
218
218
207
208
207
213
225
212
237
205
220
226
210
222
213
213
230
203
240
247
236
235
248
250
202
200
211
247
218
245
249
208
200
215
232
237
227
226
234
203
215
232
204
235
213
237
249
224
250
221
203
203
241
219
235
221
236
230
243
209
208
232
237
211
202
215
250
220
249
245
244
222
238
250
221
226
246
229
242
241
209
222
222
231
232
202
203
223
246
201
228
214
239
225
236
201
236
229
233
237
200
222
233
220
230
235
248
213
221
241
209
213
246
208
234
237
229
203
215
212
205
228
214
244
222
248
241
232
228
235
229
205
211
232
228
245
209
237
235
220
217
229
200
245
219
217
221
223
217
215
206
215
246
249
204
239
200
224
202
211
250
215
247
239
202
217
247
204
245
250
235
247
202
207
214
246
248
227
219
214
245
247
222
210
248
207
220
232
209
208
234
229
219
201
228
246
211
246
241
226
237
227
220
244
227
205
204
235
238
226
246
213
228
238
236
235
205
245
246
224
215
227
246
216
208
249
225
233
234
201
209
200
204
217
230
225
200
245
242
214
233
231
209
243
210
213
250
210
209
219
226
202
202
202
247
225
209
236
239
245
200
241
211
235
203
243
219
242
240
215
230
235
221
210
201
229
231
210
211
227
245
250
244
208
223
210
213
245
217
243
216
238
245
201
228
250
236
221
229
250
210
208
236
208
247
211
207
204
219
207
201
211
245
242
233
246
233
245
203
232
244
232
203
220
224
205
243
216
239
201
230
230
247
250
239
217
203
226
226
246
227
241
234
234
204
224
240
233
233
210
242
236
248
206
239
237
215
215
222
225
233
204
245
236
229
231
210
248
207
219
237
206
240
221
202
232
201
250
245
204
223
205
201
202
243
200
241
235
219
207
220
247
215
218
212
239
237
218
211
235
244
233
224
217
217
227
238
231
245
236
241
246
219
235
225
233
231
211
202
217
222
228
205
239
227
249
211
223
229
239
231
241
227
208
249
224
237
231
208
221
241
233
212
237
218
222
244
216
250
225
245
202
222
232
230
220
230
228
249
238
204
244
205
240
213
230
232
245
236
205
219
225
208
220
250
203
236
244
242
239
232
206
221
248
227
238
210
238
230
226
226
239
240
245
235
215
209
220
250
238
235
207
237
246
233
221
241
219
243
208
211
248
226
200
223
203
226
213
234
224
202
201
235
218
232
230
201
210
202
203
248
247
212
240
201
234
201
223
220
246
220
228
211
215
250
203
223
207
234
202
214
247
243
241
216
221
215
203
245
211
229
237
249
247
250
221
235
206
217
243
222
200
242
210
203
233
236
224
218
206
219
208
220
234
228
201
233
202
210
201
200
249
206
246
210
243
215
232
230
240
204
247
242
207
218
248
233
226
203
204
245
249
243
236
222
228
212
241
222
222
226
239
202
245
219
202
247
232
221
244
200
211
237
213
224
206
203
201
200
229
207
218
245
246
240
249
244
250
220
242
248
218
237
200
229
227
207
223
211
231
246
246
244
212
233
230
211
220
205
201
205
229
250
243
237
212
210
238
203
209
224
201
250
239
213
214
225
218
212
214
249
241
228
236
233
237
230
229
218
217
211
248
237
245
227
239
205
226
246
246
215
208
232
224
215
216
240
221
202
245
250
222
211
238
227
231
233
222
213
235
238
225
219
224
201
226
249
204
243
206
250
226
244
211
201
248
211
237
218
249
243
220
240
212
237
240
232
216
222
208
235
223
229
231
228
219
207
208
217
234
246
219
210
201
202
204
202
215
245
206
220
239
244
238
241
214
219
208
230
213
225
200
207
214
213
232
245
249
202
246
200
230
236
231
200
235
235
233
234
223
224
213
224
219
224
248
212
225
220
225
233
237
210
250
239
240
243
250
237
242
225
216
238
214
245
229
225
210
206
240
242
221
216
220
242
236
202
223
234
214
244
216
229
227
234
243
220
206
235
243
236
211
232
231
200
223
221
245
216
227
248
242
210
203
208
204
248
223
224
221
203
250
248
221
224
236
217
227
246
233
203
237
237
246
212
204
202
223
216
245
237
227
226
204
216
245
213
226
228
219
243
243
242
248
206
244
210
242
228
225
245
218
249
200
215
200
205
208
204
213
229
203
248
237
207
201
240
200
226
220
245
236
223
212
247
211
222
230
210
250
214
207
242
229
205
238
224
229
202
245
248
246
237
231
237
206
221
247
250
206
232
208
244
200
224
202
209
228
239
200
218
237
216
228
229
236
219
250
228
233
203
236
203
231
228
241
214
212
222
245
221
215
211
231
216
233
234
204
204
228
218
212
201
235
211
222
243
205
225
223
247
244
238
223
231
217
205
230
211
235
217
234
244
236
249
247
202
234
223
222
238
243
202
223
229
211
208
212
229
211
215
249
230
232
205
212
224
229
210
213
205
229
206
216
223
226
228
219
247
220
233
206
225
212
216
228
238
212
249
207
204
249
228
248
247
249
236
249
213
245
213
220
217
203
202
212
238
201
246
225
212
210
205
241
245
209
245
247
227
250
235
228
220
218
223
212
205
237
224
241
240
219
212
223
236
214
216
206
246
208
209
206
223
215
227
219
204
218
231
203
204
201
241
229
207
218
211
237
208
206
200
247
223
250
238
235
243
210
221
207
246
246
215
233
224
226
206
224
227
225
215
224
248
239
221
202
234
200
214
247
219
232
230
220
211
214
217
204
234
249
209
230
235
204
226
234
238
207
220
219
201
234
207
206
240
231
231
242
222
240
228
249
210
249
223
226
248
230
250
228
249
240
208
216
225
223
221
233
206
241
220
240
233
237
205
213
240
203
245
243
234
211
246
221
223
238
224
221
236
244
237
222
238
231
247
228
230
212
220
206
223
236
201
210
242
241
233
232
209
206
202
221
239
235
210
201
235
212
235
216
236
242
249
205
243
200
220
228
208
250
239
246
210
212
214
248
210
204
226
248
243
205
220
206
238
202
243
240
213
219
245
243
248
206
249
232
218
211
209
229
224
242
229
214
210
234
210
244
212
215
228
209
234
235
215
234
220
223
209
227
229
214
218
241
229
220
227
201
206
250
235
246
227
229
210
212
212
240
206
211
244
210
209
216
216
218
249
215
229
250
484
410
487
512
366
334
378
412
451
397
406
462
371
466
409
509
322
443
350
336
368
322
453
348
408
442
344
459
487
515
415
426
384
453
337
432
448
369
400
398
495
472
485
399
479
515
506
407
501
498
495
322
435
351
360
369
387
383
432
448
403
322
366
469
413
478
346
347
481
379
344
425
371
323
490
474
393
513
383
346
459
481
333
466
469
418
512
436
363
353
478
350
359
385
500
442
366
345
463
467
340
427
438
484
361
360
462
418
395
516
515
440
519
499
376
435
372
384
512
360
520
393
382
374
374
445
511
339
438
506
343
415
344
411
382
320
327
469
361
468
350
357
455
482
328
389
352
325
354
398
484
477
469
343
395
499
495
421
415
386
502
352
472
505
385
372
349
362
510
424
450
359
463
374
483
370
393
461
491
328
421
369
402
469
458
381
327
354
366
390
449
427
336
328
334
435
483
332
441
428
487
482
499
411
453
334
412
505
357
493
395
471
407
486
435
450
433
452
500
336
491
332
341
358
386
405
326
391
455
363
482
518
468
383
519
414
502
326
338
475
436
378
338
485
324
327
342
332
509
367
326
407
350
512
348
420
408
418
518
432
349
428
420
431
378
485
366
410
420
512
353
387
347
380
410
501
448
462
388
392
443
461
384
374
338
364
505
472
396
425
448
359
484
361
369
470
437
502
429
371
385
338
405
326
331
473
510
479
413
392
509
372
360
392
483
358
349
430
488
384
510
463
427
392
364
368
500
519
486
430
329
320
400
405
513
453
439
396
461
452
455
486
495
437
444
369
400
394
520
481
405
366
520
384
520
367
452
363
422
354
341
325
362
506
370
353
485
342
447
409
426
361
514
509
476
410
461
422
481
512
492
397
437
401
401
396
334
386
406
429
326
442
513
418
393
509
506
401
395
505
386
337
376
359
327
382
428
467
420
427
497
507
416
401
509
324
411
418
498
401
488
409
512
457
490
479
354
519
387
402
502
398
515
330
467
447
387
505
469
504
459
410
370
487
482
519
411
365
398
499
325
493
373
325
415
388
396
374
390
326
511
502
384
472
386
467
327
480
332
388
489
474
350
425
364
364
439
512
406
512
454
503
337
434
436
436
335
374
359
475
402
397
443
370
414
352
423
351
393
466
515
365
366
439
511
324
375
417
385
389
430
355
445
403
421
500
348
454
461
418
498
394
444
353
510
425
453
462
331
487
511
424
343
362
468
339
414
457
402
447
515
431
427
413
486
496
429
457
382
415
330
480
480
441
371
336
337
386
329
329
421
462
384
384
404
379
430
387
352
389
512
360
465
446
339
461
495
467
330
507
490
403
513
410
443
446
336
445
437
520
443
330
369
479
443
355
407
507
378
420
469
335
386
446
434
441
471
455
488
338
499
507
438
429
407
501
338
402
430
323
388
363
345
323
433
347
347
428
409
486
333
478
424
331
412
473
443
476
403
419
407
358
499
394
367
465
366
326
434
386
489
501
458
391
453
514
320
403
422
499
516
504
443
398
436
430
505
430
367
477
400
464
434
323
366
480
350
379
494
409
445
432
380
427
428
409
488
511
390
519
377
478
356
345
463
327
414
397
372
446
469
390
499
470
399
451
330
407
329
378
410
477
421
394
361
492
408
342
440
417
421
460
498
416
493
365
452
499
350
410
360
502
437
437
496
509
508
373
328
482
459
498
443
380
359
361
363
461
451
348
323
517
367
507
436
520
441
320
426
385
519
427
501
507
346
515
426
371
373
385
520
349
366
512
388
516
431
458
404
443
407
427
387
428
467
514
507
333
389
336
424
461
373
449
325
485
507
498
373
493
472
424
487
511
325
321
449
505
378
501
422
406
482
453
481
415
444
371
344
510
425
362
374
392
506
398
492
372
385
333
336
376
441
388
490
435
396
428
381
429
421
435
385
493
430
411
325
324
421
330
466
345
501
323
337
431
462
348
470
515
378
443
416
365
512
339
452
495
323
331
384
419
494
430
379
385
454
342
330
516
464
513
433
407
464
415
438
348
499
471
498
484
499
456
416
371
375
407
505
413
359
403
487
351
483
512
415
354
491
505
376
467
391
381
384
423
382
479
374
511
464
322
493
342
410
461
412
340
437
365
409
436
489
502
386
349
401
443
471
470
349
338
384
484
418
408
358
512
478
486
474
347
365
407
378
382
330
487
485
483
461
510
436
398
428
452
426
388
513
392
497
442
440
497
406
481
462
399
386
482
394
345
368
520
459
385
475
453
336
496
467
485
390
365
383
480
383
364
423
413
433
409
355
377
403
387
402
360
334
406
331
415
497
370
472
420
477
344
348
415
480
362
459
489
518
490
339
509
325
429
501
499
498
482
481
360
375
362
335
369
444
459
391
320
391
468
424
325
375
369
332
443
458
365
514
506
376
507
486
489
424
337
454
385
343
348
419
349
465
442
410
403
333
328
354
373
419
443
434
440
424
333
348
492
347
505
374
396
433
490
454
434
406
384
325
496
361
447
487
356
358
321
369
432
433
461
362
520
490
418
396
429
513
485
400
467
390
394
348
322
500
518
409
428
367
406
517
431
464
365
410
481
434
511
339
382
443
442
379
478
424
466
452
347
349
394
423
462
443
478
423
434
402
337
454
341
357
481
359
454
472
329
386
384
508
320
437
438
484
432
417
446
388
322
326
415
328
511
506
341
479
457
471
375
514
398
391
468
518
379
520
342
517
397
471
518
494
466
417
443
479
487
518
503
450
398
509
378
489
324
362
499
453
513
450
406
492
489
520
468
501
325
362
486
513
429
393
334
337
322
390
477
496
389
494
377
406
370
404
369
338
384
478
358
371
427
339
367
388
501
437
393
484
502
449
348
394
476
392
363
517
408
476
483
382
323
371
403
393
331
437
459
477
379
357
498
372
497
419
400
455
391
417
406
416
368
452
326
518
441
379
366
371
406
424
513
507
412
443
489
427
516
424
349
427
464
349
419
508
402
439
457
329
471
458
383
411
428
489
476
494
503
427
349
384
411
426
334
431
489
473
483
358
427
493
465
518
459
517
490
345
470
332
321
464
450
392
518
323
354
383
378
416
517
435
416
413
331
346
500
407
333
416
347
417
502
373
330
373
343
485
378
466
433
361
369
375
349
474
499
419
362
448
431
378
429
417
370
459
456
337
470
499
459
436
324
424
520
439
342
359
464
342
363
378
438
469
484
405
470
477
397
379
495
385
324
390
371
461
460
332
520
476
365
414
386
483
321
340
396
415
496
383
341
514
340
381
511
449
415
489
336
520
325
502
406
413
393
432
409
428
326
325
347
486
408
387
487
374
328
328
384
441
485
445
350
329
349
401
346
433
453
436
494
454
455
382
350
512
402
350
426
355
389
359
389
335
451
351
366
444
406
353
441
497
513
397
488
480
390
465
478
496
377
427
373
375
499
394
375
346
515
497
412
507
385
500
381
361
491
418
495
477
465
505
416
482
383
411
466
462
424
454
414
516
325
358
468
495
363
497
323
404
336
514
338
325
451
397
509
423
471
350
458
372
404
446
357
514
347
393
442
352
359
495
396
519
402
364
328
498
466
395
325
511
392
454
437
338
449
490
430
337
421
386
478
396
494
390
322
427
430
460
482
334
365
478
488
369
393
391
512
396
460
380
466
515
388
453
463
358
498
489
465
435
329
360
471
405
474
506
374
490
411
466
403
496
328
465
374
389
467
331
405
375
334
412
435
498
442
482
411
380
489
422
387
355
462
476
474
408
388
493
474
368
492
438
399
330
330
423
349
441
342
375
351
490
469
437
448
349
464
405
419
347
505
358
334
458
501
472
342
506
391
342
459
518
409
513
450
461
326
348
460
371
391
367
352
339
516
355
461
324
343
469
426
442
339
339
425
473
345
340
394
469
431
369
471
362
438
380
509
515
490
517
390
477
451
476
518
409
482
518
343
463
340
342
465
397
447
452
380
470
472
497
497
484
519
373
515
409
349
383
431
427
352
472
449
330
428
428
395
485
441
411
502
389
442
492
457
493
510
497
519
366
503
391
468
448
363
421
373
496
441
415
320
437
425
394
401
326
407
349
402
372
500
344
367
326
452
507
445
420
433
501
447
503
348
324
470
478
493
468
344
469
479
488
326
517
501
354
350
497
507
520
476
410
436
409
370
341
467
405
431
323
401
480
476
356
496
457
350
417
451
392
393
506
324
483
452
346
343
344
517
475
385
483
384
474
444
342
490
500
431
451
343
416
516
491
379
323
375
475
448
406
469
366
470
414
410
427
466
417
358
354
366
451
494
380
405
470
457
518
484
359
512
391
417
373
342
384
435
490
320
444
485
403
466
395
345
366
445
363
376
327
498
363
381
320
485
481
461
489
471
335
500
469
426
406
349
347
447
449
450
320
514
424
519
421
431
344
416
321
382
326
510
416
455
484
488
414
411
384
428
431
444
394
413
502
373
431
370
465
432
405
424
435
467
369
440
403
425
333
417
331
363
375
443
434
476
423
370
330
436
477
345
447
505
504
492
501
322
444
337
338
412
339
497
354
438
490
430
483
366
358
463
429
468
433
498
400
433
437
446
400
476
505
503
502
481
345
447
457
407
475
344
463
348
391
429
388
393
400
503
413
442
447
393
452
395
475
344
400
498
408
477
499
462
402
426
456
383
454
356
349
474
468
409
330
464
323
325
479
338
428
419
343
446
335
400
452
453
430
404
366
329
321
335
490
437
439
392
518
371
511
420
467
392
436
517
479
422
356
381
501
463
409
381
516
447
519
402
491
420
428
366
352
375
453
463
422
359
418
490
453
463
504
340
489
407
453
348
504
329
328
377
511
390
394
447
494
477
339
354
361
424
511
510
441
365
513
436
504
446
397
362
338
428
497
495
407
364
443
520
406
515
416
349
402
446
390
376
484
511
388
363
360
343
389
431
341
438
501
368
382
433
409
350
353
335
373
514
396
476
358
441
409
470
488
502
420
335
415
347
421
457
443
371
375
518
515
382
422
500
465
467
500
417
455
353
367
320
429
517
481
353
353
495
502
469
418
349
458
380
488
510
451
339
481
358
474
336
395
514
333
368
323
386
452
407
393
503
323
414
396
501
503
388
398
346
410
408
332
450
337
325
325
494
482
499
414
513
464
337
377
473
520
351
387
431
326
470
461
403
416
391
518
429
376
441
432
449
491
464
455
367
517
394
436
471
431
426
455
510
499
378
421
468
365
353
450
400
499
381
435
428
511
326
391
378
508
439
321
448
347
321
353
475
516
425
462
418
486
366
362
520
361
376
493
324
475
425
428
389
493
469
371
341
452
326
483
341
487
475
391
329
379
334
473
389
387
496
518
474
514
414
403
419
483
413
397
367
508
438
364
381
513
463
387
467
484
366
341
329
504
461
515
354
450
390
473
447
402
333
329
405
340
469
404
382
397
509
484
441
375
354
331
341
392
438
430
439
439
397
495
478
337
447
389
358
433
459
352
502
371
469
375
520
466
331
368
473
386
419
438
454
401
360
507
503
395
460
326
451
345
367
342
463
414
481
355
466
376
511
378
429
337
363
418
433
512
371
432
374
491
338
395
519
446
359
391
362
354
377
323
377
355
409
475
517
488
339
353
433
359
349
401
493
458
339
343
433
448
376
327
459
483
441
491
404
441
325
448
461
503
424
415
353
342
386
356
447
394
348
384
505
452
326
370
419
349
485
441
397
498
369
401
404
347
363
487
495
392
360
385
367
391
502
446
373
366
364
410
463
380
374
348
336
519
414
351
484
430
400
489
406
438
421
430
495
468
436
334
505
435
515
416
362
459
378
520
446
405
338
488
503
444
513
390
506
381
515
371
453
471
330
432
424
509
520
383
370
431
503
401
401
517
511
505
369
322
379
421
471
412
486
330
417
465
384
422
460
427
375
432
502
441
390
515
452
478
332
404
517
479
433
502
439
473
438
442
426
483
433
443
470
383
466
414
459
383
381
455
423
468
388
448
365
367
413
506
365
465
439
369
388
336
383
482
439
439
388
459
367
349
452
440
443
354
509
494
469
327
485
456
337
443
452
344
432
440
453
327
423
520
494
374
388
482
496
358
343
349
466
517
441
322
434
520
473
456
345
427
376
439
470
463
499
341
411
444
520
375
509
431
448
458
516
349
322
488
341
414
407
378
398
336
334
351
444
367
409
445
325
344
493
437
477
379
496
347
358
501
478
426
496
517
444
498
351
391
512
419
360
497
517
412
359
458
391
501
410
369
453
500
428
449
474
496
383
321
384
512
322
428
496
405
396
462
379
367
377
343
333
337
338
424
449
459
445
382
477
439
406
401
464
392
354
421
366
399
439
449
416
450
510
379
373
399
409
441
354
500
515
373
461
519
431
440
501
359
370
495
445
333
493
373
420
519
327
444
428
462
345
496
495
517
330
406
394
503
368
393
484
502
381
355
442
380
434
437
411
363
509
329
348
423
405
446
462
507
410
487
439
379
352
387
404
401
341
491
475
385
514
341
518
462
421
460
520
416
484
413
362
516
505
456
500
347
490
398
467
488
331
357
326
340
351
504
351
501
410
489
503
482
341
463
428
487
356
482
345
389
424
407
513
460
437
508
331
395
337
509
326
494
342
517
429
327
379
433
430
470
497
455
405
468
348
500
483
469
469
333
436
339
487
468
355
452
344
333
448
469
476
499
401
411
367
408
337
369
425
322
407
491
418
428
517
408
448
379
429
383
364
382
410
348
395
348
426
336
404
448
383
466
346
441
415
520
489
350
365
332
398
512
323
327
418
392
409
435
342
471
422
472
404
343
388
509
486
433
323
335
432
344
398
423
398
368
446
486
333
398
344
472
442
467
421
394
422
362
334
455
417
354
513
451
474
419
460
462
438
440
326
451
373
361
435
327
411
408
494
384
484
407
407
419
465
356
485
407
506
477
326
485
432
424
373
361
324
502
415
339
493
514
333
428
323
517
361
495
438
412
497
385
396
379
387
420
467
414
354
406
387
329
461
415
339
353
441
437
442
507
446
518
367
332
395
386
482
379
417
364
384
413
378
361
439
357
516
422
327
501
360
509
390
453
477
501
453
447
494
465
397
337
357
374
401
362
364
506
345
481
353
352
341
327
392
406
342
493
422
507
399
506
372
379
380
437
464
481
484
503
397
320
515
368
461
467
367
475
443
482
479
347
431
437
463
486
491
442
322
470
495
418
404
384
375
433
366
460
402
379
336
411
330
492
334
363
359
510
400
409
353
388
472
327
502
385
354
351
502
418
403
356
388
339
386
404
360
407
382
444
463
380
422
364
486
323
383
514
429
466
442
401
441
460
482
493
502
474
448
380
371
354
471
405
339
367
374
513
385
464
483
426
377
432
322
353
500
506
389
355
386
447
408
354
515
329
508
375
476
400
333
512
469
385
330
330
441
435
443
515
458
415
515
410
458
331
480
371
498
331
409
420
451
375
321
329
415
433
396
445
423
477
336
445
406
384
390
387
453
423
385
434
435
423
456
423
382
438
435
412
382
346
450
446
452
502
366
375
365
474
489
453
515
433
502
354
321
498
494
381
445
436
489
469
396
475
331
408
389
508
388
371
431
424
505
437
517
484
450
475
457
507
493
429
433
337
363
390
371
461
338
373
415
450
367
335
330
333
441
477
332
518
517
338
482
424
418
328
363
426
500
390
413
321
494
493
487
478
432
469
344
364
387
368
383
435
497
519
504
517
419
490
397
459
454
344
383
329
334
394
373
379
412
469
491
406
349
462
392
470
413
435
433
510
514
498
377
502
462
391
328
496
509
500
326
415
381
356
436
421
474
371
470
393
483
395
356
356
516
335
442
466
338
385
415
366
346
488
327
463
452
450
325
419
359
425
404
360
386
368
494
375
475
322
517
343
343
455
356
513
460
515
324
398
488
501
462
463
397
471
361
323
416
325
482
423
396
379
506
396
323
494
455
404
329
505
384
446
425
501
402
393
451
350
392
519
371
485
495
330
481
431
413
439
324
447
349
398
410
344
450
406
497
458
366
363
382
393
382
506
437
378
357
409
347
438
324
369
446
428
415
384
374
496
371
501
384
493
349
400
516
333
371
401
393
328
413
508
472
405
356
352
514
443
338
375
396
369
393
408
443
463
342
456
419
456
494
484
357
484
452
518
390
404
445
378
496
411
333
508
331
468
409
357
325
404
365
394
496
451
323
413
391
352
473
457
406
340
469
332
344
520
474
337
421
321
323
322
334
432
453
371
335
455
471
385
470
347
324
446
359
475
499
483
444
467
338
357
413
516
388
346
360
513
449
460
335
505
337
322
371
471
351
374
359
404
511
432
465
490
390
349
442
393
322
326
492
492
444
333
417
484
514
362
330
352
412
357
393
380
352
331
383
346
355
441
478
408
392
500
473
411
344
476
332
360
517
398
443
485
460
427
511
461
408
387
425
327
414
504
510
374
387
388
513
497
448
492
328
435
360
497
437
370
466
433
384
479
382
516
490
499
330
494
345
510
362
422
320
425
490
374
336
456
498
431
379
407
470
435
470
470
388
485
438
446
418
456
481
449
489
374
382
359
490
395
380
491
433
386
444
486
511
376
382
467
509
330
354
498
380
377
446
398
442
351
465
511
394
420
341
331
431
501
395
420
454
327
506
425
481
489
393
336
402
501
334
463
422
457
392
388
409
326
401
491
408
372
362
334
327
502
391
421
470
349
398
504
514
464
465
327
461
499
447
335
480
504
369
324
420
321
383
486
419
518
350
492
352
402
385
414
399
368
491
367
481
433
476
379
399
414
414
489
423
455
494
337
501
359
371
448
442
402
356
351
357
376
497
466
420
358
384
495
359
367
478
465
386
507
495
482
351
403
378
498
511
384
451
370
447
488
333
444
459
435
458
430
325
412
458
331
481
383
492
350
351
389
458
393
457
377
470
508
415
325
329
346
516
507
461
389
366
411
517
519
323
351
473
467
432
442
390
411
366
491
450
417
502
330
415
374
338
464
435
507
435
505
330
378
341
495
468
383
390
381
498
515
361
326
385
432
409
440
520
373
342
400
381
336
350
484
320
374
394
399
354
450
329
338
446
381
461
373
423
420
516
439
468
433
443
372
419
339
371
336
520
484
433
410
449
399
512
377
364
326
381
467
445
445
409
498
409
404
439
323
428
437
366
489
425
516
349
392
369
464
385
373
449
450
374
337
370
394
367
340
377
404
387
378
383
325
430
358
516
333
349
379
448
512
360
407
513
454
508
328
373
406
377
514
330
380
474
419
507
511
340
465
329
456
356
402
326
338
338
386
370
439
506
370
468
399
508
320
354
321
483
380
412
511
353
467
501
423
445
519
418
504
354
448
375
395
364
468
325
355
501
357
514
424
484
516
413
381
325
516
392
415
385
500
404
328
416
354
490
389
403
495
441
402
420
329
414
452
496
424
338
434
328
486
346
355
417
412
323
389
422
465
456
380
377
369
484
482
382
502
474
389
329
435
321
383
363
513
355
327
513
479
336
450
329
424
434
441
370
421
382
338
344
486
445
496
355
360
518
420
346
418
464
510
402
382
335
341
470
372
448
464
478
439
379
330
514
433
365
486
395
348
497
486
411
470
342
491
477
407
404
437
459
346
463
406
443
443
458
373
330
452
509
463
373
475
466
510
470
422
485
347
417
477
498
499
347
491
441
367
464
379
469
471
490
410
461
328
431
385
368
455
354
398
321
421
358
452
451
334
348
504
483
324
439
394
423
448
503
335
446
357
498
412
485
420
354
425
391
476
336
362
404
388
473
435
487
367
445
322
351
389
419
321
404
439
446
362
434
412
480
512
497
441
447
481
439
439
433
510
434
516
512
480
357
384
366
372
333
413
498
383
362
478
473
443
374
350
415
447
458
500
339
377
461
492
479
340
333
403
345
456
384
448
411
341
361
323
439
500
338
402
354
359
510
371
412
379
434
424
423
477
416
399
470
450
346
386
511
458
320
454
428
459
399
478
416
485
320
450
407
382
456
432
421
387
465
405
429
410
344
413
519
514
378
376
333
439
492
440
495
459
376
403
455
345
475
428
387
492
391
486
387
471
452
419
386
378
499
356
420
343
356
413
491
365
349
460
470
404
368
459
382
362
516
434
365
467
457
473
321
398
341
339
449
475
404
333
470
441
391
413
447
330
342
322
444
344
388
479
336
432
468
415
386
386
434
398
496
496
360
399
338
472
371
326
466
449
403
429
424
368
385
416
371
513
347
469
474
471
405
381
400
506
339
340
514
344
500
364
351
424
390
493
324
341
405
492
337
340
373
500
433
444
452
510
343
320
398
358
410
484
394
453
516
425
474
495
448
449
469
417
493
379
371
359
344
445
454
390
403
354
383
421
457
416
334
401
320
362
336
421
389
434
435
422
511
376
485
394
354
468
398
343
356
481
366
357
323
475
441
411
326
371
440
374
428
327
411
434
328
512
410
494
411
437
341
516
499
454
333
327
380
489
488
435
397
471
363
474
495
395
497
378
475
443
368
454
445
427
347
472
401
331
332
444
321
416
376
396
507
383
354
375
485
376
367
376
362
435
500
515
408
463
328
378
516
380
520
406
406
430
504
388
427
450
356
376
422
343
358
404
477
442
367
512
506
445
511
435
331
395
406
480
466
506
346
372
464
327
470
505
455
458
481
432
366
423
464
341
414
480
390
479
381
375
352
366
412
376
398
402
343
340
383
460
362
363
472
384
496
476
393
454
357
484
482
381
517
447
364
421
416
361
372
435
420
480
402
471
444
493
454
380
488
435
349
414
454
345
446
371
502
359
434
381
497
453
508
435
362
412
424
456
517
433
498
420
417
513
208
226
229
250
208
204
246
220
244
201
204
246
213
241
207
243
238
208
225
221
205
228
201
205
203
234
237
201
200
221
218
241
230
229
211
210
240
247
248
228
218
205
239
202
249
221
232
214
208
236
240
232
217
247
249
238
221
202
226
219
225
231
201
219
249
249
226
213
247
220
239
203
224
209
235
221
228
224
222
214
225
210
239
244
200
239
217
217
219
233
220
212
245
224
225
223
210
237
215
211
241
213
223
242
236
234
200
231
207
245
236
210
250
234
246
214
248
219
226
242
227
216
237
200
204
239
250
242
233
248
224
219
239
231
216
236
232
217
231
212
249
243
238
247
214
208
221
204
226
205
236
211
200
242
238
228
239
245
210
220
239
240
227
231
222
203
208
210
241
214
248
240
226
211
208
232
217
233
206
207
227
213
200
209
241
241
228
230
232
250
242
246
230
232
203
239
201
228
240
222
209
250
219
218
219
201
236
219
204
250
208
239
211
204
228
202
223
236
211
202
243
250
238
234
233
206
246
242
229
238
219
242
250
205
248
227
201
221
229
203
229
226
242
226
201
243
201
206
246
228
219
210
211
235
225
231
210
240
230
219
208
219
201
208
243
228
202
205
217
222
217
204
237
247
240
209
211
220
221
207
216
222
249
227
232
237
219
222
237
237
208
214
211
222
231
214
227
229
229
211
249
246
226
230
203
207
249
239
202
227
248
239
221
236
222
209
204
240
242
250
249
242
238
201
217
250
223
206
246
225
249
207
232
243
233
210
205
230
233
240
228
218
208
237
249
221
229
201
243
222
224
200
233
221
240
223
200
224
208
202
225
201
208
245
250
250
204
220
215
238
220
200
228
209
225
216
214
220
215
232
208
245
224
239
233
206
237
204
221
243
221
220
219
233
231
238
203
206
210
202
242
243
235
242
211
237
245
209
230
210
239
233
232
246
222
212
248
229
200
209
216
219
220
239
245
205
250
224
222
244
215
213
223
210
237
211
214
243
221
206
235
229
229
228
216
227
234
238
225
243
227
234
243
241
247
235
246
228
233
239
209
232
230
238
215
209
209
228
244
227
248
207
200
246
250
223
205
221
231
245
248
235
242
210
213
224
208
221
204
234
233
238
208
212
240
238
207
250
245
233
203
212
243
206
212
202
222
202
231
210
220
212
209
227
244
249
220
203
211
209
236
227
203
249
214
207
234
202
236
240
205
209
200
208
202
230
250
212
211
249
200
236
242
205
208
245
219
213
224
239
243
245
244
248
247
247
211
238
246
230
241
245
236
206
230
239
207
234
224
225
234
227
210
247
241
209
215
238
242
214
220
236
211
200
208
221
245
213
223
250
215
207
209
210
201
218
200
214
227
235
243
240
219
242
240
206
210
235
223
234
234
205
210
213
203
245
235
238
223
214
209
237
239
228
206
235
217
215
227
216
201
215
245
247
228
244
222
245
238
246
226
215
249
228
250
228
225
248
230
237
205
218
217
239
215
232
209
233
213
237
225
244
211
227
221
212
221
206
208
241
218
215
230
215
237
231
204
225
215
209
215
216
218
226
241
247
201
200
213
200
222
209
218
244
242
208
232
217
201
244
221
244
248
244
243
207
228
209
211
216
214
225
227
231
234
214
222
211
248
210
241
247
230
247
210
217
223
220
202
217
218
206
249
210
226
242
242
230
202
230
240
212
226
223
241
213
202
204
201
221
210
208
247
218
221
231
243
205
234
208
246
246
216
249
223
229
233
237
203
223
235
240
238
213
241
243
238
248
208
233
225
237
240
220
249
225
227
229
201
210
207
206
210
227
215
230
239
201
246
201
230
234
226
238
206
240
227
203
227
235
241
246
243
238
235
216
224
210
247
229
236
219
200
206
213
225
244
233
244
242
235
217
235
210
236
237
220
231
229
245
219
221
223
200
207
219
214
248
223
233
219
238
230
200
207
229
212
202
201
205
207
215
231
207
240
206
206
233
250
237
212
211
247
222
233
219
231
224
247
244
234
235
239
216
237
249
205
233
215
221
243
218
203
233
243
204
210
225
223
237
209
220
240
238
204
242
212
219
232
208
213
212
217
214
235
208
212
244
201
222
214
241
248
230
250
214
244
205
242
237
228
221
204
206
245
234
206
247
236
216
205
229
223
216
248
204
233
204
208
239
217
224
218
246
234
204
210
234
232
231
236
221
224
227
236
238
231
228
247
202
220
215
228
249
229
228
217
216
207
241
231
223
206
237
214
216
241
226
229
211
222
228
210
207
241
228
240
206
225
246
250
230
250
216
207
213
201
223
203
234
217
246
211
247
248
212
211
227
215
229
201
229
221
246
221
202
203
242
245
219
235
212
219
224
212
210
246
245
207
211
219
243
236
226
228
248
207
225
226
213
223
206
229
249
216
240
231
210
242
241
248
234
245
231
203
225
214
216
244
230
244
237
203
248
211
225
202
205
223
224
207
217
200
235
211
231
247
240
209
207
214
235
208
229
206
208
243
241
210
204
228
250
244
250
216
236
241
240
248
234
223
229
225
206
241
220
218
226
216
224
220
218
228
211
231
249
240
214
244
230
238
215
232
207
248
207
232
240
207
248
205
225
237
203
222
233
224
218
228
219
236
209
228
245
205
235
215
205
246
206
250
210
239
236
202
220
246
230
233
215
210
231
237
240
223
245
237
230
214
249
242
219
202
245
248
220
238
242
205
227
237
241
200
200
236
202
223
212
205
240
245
243
241
238
219
243
214
236
206
220
242
231
220
229
217
249
233
241
240
232
248
218
227
228
224
214
249
227
219
214
246
244
229
226
217
223
228
214
250
204
216
226
206
243
217
215
209
245
240
247
238
245
216
240
243
241
213
205
216
206
214
247
225
232
221
203
236
242
245
206
222
220
212
208
243
246
209
225
202
246
250
236
213
220
242
250
210
249
203
204
201
206
248
210
200
221
246
242
206
226
230
216
231
232
201
219
225
211
223
226
235
215
241
223
231
245
215
243
223
203
222
247
232
221
206
226
201
235
243
212
222
214
244
217
244
235
218
239
243
244
211
204
216
241
227
225
211
245
219
243
206
248
204
241
202
216
231
242
215
231
243
250
222
241
200
226
238
201
204
201
208
240
201
232
224
241
206
230
227
250
206
223
237
228
212
207
206
242
201
236
200
232
209
216
215
204
214
225
230
229
204
228
210
212
214
207
210
235
216
211
211
209
208
240
206
232
213
230
202
227
224
234
205
223
213
209
209
213
239
200
229
215
225
200
209
215
206
229
212
250
220
220
216
210
210
200
248
230
243
209
245
227
227
249
215
235
224
235
242
211
219
207
211
243
236
239
243
204
212
233
206
205
215
232
206
238
217
200
202
207
225
218
215
249
230
215
205
244
205
231
201
222
202
202
206
247
207
226
250
236
202
245
246
245
207
216
202
239
201
232
247
236
227
242
249
223
245
217
217
247
231
211
213
204
227
202
215
211
236
203
232
243
247
213
228
235
207
210
245
213
244
224
209
213
220
245
205
238
227
227
225
214
249
200
208
226
219
211
212
201
243
246
211
225
243
239
235
223
212
241
214
250
235
230
228
227
225
241
242
216
237
228
248
200
228
220
235
213
220
250
230
226
250
204
226
242
224
237
246
209
240
207
237
207
211
201
223
226
218
224
249
200
245
217
242
205
213
213
222
211
226
220
250
230
232
250
206
223
234
210
219
215
218
200
245
211
241
231
248
238
238
248
218
215
226
236
201
212
224
250
244
216
228
237
245
200
226
215
236
202
222
217
205
209
232
240
238
230
234
232
248
213
211
212
200
203
200
211
216
211
203
213
212
247
232
207
246
248
207
211
233
218
250
237
227
218
221
200
208
236
220
218
236
221
231
230
234
218
203
201
243
223
241
248
231
215
220
203
222
247
204
241
211
217
246
225
236
224
213
250
239
243
220
207
201
222
214
225
225
244
213
249
203
228
248
214
243
230
239
244
233
209
206
211
223
249
235
218
232
220
208
250
216
235
250
235
243
237
225
203
218
234
205
238
242
246
223
222
211
210
234
226
223
219
203
247
200
208
242
217
231
202
244
202
212
228
231
244
227
220
203
242
247
247
232
236
228
247
230
230
212
245
214
231
222
216
227
243
249
223
233
250
248
248
217
231
214
223
209
248
219
241
228
212
220
233
208
214
200
220
209
245
241
215
247
202
250
240
218
234
246
214
219
215
230
204
212
247
217
213
211
203
230
247
205
235
218
225
231
225
203
240
201
207
227
247
207
218
226
207
243
242
248
205
246
232
219
231
205
242
232
214
210
210
218
222
234
214
243
234
242
211
212
216
234
238
247
215
216
209
224
224
248
212
208
220
232
207
232
239
224
228
228
246
214
211
211
213
203
216
236
240
228
250
204
244
241
212
231
236
226
203
242
223
247
235
221
204
233
233
213
207
219
236
224
232
201
222
239
206
200
224
248
218
244
241
246
236
201
244
202
225
248
218
246
215
208
231
221
227
230
203
212
234
233
206
233
234
220
217
210
226
230
223
219
239
220
220
217
209
227
231
213
205
246
215
208
239
224
200
201
243
230
210
239
227
228
218
204
250
214
235
221
221
231
211
249
249
241
236
236
222
228
200
227
206
239
239
239
231
245
244
226
225
204
243
230
228
217
234
223
215
250
250
228
241
244
226
213
216
235
220
221
217
245
221
206
249
249
246
237
215
235
236
225
230
230
204
230
222
230
227
212
210
227
236
219
242
238
234
207
202
237
206
213
223
209
218
244
236
215
206
241
204
207
225
240
223
228
209
200
231
226
211
250
228
222
239
209
247
229
239
230
234
206
212
207
248
211
220
227
222
240
227
220
239
206
203
247
203
246
202
201
220
222
243
201
229
203
224
214
221
242
217
215
200
230
220
205
241
221
245
217
242
235
200
212
221
201
246
232
203
240
209
246
235
240
228
205
241
250
234
222
216
241
227
215
213
213
226
227
201
228
210
212
214
205
246
205
218
220
231
201
231
205
225
247
228
221
229
240
226
242
210
249
245
242
228
250
227
243
224
200
236
245
234
200
204
237
227
218
242
223
208
203
204
224
243
200
250
233
203
218
240
210
213
210
247
210
205
227
202
241
250
235
234
214
239
200
245
241
236
243
208
216
206
225
216
245
218
202
206
219
207
245
216
223
249
203
248
233
245
242
244
227
204
215
207
211
216
236
230
207
227
218
210
226
201
246
244
223
222
226
208
243
218
220
223
210
216
207
223
207
243
238
203
234
230
234
219
246
248
225
250
214
204
240
242
223
200
233
217
221
205
235
245
244
211
239
228
229
250
216
211
212
240
224
203
226
249
246
238
215
209
235
217
215
241
216
235
219
205
209
225
240
227
207
247
222
240
226
247
214
214
222
224
208
242
229
223
221
226
232
216
231
208
239
215
240
234
200
219
222
238
226
233
244
245
221
243
200
243
249
208
219
203
246
240
202
237
209
223
219
223
217
237
215
227
220
240
220
203
212
230
217
231
233
225
234
241
224
209
219
218
216
206
244
226
247
217
214
203
201
213
202
221
216
218
229
206
213
200
228
228
249
202
243
200
234
214
244
241
216
226
241
219
202
232
220
203
233
217
205
207
223
206
249
240
205
247
215
249
246
203
215
250
235
242
204
209
214
203
232
214
239
220
247
226
231
249
248
234
202
208
216
224
212
216
214
218
206
237
248
244
232
236
243
219
245
239
232
233
230
239
223
243
203
217
226
218
236
209
233
229
248
225
208
243
224
214
227
201
220
225
200
216
245
240
202
223
212
249
222
247
205
236
245
242
229
206
218
208
212
215
240
233
231
223
245
247
245
235
203
235
238
212
218
213
228
230
214
203
222
222
244
217
213
228
211
213
243
237
228
209
206
239
240
211
241
211
249
232
223
237
249
233
237
238
233
245
243
250
215
243
237
224
242
205
226
207
210
210
211
201
205
246
234
236
207
231
212
239
225
243
205
241
230
237
225
208
232
235
205
231
239
237
225
204
246
235
217
217
250
242
213
208
227
233
206
206
249
202
249
246
235
201
212
212
211
205
248
202
223
230
238
236
241
245
227
202
246
214
209
210
221
238
216
206
248
236
236
215
227
243
235
210
210
203
213
237
203
249
236
237
201
216
223
250
223
209
201
237
215
230
246
231
237
229
223
201
206
227
221
245
208
226
213
224
222
232
224
207
212
235
225
247
212
242
230
209
200
218
229
223
235
214
217
221
212
239
220
233
232
221
214
216
219
248
202
211
231
209
201
225
220
245
239
240
213
228
201
207
200
225
200
200
216
207
220
216
250
234
213
227
234
215
226
245
220
235
247
236
223
227
227
246
212
200
240
209
236
227
218
235
231
205
211
241
216
231
214
215
243
246
232
226
246
203
244
229
205
246
243
247
209
205
200
206
243
224
245
224
249
204
217
218
238
242
236
238
204
238
233
228
227
245
231
210
247
217
231
230
237
229
211
211
245
226
243
206
243
245
210
242
238
212
205
248
211
200
238
206
207
236
247
206
201
239
216
246
248
241
229
241
215
206
204
209
221
236
201
211
248
244
238
210
221
205
200
226
234
236
215
236
213
240
231
205
204
218
218
227
243
232
244
207
240
218
229
246
209
209
201
211
204
208
209
219
250
240
218
235
223
240
217
207
237
232
233
217
201
231
241
222
230
222
212
247
234
233
228
225
207
210
221
236
213
203
203
202
218
226
214
248
220
233
239
229
203
220
200
242
232
233
230
214
201
230
249
223
224
203
239
210
208
218
203
239
214
245
246
201
243
240
247
247
244
209
243
246
249
245
224
215
217
209
238
207
201
246
245
208
225
202
223
226
212
221
205
239
236
233
228
249
218
222
240
203
220
205
249
216
230
225
221
221
250
220
250
219
245
225
234
206
239
237
225
243
233
228
206
243
240
215
216
214
243
227
248
210
246
227
226
210
227
200
211
241
223
204
211
239
213
244
201
219
214
242
208
209
233
221
240
237
201
202
233
225
223
237
217
217
209
243
212
225
208
242
235
204
216
201
228
201
239
228
232
238
231
202
215
240
240
227
203
210
213
220
222
215
247
231
202
200
221
232
201
244
213
235
250
205
217
226
238
225
230
210
213
233
201
226
203
217
202
231
206
211
242
242
240
206
212
235
249
235
217
242
229
246
245
228
209
225
249
210
235
235
217
209
212
224
231
245
213
212
223
204
220
243
247
200
228
241
223
208
207
200
201
209
249
203
208
225
247
236
217
240
239
233
214
245
223
214
201
249
201
213
200
205
228
250
216
234
215
242
238
215
221
215
246
207
205
228
233
210
200
242
208
241
208
227
200
216
229
211
227
215
237
219
236
242
206
220
240
233
249
234
241
215
213
200
240
215
231
236
237
213
230
229
202
240
214
222
215
220
230
204
245
228
246
224
216
202
224
232
229
203
227
208
216
209
221
204
207
205
202
231
230
202
250
245
237
228
245
214
202
215
227
245
215
233
219
207
232
236
246
201
202
225
242
204
235
222
234
200
217
237
207
207
234
228
224
239
221
243
203
229
239
234
207
237
239
241
222
227
204
236
215
237
205
246
247
203
233
209
226
248
239
205
241
203
212
234
234
242
223
215
208
236
240
202
210
218
239
219
202
205
222
231
207
222
203
238
207
219
221
232
222
249
218
209
234
237
220
246
224
242
217
245
235
236
249
238
233
207
223
218
222
228
208
231
232
219
240
201
223
231
204
202
227
221
245
245
217
201
214
209
226
234
223
219
214
244
223
237
201
224
246
222
226
229
224
227
224
207
206
228
244
250
248
230
240
249
243
236
213
240
229
225
215
211
202
200
221
216
220
205
219
237
243
237
219
241
226
244
216
220
235
247
220
210
238
205
209
205
224
204
219
203
245
201
208
211
204
236
220
239
207
228
248
210
247
242
240
236
238
250
225
211
250
202
232
249
250
211
247
245
246
241
207
246
215
224
205
247
244
246
247
219
211
224
211
226
247
207
219
223
250
225
216
217
241
210
223
200
205
220
208
210
227
218
227
240
241
221
217
240
239
238
201
246
242
218
224
224
229
235
250
220
230
248
230
211
201
248
234
235
212
224
231
238
241
231
248
211
249
205
212
206
227
217
226
225
249
249
250
201
217
202
225
247
242
201
219
217
230
248
223
240
223
201
210
228
248
204
221
222
222
219
224
247
209
201
224
212
209
250
245
203
233
208
215
229
222
247
217
240
200
226
211
236
215
230
215
229
201
231
215
245
208
241
230
202
226
231
202
219
212
230
229
239
237
203
203
219
240
209
217
214
225
244
231
218
230
249
216
225
217
215
243
232
229
200
239
215
226
236
213
240
215
236
211
229
222
212
240
220
238
239
208
214
224
213
233
232
226
212
246
204
220
211
237
230
213
244
226
249
235
217
246
230
211
232
205
216
202
222
234
215
213
205
224
229
204
203
222
221
236
241
228
209
228
208
215
242
242
237
227
240
217
247
212
226
241
245
234
211
203
214
231
216
200
221
223
204
236
210
215
236
216
220
213
239
231
212
223
224
231
249
201
239
244
239
213
223
200
248
211
230
229
204
236
215
214
240
226
249
229
220
243
240
234
212
205
208
245
201
214
215
206
212
232
230
223
207
212
235
240
228
236
229
232
210
244
244
224
246
247
203
249
218
211
202
212
246
225
218
227
203
208
203
244
200
247
207
211
236
207
247
200
230
202
229
227
244
208
246
244
232
214
230
202
217
214
209
237
223
234
247
217
240
233
212
242
206
223
223
236
207
224
220
202
222
243
245
214
238
210
235
218
201
228
234
208
207
207
243
224
250
220
203
218
225
223
234
247
219
214
222
206
230
203
239
246
244
213
200
243
246
246
228
233
230
221
229
210
212
225
224
229
228
250
212
225
235
207
231
200
226
234
234
228
211
219
236
250
231
202
214
209
245
248
224
242
248
234
223
239
234
212
249
236
204
225
220
217
212
246
206
222
207
239
230
210
212
241
211
221
209
234
238
225
224
233
214
210
246
244
234
250
223
229
215
236
231
214
248
204
241
224
249
212
218
247
201
224
220
219
227
203
225
232
213
239
217
221
236
224
208
232
202
219
228
213
218
217
230
204
230
206
216
240
212
207
248
220
214
203
204
215
244
250
218
210
210
203
239
208
215
213
207
238
217
245
212
245
232
217
216
205
228
232
211
234
227
240
250
217
224
224
215
242
217
214
205
200
233
200
235
215
221
227
219
208
202
241
211
243
215
208
202
209
209
208
220
241
244
226
225
232
228
200
238
208
204
208
235
232
228
213
247
216
203
235
229
205
226
249
211
213
228
223
242
234
242
239
212
213
210
203
227
225
247
234
212
371
433
339
462
439
481
470
474
500
465
320
478
453
519
506
457
488
330
328
381
507
415
495
508
459
473
501
339
474
341
337
379
422
500
509
430
488
322
343
516
508
425
488
374
449
343
337
519
460
456
469
337
489
429
499
484
488
469
444
391
380
337
454
365
367
366
410
486
385
373
324
507
489
335
333
353
411
511
391
448
396
372
403
436
391
344
424
473
350
397
332
416
469
335
441
419
453
422
362
401
390
485
431
347
450
502
469
429
336
382
453
343
509
436
424
476
427
338
337
355
505
404
512
387
395
489
483
512
462
374
357
487
334
491
336
492
422
333
360
324
518
465
423
403
510
481
441
398
369
484
395
324
362
477
329
476
455
385
375
391
429
411
368
356
462
397
435
413
482
427
375
507
369
423
507
476
427
456
361
439
379
474
442
474
490
479
465
386
416
487
353
492
496
473
495
462
430
496
412
382
343
483
456
394
464
455
409
375
368
413
450
447
374
421
439
480
375
464
487
341
330
496
427
323
415
352
394
361
369
507
461
494
440
441
455
413
494
516
346
506
360
462
400
416
506
404
349
322
352
333
334
470
434
437
450
479
496
367
347
410
465
383
353
405
420
510
443
423
491
500
346
353
325
364
383
384
421
387
382
458
499
390
441
422
415
510
441
322
507
390
461
337
486
455
514
480
436
347
326
495
377
322
479
335
441
364
474
398
398
490
459
478
340
465
418
512
328
495
495
500
459
368
505
341
340
480
334
387
338
447
485
349
518
469
373
470
331
499
344
447
502
480
388
466
434
401
341
375
472
351
492
479
354
343
431
378
332
382
407
410
475
372
321
362
361
329
357
499
395
385
431
402
463
363
450
503
498
462
390
402
361
354
349
507
508
460
336
456
385
506
488
458
340
343
394
368
378
360
394
430
470
504
377
390
343
402
409
400
421
490
392
342
377
427
320
401
392
430
501
386
323
393
378
329
379
480
437
479
485
380
382
339
470
405
495
408
506
475
416
454
432
396
320
331
391
362
483
510
452
383
418
334
428
392
451
502
492
437
478
367
472
387
409
490
321
502
352
379
381
416
453
358
433
347
448
442
375
491
482
499
488
465
510
320
433
433
322
398
436
453
350
450
513
469
415
354
367
341
436
404
337
449
513
349
450
483
455
348
493
437
503
518
466
384
472
336
453
374
335
337
448
340
332
388
329
427
510
462
322
473
377
495
442
500
363
361
494
482
483
478
520
321
508
335
346
506
513
399
362
335
384
423
444
436
400
490
384
345
505
396
443
375
464
505
387
453
414
450
396
353
510
365
394
504
395
403
329
427
469
321
444
434
346
498
393
392
349
434
336
379
388
369
400
446
361
349
392
431
504
444
499
491
358
453
397
464
477
494
433
322
462
324
336
369
362
498
331
335
478
490
418
381
478
442
469
396
470
418
432
329
389
451
515
383
330
337
372
386
379
465
328
509
341
468
461
459
320
373
335
462
493
407
374
447
507
473
515
348
445
320
442
419
365
452
404
352
321
410
358
376
505
350
357
376
505
415
444
361
383
354
438
394
328
457
432
355
489
519
405
506
394
335
386
445
331
492
413
492
362
351
420
474
326
517
367
449
515
420
365
519
479
480
515
482
383
341
469
369
427
405
362
465
447
388
370
510
333
357
430
427
345
467
351
354
388
363
365
457
440
452
356
320
377
329
501
465
472
355
425
440
385
351
440
342
346
430
454
340
410
518
350
344
475
474
460
333
337
326
450
386
493
485
468
498
435
420
479
425
445
412
355
419
513
419
394
414
465
346
510
396
462
481
519
420
400
480
383
449
468
478
452
390
490
484
347
482
424
493
358
505
375
323
424
464
382
412
430
406
493
418
493
405
425
419
372
330
468
416
386
448
437
378
415
434
511
398
430
445
374
475
414
459
364
448
402
368
328
449
393
341
497
415
339
446
364
476
411
411
322
458
435
511
502
483
478
347
382
504
334
359
510
433
371
330
452
389
391
323
402
338
424
507
457
383
342
407
480
519
374
492
416
506
461
465
425
441
492
458
503
503
484
332
489
396
347
354
464
513
355
360
468
380
321
511
419
372
396
339
420
435
388
438
410
347
439
445
399
496
403
432
399
375
374
515
443
368
444
486
456
512
490
468
327
414
323
468
379
410
467
490
469
329
471
365
398
331
371
449
446
347
360
354
376
436
515
428
475
518
498
510
337
395
482
447
481
392
374
423
380
350
343
420
436
399
365
506
517
325
471
422
423
444
335
412
385
336
476
330
490
354
421
420
456
472
520
389
413
509
478
448
492
388
503
424
419
373
473
449
372
486
458
405
419
396
430
404
351
384
351
483
401
326
409
486
399
510
489
338
520
448
391
336
405
486
509
459
375
429
511
343
467
507
356
454
346
520
486
377
362
500
377
461
514
365
387
381
462
437
363
331
512
334
482
367
355
518
328
335
505
512
433
413
325
485
398
466
478
351
330
375
365
393
473
475
378
394
475
457
338
419
497
365
349
410
444
460
414
487
479
327
401
496
366
335
384
413
334
339
326
342
488
407
374
327
379
475
382
485
434
421
515
482
390
453
365
510
481
509
408
389
440
328
464
340
355
389
326
388
501
485
325
320
361
348
438
501
478
371
500
328
491
467
397
456
428
399
516
513
477
349
354
519
455
388
425
382
437
359
476
452
438
464
393
337
485
495
421
415
498
483
388
507
389
409
390
471
428
514
458
493
351
415
428
515
389
438
486
340
461
363
446
390
470
442
354
480
355
401
443
320
413
505
339
377
365
510
404
518
511
446
426
396
506
369
340
393
328
398
475
340
392
336
436
367
336
512
395
419
422
487
375
486
323
408
378
453
407
519
418
510
493
362
372
418
335
418
405
429
340
481
407
405
418
335
341
320
328
372
321
473
460
355
454
498
470
402
414
453
435
408
471
470
337
488
450
456
346
370
410
472
465
466
423
420
427
449
407
489
439
446
359
400
355
492
349
447
396
331
446
497
470
513
508
454
487
445
323
458
387
511
328
453
331
478
371
462
392
385
497
453
351
342
445
518
320
382
495
323
336
386
360
416
359
367
452
411
347
503
370
354
333
476
492
335
497
332
375
502
437
511
506
406
359
351
368
346
372
393
381
366
395
345
492
460
508
452
389
378
407
324
448
331
385
395
438
461
355
488
498
370
345
462
485
488
464
501
404
326
338
483
504
411
517
386
320
321
508
383
469
503
358
331
510
389
320
482
437
518
485
509
326
351
509
514
462
499
349
380
493
412
327
324
328
448
435
320
436
508
322
462
371
413
458
507
447
389
357
339
332
325
447
496
471
330
361
372
429
482
401
334
409
389
430
462
510
382
464
406
340
377
476
468
394
510
324
519
408
386
430
470
461
340
488
422
373
481
516
322
419
430
386
322
439
370
432
467
376
436
327
431
406
321
383
512
452
396
340
437
359
454
365
395
394
362
386
378
482
496
473
346
496
357
333
391
431
364
355
335
473
475
520
416
487
467
354
383
347
351
392
512
371
491
425
432
399
475
398
438
342
468
486
346
496
505
329
479
514
470
517
344
462
516
410
453
325
421
426
508
502
476
395
503
485
372
504
480
479
489
414
519
392
508
357
400
377
407
403
363
391
343
359
331
489
355
324
397
518
333
366
493
359
424
432
419
424
431
385
509
325
457
490
426
333
402
474
357
515
388
487
506
345
396
403
395
404
388
377
410
370
407
470
344
503
434
358
505
371
486
362
417
409
402
510
337
352
385
441
373
407
475
515
383
320
413
471
517
449
493
429
500
320
424
412
518
390
471
376
391
339
444
354
486
329
365
320
358
420
326
448
435
336
335
391
364
367
450
381
348
350
403
437
399
441
414
398
379
503
326
331
337
468
459
348
349
342
364
432
490
386
438
425
423
428
340
503
381
368
345
367
429
322
403
434
418
465
450
428
416
365
482
419
399
410
356
337
464
464
370
510
502
514
504
444
416
415
441
397
485
419
431
511
363
387
455
513
511
491
376
447
454
330
477
466
378
439
518
423
501
390
401
420
421
491
325
457
482
368
373
504
407
493
386
404
427
392
347
424
376
360
462
513
364
376
390
478
493
452
433
475
476
446
330
320
435
346
490
323
360
407
388
480
397
409
347
376
335
458
437
430
425
519
452
357
441
326
483
405
345
390
407
401
460
405
362
409
491
441
347
483
379
342
442
338
367
493
416
501
444
511
448
481
475
336
377
357
508
335
343
424
504
408
391
371
328
378
419
355
325
456
322
355
372
398
425
355
518
331
470
359
407
349
470
342
365
328
419
496
449
334
446
443
469
456
410
511
378
333
448
507
445
515
479
399
421
457
443
513
465
419
370
344
367
458
365
496
401
476
482
394
371
404
376
418
375
418
372
386
503
377
346
515
516
494
417
393
398
393
341
459
402
457
417
368
353
436
376
337
465
344
473
477
438
453
400
444
415
454
372
368
420
423
393
386
421
426
330
373
440
427
334
474
513
488
368
354
415
429
387
506
452
364
337
357
383
423
509
360
448
504
324
338
514
365
357
417
476
336
385
439
370
465
366
435
463
331
387
338
363
437
385
348
492
495
496
359
350
402
512
325
335
397
444
465
382
498
515
436
350
372
517
475
348
460
490
440
352
463
464
457
441
413
332
381
420
508
451
456
410
411
345
508
508
515
503
326
338
479
435
387
463
465
401
443
323
366
472
442
444
485
463
337
403
340
382
325
348
454
381
396
402
453
338
400
416
469
489
512
380
397
328
477
375
391
486
372
513
451
362
479
441
495
497
327
436
454
511
437
438
450
363
503
458
478
390
345
400
480
433
456
353
333
469
400
504
507
448
337
476
460
446
320
510
503
323
434
423
334
486
375
416
498
326
450
390
369
504
488
452
365
398
356
438
421
518
388
337
486
464
333
483
488
405
411
441
480
519
491
506
408
406
447
444
417
491
518
427
392
481
381
500
434
429
432
430
506
432
487
376
335
409
373
462
401
418
424
352
366
474
336
441
355
327
508
380
374
434
425
504
460
428
430
374
393
368
402
443
446
320
448
467
408
511
399
491
470
514
416
336
519
470
383
503
328
411
375
450
463
389
437
495
520
372
488
504
349
482
467
404
375
480
359
364
492
486
465
334
343
512
452
400
449
377
432
482
491
451
351
402
384
328
455
512
447
380
427
493
487
397
499
471
395
482
487
391
503
336
416
456
494
425
460
449
458
428
485
424
449
331
520
378
431
471
480
493
470
396
427
324
479
508
443
446
482
397
496
420
453
369
358
485
499
443
366
402
323
465
401
377
409
414
378
465
422
431
506
449
392
382
480
452
382
383
433
409
426
461
501
506
519
384
423
408
494
378
423
322
370
515
403
519
337
500
418
360
383
390
388
360
355
374
416
355
464
455
348
449
489
324
332
339
333
330
507
414
412
495
498
511
493
491
380
338
485
519
485
325
437
405
445
424
492
438
346
349
507
497
502
407
381
358
432
404
383
476
419
365
399
495
358
520
417
364
379
463
464
503
469
396
384
442
474
404
517
348
372
497
405
334
515
330
369
331
325
451
429
464
354
371
404
397
330
489
468
366
505
429
398
484
347
433
396
353
466
435
424
462
516
470
381
356
323
379
449
499
457
425
479
362
320
487
507
363
392
384
514
510
450
494
322
370
353
377
501
418
425
422
504
468
513
485
446
497
422
344
344
512
420
367
437
408
389
512
417
371
341
373
373
392
444
506
447
401
384
453
320
386
483
401
472
329
486
519
332
372
433
375
485
334
488
458
501
396
351
373
358
439
504
403
505
421
322
352
477
429
341
419
517
381
329
338
375
399
416
349
469
438
320
507
341
338
437
445
486
513
354
352
329
386
507
402
349
363
417
323
358
335
323
366
325
401
431
401
500
437
359
387
373
501
478
358
403
351
439
410
354
361
382
341
440
409
506
449
411
421
520
398
508
365
335
365
456
344
512
454
410
388
451
422
397
454
457
328
460
382
520
416
368
482
475
405
434
379
466
507
487
432
362
350
481
500
500
415
477
418
332
433
443
423
354
417
383
511
476
454
321
500
455
395
437
367
490
358
384
517
447
323
434
348
326
478
428
401
496
491
369
375
326
403
327
337
511
512
371
517
365
374
502
391
336
321
502
368
447
413
321
333
351
508
350
434
515
396
327
488
394
327
462
488
428
479
412
404
368
428
321
410
393
504
476
473
351
471
515
351
424
332
391
500
468
412
470
443
355
411
414
385
418
428
387
497
470
434
422
501
420
336
482
359
328
516
466
380
459
363
341
389
381
352
436
429
332
339
486
475
460
352
333
366
353
388
469
350
414
382
362
372
416
517
380
445
481
432
392
461
415
400
374
354
389
372
463
491
329
362
340
443
325
387
341
347
329
402
378
364
352
387
414
333
343
432
356
475
488
515
452
393
495
320
458
450
376
497
485
493
417
469
478
437
485
446
477
440
359
436
328
320
397
445
519
451
421
406
467
496
369
380
322
512
421
520
430
343
441
460
393
380
441
361
435
439
399
325
487
508
391
479
377
498
383
349
506
512
515
454
480
326
329
404
329
463
380
322
326
430
382
445
363
371
468
490
323
335
453
405
464
468
420
465
375
324
412
378
416
324
372
418
394
449
483
400
398
404
407
321
495
511
338
483
479
493
413
485
516
392
486
343
396
357
518
372
371
327
465
462
457
358
423
509
352
468
473
442
367
496
393
384
431
436
348
456
448
362
434
324
367
453
334
435
323
395
366
493
411
400
346
422
359
366
397
401
324
375
513
459
487
432
520
400
416
427
418
426
336
471
369
505
385
373
405
447
408
398
409
321
448
355
507
445
519
437
465
386
481
334
426
322
475
514
370
414
481
508
517
357
392
508
443
388
449
421
455
414
415
502
363
486
389
516
385
474
332
490
341
325
341
421
453
409
467
509
510
504
371
512
471
332
435
433
415
361
413
454
513
422
498
390
493
373
512
374
393
434
429
399
459
413
368
486
506
503
361
358
495
424
438
501
388
453
440
501
500
367
417
475
350
340
352
462
389
407
357
398
512
481
483
507
363
387
473
364
448
320
368
372
353
411
429
462
337
476
489
328
424
448
480
511
493
397
324
423
327
377
353
504
373
378
478
511
469
409
426
369
515
486
501
510
443
351
507
366
448
352
505
407
358
409
349
517
388
352
484
511
416
362
462
321
373
396
358
501
494
327
480
377
356
420
517
514
427
407
418
347
518
488
517
519
388
351
333
403
407
364
449
489
376
504
444
383
453
348
373
520
446
467
390
393
383
478
411
517
337
455
387
506
349
410
353
341
402
320
391
443
453
354
489
481
465
475
369
357
362
393
414
361
402
510
357
362
423
455
398
460
496
484
513
467
385
458
512
361
477
419
403
448
409
514
411
370
432
458
429
387
506
467
333
403
427
386
358
361
429
493
351
335
324
359
490
480
420
377
361
519
479
391
502
328
438
509
439
344
364
507
396
396
505
346
325
480
434
368
451
437
514
354
432
479
470
441
380
362
371
390
471
414
357
322
380
419
373
430
519
497
465
370
443
340
397
487
425
423
398
322
479
321
369
385
474
493
507
471
516
335
370
466
321
404
460
462
464
335
357
439
365
326
425
455
451
371
412
327
370
514
400
359
330
344
417
364
356
380
466
360
491
457
409
471
390
345
335
397
510
353
482
454
397
455
325
393
383
455
367
394
485
336
473
399
413
427
402
331
340
445
336
353
394
392
418
321
371
487
408
370
512
519
414
342
395
373
329
404
343
498
352
504
470
351
336
430
479
516
504
394
380
501
388
335
334
341
389
407
421
459
398
333
495
472
328
449
511
419
513
410
500
427
429
419
330
425
479
483
507
456
501
483
407
363
328
418
389
492
431
370
483
359
453
451
461
409
483
374
446
333
428
444
400
329
423
409
390
457
425
500
497
350
501
518
392
484
366
418
413
334
428
465
392
335
478
338
518
461
482
343
483
388
457
511
343
446
427
407
504
390
408
419
518
504
419
377
466
425
326
469
412
508
321
412
511
363
433
501
513
498
355
382
332
506
402
344
499
320
496
475
460
508
424
403
363
511
377
341
334
428
457
421
379
349
501
485
488
479
373
457
410
365
360
320
489
390
360
320
378
362
358
459
517
405
384
483
464
374
403
366
345
469
442
323
399
376
414
442
456
344
403
507
460
388
351
412
342
399
340
504
459
505
367
416
397
410
463
395
412
421
342
493
443
404
462
395
352
476
387
496
496
331
384
351
357
402
326
482
358
492
457
357
356
478
512
422
356
376
383
388
382
443
327
347
434
412
400
432
455
477
367
471
393
324
448
436
512
361
387
477
465
450
423
344
448
436
426
394
405
470
501
520
424
390
409
509
341
322
404
504
335
423
422
401
512
450
362
354
492
373
483
517
492
433
423
383
504
388
459
511
363
430
378
466
346
434
487
372
511
331
393
422
453
385
512
468
406
327
411
385
431
351
509
429
388
408
373
438
403
491
331
380
471
378
448
487
374
489
515
440
458
473
466
420
351
323
369
474
358
441
419
323
467
351
392
489
331
509
519
381
374
442
518
471
416
396
332
345
450
349
347
451
431
356
357
443
401
486
453
412
493
482
440
502
482
331
436
403
359
479
368
427
460
383
404
433
335
506
341
423
500
438
461
377
495
373
446
439
488
507
404
514
420
364
398
461
433
327
497
382
407
327
520
491
508
463
424
474
475
516
322
357
453
469
367
431
490
370
456
333
422
495
331
353
470
419
436
504
437
371
234
213
239
219
244
239
220
250
224
223
249
203
219
242
214
202
233
230
238
214
240
229
231
233
211
228
243
242
241
212
209
229
230
214
250
217
225
205
228
201
240
238
223
239
230
241
219
242
248
233
205
234
226
226
215
236
242
237
223
222
240
206
211
245
237
238
211
224
233
212
243
216
210
209
200
247
236
221
209
236
239
223
237
226
242
223
247
244
225
231
248
207
232
224
208
221
204
217
248
222
220
207
230
230
234
210
214
230
217
238
217
248
215
219
200
222
248
210
250
211
213
220
210
242
203
219
209
233
210
204
225
234
234
232
238
246
219
220
248
247
211
242
239
235
231
206
243
218
239
241
232
231
214
233
243
223
242
211
202
213
211
225
210
211
220
221
208
211
208
229
247
218
205
229
220
209
237
203
230
245
204
238
220
248
224
205
249
224
244
214
216
228
238
205
243
205
243
214
245
234
249
208
204
217
250
205
216
224
216
245
218
245
207
213
222
217
244
225
241
205
226
207
214
226
206
212
233
242
232
214
217
244
207
219
200
233
235
248
235
244
233
230
213
233
237
220
225
202
216
248
229
222
231
243
204
204
201
203
238
210
202
231
238
206
232
215
249
210
230
204
206
230
243
230
240
212
220
241
200
203
248
235
217
213
203
248
233
202
248
246
203
209
234
220
245
233
235
220
231
243
205
220
207
225
236
249
209
213
241
202
242
239
247
216
218
223
217
243
213
217
248
219
225
243
238
235
226
202
221
231
242
223
243
227
217
226
220
219
202
225
217
216
211
239
250
200
204
228
224
207
239
242
245
244
248
228
213
244
207
243
211
208
232
239
213
231
201
214
217
235
242
223
231
236
215
222
216
212
210
206
244
247
209
224
245
203
249
201
213
240
204
234
209
216
204
224
202
209
200
245
211
207
226
233
244
211
215
222
209
217
209
232
215
225
217
226
238
205
239
221
229
216
241
215
249
244
224
237
221
217
223
236
224
216
222
246
216
243
223
228
241
215
220
230
204
238
219
203
206
209
210
213
232
231
245
235
249
231
226
244
204
249
216
212
235
204
225
217
237
230
245
205
233
209
242
247
244
223
219
214
207
210
205
241
234
211
202
215
250
225
202
250
232
223
244
229
200
250
229
218
229
222
247
223
219
219
243
243
217
227
207
214
217
202
218
231
229
229
233
202
211
241
250
212
242
241
241
244
226
244
206
224
220
234
214
239
209
224
248
232
245
217
244
235
244
233
230
249
230
237
234
232
245
224
244
202
250
206
201
233
208
235
204
248
211
211
227
237
241
220
208
214
204
206
245
202
237
223
221
206
211
244
246
207
221
204
215
247
249
218
243
240
201
222
225
238
208
243
241
232
201
214
248
233
245
230
230
213
212
227
219
246
249
239
245
214
249
233
210
218
210
230
221
225
211
209
217
231
232
249
247
225
239
230
235
205
222
250
217
245
244
205
224
209
210
249
230
204
223
224
213
212
214
234
209
248
231
248
214
202
211
233
219
238
203
242
210
215
234
233
232
202
219
209
213
239
221
237
206
235
218
206
222
214
211
231
223
250
235
247
243
210
208
243
218
211
214
206
241
214
202
229
245
250
225
233
210
220
209
221
239
227
207
243
241
229
231
247
229
245
213
214
211
205
226
209
202
204
239
225
227
203
247
250
241
203
237
203
221
208
220
206
212
209
215
246
224
233
227
222
205
210
211
234
219
210
240
233
240
210
228
210
211
207
247
220
218
208
207
237
218
221
237
205
248
205
211
230
238
227
246
241
208
235
213
214
248
217
202
242
216
240
230
229
245
247
200
211
230
226
226
206
238
213
244
203
204
227
227
236
245
249
227
229
245
217
202
212
213
226
213
215
239
227
204
214
224
201
207
212
206
232
236
246
227
212
228
237
203
233
212
219
233
204
250
222
242
222
222
250
232
231
227
218
226
231
239
228
209
228
232
219
214
200
232
202
225
223
244
240
210
231
221
209
200
234
223
227
234
213
205
248
209
219
248
215
235
227
243
249
226
239
219
200
206
221
212
245
247
212
206
250
231
216
237
205
244
200
214
227
213
243
235
207
213
242
249
225
213
222
218
227
233
239
231
216
249
227
213
213
208
207
218
241
222
238
249
246
242
205
236
210
201
212
243
246
221
250
247
201
211
213
207
201
200
220
237
206
215
210
245
234
213
208
236
233
242
200
242
218
234
215
216
204
208
226
223
209
243
227
221
235
204
242
218
244
245
221
212
209
212
220
230
250
221
207
213
233
214
229
240
205
223
200
221
224
236
209
226
246
238
235
246
250
250
214
226
200
204
205
232
231
246
225
240
232
219
201
208
200
203
244
214
234
223
220
245
242
200
242
219
219
222
210
248
250
213
248
224
240
229
215
233
205
213
226
206
222
222
237
245
243
207
231
218
209
231
215
222
219
215
233
234
219
248
240
203
212
246
200
239
228
218
250
200
245
223
243
222
216
217
240
215
240
235
217
236
240
238
220
230
224
249
220
238
238
239
227
207
224
204
239
201
236
238
204
232
247
205
202
234
236
218
240
206
219
229
246
207
238
247
240
220
243
217
246
242
249
225
249
214
223
211
230
242
234
233
243
239
247
249
237
235
217
244
225
245
213
242
222
248
226
204
216
239
235
200
213
214
247
247
205
213
225
248
241
218
213
233
228
205
229
214
220
244
208
244
207
218
216
211
245
236
250
208
232
213
235
217
227
208
219
238
219
238
208
219
228
241
240
223
214
237
246
238
244
247
242
208
234
211
222
220
204
201
241
236
210
248
247
225
229
234
207
233
243
227
241
246
200
229
214
245
244
238
205
242
239
223
203
203
247
218
237
217
212
205
239
238
222
228
229
233
218
220
232
225
218
249
201
245
248
211
248
228
228
226
201
234
225
243
211
225
216
250
223
205
205
240
245
243
212
244
230
230
225
245
227
245
223
226
226
226
212
214
200
200
245
210
243
244
210
203
213
238
232
237
246
220
225
205
246
241
244
246
236
207
240
241
233
241
239
247
233
250
211
243
249
244
228
226
226
215
225
214
245
220
225
228
249
243
220
202
205
228
222
210
217
201
212
221
217
240
233
207
228
232
202
246
221
240
238
250
230
233
222
239
226
244
240
242
227
226
207
222
224
241
224
223
212
245
247
213
211
246
242
230
222
240
235
226
217
229
219
210
234
222
237
243
230
250
201
223
241
216
227
202
238
238
200
248
241
216
232
231
245
224
237
222
213
221
210
213
210
212
205
222
205
242
219
200
225
240
213
217
214
234
250
215
214
227
234
248
250
229
214
204
224
231
216
210
221
230
226
221
239
217
202
240
250
201
202
222
201
243
246
202
234
239
237
215
235
244
222
212
236
241
244
247
232
244
211
236
235
201
245
206
211
202
209
240
225
207
200
222
242
219
232
242
229
220
201
238
225
244
238
207
207
249
225
215
223
209
236
225
217
217
203
202
214
208
243
239
235
247
244
208
246
208
210
239
248
213
241
217
222
227
223
231
218
230
248
246
240
232
231
226
249
241
222
203
242
241
246
250
250
229
230
236
239
249
239
242
200
217
227
228
217
223
227
203
243
227
220
210
247
245
200
243
222
230
229
236
225
247
239
243
221
223
221
230
241
213
211
200
236
212
215
216
227
230
223
201
247
216
207
204
210
215
214
207
211
209
234
240
232
213
240
223
230
211
223
223
207
216
224
247
218
230
237
211
223
246
211
230
227
231
224
248
206
201
208
208
204
246
237
244
223
245
205
235
227
228
225
246
200
232
212
228
213
202
233
246
243
224
211
214
242
240
204
246
211
249
221
243
242
210
249
205
220
240
204
208
201
211
222
216
208
239
214
236
216
206
225
236
219
227
243
204
241
247
229
240
246
222
208
213
247
224
234
240
235
226
237
235
204
230
203
244
224
207
213
216
222
238
205
242
208
247
250
224
233
209
228
215
239
205
237
224
227
231
247
232
234
217
206
208
236
241
244
234
208
248
243
227
209
237
224
211
230
222
237
232
203
220
214
222
236
231
212
230
234
232
212
228
241
236
214
221
246
233
212
245
206
237
206
248
243
243
210
240
221
236
226
203
242
211
245
213
201
202
210
229
248
204
204
200
249
212
236
219
222
231
237
203
235
231
204
212
213
240
220
226
217
221
215
223
202
217
213
205
244
226
237
220
231
246
240
210
215
222
213
203
215
209
203
203
224
228
200
243
245
243
221
247
243
227
246
226
215
239
220
214
236
205
222
238
218
235
242
238
227
243
228
222
204
244
247
201
244
239
231
238
221
249
222
230
220
243
213
246
236
214
245
200
201
224
245
250
205
240
205
217
216
239
229
215
218
249
243
201
208
214
236
229
243
242
240
249
224
204
244
212
246
240
201
237
227
212
208
247
205
219
247
243
218
203
226
206
229
247
214
213
242
232
218
245
239
232
247
236
202
242
206
207
233
231
247
210
222
233
229
214
238
220
203
245
214
202
237
243
247
230
230
241
239
201
225
249
230
208
244
217
208
201
241
247
242
248
209
242
213
221
222
229
229
223
231
241
235
216
218
228
214
221
223
212
247
249
234
219
245
225
212
242
237
212
209
217
231
239
241
224
218
241
248
220
214
227
239
237
224
240
235
231
206
237
235
220
211
248
227
223
245
242
210
209
212
249
246
237
239
228
225
223
214
228
216
231
237
205
222
246
214
238
206
218
215
216
233
235
213
248
201
217
214
206
250
243
211
240
214
206
234
239
206
237
226
223
237
218
220
212
219
232
239
213
242
203
206
206
224
215
217
217
225
245
222
249
246
230
238
232
216
245
234
219
244
218
229
208
240
200
205
200
203
235
205
227
208
202
230
241
245
224
232
232
210
222
243
215
250
214
200
210
202
228
200
223
233
233
233
217
209
246
247
245
206
247
228
220
201
225
247
240
239
249
242
203
246
227
220
218
221
227
224
204
232
204
247
241
230
231
225
223
214
214
242
250
220
215
222
212
239
225
247
216
247
232
223
205
249
216
228
248
237
244
237
229
242
215
217
217
202
225
247
247
207
202
221
208
215
222
209
209
217
214
243
242
208
200
244
218
241
212
233
215
217
236
217
208
239
244
206
218
231
210
223
242
213
224
248
205
231
214
240
223
226
229
245
228
241
206
242
209
202
223
213
204
210
244
241
237
242
218
227
204
205
245
204
229
240
225
224
216
228
242
236
245
222
216
227
236
237
243
203
249
220
205
205
239
222
214
209
219
208
242
219
207
222
208
246
209
228
248
213
221
224
211
211
242
205
245
201
232
222
212
239
243
236
210
202
205
200
247
234
248
207
250
232
210
218
215
207
215
248
231
212
221
234
235
248
208
246
205
210
244
212
241
220
241
201
248
208
202
241
222
249
237
250
232
214
236
202
218
220
230
234
245
244
218
239
234
228
250
219
226
228
203
248
223
205
207
244
228
241
220
249
211
228
224
236
236
238
208
223
214
238
235
222
226
221
244
250
240
205
230
225
239
224
239
222
247
229
214
223
211
242
212
224
222
237
214
225
226
204
203
204
200
239
228
216
201
236
208
211
207
218
218
249
210
242
203
205
202
238
247
219
245
242
223
248
200
202
226
208
221
226
243
223
202
239
222
238
235
220
243
228
216
202
219
238
230
216
240
228
241
225
209
238
210
248
250
218
221
229
234
204
231
217
223
204
231
217
236
204
218
246
208
236
213
227
240
233
213
243
211
214
217
224
250
249
245
209
237
216
250
230
229
245
232
223
200
206
224
239
221
212
230
234
234
240
219
204
211
217
236
229
203
219
233
247
216
237
235
248
244
239
203
221
202
242
232
244
227
245
236
226
247
206
209
202
217
201
226
223
233
207
249
213
233
207
248
227
224
214
210
224
245
247
234
243
203
209
226
220
242
241
226
243
227
220
237
213
248
241
228
208
245
201
214
237
221
202
248
241
203
200
221
222
218
223
245
209
215
238
224
203
219
228
211
234
238
231
245
239
245
211
204
219
209
209
240
241
244
247
220
200
247
201
227
226
203
219
248
245
201
235
210
228
241
231
241
249
208
215
207
207
205
220
202
239
209
215
232
211
205
239
208
205
243
215
226
235
244
243
224
238
232
237
204
213
226
231
214
223
216
236
218
214
203
210
248
214
242
231
223
204
237
243
225
212
241
239
225
221
214
207
212
213
245
207
203
203
246
201
225
222
228
236
242
230
247
228
230
220
213
225
227
217
206
221
212
215
246
215
235
248
225
248
224
200
212
223
249
233
204
235
214
200
223
235
232
234
246
240
247
224
218
215
203
206
224
210
239
248
241
219
225
215
250
212
240
231
200
202
249
250
213
234
200
225
205
212
242
219
214
238
216
238
246
238
207
242
222
228
227
207
223
226
219
208
222
214
240
223
250
226
206
248
233
248
208
220
245
238
238
215
250
202
224
214
227
242
235
250
201
217
206
246
210
250
221
244
233
228
201
215
206
216
202
224
205
244
203
206
200
213
221
240
243
237
217
218
231
244
229
235
209
231
200
216
217
228
238
202
244
204
238
229
218
211
246
204
206
230
209
211
206
242
248
238
235
204
228
219
242
237
248
229
209
209
243
216
219
213
207
237
235
205
211
217
233
204
220
205
232
232
244
220
214
234
248
205
210
221
249
208
207
221
249
240
232
218
223
244
217
209
203
231
204
221
219
235
245
245
214
204
213
225
236
213
213
207
233
223
243
209
208
213
221
224
242
221
210
247
213
237
244
230
201
212
237
221
250
218
226
233
228
238
214
242
237
221
238
207
247
218
234
204
227
215
235
200
246
250
232
238
224
213
230
240
220
247
208
231
227
249
221
247
211
203
249
218
200
209
242
243
218
249
242
245
222
235
210
218
241
217
217
210
218
207
208
231
209
231
235
213
212
208
224
250
245
231
214
229
200
223
207
238
223
230
214
249
216
246
216
201
214
209
220
205
223
222
210
242
218
220
247
212
244
207
238
243
218
240
248
212
235
209
237
238
250
241
235
214
247
203
245
239
234
248
201
208
207
237
230
232
208
223
224
218
250
200
243
250
219
223
237
202
206
209
220
239
226
242
215
210
229
238
223
212
215
220
201
213
207
236
240
221
223
215
217
236
231
216
204
229
210
247
211
224
209
215
243
210
248
224
210
217
247
228
247
220
239
225
235
241
208
230
213
217
204
238
211
225
219
243
231
236
235
243
216
210
204
204
232
208
218
203
249
231
217
211
246
234
237
216
233
250
204
228
250
228
205
216
229
226
247
239
250
216
220
247
233
237
228
239
213
207
213
229
238
223
231
235
244
209
230
209
214
245
248
215
210
233
246
248
212
217
247
248
236
245
216
205
212
217
216
243
229
230
243
226
211
200
230
211
233
204
208
225
216
216
216
232
210
225
239
216
239
202
218
203
230
201
236
249
205
221
233
237
225
209
219
201
225
207
225
241
242
238
215
239
216
244
246
224
233
228
200
217
250
215
214
247
207
217
242
214
206
225
222
231
238
209
236
250
239
233
245
218
235
227
221
205
209
220
206
227
240
210
232
205
220
233
249
212
241
200
204
204
214
245
234
234
233
221
200
200
207
239
216
245
239
210
226
232
227
210
200
222
219
232
227
246
216
234
228
219
216
240
239
248
209
240
243
230
215
243
204
231
202
239
213
237
224
202
231
203
235
246
248
222
208
224
230
248
238
212
225
202
236
237
219
245
203
205
203
250
217
239
239
219
240
245
244
236
236
211
207
229
216
200
215
229
233
216
242
245
208
212
225
218
250
208
231
244
222
207
241
248
213
232
227
204
247
249
224
236
230
206
215
245
230
206
216
202
207
234
233
234
246
221
241
216
203
206
210
247
236
232
248
235
250
249
211
241
223
216
225
245
210
233
243
234
204
201
200
241
220
204
200
242
250
229
227
243
244
247
202
223
204
211
206
219
212
245
244
216
229
236
247
228
221
221
242
206
217
240
237
205
218
202
205
243
205
248
240
206
225
205
240
233
243
224
204
231
232
214
211
231
208
216
239
248
241
241
211
242
244
233
237
234
200
223
203
227
220
200
234
213
211
235
228
245
223
228
204
230
249
223
242
235
243
232
245
224
202
205
234
245
222
236
203
206
218
210
238
206
228
238
222
242
231
235
207
227
248
221
207
224
220
234
241
200
213
211
236
248
243
245
248
243
229
229
212
249
203
224
218
240
233
206
240
236
217
221
221
207
236
235
220
235
206
222
238
226
220
217
241
218
209
220
202
209
218
227
219
224
235
239
240
238
241
244
210
245
205
210
210
217
230
200
248
214
205
238
237
232
212
225
235
246
232
222
234
214
212
203
226
209
249
243
215
200
228
223
238
245
242
236
238
221
221
223
247
221
210
209
248
205
217
243
219
212
241
227
204
228
216
200
227
248
217
204
242
230
226
220
210
242
203
237
214
221
233
235
223
232
246
212
205
214
213
231
245
229
243
205
201
240
230
246
211
220
250
243
236
244
218
240
203
201
219
210
204
224
231
226
211
210
227
216
208
248
200
209
242
238
245
228
202
236
227
228
239
209
228
225
250
220
200
235
237
210
236
200
214
210
220
205
213
248
214
232
207
250
239
214
223
236
380
517
352
462
422
448
501
476
371
334
408
335
403
504
493
493
487
461
414
456
327
482
495
469
430
404
458
427
482
470
408
393
459
320
348
375
507
464
455
435
392
440
348
446
447
506
345
375
370
369
490
352
432
506
462
425
510
342
421
374
478
345
364
435
385
494
476
520
474
468
458
517
347
380
469
471
503
326
449
380
414
411
427
349
411
425
436
446
342
469
353
484
496
486
326
462
486
322
441
356
438
436
381
349
497
439
330
480
380
328
417
451
360
337
405
377
422
496
433
443
402
456
368
444
418
396
326
468
439
456
502
451
388
421
484
471
512
323
362
513
416
350
388
343
388
391
417
456
424
469
439
396
445
350
341
394
348
469
369
494
481
456
454
511
520
429
450
336
373
331
352
339
358
411
407
408
500
495
403
437
493
500
385
335
391
467
346
462
511
366
332
417
355
414
484
335
491
371
376
450
388
427
411
485
421
353
437
399
417
445
426
426
353
453
374
369
408
364
421
435
432
430
519
330
377
393
447
359
394
481
430
380
400
515
514
401
520
348
375
520
403
408
414
444
420
383
505
505
492
408
429
388
375
341
320
323
448
474
465
449
508
457
407
502
438
358
414
461
381
442
499
452
438
474
454
472
491
454
490
500
495
368
447
393
495
356
321
403
328
334
332
496
455
468
360
411
448
504
495
486
334
468
508
475
380
363
446
346
458
482
479
370
413
404
357
333
453
404
425
372
465
328
418
517
403
446
477
478
465
343
425
504
425
443
510
511
433
341
362
371
366
377
476
422
355
386
516
403
458
339
364
393
325
450
348
445
364
473
381
321
320
487
518
445
365
336
398
359
387
435
471
345
346
497
399
441
385
401
514
457
508
424
434
363
486
348
503
433
433
516
379
360
385
475
337
409
398
468
364
417
475
403
349
394
388
507
451
355
487
498
423
348
359
510
464
520
378
326
493
443
486
409
383
453
452
491
510
472
404
379
361
332
451
467
380
374
338
348
520
355
402
514
496
518
450
497
355
407
485
492
383
349
458
428
428
451
504
382
334
467
420
488
399
388
477
490
378
334
448
466
349
343
453
490
477
469
350
344
365
380
504
488
322
328
433
364
515
394
518
461
339
358
504
407
443
379
447
365
447
389
383
444
384
328
371
426
327
395
415
407
399
468
450
428
502
465
519
486
448
424
460
423
403
431
405
464
489
516
404
459
423
360
339
444
431
511
321
416
424
392
462
477
506
512
433
366
468
488
475
405
451
433
362
349
507
377
438
462
500
418
449
404
450
324
425
413
407
461
331
321
506
322
357
395
324
380
320
416
477
382
379
484
324
437
336
373
357
402
351
453
409
438
350
406
430
428
388
485
395
329
510
329
395
516
375
475
492
503
477
500
349
474
506
438
380
381
333
425
348
472
363
364
342
424
382
494
416
461
468
350
331
466
478
505
429
323
459
441
495
373
335
457
457
434
326
335
371
365
322
345
428
429
384
414
458
463
477
386
433
398
442
381
463
351
388
463
403
357
413
430
485
484
353
329
420
427
432
391
446
458
331
333
461
508
351
341
441
414
395
357
322
450
344
467
481
354
503
501
429
427
346
360
395
413
443
399
485
358
382
356
353
483
496
504
356
412
365
432
388
414
414
507
438
376
328
447
420
396
509
337
410
369
490
409
455
463
333
363
359
320
414
405
511
434
473
330
377
439
475
498
434
491
339
332
404
463
405
417
490
334
500
415
520
477
473
463
369
393
472
408
428
448
485
511
432
369
468
454
416
477
520
454
511
430
474
520
420
411
471
432
371
362
335
369
357
512
472
469
441
491
390
410
434
508
325
432
471
389
517
421
412
337
417
410
464
409
418
367
487
439
466
473
491
322
326
447
504
320
463
469
409
407
320
403
324
406
374
422
414
376
438
389
429
462
364
340
498
434
427
488
327
500
369
417
360
491
391
501
402
439
354
429
427
372
470
361
324
434
474
507
346
337
394
465
520
377
429
435
368
390
393
344
375
405
422
371
457
366
385
426
495
346
519
348
363
471
351
351
429
417
397
391
467
399
411
402
508
359
509
472
361
407
441
358
407
469
442
510
448
445
516
332
425
452
501
418
332
453
519
399
458
517
486
322
372
353
516
492
458
396
419
372
327
415
399
409
450
506
466
420
420
333
460
453
354
392
336
410
458
457
354
327
441
480
419
337
445
518
330
356
355
425
364
426
334
336
479
399
328
352
379
409
404
507
336
432
492
355
388
367
460
361
424
509
408
434
447
320
457
476
330
432
325
403
332
497
337
414
432
514
385
392
479
516
393
406
469
512
485
515
342
516
476
452
417
485
322
398
400
389
380
452
419
368
423
505
365
359
419
415
468
397
491
397
515
380
417
478
355
442
331
439
477
332
359
468
369
357
355
422
516
394
407
409
450
354
501
511
363
450
386
381
493
321
426
430
376
326
355
499
333
486
442
367
486
393
404
463
411
438
503
396
439
446
384
374
485
413
494
464
355
411
398
505
520
372
467
517
401
392
508
500
445
405
330
459
379
514
405
348
502
381
358
494
342
405
357
498
435
325
398
373
415
446
344
395
341
327
424
465
322
382
452
325
452
490
404
347
440
325
489
396
441
462
470
330
470
501
516
484
341
375
358
333
332
462
507
322
474
501
488
367
504
465
510
484
452
458
431
489
450
398
482
324
511
393
394
509
398
411
517
408
445
371
340
491
483
384
519
456
471
383
440
498
349
337
354
340
440
516
357
450
378
493
403
345
504
444
448
476
428
323
400
351
386
330
476
474
459
505
415
474
396
349
362
385
358
388
416
501
474
375
401
488
388
512
336
348
469
340
503
419
429
356
379
326
352
408
386
323
340
488
420
376
434
398
359
385
348
483
438
335
486
439
393
484
454
331
333
390
460
515
471
423
379
459
327
467
396
423
378
491
435
433
431
511
391
327
382
432
333
339
381
492
392
438
456
363
448
332
392
469
437
390
347
518
454
375
443
362
363
485
323
321
499
486
391
501
495
387
417
436
414
431
367
452
513
439
517
358
338
506
419
512
424
422
478
332
505
436
402
455
381
468
501
372
432
342
455
496
432
502
323
357
367
326
488
480
468
507
458
420
462
415
420
392
328
412
342
348
443
459
394
326
509
385
480
461
413
475
497
469
332
494
335
331
408
359
491
455
356
330
517
321
489
485
363
363
406
434
465
352
508
336
402
504
503
461
516
486
441
385
506
484
395
362
519
519
500
385
331
402
449
462
510
503
484
385
433
519
393
485
334
487
346
328
504
506
389
496
334
399
424
384
380
357
458
518
379
404
331
416
458
466
458
458
354
468
404
448
450
466
378
494
403
357
424
436
417
352
406
347
382
435
481
450
354
356
463
467
490
472
390
443
409
458
493
501
325
462
334
486
332
335
353
359
452
379
493
384
382
417
393
334
457
494
385
405
376
472
354
410
466
330
462
388
492
519
365
354
355
508
468
483
476
501
443
493
370
490
349
444
426
445
412
514
463
485
320
340
370
333
488
387
396
415
474
394
478
503
350
508
411
374
367
342
421
324
413
389
517
491
445
451
357
510
463
490
495
423
376
435
343
460
513
478
493
334
453
386
475
363
445
507
473
396
333
411
495
426
419
454
440
365
331
468
459
391
322
381
392
489
514
483
334
335
366
368
334
501
447
384
419
375
516
471
496
484
442
344
482
478
472
464
369
471
320
447
350
388
388
480
380
432
413
427
503
383
345
503
428
503
444
381
397
447
363
444
456
480
388
370
476
355
343
375
335
348
419
332
355
349
490
516
421
395
346
481
509
460
432
510
517
359
410
366
374
425
426
330
443
351
361
328
362
335
503
469
348
377
478
413
428
496
355
513
504
382
380
365
341
399
403
468
510
418
484
520
369
343
328
426
386
396
366
459
473
338
427
344
452
429
325
366
446
360
348
351
357
397
499
490
424
425
348
443
500
384
471
456
430
454
341
421
364
414
324
480
379
322
347
447
495
520
507
502
507
411
356
420
439
520
419
488
379
513
459
458
411
346
466
434
396
357
486
354
372
401
382
444
455
469
378
453
479
421
510
497
490
452
504
326
491
359
513
352
322
424
433
491
380
430
411
464
329
320
326
490
446
513
487
351
428
514
468
374
463
357
443
331
375
402
413
396
389
347
481
381
502
334
351
458
367
346
431
432
366
333
489
340
361
492
377
383
451
339
342
433
399
519
460
361
375
353
493
481
354
400
479
352
426
389
423
420
503
424
467
327
340
459
395
420
339
324
388
489
510
344
365
352
436
512
330
449
427
504
368
353
495
323
395
436
443
401
392
324
361
381
474
483
343
328
427
488
461
453
371
403
406
326
494
457
338
366
351
376
439
322
399
415
421
389
333
367
349
321
421
371
378
486
423
464
331
462
470
371
363
470
435
414
370
499
504
510
324
444
414
414
458
494
381
437
498
456
345
413
347
513
437
416
380
501
520
379
335
452
413
386
421
517
337
452
454
419
402
339
484
493
356
376
489
435
436
364
503
355
369
449
492
382
345
344
470
368
418
331
517
367
352
430
322
520
510
336
400
500
461
517
452
398
476
484
426
446
340
507
328
425
413
474
331
427
467
335
374
484
510
401
517
413
385
471
382
324
378
450
394
327
398
364
364
351
421
456
396
486
437
334
456
460
505
503
433
443
387
497
388
351
407
507
463
469
360
419
384
369
322
408
496
420
322
514
474
394
449
417
366
331
390
423
344
355
327
422
513
477
382
436
338
489
347
453
513
329
476
338
333
510
422
413
492
339
368
512
392
435
509
382
347
355
465
396
514
376
372
393
340
358
447
457
494
354
446
417
455
428
423
431
417
377
345
456
490
445
355
451
497
398
438
345
480
494
414
509
387
409
433
410
352
329
362
389
494
476
415
504
450
405
486
330
436
495
330
389
379
499
442
413
466
489
397
517
407
332
477
447
371
494
362
402
495
438
412
345
422
459
435
398
476
461
385
509
446
368
398
418
383
360
387
337
418
343
349
345
429
330
438
458
404
489
419
402
462
434
382
413
499
434
392
391
367
464
475
432
408
344
466
347
328
343
363
350
441
395
394
347
499
511
507
388
334
519
484
449
475
490
467
367
367
344
417
348
453
477
485
501
415
489
443
397
402
496
491
363
420
475
388
428
495
391
340
420
476
452
409
357
461
513
499
371
404
370
393
498
341
400
467
472
417
482
472
337
333
455
353
336
405
423
417
439
340
433
356
453
432
353
488
480
404
377
349
455
370
336
455
513
460
482
334
423
420
335
504
373
507
426
396
519
382
497
365
449
345
380
425
338
410
437
413
424
464
419
492
421
384
418
469
373
374
490
412
447
443
425
471
363
401
373
353
340
324
379
327
441
449
361
505
358
392
424
399
519
511
330
383
433
336
417
401
411
434
452
417
386
394
394
339
332
367
396
354
389
507
436
421
470
426
385
512
356
402
509
397
489
470
467
472
436
477
401
463
385
386
463
465
352
401
475
467
515
364
367
519
338
445
479
488
506
406
351
375
516
379
330
367
472
499
424
462
395
346
499
347
395
460
357
345
382
364
383
381
501
352
501
466
507
450
368
454
333
499
453
383
482
447
404
357
347
361
407
403
486
429
415
440
372
384
443
475
328
470
424
418
459
442
481
379
321
359
432
422
381
482
342
512
499
391
355
323
357
486
424
500
437
495
407
376
409
462
358
331
335
516
474
482
353
384
428
422
464
325
412
320
362
402
441
346
519
476
506
515
335
477
481
332
378
366
468
419
413
484
440
392
412
497
324
412
402
332
424
364
517
340
337
443
450
378
411
480
486
477
332
453
335
502
488
500
504
331
432
481
461
505
460
374
519
467
507
479
473
393
518
361
342
462
472
490
505
426
472
410
403
347
411
365
365
336
326
434
417
368
334
372
359
495
320
325
364
348
469
420
462
447
495
439
520
479
486
495
392
430
381
364
353
356
336
328
463
442
327
424
508
424
439
391
517
516
329
505
423
416
487
321
478
401
379
334
353
426
407
415
503
441
506
519
516
503
429
498
388
434
504
520
515
506
475
338
476
471
423
375
395
439
434
492
444
373
447
446
343
338
436
450
508
467
357
495
436
460
372
511
351
497
496
437
501
473
338
372
396
467
475
340
502
389
326
409
462
354
422
432
335
359
506
519
321
394
473
354
339
437
330
472
457
489
326
405
430
492
359
393
352
520
500
324
414
360
334
483
442
496
383
372
422
477
342
326
349
445
509
520
399
478
442
508
338
384
469
404
506
446
374
472
486
460
492
362
320
507
462
334
496
480
454
380
477
326
375
384
389
371
421
495
344
428
512
509
505
516
463
496
455
399
417
389
467
329
513
486
382
382
496
333
345
469
404
421
489
369
352
465
421
333
423
405
477
325
510
340
326
497
355
454
374
375
321
443
513
339
362
498
468
513
425
408
492
489
383
442
336
327
394
368
501
514
420
344
477
480
476
443
491
400
490
378
425
333
484
351
470
407
447
320
334
509
479
362
456
424
418
394
403
507
514
368
487
518
473
337
517
462
388
338
433
511
411
358
492
462
344
474
488
509
430
464
433
464
484
371
376
365
440
332
487
519
422
469
329
505
388
514
363
331
372
392
453
441
373
429
484
472
473
490
428
420
485
468
362
500
331
373
376
465
372
443
350
445
343
449
490
364
440
441
441
382
336
426
396
462
518
468
455
399
324
378
349
407
474
478
344
384
336
343
487
342
358
453
416
499
327
407
514
414
369
323
378
372
497
431
425
355
496
485
364
518
503
472
430
515
387
381
505
358
436
473
399
344
337
325
450
475
513
450
343
397
406
512
420
368
518
389
504
377
370
512
407
453
491
500
326
455
503
431
368
329
382
416
515
410
520
326
392
407
331
326
437
355
432
468
322
426
508
436
518
392
507
424
333
411
339
410
505
338
351
331
460
238
247
221
230
204
240
216
223
226
231
226
247
204
228
249
215
231
239
210
226
250
228
202
229
239
242
203
208
216
227
220
246
200
224
249
202
229
242
249
200
201
219
222
211
248
217
202
245
230
250
211
221
221
216
241
244
206
250
243
237
212
214
208
250
229
231
237
235
216
238
225
232
220
218
240
232
246
250
236
204
216
225
216
224
246
231
238
205
235
213
218
236
240
230
239
203
235
220
231
214
201
209
222
215
239
234
203
242
218
220
221
228
207
239
235
229
243
231
209
200
239
229
210
236
212
205
241
225
217
221
224
206
233
205
243
217
233
235
228
218
213
209
214
211
211
217
246
240
207
203
234
230
215
214
208
235
232
230
245
204
220
219
246
213
204
236
230
229
210
216
222
231
249
231
217
239
232
250
221
208
219
228
225
234
243
243
233
249
213
244
234
232
239
222
200
250
231
231
218
206
237
245
239
220
235
230
209
207
232
230
241
226
243
206
243
240
216
228
209
203
241
234
203
217
222
226
212
249
235
203
220
201
248
242
204
245
236
209
250
206
221
242
206
223
249
210
204
240
204
241
245
207
217
221
228
234
214
202
211
204
230
246
245
225
240
228
204
215
245
220
229
250
217
249
227
240
238
238
249
232
245
249
250
236
220
241
209
220
249
249
216
205
213
211
202
233
210
228
233
219
234
218
249
240
211
236
216
234
207
241
222
235
210
217
228
238
227
240
231
207
233
211
218
225
226
236
223
206
216
200
228
203
249
226
248
227
237
227
229
244
211
214
238
241
236
205
231
239
243
240
221
211
228
209
216
219
234
201
201
222
235
248
236
240
210
233
209
207
230
225
223
202
225
226
211
246
219
229
218
216
226
228
219
214
200
217
214
247
209
204
208
202
222
215
207
223
226
213
215
211
205
203
205
206
224
239
227
234
234
238
232
242
244
202
203
222
217
201
227
213
247
211
211
235
216
244
246
244
233
248
219
210
222
203
216
244
212
242
235
201
214
207
233
222
241
248
221
212
238
241
207
235
228
245
202
203
222
217
214
247
237
211
242
238
229
230
246
246
247
226
245
227
246
205
220
232
200
218
228
238
221
234
209
232
240
233
213
200
228
205
219
245
221
248
236
223
241
243
201
250
235
224
207
232
238
216
245
216
207
221
231
240
238
205
218
239
247
234
213
240
243
239
228
213
229
203
229
248
229
206
244
235
227
245
242
215
203
207
246
225
211
244
247
204
237
224
217
243
212
232
220
215
233
220
215
234
224
202
200
208
210
235
201
248
207
208
249
225
232
222
218
247
242
243
202
237
226
203
223
247
203
226
216
238
204
213
233
211
214
205
217
231
204
220
240
216
226
213
214
230
229
224
243
234
238
205
235
208
231
208
229
250
245
220
205
225
215
209
226
201
225
227
235
238
204
225
223
215
211
233
216
208
204
221
225
237
248
227
229
238
233
242
247
206
223
230
249
209
244
207
234
200
236
200
243
200
241
239
224
242
247
207
202
229
242
248
203
210
223
212
230
248
227
218
229
211
202
212
237
223
208
225
242
202
213
241
210
228
222
224
248
229
246
217
203
224
215
244
211
214
250
209
247
214
217
241
238
247
237
240
228
217
203
224
242
225
205
204
208
205
208
222
215
244
201
234
248
215
226
243
226
240
215
218
202
220
244
234
250
243
205
203
238
216
237
242
244
209
222
233
208
220
200
200
226
207
205
226
202
247
200
240
207
228
212
221
201
201
219
241
225
226
239
200
215
207
244
219
228
227
235
232
202
218
242
215
231
247
212
234
203
219
234
208
248
205
232
247
242
212
244
244
219
221
209
223
236
230
237
244
207
240
216
239
232
223
208
204
239
202
227
234
219
216
247
228
229
219
238
210
245
222
230
219
206
224
212
224
221
209
223
223
248
229
208
228
229
249
216
230
229
246
212
242
238
226
239
205
250
217
242
216
210
248
210
208
241
200
213
221
218
246
201
203
235
229
245
246
249
241
215
224
230
213
223
233
222
227
229
241
249
249
219
206
232
237
204
204
240
228
203
248
224
202
217
214
208
219
206
248
239
228
218
228
214
206
230
200
223
221
219
230
210
235
240
205
215
209
210
214
223
225
212
231
207
216
216
228
214
238
233
201
217
247
201
247
250
249
243
202
217
214
218
234
237
230
228
249
208
222
240
207
248
206
236
208
223
235
242
202
250
213
236
224
222
216
212
235
239
207
206
205
227
205
209
222
247
215
245
239
232
207
202
222
227
211
207
224
233
235
227
208
221
240
202
234
216
248
242
202
229
213
245
207
217
207
239
247
220
248
226
238
222
211
204
225
221
210
211
238
240
200
227
248
204
243
219
236
232
233
216
208
224
222
244
212
246
226
215
213
226
244
235
237
228
216
219
205
233
200
200
233
226
219
226
247
214
248
230
225
232
225
247
213
209
237
241
206
243
238
232
221
237
247
223
230
242
207
203
204
232
237
224
201
231
216
237
246
217
202
208
212
232
237
241
222
228
207
205
216
248
236
226
215
248
222
210
219
207
239
237
215
223
248
218
243
242
219
234
242
220
201
224
213
231
232
212
221
226
238
214
238
239
245
230
229
250
219
247
227
213
241
247
210
229
241
245
207
207
243
250
217
239
235
243
240
212
223
220
244
246
244
228
221
231
229
248
227
216
234
237
214
220
250
214
201
238
214
238
224
200
206
228
209
222
241
217
210
229
224
226
230
232
244
216
237
211
245
207
200
249
205
233
202
212
218
244
231
212
234
246
232
231
244
214
229
233
207
219
225
225
230
214
226
221
206
241
207
221
214
223
246
236
247
226
224
240
213
206
247
219
219
206
245
247
222
235
229
228
204
242
239
226
222
226
244
214
220
204
210
225
209
237
214
249
212
217
235
211
240
246
231
215
239
250
209
221
249
228
217
234
239
216
242
208
204
207
231
208
201
206
237
243
244
231
204
248
241
212
225
218
211
239
220
233
247
201
208
223
237
223
222
226
212
203
205
243
222
245
216
205
202
227
220
233
242
234
239
225
235
233
244
224
215
221
217
241
248
214
232
245
247
217
224
243
235
227
209
239
222
216
202
218
223
204
235
207
217
214
244
208
250
245
241
246
232
234
226
243
231
234
229
221
223
226
240
208
205
218
238
214
229
204
210
241
208
241
221
214
237
225
233
228
210
241
234
206
215
236
230
208
211
250
219
227
235
232
233
223
232
241
227
216
213
203
203
247
245
215
237
218
228
222
217
244
221
210
234
239
228
222
242
202
229
200
210
240
237
203
207
221
240
250
238
241
225
228
231
201
212
212
222
236
230
225
228
206
220
211
248
242
225
245
247
225
216
205
231
232
235
245
218
227
218
221
204
205
245
200
204
204
246
208
224
225
224
246
227
211
201
204
241
247
223
202
234
214
217
249
209
202
201
205
242
224
236
231
204
243
216
218
245
241
243
230
243
203
241
249
241
232
215
224
246
249
233
226
212
220
206
236
228
240
239
229
220
212
238
243
248
202
236
209
206
210
239
220
211
214
223
248
208
220
206
216
247
201
226
225
232
208
200
241
246
225
219
236
235
247
214
221
205
247
241
230
203
208
220
235
244
212
204
222
217
211
201
231
218
236
227
221
206
210
249
220
216
235
248
242
225
228
227
238
246
222
227
229
213
210
235
201
200
202
234
244
233
226
239
241
215
200
232
207
227
239
222
207
206
244
204
236
244
247
206
239
207
208
246
216
224
220
217
216
236
210
210
232
228
248
202
247
230
243
216
223
231
212
247
211
227
221
205
219
231
215
229
242
214
248
205
230
246
226
205
234
222
234
227
210
235
244
233
228
247
207
221
227
244
249
212
220
223
226
224
209
246
246
224
220
241
209
218
209
204
242
231
216
225
214
243
224
234
242
209
250
200
233
235
209
216
223
234
227
246
225
247
221
248
237
220
228
229
227
214
216
231
221
211
240
233
246
207
204
218
227
250
231
244
217
245
234
239
209
232
238
207
232
221
216
202
248
213
225
208
238
219
231
235
245
232
209
237
230
205
218
239
240
205
204
200
224
236
215
229
224
235
204
200
248
242
211
240
237
237
217
227
218
218
230
218
231
226
208
241
246
212
241
200
244
233
237
236
214
216
249
243
243
211
215
217
239
217
242
201
246
233
237
222
202
249
236
226
232
231
237
222
206
228
241
214
222
250
234
224
213
230
202
203
221
217
206
211
202
234
244
217
231
233
223
228
243
243
238
237
240
206
224
244
240
222
240
206
245
224
234
229
233
230
240
249
248
231
233
232
215
249
218
224
200
248
242
221
202
249
206
216
250
205
208
221
225
200
201
223
238
245
221
230
227
210
225
247
238
239
237
235
210
225
227
217
208
204
225
221
244
231
239
204
205
225
224
239
205
247
225
250
223
229
232
246
201
244
235
235
240
247
250
204
205
231
210
210
202
243
201
214
223
202
241
203
231
231
221
227
237
218
219
250
233
206
224
216
231
237
230
203
212
214
213
203
246
248
225
232
231
228
200
228
202
201
212
239
243
224
244
226
223
201
232
241
249
216
235
236
210
235
232
218
211
235
214
246
246
236
205
234
247
228
220
249
248
227
203
219
246
227
219
217
232
228
230
240
245
239
242
225
238
245
238
246
237
248
215
234
215
209
206
206
250
249
213
200
237
232
248
230
238
249
207
227
236
234
213
200
215
200
200
227
224
239
204
215
206
229
235
247
234
214
229
231
229
220
248
230
213
232
200
221
227
216
206
203
228
213
228
215
244
224
233
236
212
216
233
207
236
212
245
250
201
231
210
219
214
208
202
243
248
233
249
220
220
248
241
227
201
200
216
235
234
226
232
228
208
202
221
207
202
224
227
221
233
209
249
209
204
229
240
230
211
223
250
202
209
214
215
247
222
200
211
204
220
231
201
230
213
204
230
206
217
223
219
206
225
233
209
225
202
241
213
201
239
227
247
208
234
201
222
212
239
213
246
214
221
212
215
237
232
230
210
243
214
233
215
237
200
221
227
219
204
206
250
245
207
207
236
231
224
228
233
224
211
230
208
245
202
217
201
242
205
211
200
244
245
203
236
200
218
229
206
225
221
245
224
224
248
226
228
243
205
241
204
216
207
209
206
200
229
228
230
234
206
220
249
207
235
223
202
202
210
231
243
224
227
217
247
216
250
200
224
236
215
200
208
206
212
227
237
244
244
227
238
244
201
231
227
235
247
216
200
205
236
226
245
216
243
211
207
234
248
221
226
243
249
202
235
220
201
227
205
250
220
221
223
229
246
207
210
219
240
209
229
232
243
206
203
233
241
226
247
206
230
245
220
236
205
225
238
237
242
212
249
203
245
227
226
229
227
239
216
250
223
222
215
245
236
205
236
226
219
210
230
204
224
207
236
249
241
240
209
218
214
239
226
220
210
232
232
210
226
235
218
212
209
233
228
219
213
206
223
230
240
231
243
221
230
209
230
221
248
234
239
216
201
235
243
241
226
248
235
209
250
216
223
206
223
244
215
214
226
215
203
249
236
207
246
243
209
230
201
231
223
240
207
201
216
215
248
238
230
210
219
213
226
226
229
239
213
212
227
217
208
201
230
202
211
238
201
203
244
217
203
210
222
214
245
200
220
237
223
220
223
227
240
214
209
235
243
249
213
218
210
221
236
212
235
244
209
211
202
206
250
217
211
207
208
249
208
232
237
225
209
248
208
215
232
202
204
201
250
246
206
214
211
248
222
219
232
228
250
236
228
224
210
210
204
224
208
240
242
248
225
237
206
217
239
239
215
225
213
217
222
224
214
218
221
214
249
233
206
214
228
229
233
220
221
249
248
236
246
228
240
222
226
233
234
234
241
219
230
224
249
239
207
237
220
236
240
245
230
225
233
237
214
250
223
226
223
207
221
204
243
228
203
224
220
225
212
234
227
203
237
206
222
228
221
226
208
245
203
235
238
210
242
207
215
247
222
208
243
222
225
220
218
208
227
239
203
235
235
213
217
248
228
207
217
249
204
238
244
219
222
227
214
229
235
220
206
210
240
239
204
241
219
248
203
202
212
218
200
231
232
229
231
200
204
207
212
202
233
212
239
236
218
217
235
201
211
235
229
204
227
220
226
228
225
216
213
243
232
202
201
222
227
241
200
248
236
229
200
223
230
218
236
217
244
225
247
232
244
248
234
219
227
229
200
221
219
216
200
213
209
230
209
213
235
244
235
242
209
236
223
202
229
205
231
241
200
218
227
215
245
243
215
236
242
205
246
238
216
246
215
245
221
220
205
205
248
219
211
209
240
219
225
225
220
249
236
223
209
220
207
243
211
215
210
202
248
227
211
237
235
206
204
218
226
227
249
212
223
245
235
248
222
209
228
250
250
223
202
227
212
233
212
232
218
235
220
227
200
223
235
212
209
248
212
226
206
229
209
208
227
211
225
223
208
246
202
225
210
233
241
222
228
234
201
209
203
224
223
214
234
219
238
235
236
246
221
210
220
218
246
201
226
213
203
231
216
250
201
248
206
221
249
209
226
242
217
239
210
233
228
202
227
200
214
225
237
223
245
203
229
217
242
239
221
218
246
241
204
232
221
223
234
223
231
207
216
229
237
230
222
245
223
232
243
233
210
227
229
228
207
208
249
220
220
225
243
223
226
239
250
224
248
207
207
234
210
246
236
206
206
243
220
217
241
238
232
219
226
238
219
201
232
218
219
220
237
241
247
225
210
220
231
226
208
227
236
223
228
223
232
207
211
217
243
206
212
245
228
221
227
239
203
244
235
232
243
201
224
243
245
218
200
247
249
247
205
201
208
250
230
228
209
207
236
211
241
214
224
211
219
244
223
232
210
226
205
234
232
244
219
250
203
241
227
224
209
234
231
238
213
236
243
240
225
230
249
222
226
248
233
205
205
201
203
200
201
230
242
246
210
203
213
227
238
231
211
210
249
233
241
226
239
247
225
219
234
205
208
203
209
237
200
229
225
202
218
200
223
248
223
241
228
238
240
238
218
211
241
226
209
225
201
242
207
204
239
235
217
224
220
212
237
244
225
216
232
238
212
233
203
240
212
200
230
249
202
217
222
248
217
204
219
242
211
219
216
230
207
203
205
235
236
249
250
201
210
240
206
237
234
239
211
209
241
218
219
207
248
229
202
243
237
221
241
223
235
250
211
249
216
207
217
239
225
230
220
218
231
215
218
237
224
228
230
222
234
241
215
202
226
235
244
230
213
206
246
214
227
240
244
247
250
234
212
234
202
233
230
231
212
201
223
207
216
226
239
224
236
202
235
200
215
234
217
202
222
245
220
207
243
233
231
214
220
245
232
248
218
212
232
237
208
218
240
242
210
245
220
213
248
228
245
217
224
222
244
231
229
248
234
229
223
217
232
217
210
229
210
224
223
223
243
241
213
248
211
235
246
229
217
241
220
206
208
210
218
221
210
232
230
223
223
214
235
231
246
229
206
224
222
228
232
237
206
229
202
200
211
219
223
230
245
227
239
219
238
205
224
220
242
220
228
239
207
231
230
245
229
217
217
246
223
248
238
238
231
244
202
224
201
220
236
216
216
217
226
205
202
221
249
222
221
233
222
228
220
218
218
238
209
211
240
245
200
212
215
247
224
245
219
250
215
211
235
200
219
201
221
222
225
247
237
221
228
239
224
201
202
219
242
245
238
234
203
218
250
217
205
233
224
208
219
248
233
222
238
231
214
246
202
244
210
248
215
211
234
219
207
239
235
205
212
201
225
209
244
238
201
230
240
218
234
237
211
205
204
215
201
224
209
210
250
210
235
224
219
230
207
216
213
240
200
220
244
217
205
248
225
201
207
237
245
238
200
248
222
242
232
242
223
240
242
237
243
230
218
222
237
224
214
242
200
236
244
214
237
204
209
228
242
214
241
240
236
245
240
207
212
205
203
220
244
218
202
218
235
219
202
244
243
209
204
207
224
230
234
204
243
226
225
245
217
237
248
241
237
249
217
240
227
219
240
209
225
215
249
236
242
209
246
216
227
225
201
247
233
223
224
243
240
243
204
229
215
237
223
211
225
240
240
203
234
234
219
246
224
217
225
205
240
248
217
233
211
227
244
201
247
200
235
231
210
204
243
209
218
208
239
222
246
206
236
201
232
227
227
232
206
203
235
216
237
216
239
247
235
210
235
221
247
239
214
232
201
219
225
245
234
201
234
248
222
210
216
249
244
232
226
222
212
204
234
234
242
241
244
247
221
237
218
216
236
217
201
247
248
206
245
205
238
205
244
241
242
228
229
226
216
214
211
217
247
214
232
235
202
241
208
229
208
219
235
210
219
211
226
231
214
216
240
242
228
230
244
204
236
223
215
226
219
232
247
216
226
249
237
238
239
203
210
205
241
214
234
250
210
220
205
239
214
224
227
201
224
209
239
237
213
243
204
245
235
217
206
213
216
250
238
214
225
243
204
249
229
245
237
246
241
205
241
223
209
221
227
244
200
205
209
218
228
214
226
224
239
208
218
220
205
220
200
224
215
200
241
212
228
226
235
211
214
225
231
237
215
223
242
243
239
240
207
222
214
214
221
245
225
238
227
241
247
212
220
205
241
224
239
203
233
230
236
209
208
222
232
224
247
211
217
238
218
232
210
221
225
216
223
233
250
246
215
241
200
213
233
202
223
250
201
204
232
226
218
205
229
246
211
234
207
204
209
233
240
213
243
215
201
213
247
200
240
219
232
218
205
219
211
239
220
237
204
232
235
225
213
244
212
229
203
246
250
221
240
206
231
209
216
231
242
238
234
250
248
230
226
201
200
229
205
223
202
212
226
207
215
214
243
232
224
203
201
213
225
222
201
226
217
249
206
212
213
229
216
203
242
206
210
238
244
221
245
221
216
243
232
249
214
214
211
227
238
220
225
210
212
237
229
222
232
221
241
246
210
241
212
239
202
228
209
220
233
230
250
241
200
232
200
247
219
222
202
230
228
222
213
206
229
232
239
217
242
208
216
238
218
201
226
228
247
216
209
247
205
229
217
250
217
205
221
209
221
235
228
226
248
212
225
249
222
200
226
241
210
234
214
204
210
218
224
250
205
239
216
248
209
240
209
246
235
223
243
244
228
229
231
239
247
243
224
225
217
201
237
221
207
247
221
225
210
245
204
225
209
230
218
242
224
247
211
248
201
241
211
205
230
221
226
204
218
243
225
203
225
219
204
212
246
242
226
242
235
232
211
217
206
218
205
235
237
209
203
238
219
233
209
211
242
212
232
206
217
230
238
238
232
244
215
202
245
238
247
208
218
221
213
248
203
227
248
208
214
235
221
211
231
244
247
245
229
207
217
237
231
225
211
239
213
203
234
233
228
225
238
209
210
221
233
211
245
208
249
205
201
226
222
217
243
216
233
217
205
201
221
211
244
231
218
214
241
211
236
240
207
235
237
245
240
250
242
239
241
218
232
201
249
206
208
238
245
227
214
207
217
236
234
237
226
212
206
231
207
243
215
242
240
239
211
246
202
210
218
205
204
203
240
237
212
249
218
200
229
203
216
234
220
244
223
237
205
213
208
239
226
224
217
246
239
212
210
205
232
215
237
215
218
236
250
205
249
229
221
210
232
239
245
241
249
247
222
202
201
236
237
242
221
205
208
245
211
205
213
206
247
229
248
234
203
221
211
245
226
223
243
247
235
246
231
222
203
240
246
200
214
214
224
212
204
219
242
216
249
234
212
219
242
219
209
214
249
237
203
243
243
204
209
236
224
208
212
248
248
249
231
232
208
212
236
221
215
249
202
211
241
241
248
201
211
229
218
225
239
224
203
203
233
228
227
207
241
216
229
241
223
225
216
220
206
241
241
236
231
247
232
213
222
212
239
206
231
249
210
223
219
200
235
201
218
210
229
217
226
229
249
225
214
222
215
210
238
242
248
216
247
234
212
243
213
210
201
208
224
216
238
225
237
230
245
246
237
215
203
200
213
245
227
239
240
247
223
230
233
202
219
246
224
231
238
205
201
212
218
249
241
212
216
206
211
243
215
233
247
220
225
204
215
245
203
238
223
225
210
231
222
250
242
215
208
249
231
209
206
216
222
200
245
212
223
212
237
227
231
211
230
205
203
212
236
228
226
211
223
248
232
205
249
232
234
212
218
222
208
207
238
248
231
215
233
203
218
227
242
207
249
234
219
228
220
204
219
238
222
241
225
212
227
228
243
203
239
216
245
211
212
250
221
243
240
221
223
215
209
210
226
214
250
216
237
218
208
211
230
230
212
247
216
240
243
245
232
225
210
231
216
207
241
238
209
224
202
245
240
215
249
235
202
212
225
242
239
232
235
221
221
234
246
224
201
227
239
234
214
210
229
208
201
227
217
247
205
205
211
222
219
230
241
241
217
204
242
242
228
208
215
215
227
205
240
247
209
250
246
208
240
246
239
243
236
215
211
217
234
216
204
236
220
222
210
222
210
206
209
223
211
224
215
225
201
226
202
210
200
228
232
216
206
200
234
231
225
229
202
216
243
206
205
229
244
239
209
226
215
208
236
229
202
208
227
217
250
235
217
213
245
222
214
404
485
505
419
396
403
465
458
354
498
409
500
351
391
380
419
510
416
464
424
409
371
348
450
459
456
429
496
412
438
341
431
373
431
456
494
462
399
383
492
456
479
407
431
454
432
355
473
485
519
510
492
327
367
324
419
367
375
408
402
442
489
506
419
353
416
336
328
326
393
460
345
451
342
453
427
389
472
493
419
477
360
473
499
339
513
468
469
409
517
498
505
383
377
371
496
425
360
362
442
479
418
391
423
354
362
423
410
428
447
381
437
448
371
377
474
423
404
479
411
429
497
375
415
371
350
444
344
460
468
516
451
477
365
496
373
461
436
435
395
373
452
409
483
519
471
409
477
466
334
321
496
460
442
418
475
407
401
363
404
350
340
415
501
492
432
434
378
518
368
516
407
479
480
404
414
498
471
378
477
496
375
495
462
402
434
501
335
325
347
517
483
511
381
435
519
398
470
484
392
366
369
332
457
516
321
483
503
506
407
352
451
486
373
465
502
344
448
366
448
320
454
479
403
467
406
407
344
488
509
445
412
339
445
463
474
419
349
332
407
498
412
429
384
437
430
401
514
441
325
346
329
472
329
499
425
322
439
420
324
332
432
501
349
491
454
518
342
499
399
415
324
473
471
473
393
477
403
321
427
338
493
500
441
435
361
469
467
422
375
402
348
471
374
514
380
511
456
502
448
414
347
403
507
394
358
499
349
437
438
442
458
357
473
398
437
324
330
385
390
478
416
504
340
493
324
426
447
337
379
485
468
472
332
325
404
438
321
362
324
354
420
384
435
471
437
488
431
465
456
394
442
399
330
460
343
349
404
438
435
506
422
455
484
436
471
461
424
351
384
449
440
346
459
436
364
339
497
443
435
331
373
426
352
336
339
358
362
459
445
400
460
379
383
436
385
359
466
333
518
443
452
323
438
402
492
323
512
496
488
348
507
363
502
517
450
477
363
431
441
338
345
431
471
335
469
379
491
379
520
449
432
384
485
423
351
361
473
485
422
380
502
371
427
464
330
417
424
404
361
452
461
334
473
444
520
321
482
432
514
332
423
502
489
343
377
468
500
402
373
506
451
480
494
408
334
472
451
491
406
507
473
412
414
473
496
453
491
516
389
371
341
438
512
405
378
519
448
357
484
412
325
405
343
370
354
485
436
474
455
501
404
409
449
352
398
364
418
438
355
418
466
359
469
492
395
348
331
322
390
387
502
430
327
483
376
351
451
515
482
482
440
429
498
446
491
514
343
380
437
341
379
336
322
484
385
443
451
430
355
502
387
352
424
414
385
468
381
450
426
520
410
509
464
338
443
354
430
404
404
371
501
367
504
507
356
349
516
365
497
412
348
513
475
373
480
322
417
332
497
357
330
463
407
406
517
473
330
465
460
437
380
322
445
466
339
456
438
513
477
519
468
358
328
332
385
354
502
337
356
451
352
382
499
330
393
397
493
337
412
464
408
418
465
446
330
424
324
403
423
470
424
513
333
486
495
377
329
364
443
343
400
424
465
493
413
441
411
322
422
328
325
501
423
373
513
448
503
487
396
400
441
486
321
496
414
454
490
353
406
454
495
439
466
404
433
376
474
490
406
336
512
441
341
361
383
364
380
355
407
432
383
360
369
375
498
504
484
365
409
411
462
441
472
372
345
484
443
482
384
330
397
365
384
366
448
442
483
401
351
349
327
332
356
480
431
324
426
337
377
357
357
399
366
489
356
396
405
328
361
333
408
442
343
404
394
334
320
494
339
438
423
515
427
371
397
439
373
470
350
344
384
402
448
499
340
444
465
451
354
432
448
428
344
324
503
342
325
379
325
458
419
411
479
495
362
435
434
360
429
409
368
330
498
348
453
520
362
321
455
468
486
513
453
451
405
485
482
469
466
513
405
328
345
378
473
516
454
474
388
386
348
329
516
327
391
323
341
482
507
350
368
394
351
480
438
326
332
354
333
457
483
459
349
503
367
481
503
514
478
431
491
511
518
361
320
489
360
474
329
450
374
517
519
455
458
492
478
389
360
496
394
427
450
508
446
460
515
463
347
324
508
383
506
438
406
447
396
491
493
469
506
503
353
414
499
464
484
487
380
436
361
383
415
445
442
326
374
327
411
369
382
446
388
420
382
396
389
340
350
516
392
439
422
459
418
442
399
435
340
507
452
351
340
383
387
342
431
382
471
427
328
347
467
338
456
366
355
320
398
324
344
336
493
332
368
392
464
517
488
449
381
485
518
364
416
455
409
425
434
485
489
406
340
373
510
411
382
497
475
446
509
499
365
333
320
453
351
345
321
472
348
351
518
385
442
476
500
447
345
354
483
332
334
497
426
335
357
350
377
500
342
424
500
492
443
367
448
519
411
384
517
380
439
320
383
457
457
470
509
467
487
510
386
329
444
519
367
393
455
376
509
379
418
333
493
498
385
424
397
348
446
358
453
460
502
365
344
432
483
492
329
398
437
340
509
458
432
453
449
345
335
440
481
408
332
335
323
379
507
479
479
467
520
439
396
500
346
335
474
492
414
517
359
392
467
329
500
469
444
408
455
415
429
503
382
365
432
408
443
497
372
426
486
401
477
373
472
474
431
423
361
330
348
382
408
397
483
506
490
434
418
460
357
401
449
410
490
477
366
382
390
357
440
323
377
379
497
520
324
326
323
515
385
335
373
406
473
373
368
520
479
361
506
387
364
499
351
339
397
492
511
353
503
339
366
458
358
426
399
333
384
339
404
339
429
509
451
472
419
446
342
415
351
464
349
324
351
329
472
347
391
513
391
442
401
385
359
426
398
368
442
348
346
473
449
323
406
517
512
355
492
479
477
418
427
462
421
515
355
491
334
390
409
459
432
344
411
367
395
337
406
475
516
453
514
447
511
382
423
418
340
360
479
505
352
360
339
423
374
431
406
421
380
342
342
432
409
362
446
426
483
322
440
464
338
461
487
429
520
372
511
480
381
500
353
364
462
432
403
436
341
387
510
484
382
440
420
369
483
383
340
333
490
427
415
397
392
483
435
478
395
482
437
369
371
383
376
356
392
418
456
332
355
334
325
456
370
320
493
449
378
341
346
320
322
502
457
432
457
330
357
386
520
326
442
432
507
403
515
351
424
356
392
481
517
433
403
452
496
340
437
427
500
378
373
437
512
383
448
320
444
437
321
430
466
442
452
393
480
426
381
500
397
486
516
335
332
366
450
489
354
337
320
383
487
428
436
424
400
467
422
461
418
449
445
325
352
376
514
351
496
381
486
322
394
363
390
458
400
379
459
492
498
465
433
497
365
506
459
417
345
373
498
491
328
385
505
372
395
325
467
447
475
457
506
490
343
423
405
440
465
504
430
395
410
433
426
328
380
425
334
411
517
507
460
349
369
376
491
425
383
428
373
460
513
337
476
323
340
453
345
448
420
372
443
327
465
415
376
434
324
414
327
460
354
401
340
366
506
408
488
445
503
392
394
499
443
363
386
501
340
359
515
373
431
350
468
390
499
407
446
484
458
511
398
383
487
324
384
372
326
352
499
371
493
494
324
406
358
513
458
425
406
510
370
455
455
471
488
328
422
506
423
417
458
358
362
364
345
500
419
490
359
357
340
434
388
451
417
514
466
364
323
398
443
356
519
349
333
432
359
444
490
344
366
345
477
425
423
398
441
342
358
494
373
514
397
383
449
410
418
360
471
442
487
509
335
485
458
432
377
494
323
491
406
445
367
450
468
485
389
431
447
378
369
456
478
388
334
355
481
428
502
510
492
473
435
324
365
447
388
395
428
499
362
373
351
517
519
466
474
411
514
456
332
354
507
352
375
482
369
459
334
454
348
429
387
385
435
401
435
424
519
518
511
430
514
325
433
389
458
322
333
384
476
347
405
394
373
359
400
499
409
500
503
500
485
422
483
476
374
443
519
320
344
395
359
397
467
489
356
482
515
518
447
422
369
500
410
397
397
359
460
456
490
370
393
481
367
470
358
356
443
381
379
376
418
333
343
517
370
320
432
356
326
387
368
406
347
403
333
324
422
390
323
434
487
437
446
477
415
478
367
477
357
352
452
381
491
448
508
403
481
356
492
359
464
326
447
396
474
430
407
386
432
350
351
378
326
432
433
422
458
429
390
475
425
396
494
346
496
442
463
476
413
352
395
450
377
394
350
335
464
503
481
409
330
498
427
499
412
345
502
364
409
442
404
452
454
506
410
520
353
427
450
511
483
473
443
511
393
519
335
438
504
326
384
461
353
457
427
453
460
427
394
396
423
438
490
377
446
490
388
476
474
374
344
364
405
519
382
399
442
392
403
328
400
350
412
351
385
417
400
390
494
385
467
322
420
414
512
366
393
344
406
437
476
415
386
392
431
397
425
333
329
419
402
460
349
492
344
493
462
341
428
328
504
446
383
430
336
473
372
389
403
390
459
325
348
464
457
437
342
431
395
410
443
391
355
371
505
393
347
485
330
412
443
485
513
454
405
502
417
501
507
453
378
502
350
393
338
394
373
366
387
407
497
467
498
376
449
494
397
395
353
408
491
392
487
446
501
391
411
342
453
422
334
513
424
471
404
479
429
442
482
320
363
520
360
374
320
485
494
487
410
430
369
398
439
420
420
443
497
335
466
482
432
435
463
507
515
454
446
508
435
451
373
326
405
353
414
366
478
490
384
463
519
440
324
420
453
375
469
503
371
436
456
498
433
325
491
424
479
357
347
400
350
402
392
403
512
351
474
403
478
439
446
515
459
475
487
428
428
471
433
475
501
377
380
372
416
423
421
388
352
400
448
432
408
339
518
441
427
336
415
480
330
456
475
410
483
440
419
376
445
363
421
518
428
359
320
458
380
420
418
483
350
415
379
409
340
471
343
329
419
459
514
507
479
341
413
501
339
447
514
510
501
407
354
468
352
471
351
383
503
344
422
490
443
340
330
480
352
468
427
351
499
396
511
495
330
520
419
446
376
454
405
514
513
359
340
470
355
328
377
514
394
495
416
410
369
433
355
371
502
344
432
472
349
335
357
403
418
416
424
448
489
457
364
340
491
330
320
479
364
450
373
505
494
519
393
365
397
429
472
365
480
484
450
399
390
354
328
498
409
399
329
407
328
334
429
336
330
347
443
442
498
404
447
463
378
516
481
420
464
381
360
442
360
336
358
396
501
487
518
325
443
444
495
381
456
370
504
360
423
398
343
485
450
443
400
494
353
429
508
478
321
332
397
363
444
430
512
451
383
431
391
440
468
461
420
373
513
448
354
493
393
498
364
385
410
455
515
361
419
460
387
520
366
325
336
381
470
339
513
355
378
399
490
502
503
400
457
320
328
471
467
338
441
386
378
402
462
402
489
383
361
370
391
446
359
499
435
327
479
466
322
394
422
464
381
472
501
366
322
406
501
445
507
425
473
337
451
337
427
484
395
384
420
361
387
370
440
457
519
430
434
344
458
337
466
325
357
338
341
458
342
326
416
446
487
481
487
366
456
409
334
429
493
443
483
342
412
366
437
345
390
367
503
390
507
345
323
400
339
434
321
326
496
487
381
447
386
377
436
434
381
355
485
518
460
343
352
520
370
412
410
433
387
493
489
332
347
378
431
369
418
428
322
398
486
445
506
329
385
389
404
399
332
394
392
477
236
239
203
235
241
206
228
204
230
202
218
209
222
238
218
232
204
247
250
232
202
210
217
216
244
236
225
241
206
204
201
248
202
203
220
234
232
231
219
233
223
245
200
203
218
231
221
233
243
210
233
225
249
248
211
217
244
210
247
219
219
200
227
241
231
244
228
206
203
207
244
229
237
222
220
247
229
227
245
219
241
248
219
212
233
211
205
226
224
245
219
245
240
200
234
206
235
244
205
237
235
201
217
246
227
223
232
242
243
230
213
242
200
205
234
242
248
204
219
203
222
246
234
200
206
243
231
236
204
236
227
231
231
201
215
239
208
217
219
208
240
245
240
246
210
210
247
238
221
233
237
200
231
219
243
250
232
217
207
248
202
214
207
250
213
243
236
215
242
208
213
222
200
238
215
250
234
223
217
232
240
240
204
227
221
202
211
240
203
237
230
217
239
212
246
211
239
218
242
217
239
205
242
231
242
230
227
246
219
211
211
220
220
224
235
226
226
248
248
250
200
204
234
243
218
239
222
212
213
218
248
204
213
214
233
249
246
245
238
213
244
243
235
212
236
247
211
242
215
200
229
243
226
224
231
218
240
217
243
201
207
221
200
212
246
217
225
228
226
243
230
225
239
229
240
225
244
217
223
236
218
236
249
207
242
211
203
248
223
206
210
227
250
242
211
220
230
206
225
240
250
206
239
205
200
214
249
245
221
202
247
237
221
241
215
236
224
231
237
247
229
235
230
212
218
239
206
239
205
249
208
202
200
245
217
244
250
235
246
213
236
235
212
209
232
217
225
224
244
218
220
226
215
217
226
204
222
238
200
201
209
207
228
224
202
220
244
211
207
204
200
225
241
210
219
245
223
244
226
229
208
244
213
243
234
210
201
234
210
204
238
241
212
248
231
231
229
241
236
214
218
217
244
232
230
204
207
245
245
233
216
215
243
233
209
209
209
237
233
229
220
204
212
205
204
215
245
221
248
227
210
219
215
202
229
203
205
212
201
206
231
239
203
229
222
212
246
215
241
230
207
207
226
203
204
240
241
209
206
234
228
248
218
222
203
217
229
218
211
209
238
245
239
210
222
242
216
211
220
236
226
201
221
243
231
218
211
233
207
221
209
225
238
204
231
205
220
226
232
216
208
217
214
226
220
236
242
217
205
226
240
231
222
206
217
233
207
247
235
202
223
221
209
248
219
202
250
216
250
236
231
229
238
238
200
203
207
235
230
230
229
235
209
223
240
207
214
218
204
209
225
200
240
212
213
242
208
202
241
239
222
242
211
245
247
236
218
242
228
206
203
250
246
213
202
218
229
248
216
226
202
207
211
200
225
224
239
239
212
212
219
236
223
231
228
204
208
247
226
250
212
229
220
233
216
224
218
240
205
204
224
239
220
227
220
232
221
231
212
239
225
201
208
225
229
228
232
232
226
210
213
245
204
245
222
224
242
214
244
217
230
231
247
220
202
233
241
224
207
240
215
228
223
204
221
237
200
215
215
215
206
224
237
201
208
244
242
243
213
205
216
221
243
250
214
230
246
228
216
243
218
215
210
226
237
232
225
202
207
215
225
205
245
218
220
237
225
201
231
239
208
220
249
221
240
226
218
203
205
214
203
245
214
200
229
249
215
239
217
218
216
238
227
210
250
237
248
248
238
229
203
212
229
230
206
227
205
214
223
222
237
204
228
214
205
241
204
209
217
250
214
222
249
232
233
206
209
238
242
239
249
240
208
223
204
227
244
241
222
213
215
238
244
217
239
247
202
212
233
236
231
217
202
246
207
222
200
224
221
212
241
233
209
204
229
230
238
205
241
243
249
222
213
200
235
206
232
220
225
229
231
236
207
214
205
204
200
231
204
224
234
212
228
210
246
237
217
241
225
214
203
201
205
223
243
233
214
211
226
229
237
215
223
241
202
212
230
226
231
235
203
243
209
217
247
209
215
248
218
230
212
234
213
202
233
221
204
206
206
214
225
211
233
250
202
211
238
230
206
209
206
229
250
212
241
233
228
217
221
214
230
250
245
238
235
204
224
233
248
223
237
209
212
216
206
248
214
208
211
211
214
240
243
232
239
220
247
229
240
231
219
201
240
227
233
223
233
223
236
233
215
244
248
219
233
206
248
216
240
209
209
210
216
230
242
239
246
213
245
236
244
217
249
209
239
242
220
248
214
207
220
223
224
212
248
216
205
231
239
232
217
234
239
235
240
225
203
247
235
204
244
229
202
243
208
221
202
217
205
239
205
246
213
235
231
221
243
204
250
211
236
226
213
250
234
203
231
224
244
227
208
210
249
224
242
244
210
222
220
222
219
236
210
244
246
236
222
208
201
202
237
240
248
203
223
200
243
243
234
229
244
245
233
223
211
234
234
210
248
226
232
203
231
204
221
203
226
203
231
248
202
226
213
250
248
216
225
219
225
221
223
248
234
202
232
214
235
229
221
244
220
243
224
235
215
200
240
248
207
245
247
227
219
238
219
239
211
242
216
220
214
210
232
200
207
224
250
219
204
200
228
227
242
229
211
248
216
243
224
225
242
228
247
210
208
216
230
245
236
222
230
214
219
205
208
244
211
217
226
229
222
215
238
204
246
234
231
248
223
229
222
234
201
229
225
221
234
206
245
232
209
228
248
238
249
230
216
230
204
233
215
243
215
223
214
202
229
250
244
242
224
236
208
220
214
218
201
206
220
207
216
237
209
214
229
223
240
244
241
244
238
242
242
248
225
235
207
236
225
228
202
250
212
243
224
206
223
222
236
244
248
229
236
237
235
241
210
236
234
247
216
226
220
209
232
232
247
226
205
229
200
211
250
225
228
203
227
238
206
233
231
209
250
232
231
202
212
247
236
230
225
243
207
244
217
223
217
235
219
243
221
222
247
246
227
243
200
202
226
205
238
228
200
238
216
208
246
222
250
204
223
244
210
242
208
224
201
235
250
244
246
244
223
218
240
213
225
211
249
228
231
245
206
219
232
241
236
246
229
233
211
209
200
210
231
210
222
239
220
203
223
235
238
209
208
246
204
224
235
204
231
235
205
230
226
238
249
241
220
219
231
222
229
245
250
238
226
214
237
221
229
208
204
212
215
204
206
218
250
216
222
221
240
244
232
247
234
233
200
245
206
220
238
244
222
208
213
201
246
241
229
215
224
214
217
238
203
206
214
210
219
204
225
239
230
227
219
213
250
226
211
233
204
222
237
219
228
222
240
211
201
223
215
225
242
247
214
202
209
246
201
243
226
202
219
245
221
222
233
248
249
217
242
200
210
230
243
213
200
212
247
206
202
236
203
248
227
231
226
203
231
200
228
242
249
246
220
204
218
241
242
240
201
230
236
205
248
226
230
240
221
206
207
233
203
230
217
245
223
236
226
227
231
213
232
225
206
220
241
241
221
204
231
243
215
235
242
235
223
230
229
235
231
237
218
250
214
226
201
227
223
231
240
213
200
230
247
224
203
201
237
204
207
216
237
238
209
236
237
227
233
228
225
201
224
244
218
234
246
233
241
212
234
249
226
208
241
238
200
237
249
237
215
212
224
221
202
233
200
225
245
244
238
238
200
211
238
211
243
248
243
205
217
247
232
234
229
235
202
233
214
220
217
215
222
245
229
230
215
249
204
222
220
240
205
232
225
248
249
241
200
226
250
240
204
204
216
207
224
241
221
221
201
206
244
219
228
209
226
234
230
209
201
211
212
243
207
209
240
245
228
250
211
202
245
214
247
215
207
225
230
233
214
239
250
215
224
216
235
222
211
205
214
211
208
209
229
218
204
200
215
205
239
226
217
228
230
247
231
249
210
241
249
210
242
225
228
240
206
219
249
224
216
222
240
205
228
215
232
229
229
246
210
224
247
246
204
231
234
233
210
233
206
207
221
219
210
236
222
248
240
200
248
235
220
238
213
220
214
208
223
230
213
242
214
232
231
215
247
245
224
247
204
245
248
208
224
246
238
244
224
210
230
249
244
235
200
211
220
239
223
249
244
221
217
203
203
223
227
221
235
225
238
210
223
244
214
233
245
234
230
246
219
247
233
210
243
215
232
212
205
221
211
211
216
203
223
242
228
236
238
240
210
209
212
216
214
244
229
218
220
223
238
235
235
244
234
225
236
206
216
223
249
206
230
220
216
227
202
235
234
202
211
248
221
241
216
239
210
216
220
249
226
200
225
205
207
221
212
211
226
200
202
246
229
207
202
208
219
202
224
218
218
212
240
222
243
218
205
245
227
241
228
242
200
233
232
224
212
213
233
206
214
223
221
211
217
212
246
237
200
224
245
241
243
245
239
209
245
247
216
220
239
243
231
241
228
225
232
205
210
208
211
226
203
224
208
242
223
202
247
235
209
206
231
238
240
205
204
240
212
244
233
200
243
213
215
217
231
247
213
228
208
243
224
228
249
201
240
231
202
202
209
200
222
214
215
220
234
243
225
238
208
226
246
234
216
228
212
209
211
208
242
208
239
231
218
225
213
206
204
214
217
244
233
250
241
221
208
236
222
244
222
219
221
226
217
202
228
229
237
249
236
220
225
217
221
234
240
220
240
214
224
206
225
249
341
322
449
451
492
408
339
438
458
511
370
339
517
375
455
458
334
493
438
397
404
329
445
472
337
414
509
399
341
473
517
363
368
401
344
329
513
384
441
337
448
514
436
341
510
344
359
367
401
495
424
362
366
325
491
501
357
499
377
480
376
434
331
380
375
469
349
444
415
358
457
393
366
372
367
510
411
440
500
460
416
419
405
341
393
348
320
353
390
502
480
443
416
454
438
322
380
339
458
476
512
401
372
391
372
396
445
445
326
341
479
390
440
394
412
497
373
428
403
462
450
363
325
359
360
493
479
383
341
519
505
503
457
368
496
367
487
480
361
485
506
382
443
354
464
333
355
430
460
365
499
489
387
413
355
379
411
517
342
419
374
378
424
370
422
380
377
501
371
391
409
369
448
379
397
434
492
511
513
478
443
360
468
435
486
399
336
518
458
448
323
355
482
444
418
457
398
441
394
334
325
397
408
407
462
449
454
468
352
520
416
500
469
463
455
374
415
501
361
406
393
404
444
326
478
329
365
453
352
395
462
429
485
368
512
364
466
473
453
479
462
439
518
453
464
444
359
485
372
507
483
419
372
499
343
489
420
437
501
430
368
452
397
337
422
433
452
341
488
397
456
361
507
380
452
511
411
439
481
320
372
424
510
517
499
434
321
402
482
405
477
369
379
418
374
519
323
461
411
328
514
327
412
434
487
435
339
410
493
465
500
332
427
465
332
361
454
366
350
443
487
475
395
484
345
395
469
479
494
436
439
403
388
408
509
347
476
364
324
506
363
409
434
371
330
398
510
352
455
402
445
482
382
446
379
456
471
324
402
489
399
373
338
392
350
400
330
409
440
438
359
344
355
436
488
343
371
489
440
385
352
363
446
443
483
357
507
359
361
506
372
436
493
508
450
444
385
396
410
465
375
352
370
444
514
327
511
499
511
354
436
471
413
452
363
382
436
459
489
400
329
465
381
357
412
396
408
406
356
474
485
445
403
518
478
347
402
475
457
371
333
448
345
493
434
465
387
491
473
352
405
443
329
486
405
389
477
475
341
356
449
393
399
468
388
358
387
382
402
368
365
453
415
370
463
468
396
412
453
371
479
375
390
355
499
401
508
371
499
337
344
351
449
340
359
509
354
433
339
445
375
385
426
468
516
501
392
489
405
448
422
486
436
355
377
387
476
494
500
452
494
423
349
327
387
494
482
376
333
386
484
434
470
320
465
379
329
359
409
477
357
338
378
439
406
511
483
370
425
454
481
348
453
412
515
408
457
507
401
401
511
497
508
463
341
367
378
352
425
439
354
370
356
499
328
413
321
361
509
500
487
353
491
421
323
346
460
372
406
505
462
387
495
514
493
427
421
444
380
494
431
518
396
364
499
323
420
500
419
395
380
484
388
415
388
435
495
398
428
484
353
347
432
323
340
454
417
491
338
371
444
448
415
392
419
491
461
474
421
437
333
395
458
335
322
513
336
494
389
512
336
469
373
414
438
506
404
420
346
434
452
389
462
475
511
492
321
349
506
468
508
485
481
364
376
374
394
412
420
369
365
403
451
362
508
437
329
366
433
483
321
468
379
479
400
476
438
404
399
480
340
475
371
514
408
415
361
417
386
430
413
438
423
374
412
505
398
475
414
477
502
493
468
410
485
326
467
411
514
501
437
482
342
362
323
370
329
410
477
334
479
351
434
419
474
491
425
454
495
329
517
345
382
496
469
378
321
388
328
361
416
358
487
379
391
444
435
366
321
365
492
499
509
358
507
477
405
420
448
496
379
345
419
341
350
435
362
445
372
345
345
324
333
380
448
331
363
435
511
496
415
347
336
444
369
362
492
417
365
479
406
471
422
461
412
365
437
456
381
459
453
466
443
463
467
377
387
388
329
410
399
516
396
450
424
410
399
353
438
445
349
458
395
355
404
342
440
497
411
494
489
327
459
456
455
490
322
431
518
393
479
359
348
362
493
393
464
515
519
404
350
373
394
387
414
402
466
411
347
436
457
465
347
520
481
410
517
447
499
479
455
375
334
406
435
430
381
418
330
399
402
437
479
393
373
436
482
486
422
511
371
474
484
495
482
472
455
360
466
478
420
380
493
499
344
371
492
484
476
401
489
448
346
344
370
438
464
408
340
512
466
473
442
406
434
449
381
474
341
422
441
439
363
496
448
445
421
446
416
486
436
509
367
396
473
478
345
466
456
362
345
326
320
355
420
475
363
494
388
404
328
435
449
358
332
360
382
451
352
510
418
355
507
423
437
398
386
338
387
434
379
485
427
393
492
395
498
356
380
368
337
490
471
502
375
331
472
410
339
330
513
413
351
440
429
461
492
436
509
482
401
338
329
387
501
367
469
380
431
375
452
435
519
370
453
374
462
414
384
400
456
459
341
455
439
478
335
416
476
451
463
479
392
400
460
403
347
338
366
479
446
510
471
336
348
391
383
440
428
404
428
393
345
382
330
465
326
413
355
434
379
446
499
392
412
415
520
509
394
423
476
395
417
383
487
483
511
443
370
396
357
418
378
320
400
493
469
391
478
456
467
425
414
371
359
355
325
398
465
347
357
421
501
435
519
444
454
449
513
483
419
437
436
359
466
320
365
483
500
442
509
392
406
344
463
339
485
514
334
442
456
375
493
322
405
385
407
372
334
351
453
503
369
515
447
424
422
403
338
503
493
376
352
445
366
472
417
455
467
477
488
425
385
463
458
435
444
464
471
333
324
327
456
481
399
425
518
364
409
335
483
466
362
402
367
334
511
508
376
384
332
482
392
378
390
464
374
505
355
435
406
463
490
358
423
426
370
465
430
520
457
411
367
493
367
475
329
375
474
508
339
493
383
356
506
502
442
442
465
508
393
488
422
436
358
428
447
409
394
408
479
516
381
434
328
403
350
454
506
445
429
500
364
368
415
460
436
439
479
414
380
437
406
430
464
426
442
437
439
386
379
356
338
437
361
384
398
411
454
504
480
373
339
329
412
458
484
409
518
408
503
458
401
363
320
452
462
352
354
404
379
407
409
361
438
405
495
410
360
449
331
462
448
359
375
332
508
494
413
491
351
337
330
327
435
385
470
403
460
349
355
359
421
369
448
472
488
385
413
387
519
508
489
341
512
508
417
505
446
339
396
509
516
346
506
328
487
457
461
385
410
397
399
341
418
451
324
444
412
505
382
413
500
402
409
460
452
493
331
330
353
417
326
413
389
502
411
323
374
454
510
510
351
459
457
475
516
447
400
440
494
490
406
421
411
398
369
396
348
392
368
517
350
454
392
466
504
452
500
424
410
367
453
323
399
329
388
504
453
482
406
426
362
417
511
417
385
323
335
378
473
449
391
332
467
416
339
440
451
446
416
370
389
385
322
351
429
406
340
460
336
471
372
367
505
341
492
351
485
337
499
444
434
403
331
461
358
509
344
457
519
377
346
502
493
353
460
498
361
399
404
432
520
460
372
372
408
327
441
353
386
377
441
334
497
495
360
450
384
411
464
350
490
360
452
362
433
372
482
473
492
475
433
426
511
469
511
431
439
465
326
501
425
469
342
368
445
404
453
368
320
483
338
324
361
436
382
346
330
323
339
479
381
449
373
519
380
463
375
450
496
430
363
357
378
320
371
433
381
494
462
384
495
402
431
490
327
508
329
376
432
484
438
415
478
441
419
403
446
515
486
487
343
391
381
342
348
369
404
423
512
395
382
425
456
321
456
387
390
457
448
476
494
366
431
445
512
442
365
436
366
512
399
484
486
456
485
421
436
518
393
382
364
352
422
518
465
414
506
392
325
335
477
474
472
503
441
485
361
496
487
367
503
499
420
489
457
354
514
371
372
470
454
351
457
357
325
518
518
334
362
511
482
500
424
504
431
345
353
450
501
386
321
428
489
506
413
386
352
478
438
370
331
511
456
468
480
486
346
456
492
464
405
452
328
453
454
330
339
321
422
380
514
440
376
345
481
472
472
466
439
340
357
473
352
432
327
419
344
479
417
384
475
322
461
394
447
492
384
425
350
503
518
413
485
385
335
320
453
509
341
344
442
459
442
340
399
403
421
347
338
383
428
336
363
325
338
471
412
463
488
519
421
464
429
491
422
430
346
480
374
445
491
476
465
449
518
419
474
338
334
461
494
325
397
331
349
348
462
515
467
363
508
403
403
480
401
366
437
491
452
337
391
467
498
420
344
484
441
375
415
408
399
448
321
399
505
351
425
426
346
457
446
514
368
406
381
500
439
394
373
443
354
394
330
351
327
351
426
327
331
417
410
398
477
389
501
337
360
458
421
433
409
391
434
361
508
374
331
401
336
366
484
323
425
380
359
374
427
464
333
433
486
333
382
408
457
382
488
498
488
482
419
435
423
494
423
414
404
469
431
339
324
382
504
352
494
390
475
478
359
326
350
355
394
369
496
407
434
411
328
431
403
401
495
413
520
503
361
510
471
520
329
363
404
520
382
457
439
372
339
457
462
487
459
335
346
408
437
473
374
476
391
414
396
444
381
380
325
516
345
402
445
508
429
331
381
484
352
468
500
492
352
401
331
516
328
449
341
353
359
434
359
468
352
417
405
332
475
353
442
377
453
394
353
387
369
444
500
464
412
461
445
416
362
466
345
505
362
374
428
461
359
451
479
458
408
328
357
347
449
320
418
503
375
434
513
393
481
375
473
361
489
431
513
460
323
438
354
357
406
426
503
463
515
352
390
375
428
325
447
381
512
376
368
435
485
405
454
340
485
321
357
375
325
506
455
360
336
487
409
332
396
358
495
362
451
409
332
458
438
396
421
369
382
382
418
433
451
335
445
456
461
447
336
365
341
437
507
414
431
412
367
473
337
384
453
352
423
503
412
334
458
353
363
354
350
509
464
501
449
443
329
355
370
502
435
320
465
388
504
482
443
514
471
500
409
407
518
508
376
346
434
478
400
504
381
433
403
354
401
345
410
509
458
400
489
484
450
502
446
351
381
421
321
429
366
384
404
487
498
508
516
349
352
452
434
462
344
381
347
485
511
325
464
382
444
445
394
369
362
490
438
357
368
477
441
425
439
378
347
346
429
478
412
418
482
515
409
420
519
462
488
506
328
324
429
513
411
327
322
390
461
463
506
457
362
398
485
416
339
393
494
372
449
465
519
365
466
323
438
500
507
416
351
459
360
372
490
360
412
385
320
335
404
475
409
361
453
471
489
434
331
417
362
413
436
477
362
511
455
449
501
376
341
331
327
501
382
385
374
343
392
472
466
393
383
416
360
397
471
369
355
424
370
332
490
411
327
356
356
320
501
329
449
325
422
450
392
444
447
510
366
462
469
354
394
415
434
423
352
408
336
481
324
496
462
340
332
434
352
477
436
500
501
399
329
346
410
445
453
343
510
480
519
391
363
447
432
475
449
417
370
343
444
394
322
491
449
515
427
441
326
409
508
382
465
343
520
504
365
394
433
395
470
428
352
378
443
391
494
351
323
499
365
428
331
404
460
323
428
367
503
352
389
373
334
504
334
385
471
398
500
418
467
470
485
464
460
444
366
508
327
352
325
368
466
371
487
451
359
469
447
455
357
500
429
406
475
487
363
400
365
507
513
417
439
469
335
455
335
479
445
410
437
463
334
352
398
412
504
354
486
430
424
434
428
478
361
357
356
457
360
356
339
350
496
322
490
461
330
424
366
366
396
424
391
434
450
405
351
396
513
441
404
461
509
507
330
482
498
515
365
514
341
385
461
332
370
496
504
390
505
346
402
384
322
481
360
449
336
363
393
401
410
472
492
412
507
478
387
343
455
346
459
493
492
329
423
348
493
344
473
367
354
420
377
386
430
514
400
428
370
386
331
428
518
450
369
428
399
496
484
352
471
377
493
325
392
323
352
330
497
332
341
331
419
429
519
466
320
420
401
359
380
335
436
500
392
390
449
470
327
395
354
378
402
331
334
391
346
341
423
448
350
360
320
495
398
335
510
493
474
341
439
371
347
349
441
328
407
418
496
397
367
387
348
426
476
358
329
323
331
492
485
499
452
436
339
355
520
462
479
345
358
396
346
325
332
357
371
337
388
519
402
467
377
348
382
340
378
480
404
392
496
415
409
360
480
520
469
399
440
449
395
349
321
434
478
511
376
479
442
445
431
431
484
492
374
449
414
451
349
362
379
362
328
489
435
330
450
456
423
517
395
410
354
419
520
497
447
401
375
478
332
510
453
334
378
520
444
343
455
360
506
512
515
461
479
383
492
520
418
486
439
505
328
407
508
415
474
396
414
462
368
436
436
341
342
422
327
520
377
386
509
471
326
354
411
428
400
367
515
439
381
339
336
486
432
426
476
436
456
454
387
475
417
342
380
465
492
437
503
440
333
519
444
356
418
326
454
427
433
429
498
497
438
455
447
520
507
470
422
437
519
402
380
362
336
349
431
504
412
428
368
474
436
482
341
379
487
355
403
329
374
482
380
378
339
444
482
321
433
401
453
437
444
393
477
432
469
342
354
516
407
321
485
395
395
443
432
448
493
352
431
327
330
392
469
491
455
368
419
326
367
411
323
443
482
337
458
456
461
375
326
501
354
468
353
499
367
407
454
357
363
491
454
350
406
496
356
340
370
518
422
518
344
474
478
415
469
381
390
391
331
324
390
457
460
503
406
374
325
332
351
393
339
501
461
321
431
327
413
324
505
352
333
483
508
437
386
507
479
367
512
422
397
459
412
512
369
380
366
466
331
388
492
355
472
451
345
467
465
349
326
457
369
339
500
406
397
349
327
434
459
446
440
345
388
367
494
449
390
416
381
325
416
420
427
438
409
337
520
459
398
435
373
405
379
462
365
375
407
363
360
475
491
505
327
380
363
469
473
514
343
369
359
511
360
492
426
499
389
321
388
371
377
350
379
366
462
519
511
425
362
337
438
454
440
506
439
369
424
416
436
411
451
467
478
451
329
451
492
519
410
417
407
464
324
500
462
447
376
441
345
400
508
357
372
348
439
344
369
504
479
338
364
483
519
473
508
436
414
414
405
453
459
473
454
470
387
411
420
390
373
413
350
347
415
401
381
329
446
360
443
337
497
329
351
430
505
352
394
410
326
324
355
485
331
422
323
432
474
390
398
404
413
495
331
342
362
489
441
433
391
418
398
388
372
320
494
458
469
380
519
379
343
489
398
451
446
507
493
379
377
412
349
431
430
506
363
324
366
463
415
410
449
447
451
356
322
397
456
476
331
493
404
445
415
517
492
386
346
428
360
445
481
480
371
474
451
369
396
482
398
451
400
504
458
497
500
498
448
406
365
364
389
326
460
333
414
359
369
383
463
424
401
496
400
372
344
367
361
499
409
491
451
376
337
363
446
403
358
358
475
507
473
340
454
471
467
461
353
346
337
367
455
518
501
334
366
515
398
451
430
456
471
500
335
333
442
479
420
469
426
410
415
403
444
504
400
386
449
490
344
460
406
497
406
347
401
372
328
380
465
379
421
508
343
427
382
416
457
353
460
402
388
406
400
384
473
375
371
343
392
322
370
369
501
472
510
365
433
423
415
363
417
352
423
442
355
350
423
467
513
502
360
475
455
479
334
381
371
357
462
438
396
488
457
455
355
366
453
364
394
410
356
492
406
471
466
335
457
398
471
372
373
382
454
388
476
412
434
442
378
403
350
508
372
411
499
327
333
321
440
483
330
515
365
510
419
406
498
488
394
501
489
427
428
448
356
506
502
509
419
373
452
344
354
339
324
482
391
400
333
366
371
326
359
412
430
489
435
514
503
447
377
437
350
508
476
447
358
337
515
373
398
490
325
335
341
328
429
497
519
358
471
493
348
476
438
512
362
372
361
394
385
509
406
329
344
399
402
379
339
460
404
447
356
395
350
503
365
365
342
412
383
363
442
513
447
411
382
394
471
395
516
502
488
406
339
354
369
335
450
457
512
419
369
410
488
410
396
506
399
487
416
416
362
376
474
366
411
464
475
332
320
381
381
512
375
371
483
384
515
404
382
474
514
474
512
329
332
479
348
471
396
352
331
503
495
501
445
516
365
399
432
371
429
519
516
367
355
335
358
404
446
399
342
519
508
327
502
475
496
340
354
463
460
382
442
375
488
505
395
436
497
363
500
494
402
516
380
345
514
354
501
358
517
445
400
459
441
348
390
391
334
409
518
497
475
419
495
454
472
406
510
394
511
467
512
391
491
437
468
508
439
375
476
414
334
322
499
519
512
374
349
472
475
328
349
330
450
404
449
351
359
382
445
478
397
383
334
514
506
509
464
406
511
418
490
473
408
458
439
463
386
406
493
347
445
434
453
497
484
432
424
411
356
512
365
404
378
381
363
339
444
514
342
432
321
464
409
378
451
419
357
390
436
342
385
384
332
336
331
322
333
360
456
466
438
370
385
436
468
428
408
415
470
457
350
473
320
340
321
330
402
476
355
477
370
495
386
429
417
426
367
479
403
401
421
494
359
465
516
377
449
419
438
459
468
515
434
408
338
478
468
458
519
464
354
476
331
400
420
425
325
423
329
478
342
321
520
517
493
381
419
368
331
426
355
451
490
404
337
460
378
410
504
374
434
362
419
475
345
513
494
377
355
471
504
388
361
373
436
378
501
355
367
472
519
488
382
373
377
493
361
386
498
385
485
456
472
328
395
355
485
487
380
485
476
371
493
357
405
478
449
323
371
467
507
403
499
453
481
488
488
374
332
383
398
388
439
408
498
347
366
508
477
396
453
416
400
454
504
451
450
396
470
405
358
408
427
493
403
520
379
427
379
435
431
422
359
460
404
440
516
480
485
447
386
347
391
359
487
343
440
345
448
353
337
336
425
517
387
461
443
433
488
504
409
480
496
399
334
432
351
335
497
484
510
345
436
516
480
418
496
465
392
491
455
344
435
488
434
342
350
363
449
320
361
494
344
466
412
371
382
461
435
337
462
485
325
504
404
491
329
373
491
440
427
323
451
344
511
507
510
473
463
493
397
393
516
444
425
480
347
502
512
323
466
461
499
463
518
443
460
387
349
447
395
371
475
354
393
406
330
496
429
393
409
368
398
332
478
439
494
476
368
443
474
368
520
340
420
391
374
387
423
358
431
479
487
475
372
502
419
506
478
465
391
406
347
519
405
335
494
500
489
513
337
381
456
420
460
394
514
394
349
514
469
393
339
356
350
442
495
502
369
480
482
487
326
487
424
355
337
360
478
345
339
496
412
516
368
343
458
423
443
454
507
346
347
449
417
459
413
408
400
513
471
409
503
324
514
500
325
391
438
519
454
384
475
429
469
350
448
463
369
430
374
341
361
365
404
423
337
352
349
343
406
501
388
491
488
365
349
391
351
400
484
414
456
511
497
351
368
468
347
437
353
520
506
438
509
511
414
414
379
449
411
351
339
366
380
464
487
382
480
353
478
517
478
349
507
388
358
452
502
323
335
445
412
428
435
333
362
501
517
466
350
419
324
494
407
398
433
465
438
441
320
517
342
484
504
405
412
443
505
465
490
415
442
320
412
368
472
425
512
345
367
408
376
417
520
322
443
426
389
444
463
391
450
498
367
387
506
498
484
382
474
386
499
472
458
502
325
468
484
326
347
377
431
474
392
456
520
482
434
342
409
512
333
357
438
391
456
333
331
513
472
431
408
428
457
471
433
477
459
467
394
338
407
472
401
411
450
404
418
473
512
483
478
486
498
347
395
515
481
475
356
359
487
442
375
494
350
327
381
400
355
457
412
431
434
435
360
485
374
325
518
343
324
369
392
429
476
432
513
389
488
371
409
508
417
422
454
386
465
356
374
501
520
336
412
476
412
391
410
405
394
388
394
425
485
507
498
337
365
379
517
480
396
447
389
442
351
433
519
389
502
408
351
456
326
351
350
355
461
378
394
358
409
371
338
360
436
406
449
513
520
457
470
374
516
486
482
395
384
511
351
384
445
433
419
366
458
453
423
358
454
337
398
414
343
495
413
369
496
348
321
436
379
456
430
361
504
379
463
510
427
457
346
386
348
405
357
346
407
395
417
359
403
478
436
373
378
387
339
458
378
333
458
331
332
362
362
507
399
402
458
364
419
445
440
421
332
343
470
505
479
443
457
337
514
475
361
511
370
383
505
473
382
463
400
330
429
463
358
380
389
394
431
440
416
358
341
465
491
478
449
501
345
421
429
469
500
335
471
389
411
458
387
430
364
362
359
415
471
446
348
517
501
476
386
449
502
487
477
477
459
465
425
340
348
382
469
520
332
519
426
382
501
439
365
459
470
389
383
328
499
381
337
492
434
509
395
394
470
453
394
397
350
512
382
394
517
405
419
506
490
352
476
466
381
509
335
363
414
421
349
454
369
456
474
379
360
447
387
356
425
448
328
489
347
326
359
452
518
467
445
453
435
366
344
512
329
330
417
442
457
344
407
405
373
432
439
519
473
388
320
450
360
404
325
338
506
447
417
407
434
496
428
479
513
520
511
506
506
468
468
333
380
408
351
457
338
351
478
414
441
351
355
459
395
472
431
455
476
438
444
328
417
443
515
470
458
491
465
417
465
427
331
421
369
434
438
416
480
384
398
402
371
418
419
346
402
428
431
429
380
512
375
499
519
344
396
334
426
468
356
494
519
341
353
408
379
451
440
334
380
509
356
490
429
497
367
439
385
345
363
385
504
378
347
403
455
345
434
349
395
343
407
457
421
431
519
400
424
369
485
329
375
380
362
366
456
392
338
489
345
446
329
404
400
364
320
485
487
461
378
479
427
324
479
467
495
352
365
416
437
338
335
478
361
351
482
390
404
358
355
458
407
225
247
210
226
240
232
216
224
230
218
219
212
204
234
235
245
226
217
249
248
228
216
236
249
216
234
241
249
226
233
244
248
205
218
225
239
218
210
220
233
223
203
210
241
220
231
211
229
225
238
240
217
205
211
233
220
221
210
218
206
207
213
240
230
209
210
232
214
200
247
244
213
233
232
225
239
213
240
243
217
236
216
224
203
216
234
245
243
243
209
211
229
233
234
247
207
221
241
207
228
220
203
201
236
244
219
200
225
227
234
245
206
240
204
208
243
219
235
238
232
227
233
244
222
234
222
240
225
242
222
208
223
227
232
212
242
237
225
236
233
231
211
224
248
220
238
232
243
236
230
234
234
234
248
222
227
210
218
240
244
224
226
200
205
210
240
229
246
242
250
239
242
208
213
219
246
221
233
237
225
201
244
248
208
200
224
239
246
232
207
223
207
200
247
210
250
228
219
226
248
250
219
221
227
210
239
236
244
241
241
236
208
232
211
212
238
231
225
202
235
243
208
210
239
232
248
201
222
233
221
227
240
246
229
229
246
201
244
247
231
209
221
215
213
243
213
230
216
216
227
209
244
212
206
249
238
232
235
247
214
241
215
222
224
217
221
243
219
207
218
206
219
245
217
243
209
227
223
234
230
207
209
233
211
241
231
250
237
219
219
231
239
212
208
241
202
242
245
235
250
218
219
209
250
200
210
205
235
209
225
238
201
242
236
218
218
234
239
212
240
223
228
223
239
244
238
204
212
250
202
226
238
226
203
241
243
209
209
230
203
226
203
227
207
211
225
241
206
234
240
208
239
211
200
223
214
213
216
219
212
202
228
222
205
241
222
239
227
221
237
200
217
232
230
224
247
207
210
215
224
249
219
224
230
227
212
211
200
231
200
235
250
218
229
204
243
215
239
207
240
243
219
250
236
201
213
222
234
245
239
223
216
250
218
219
246
242
234
219
226
207
215
214
227
221
227
239
217
248
201
210
222
210
214
205
222
220
227
215
250
242
216
209
240
209
249
211
209
247
218
225
217
241
228
237
224
214
224
228
200
223
200
211
250
223
235
244
232
213
250
244
216
225
209
209
244
219
218
231
246
209
241
223
229
215
217
232
236
212
209
248
211
224
247
237
223
231
222
202
224
203
235
238
222
204
223
237
241
227
219
228
226
219
204
245
249
245
231
249
237
215
241
226
221
212
240
214
246
233
215
213
204
236
239
203
230
250
207
220
245
212
248
220
212
247
241
228
233
206
234
218
232
237
221
215
234
201
230
223
235
210
202
228
207
246
204
233
203
237
240
243
240
239
242
250
213
241
250
209
237
209
236
207
218
231
205
223
248
250
216
242
200
235
215
215
230
211
209
201
244
245
236
217
246
237
221
243
237
244
214
216
222
237
225
222
246
201
208
213
214
200
247
226
207
245
231
221
242
241
235
216
224
205
243
218
246
203
215
245
208
240
225
232
244
200
221
221
200
225
208
242
233
232
250
221
220
221
237
224
243
213
204
232
249
241
229
249
204
210
211
225
235
225
209
217
202
235
230
217
235
234
206
216
246
238
217
244
213
200
233
210
231
239
245
209
226
213
228
240
213
231
218
231
230
234
243
247
238
232
233
217
204
228
237
232
212
240
241
203
246
223
247
215
227
240
212
249
224
234
240
212
249
245
238
234
242
236
238
246
202
246
242
229
203
247
250
238
209
230
212
214
214
204
213
232
202
211
224
234
222
235
227
216
243
244
232
234
209
218
220
215
209
231
238
247
242
228
218
231
219
224
213
232
250
228
209
213
245
215
243
233
202
226
225
211
236
233
205
230
205
234
200
230
208
207
228
242
236
202
231
248
201
212
249
243
221
234
234
223
250
208
249
206
226
237
242
248
215
240
226
234
229
212
216
214
200
227
220
221
212
233
247
211
224
227
219
205
229
249
244
241
244
241
244
221
226
223
222
239
236
216
228
245
223
212
241
249
228
240
225
243
217
241
211
237
211
206
246
208
206
243
234
228
201
216
238
246
244
201
229
208
206
245
250
208
241
211
233
229
207
202
228
230
203
233
219
227
231
200
246
237
209
250
245
247
221
213
214
207
222
211
244
209
205
241
235
206
219
206
210
207
243
223
209
238
209
208
203
229
208
223
237
236
220
216
217
208
233
245
209
203
221
212
220
237
235
211
218
215
223
212
211
249
242
244
232
217
242
250
216
219
234
244
231
220
229
236
228
200
216
241
216
214
218
245
243
210
229
232
224
219
216
220
232
213
229
250
215
235
241
239
239
233
217
249
241
212
214
237
238
205
220
230
228
235
224
234
215
235
233
231
247
231
232
238
247
222
206
207
202
212
233
232
202
232
226
230
209
236
225
237
234
232
217
243
212
230
238
209
248
225
231
215
214
204
233
231
232
231
248
226
213
248
211
204
212
211
242
205
202
216
228
246
249
243
238
208
216
247
220
213
221
227
215
201
201
235
216
220
200
247
211
231
239
235
228
245
247
200
239
237
217
203
238
233
219
231
240
204
226
238
224
218
235
216
234
201
208
250
210
200
214
225
206
203
242
210
221
206
216
225
242
224
210
204
243
223
245
201
228
225
220
220
222
202
229
237
234
248
243
216
239
236
250
233
210
212
233
222
245
204
208
206
216
233
221
218
231
204
215
234
216
218
215
250
220
219
232
213
229
249
201
228
227
236
201
203
208
214
248
204
239
235
241
211
229
223
248
224
207
215
208
229
207
228
207
202
209
241
241
210
231
249
218
200
228
206
235
234
238
234
229
223
226
203
248
203
247
216
211
223
203
242
206
206
218
249
212
240
211
200
224
210
219
232
217
211
237
224
227
247
229
248
202
229
221
228
202
245
231
213
219
238
208
248
211
208
201
236
243
222
206
239
236
213
212
228
211
235
231
243
201
241
226
227
208
204
250
204
222
207
242
224
200
234
205
236
234
214
206
207
218
219
212
236
245
213
208
217
221
232
217
221
235
215
201
222
237
241
216
215
230
226
218
242
241
201
226
245
214
202
214
219
200
234
215
203
230
235
232
214
225
229
208
209
233
228
231
236
234
238
220
235
234
240
208
222
220
240
208
224
207
227
214
212
227
232
250
224
244
201
207
222
223
229
202
202
212
214
207
218
213
210
216
217
203
227
212
235
207
219
224
225
222
211
224
233
204
250
236
209
236
246
233
242
250
234
249
229
200
244
239
246
243
216
244
238
215
225
243
208
234
223
207
217
217
244
208
221
234
241
239
229
220
239
228
223
249
201
212
239
224
212
219
245
229
205
204
220
226
221
223
224
242
241
213
239
235
202
238
230
248
223
234
203
207
219
217
228
224
215
248
239
244
202
226
230
235
206
234
206
212
200
236
216
249
248
207
235
240
236
242
228
220
214
248
201
225
243
229
207
209
211
225
210
209
246
212
207
218
206
245
220
207
241
245
209
250
229
206
248
238
229
231
213
223
217
223
224
209
201
223
211
244
217
240
229
200
227
233
219
249
229
219
248
209
222
231
202
241
239
237
218
235
215
245
237
250
246
217
229
228
239
206
216
210
227
248
224
201
201
214
208
224
222
213
209
217
220
226
220
232
238
247
247
201
203
209
234
234
250
221
238
228
241
233
212
237
207
236
236
249
248
233
211
241
215
242
200
250
242
222
235
203
208
216
204
237
231
243
216
217
204
235
205
239
241
215
206
228
243
245
204
214
230
203
208
212
203
227
226
231
235
237
235
203
225
217
239
203
224
236
200
231
250
218
221
228
200
216
234
209
244
220
248
226
202
217
226
219
206
248
218
247
248
240
225
211
250
242
226
243
207
239
240
230
218
218
232
234
213
204
211
238
205
224
231
228
244
200
237
201
210
235
212
200
240
222
239
243
240
213
239
236
234
209
248
239
241
250
236
250
249
246
219
236
212
249
229
213
234
206
250
215
250
201
221
216
227
244
200
228
225
240
246
212
200
236
202
247
236
226
229
240
246
249
212
250
220
232
245
229
216
224
213
223
248
241
220
208
245
200
200
246
247
216
238
219
215
250
233
228
207
222
221
202
231
202
226
234
229
209
244
239
244
219
211
230
229
241
211
202
223
246
246
208
218
233
223
223
248
212
246
245
247
203
203
220
224
244
235
224
215
218
212
240
242
250
250
204
239
227
210
226
232
215
219
211
224
221
219
227
209
216
208
232
220
249
237
225
201
236
205
249
217
206
242
244
229
222
206
212
228
219
223
223
209
233
219
249
215
237
235
229
214
234
240
221
208
230
217
228
216
232
212
246
215
224
232
222
200
222
204
243
249
214
220
207
207
241
236
217
208
203
207
206
220
231
213
234
211
240
237
244
207
225
240
244
221
238
238
229
200
211
238
220
220
210
219
203
233
239
201
220
218
240
200
228
201
209
244
249
226
229
243
200
210
204
217
202
216
238
227
238
228
235
228
233
249
201
220
211
221
246
222
232
222
231
227
212
226
205
207
237
238
205
226
242
206
227
201
239
217
237
247
239
206
223
205
244
246
204
200
215
201
222
200
209
213
205
219
212
236
220
200
213
216
205
222
245
232
242
236
242
240
237
215
222
216
224
250
225
225
235
228
200
231
211
228
234
231
221
212
249
242
206
224
219
246
250
200
206
240
229
210
243
250
237
242
209
211
205
228
246
219
203
221
219
213
225
241
240
246
222
207
219
236
215
238
235
204
238
234
207
225
225
214
246
201
237
246
201
226
236
211
235
207
209
223
206
240
210
202
212
218
217
250
208
245
219
217
222
243
211
238
238
209
229
202
230
216
205
203
245
236
216
201
247
234
231
211
215
234
244
201
248
225
214
249
219
237
246
249
213
222
204
212
239
205
245
247
245
207
220
222
234
246
235
222
220
235
231
244
221
222
234
240
241
243
250
229
232
203
220
200
235
230
204
200
230
217
232
200
233
203
218
217
228
245
228
206
232
211
212
248
228
238
245
246
219
238
231
216
233
202
232
225
240
240
240
230
219
200
221
228
227
200
248
210
210
242
232
219
202
205
250
247
240
245
208
202
250
232
205
250
231
233
213
210
245
209
214
216
246
203
212
242
237
203
206
209
209
249
245
226
249
250
200
241
212
245
201
222
226
220
244
235
203
233
228
206
229
206
223
203
200
246
225
236
222
222
249
242
206
209
207
219
227
250
235
240
217
207
216
209
207
201
230
228
237
216
233
201
215
225
224
213
207
223
224
243
227
234
214
207
210
233
215
221
228
227
238
227
233
206
248
201
249
226
245
247
201
235
228
203
220
244
249
210
239
208
238
219
243
225
244
213
203
227
249
215
227
213
201
226
204
204
243
221
236
235
229
223
212
223
212
226
243
238
230
244
233
222
203
233
247
225
217
210
236
247
212
231
210
239
250
230
229
221
247
248
205
215
240
231
233
224
220
202
245
247
246
238
215
248
230
244
233
244
202
204
247
202
242
209
220
201
242
200
209
246
209
213
244
221
234
203
207
241
212
219
203
228
226
232
246
225
213
211
216
223
234
244
201
240
213
213
212
216
217
225
204
211
239
212
234
212
226
230
238
229
231
203
211
215
243
211
244
227
218
212
220
223
249
208
204
238
210
204
231
224
241
232
227
212
240
206
238
211
243
234
216
232
222
241
243
206
229
202
217
225
210
242
246
216
212
208
211
243
207
208
242
200
236
234
237
230
221
221
232
249
203
213
205
232
237
213
245
243
249
224
221
206
219
203
204
221
205
243
213
237
206
248
230
218
222
223
234
237
223
217
245
225
247
233
240
200
242
214
211
229
235
225
214
233
201
218
239
219
202
202
236
244
249
238
245
225
244
225
221
222
229
200
202
243
235
210
207
236
227
248
225
209
225
210
224
250
201
205
246
203
218
239
204
204
232
230
218
212
247
229
234
224
247
204
226
249
232
245
205
243
233
239
242
221
248
200
207
235
246
202
248
246
225
238
209
225
222
235
239
223
223
201
250
242
207
209
234
202
250
240
211
214
226
233
245
236
212
210
226
227
207
212
213
237
233
219
205
250
239
223
250
214
202
203
212
241
224
239
222
221
223
234
247
221
209
219
246
206
200
219
206
219
202
225
242
202
217
241
221
207
229
205
246
248
217
208
211
201
228
224
230
212
238
231
243
222
238
250
232
240
208
230
225
204
202
248
241
240
231
248
234
241
220
239
231
205
237
206
244
249
234
228
201
223
246
221
231
225
219
232
206
241
221
210
225
204
220
213
223
222
228
232
223
246
250
217
211
225
241
237
213
206
225
227
204
204
241
208
210
202
215
245
221
247
207
246
203
215
245
223
210
214
249
239
208
219
216
228
233
221
231
216
213
236
213
200
237
200
203
243
229
240
232
246
236
207
246
233
234
227
244
249
227
220
208
221
236
210
236
202
201
226
212
239
217
215
223
218
222
210
216
237
209
236
236
235
241
211
248
249
213
235
248
200
219
241
246
230
229
205
222
229
200
233
226
215
231
234
236
222
225
243
234
218
228
215
231
202
230
231
217
245
213
228
219
236
204
217
244
221
239
228
236
208
210
239
222
226
223
230
232
201
230
235
202
211
236
214
236
213
241
216
229
239
203
240
232
215
229
213
214
249
205
232
227
227
202
239
232
223
248
236
242
215
221
214
219
226
214
249
207
223
214
219
211
203
215
234
211
247
215
231
228
201
244
241
227
212
217
226
209
217
217
224
221
245
215
227
229
238
248
219
223
233
225
208
229
230
216
245
205
243
243
229
236
246
219
246
216
243
230
207
215
243
247
230
202
237
248
226
206
209
226
239
221
250
235
210
226
219
232
228
223
205
240
213
235
245
245
239
225
208
232
233
210
224
216
250
217
247
245
217
223
242
218
242
247
230
211
233
207
235
250
249
249
214
213
207
249
202
220
209
220
226
203
209
247
203
232
227
215
237
240
225
231
211
247
231
231
242
219
224
213
248
220
219
224
215
237
206
231
211
234
208
207
235
218
211
203
215
209
246
222
210
208
223
249
208
213
220
200
247
471
456
384
483
437
373
329
465
331
498
429
497
360
518
449
416
391
421
431
392
369
382
478
438
387
426
407
481
466
508
428
388
434
465
409
375
399
400
346
320
496
438
511
516
341
450
392
390
494
432
412
407
361
453
514
498
346
375
389
322
405
354
330
429
397
342
379
463
475
404
364
426
343
452
327
454
504
333
510
514
519
485
364
472
520
340
485
470
363
483
438
350
375
398
415
341
453
512
509
383
375
320
420
452
402
516
505
472
324
398
448
336
344
330
436
477
359
414
388
408
516
337
474
507
507
403
447
387
366
508
374
497
395
479
520
320
409
405
393
335
430
465
449
460
343
516
463
403
329
371
492
351
431
519
368
471
427
436
331
519
325
456
432
476
477
330
413
467
411
342
416
415
374
405
464
497
511
484
469
508
512
337
344
396
383
383
366
345
326
353
461
422
438
415
498
409
511
327
336
514
489
436
452
497
484
514
466
441
459
328
456
495
466
428
393
381
389
354
472
458
418
364
391
482
499
380
420
334
418
426
375
334
351
367
394
340
411
415
421
344
506
398
394
375
509
459
417
476
419
373
509
468
507
338
471
454
376
461
325
333
360
408
353
373
399
369
360
397
401
483
402
346
373
401
397
500
405
422
455
352
408
354
508
461
497
341
337
380
509
510
442
515
427
467
482
515
517
410
421
420
420
344
511
412
324
516
488
494
378
352
502
445
391
353
415
330
410
517
378
495
416
377
456
396
369
463
484
402
475
407
328
491
344
347
344
478
322
497
459
407
486
465
353
343
428
338
366
505
339
492
504
321
433
419
494
387
386
395
487
351
464
404
421
441
363
513
469
450
423
341
379
517
519
327
517
433
506
475
348
463
320
380
331
422
444
483
486
466
475
489
437
380
344
328
516
479
392
443
438
517
488
399
326
447
414
362
417
360
432
408
418
443
381
465
493
385
452
491
360
398
333
409
480
467
469
454
484
369
348
480
367
407
481
339
333
340
493
480
378
451
404
320
357
436
511
422
387
408
491
356
510
469
462
324
364
428
323
350
322
320
494
459
509
465
435
464
455
352
451
483
438
400
371
430
387
478
512
419
520
371
475
345
496
487
433
508
461
330
397
493
344
368
374
356
370
321
460
381
341
332
338
415
394
514
370
356
323
429
467
369
481
413
392
420
474
363
455
340
411
520
514
345
520
467
392
501
501
485
509
474
396
442
490
477
488
324
409
443
331
390
487
402
512
440
481
480
506
414
351
391
327
481
339
466
334
332
321
364
404
322
389
371
376
360
384
477
510
362
513
333
476
369
430
331
511
490
354
333
495
378
335
355
337
369
365
480
360
393
400
416
480
464
341
320
433
411
516
413
452
394
428
363
430
378
498
407
424
329
411
519
352
464
352
423
421
419
403
371
331
433
472
469
438
446
450
369
504
344
385
387
375
515
340
405
462
481
400
401
383
506
486
352
445
513
412
349
343
477
410
456
381
404
447
424
491
381
479
383
375
332
363
484
427
417
443
467
494
520
505
433
471
480
439
329
366
392
347
511
387
458
325
409
442
477
376
419
425
513
435
435
365
366
466
506
422
511
421
512
435
496
398
327
379
470
493
399
393
399
456
355
466
332
343
327
450
401
331
467
437
395
360
430
370
324
398
509
475
461
386
369
483
432
486
362
512
519
343
395
520
502
416
446
452
484
339
352
373
374
348
402
413
466
456
337
321
488
476
445
398
435
485
372
405
378
347
448
516
327
384
493
515
481
347
398
378
439
382
520
329
354
390
520
364
488
471
430
475
327
350
414
345
471
496
432
485
458
442
398
508
463
345
411
469
420
331
404
405
434
358
322
438
378
359
410
509
480
383
516
498
389
464
356
375
495
504
342
499
458
460
483
387
470
393
400
358
495
438
458
410
443
475
459
507
443
331
409
361
425
396
425
341
448
367
469
358
363
320
321
407
455
322
516
486
377
407
477
351
497
404
462
398
339
423
429
406
323
399
369
513
368
375
408
461
416
407
363
457
511
424
331
382
435
440
389
460
396
355
388
329
426
373
490
477
381
379
475
480
360
375
456
374
329
346
466
468
512
479
433
347
467
442
437
386
503
406
376
465
505
399
420
400
508
336
323
407
419
358
424
382
389
356
377
359
367
340
352
388
438
455
476
410
423
365
386
401
334
402
337
379
497
504
446
332
373
480
405
321
334
354
360
414
478
509
468
378
459
342
463
399
324
320
471
420
485
348
342
351
519
447
501
400
498
371
415
320
326
388
459
356
449
493
368
383
518
399
516
475
423
347
384
366
372
440
406
400
408
485
329
326
437
345
435
446
349
327
472
481
417
407
322
417
454
359
389
456
467
508
499
519
411
411
492
512
511
425
421
376
372
481
325
506
339
436
408
332
421
391
326
476
402
455
461
349
333
494
509
388
398
429
457
346
345
358
403
339
467
494
344
344
404
447
324
469
359
393
328
499
424
388
359
416
413
445
374
388
487
417
404
355
346
363
324
407
476
394
374
437
494
371
441
390
367
387
501
321
414
320
372
408
414
498
461
492
359
513
353
422
400
463
469
445
464
340
400
503
324
364
509
430
451
483
360
474
359
361
436
350
456
349
455
406
346
502
465
334
442
494
324
385
476
345
510
411
378
430
477
385
359
423
358
418
356
497
398
358
387
389
342
392
406
437
326
348
464
510
426
463
349
369
377
505
498
491
503
492
499
345
409
405
504
345
486
364
489
501
451
362
381
433
515
491
482
360
465
332
437
334
422
441
519
348
457
331
515
391
387
423
384
376
491
502
419
452
519
463
455
478
487
404
496
414
517
505
514
511
344
453
343
402
364
488
473
431
371
336
458
331
411
388
356
362
468
459
377
327
464
414
410
375
462
416
405
470
494
410
411
392
504
509
498
407
328
345
373
348
469
324
469
487
464
349
323
455
365
497
408
403
468
321
397
414
400
451
322
485
484
512
401
511
379
339
513
447
339
346
359
334
380
515
324
437
466
466
499
363
346
477
486
472
483
403
488
491
519
519
424
411
391
487
380
474
403
409
471
364
487
390
336
435
381
352
459
461
444
446
482
486
386
401
336
481
380
369
335
430
418
352
345
324
511
486
438
475
409
518
425
358
334
362
363
485
469
429
340
495
357
384
386
386
330
464
438
505
422
469
439
368
418
455
480
359
377
331
484
346
495
511
457
407
364
377
488
329
509
427
401
516
413
343
373
445
462
504
441
489
477
352
466
341
356
387
346
428
497
514
457
391
508
467
361
360
470
505
420
463
398
383
353
343
340
401
489
361
410
509
383
329
445
396
484
460
334
327
368
330
462
478
383
331
324
339
446
489
367
466
472
413
393
373
322
469
441
459
353
475
468
471
370
419
325
352
501
479
478
370
364
488
508
320
418
444
413
370
508
459
479
472
516
490
364
412
320
393
355
457
356
496
439
490
354
487
399
355
518
408
389
353
454
366
485
426
334
506
385
402
512
515
367
377
321
379
502
433
373
453
506
354
400
499
510
385
430
396
398
455
441
475
518
470
423
436
331
351
494
475
473
374
511
379
347
476
414
406
456
471
393
503
453
469
402
324
395
496
370
387
440
405
447
464
325
359
403
406
519
409
473
341
513
414
463
518
350
413
398
490
481
435
363
379
379
369
499
353
398
448
442
336
400
435
371
368
468
389
364
404
386
506
459
503
439
453
488
470
414
342
360
416
411
431
352
329
387
443
498
473
363
405
452
349
404
413
436
470
511
452
320
375
446
364
412
512
442
450
520
339
476
391
390
403
334
371
407
367
374
406
396
431
328
438
520
323
501
407
512
419
428
416
499
334
445
505
393
456
434
433
503
411
386
377
378
387
454
391
461
339
519
391
483
427
426
429
346
503
405
380
414
405
332
388
461
381
432
419
406
502
478
400
335
468
391
487
426
352
501
493
329
431
500
483
466
336
382
339
446
389
484
382
384
376
320
476
411
517
429
347
355
423
477
387
502
492
365
491
344
423
326
353
323
322
375
519
332
427
517
470
424
356
440
333
353
491
373
367
337
477
474
343
422
340
325
444
500
454
373
489
452
352
402
410
437
484
389
451
383
507
488
377
424
413
410
343
442
475
458
355
341
320
401
450
356
406
320
334
515
449
334
332
369
334
345
455
368
328
439
366
446
412
386
387
473
475
452
331
398
513
488
383
508
331
404
459
328
337
436
434
435
369
465
422
515
401
353
412
350
450
479
368
367
335
438
366
436
381
489
428
360
335
334
433
512
414
432
432
356
448
405
358
514
515
415
446
390
340
466
520
481
514
429
420
387
332
384
331
422
320
511
428
466
401
447
386
412
420
513
411
440
486
364
341
371
448
441
379
369
409
432
397
399
492
461
443
330
373
483
327
511
458
464
425
487
422
425
424
382
518
472
377
519
411
515
435
494
382
425
331
329
363
459
417
462
396
457
434
345
427
344
386
413
457
409
401
505
376
393
459
330
423
372
361
385
480
435
468
476
322
472
511
486
481
514
513
427
502
336
483
345
431
372
357
464
470
515
489
414
374
393
441
355
493
393
398
478
325
463
421
454
429
459
370
363
502
352
487
331
478
397
461
356
457
397
372
394
512
465
346
518
406
510
509
445
379
490
481
474
490
330
364
392
336
460
335
427
516
363
510
417
401
442
459
519
396
417
471
489
455
361
508
402
445
321
460
403
482
388
516
366
349
322
509
400
504
476
362
350
409
379
371
464
378
358
449
434
406
378
471
421
410
435
481
397
378
497
465
375
422
458
365
337
452
480
517
353
359
485
412
387
415
402
362
519
455
482
337
482
415
462
447
320
472
497
339
371
449
344
405
501
413
328
455
364
338
481
388
457
329
402
327
483
430
450
519
472
378
325
352
418
394
412
451
424
462
503
354
519
325
371
497
365
404
323
458
427
475
519
342
396
469
411
414
341
461
470
495
445
501
477
365
347
437
471
443
453
471
414
362
460
326
397
446
425
417
495
498
447
379
402
331
492
464
344
369
385
360
321
492
410
381
367
499
482
452
402
413
331
515
462
384
508
378
467
336
439
504
421
434
324
450
408
350
491
447
405
430
460
442
416
375
431
434
369
322
366
368
425
468
425
328
511
480
384
473
378
500
517
507
461
453
358
338
353
326
352
427
518
453
339
362
343
340
436
377
449
376
399
353
485
499
468
474
427
445
454
517
353
419
370
481
365
354
417
481
368
410
336
484
324
470
329
460
491
470
352
466
453
440
460
390
483
422
367
344
397
448
468
473
325
359
499
371
497
335
337
518
342
385
467
434
380
436
363
443
457
438
338
436
357
427
335
470
345
354
448
425
499
518
454
393
369
335
509
405
509
423
481
475
420
390
367
449
510
432
448
337
405
357
460
331
397
423
358
493
502
497
360
504
371
508
488
503
400
415
419
483
429
408
412
429
470
506
506
403
440
426
406
444
512
327
425
442
349
455
486
482
349
467
497
481
443
364
402
363
362
444
520
490
458
515
435
493
396
400
470
371
490
486
469
390
354
514
469
419
505
394
349
364
376
384
358
344
353
381
424
447
438
363
392
407
416
387
505
426
388
450
404
410
469
342
405
450
492
438
377
459
447
400
337
451
328
454
429
430
385
348
454
383
396
449
344
489
409
455
497
518
404
456
515
332
356
367
516
411
446
399
425
411
361
343
499
398
480
354
518
498
487
386
374
369
512
401
463
490
388
513
449
450
486
489
502
370
374
390
405
402
508
401
356
451
407
368
439
358
392
421
385
454
411
482
497
460
520
388
465
412
335
480
512
328
417
442
349
376
345
335
462
371
403
465
367
484
515
442
424
363
433
491
401
330
494
353
488
355
500
455
329
499
341
477
422
441
366
399
444
371
494
449
437
327
444
342
487
459
400
481
435
403
488
331
487
508
440
425
487
381
492
334
428
346
401
386
435
442
411
458
355
324
432
440
513
479
369
371
514
320
505
323
432
431
369
443
481
506
507
468
350
462
332
411
428
371
459
467
382
508
354
382
490
327
392
422
368
382
381
477
492
456
499
429
460
467
331
436
499
358
348
407
442
439
484
409
346
340
474
364
483
517
476
353
463
510
389
356
406
450
478
515
506
443
363
520
324
422
424
335
360
407
347
406
392
480
432
460
482
445
428
370
331
510
410
393
339
439
431
453
353
405
367
468
497
495
433
348
449
384
452
365
362
337
516
501
458
378
326
510
445
357
458
378
444
515
332
445
438
470
358
327
481
499
489
422
365
445
320
413
360
360
380
497
465
421
378
360
402
460
331
404
462
373
382
442
476
508
402
327
469
420
337
350
406
432
460
456
489
437
352
449
504
384
340
490
382
461
328
515
425
507
332
500
331
432
391
320
350
433
468
386
370
353
378
471
348
380
333
354
416
449
381
355
484
339
431
342
330
386
414
397
508
454
494
377
356
328
450
337
510
519
444
378
383
485
402
372
330
379
429
338
396
481
360
464
383
335
421
484
378
352
447
349
515
407
375
457
425
448
398
469
419
391
478
400
381
391
388
350
328
355
474
422
414
418
453
490
363
458
501
377
514
448
393
402
412
414
452
329
414
501
367
502
508
490
400
399
427
398
424
430
416
481
421
424
376
460
447
359
392
514
327
411
502
490
335
360
480
326
484
490
348
321
406
364
448
333
422
327
493
321
428
354
356
511
423
519
345
381
451
342
395
408
378
408
418
389
366
321
504
406
505
423
484
419
403
378
379
431
398
431
357
437
427
454
493
497
487
337
420
500
400
399
343
367
493
365
366
403
354
339
510
369
395
512
382
500
333
392
475
346
399
484
408
494
513
394
438
493
480
508
428
377
500
326
463
484
420
416
476
506
343
377
369
486
383
384
379
329
397
475
387
511
400
397
382
368
489
511
352
326
422
446
357
487
365
384
327
514
459
476
332
493
416
505
406
352
477
483
382
324
379
440
355
384
472
335
405
415
364
358
330
361
424
383
440
402
410
457
322
498
405
398
491
409
402
434
370
335
322
429
405
436
457
342
427
416
445
350
463
337
375
402
426
388
366
446
341
405
426
347
346
333
487
429
366
510
397
403
364
427
451
509
355
353
377
499
448
409
419
328
339
325
357
431
379
495
323
328
445
324
361
321
433
416
460
413
354
387
418
339
387
370
446
496
487
460
376
322
468
324
350
496
421
513
447
406
435
464
374
359
485
379
345
410
509
435
339
398
347
443
477
380
425
409
345
507
458
348
472
345
512
345
436
391
520
379
427
478
467
413
410
457
440
515
500
378
367
343
343
345
460
519
494
519
472
345
320
387
520
452
404
447
463
334
472
458
418
503
417
346
441
499
436
394
360
383
365
453
489
425
321
334
355
424
471
456
382
426
492
330
343
372
391
424
419
343
358
387
380
335
389
335
328
518
358
392
413
430
497
405
368
387
345
429
492
368
511
333
464
387
362
480
383
477
486
461
511
467
331
435
487
483
336
364
367
321
421
420
363
512
378
503
344
350
485
378
455
496
391
516
403
325
397
509
484
451
346
499
329
456
442
494
329
367
371
323
373
484
484
331
413
321
419
463
382
520
345
437
369
324
490
357
469
429
465
443
513
353
462
450
439
368
357
389
337
329
323
460
486
322
433
352
340
511
402
475
356
495
493
322
448
385
411
517
466
338
425
399
346
496
386
462
376
380
410
327
457
429
463
460
478
426
401
357
382
495
369
323
395
413
336
481
509
516
515
358
350
361
484
374
380
358
431
433
447
488
328
370
367
471
475
490
400
394
366
500
426
425
469
432
417
339
352
398
341
400
396
352
406
469
437
349
387
391
467
462
361
463
355
402
397
390
367
394
330
367
497
371
499
335
375
359
434
379
511
320
489
427
418
451
430
449
337
341
351
347
325
468
359
507
347
490
331
352
321
484
363
335
442
326
449
406
330
509
393
342
450
415
424
479
497
430
326
335
349
324
456
497
429
484
475
407
517
376
364
426
325
451
401
425
411
382
389
504
354
448
335
328
403
442
442
441
481
348
410
503
369
342
438
331
398
471
445
436
406
413
387
409
360
464
441
470
494
478
335
434
375
490
395
520
514
518
507
355
398
465
420
328
347
396
508
498
448
357
410
508
404
434
341
479
401
489
360
411
483
465
494
481
434
482
417
486
359
341
498
329
338
441
345
372
518
323
475
420
371
396
498
326
333
512
337
504
341
342
445
475
321
409
497
498
504
409
511
349
371
406
475
392
397
384
503
380
474
497
441
443
437
509
356
340
397
514
494
472
320
520
370
340
463
470
350
388
486
401
473
371
350
480
490
364
413
331
487
343
460
466
505
429
450
478
374
439
439
329
446
379
370
463
426
321
404
440
411
492
370
459
451
381
435
366
405
467
321
337
364
446
361
325
330
519
364
392
444
409
454
408
427
443
382
338
386
403
328
414
441
357
423
429
420
444
413
440
480
493
441
329
339
353
505
372
428
443
451
485
408
377
480
410
361
469
472
369
482
430
378
466
378
424
437
357
456
410
490
361
392
426
379
332
322
350
399
383
440
404
336
472
358
416
375
422
329
340
330
368
415
503
375
411
447
429
461
428
467
458
345
507
391
467
476
513
368
417
508
337
358
501
433
339
517
487
335
487
355
422
518
328
475
384
481
423
430
438
439
336
471
417
500
341
386
505
360
324
403
347
442
459
331
481
342
374
413
339
492
493
456
325
386
468
498
451
455
484
421
445
334
508
337
483
468
450
406
497
398
448
337
365
495
506
504
333
503
500
341
461
346
385
235
206
231
236
225
241
221
220
220
221
231
201
204
215
208
230
217
204
239
212
245
229
221
217
245
234
203
216
245
214
231
205
218
244
224
247
231
217
205
242
239
205
206
232
233
221
200
229
219
238
229
221
245
212
248
249
235
203
203
224
226
215
232
226
210
213
226
250
248
237
223
213
229
225
205
211
235
223
219
223
203
203
221
212
210
243
215
219
241
236
224
248
233
211
229
219
220
221
225
211
208
210
209
207
240
201
236
225
236
202
242
232
246
232
223
233
216
221
245
220
245
215
201
223
215
224
206
224
245
225
229
217
225
207
245
237
223
219
219
201
222
203
213
223
244
235
206
238
235
246
223
231
216
244
207
247
208
233
205
249
228
235
237
235
235
231
200
219
239
220
246
246
220
204
248
247
208
236
239
209
206
226
218
223
223
215
201
215
219
227
232
248
233
245
242
227
229
240
243
208
229
213
236
200
202
236
212
203
218
218
230
204
202
203
220
232
238
242
225
228
228
212
221
221
211
235
219
231
245
243
249
219
213
234
227
216
207
234
205
206
238
250
246
246
201
240
245
243
236
218
231
235
234
237
206
236
221
208
248
218
238
242
213
239
237
239
233
201
224
201
201
228
204
222
242
210
229
218
237
243
237
223
239
214
225
201
237
233
209
222
203
209
215
219
219
247
233
247
234
208
207
241
232
215
216
211
213
213
222
224
216
244
204
236
227
213
203
204
241
215
238
202
201
216
250
202
214
217
243
247
246
213
240
242
238
238
247
240
235
216
215
244
236
249
226
209
209
231
243
214
229
200
214
205
230
204
231
249
230
245
229
200
208
213
242
238
209
205
216
203
247
202
211
208
221
222
218
203
239
234
202
224
209
243
202
210
244
227
222
246
215
207
208
209
207
231
207
222
241
245
227
246
228
232
225
222
214
248
216
213
203
207
220
244
205
229
239
236
247
235
230
249
228
220
239
248
243
233
242
203
232
216
238
204
219
231
208
210
224
208
234
224
217
249
207
215
240
239
215
239
233
239
250
250
240
246
220
248
230
230
216
224
219
250
226
227
230
215
248
237
215
245
241
205
235
224
235
217
203
229
229
206
211
237
203
232
231
211
232
216
221
204
232
216
209
235
237
236
243
201
220
205
210
203
228
250
206
200
212
245
222
240
208
233
219
222
235
210
224
226
228
202
205
247
250
246
222
204
203
205
210
244
220
234
249
227
240
207
208
207
207
227
226
240
247
246
201
219
231
206
223
235
242
223
216
228
250
220
224
214
216
249
240
242
217
239
200
228
204
246
242
245
214
221
237
222
248
210
241
221
208
230
220
236
226
222
204
234
232
207
229
244
221
235
200
246
221
242
212
248
245
218
225
215
206
219
250
213
247
206
230
232
237
229
223
237
234
201
246
235
234
248
216
230
245
212
221
230
235
238
207
212
239
234
210
209
218
201
248
215
218
240
231
215
213
239
222
232
200
242
204
231
246
216
237
227
215
228
228
242
205
203
248
245
221
228
215
237
234
212
247
225
217
223
219
232
222
220
250
234
219
223
206
203
231
219
209
209
213
209
228
246
206
228
218
210
248
212
233
234
203
226
226
215
216
240
234
200
206
243
200
230
219
244
235
201
241
206
210
239
225
249
231
212
215
230
203
234
250
207
227
221
221
204
228
246
248
232
223
216
227
205
231
200
239
217
238
231
229
234
230
220
216
236
244
232
230
240
234
231
215
219
208
211
225
235
200
234
246
215
245
215
241
241
217
248
224
216
219
225
245
241
213
244
234
226
225
248
223
201
250
209
224
223
224
241
208
224
211
209
232
223
200
247
201
211
249
242
240
203
227
246
218
228
249
245
240
214
218
234
216
236
239
209
234
212
242
247
211
245
242
221
249
225
212
200
243
230
231
238
227
222
224
217
205
241
217
221
208
226
210
203
208
229
232
210
222
224
237
204
217
249
220
205
200
221
234
227
234
227
239
200
247
225
205
212
216
201
211
201
237
202
227
224
238
200
206
205
238
216
245
204
202
249
229
210
213
250
245
246
236
236
214
210
241
232
244
203
214
231
218
209
249
210
201
244
236
244
221
225
243
218
201
235
247
248
210
206
207
224
203
231
200
210
223
214
246
243
239
205
217
244
240
233
202
218
227
228
242
234
229
235
202
248
250
207
217
232
220
246
220
249
221
238
213
230
223
229
242
201
214
238
214
245
237
224
246
222
241
228
217
223
203
246
234
242
216
244
240
236
246
218
248
217
239
225
243
209
249
208
224
227
243
207
249
244
230
216
230
239
229
236
212
229
235
226
250
218
204
250
222
233
233
245
231
247
239
239
215
222
233
249
211
234
228
233
205
235
221
248
214
225
249
219
208
238
248
242
223
229
244
221
233
229
249
200
237
233
226
210
244
234
233
219
242
246
203
239
242
207
234
236
205
210
217
246
218
227
208
249
206
223
245
250
212
248
225
206
229
218
209
250
213
245
211
224
232
229
243
240
221
226
234
205
241
206
219
209
206
249
228
220
231
242
239
249
238
210
216
230
243
222
230
247
225
239
209
223
208
218
212
249
246
224
228
209
228
212
204
229
216
232
240
227
216
208
226
235
221
207
211
245
244
214
243
224
205
226
201
211
243
206
234
220
216
228
218
238
204
205
232
211
228
206
233
240
216
249
204
227
206
248
212
228
219
224
209
241
238
233
242
218
210
234
219
226
207
227
229
244
207
200
223
218
234
204
214
200
216
248
235
204
209
237
212
231
250
216
209
223
213
241
225
234
231
238
233
207
230
202
246
250
206
224
216
200
228
217
218
233
244
221
234
201
223
221
219
239
234
207
227
207
210
222
205
248
232
226
229
209
230
246
248
203
227
240
236
209
210
236
247
214
240
222
231
246
215
200
229
210
234
219
208
218
234
246
230
249
214
212
248
223
248
214
223
212
236
244
247
219
236
232
212
206
228
203
229
250
228
209
241
225
235
222
250
218
211
211
236
215
223
200
223
235
214
224
217
202
211
203
213
207
244
234
202
231
248
230
224
243
206
248
228
239
204
221
246
224
229
220
208
204
221
230
240
249
212
237
200
202
209
225
241
201
236
217
229
203
207
236
232
222
231
248
244
223
216
203
228
201
212
207
227
245
225
246
214
200
248
247
216
232
238
224
214
247
242
232
229
204
222
233
202
228
213
218
209
233
222
250
211
220
239
232
227
215
247
204
230
248
203
245
214
215
220
240
249
246
246
234
229
214
223
218
208
218
241
201
221
236
248
239
228
201
204
229
241
212
230
226
203
212
214
209
228
219
223
227
244
246
207
212
209
243
209
203
222
222
250
204
201
221
218
237
244
226
232
220
213
205
233
216
214
235
241
221
211
244
248
229
239
249
200
228
231
227
212
224
232
212
239
244
249
221
201
206
247
243
203
205
217
215
241
226
202
231
222
206
224
240
204
215
250
215
205
203
206
240
229
210
249
206
203
243
237
204
244
227
201
201
209
226
219
223
239
207
230
232
246
245
201
202
213
247
215
215
203
214
225
200
245
247
239
215
231
236
208
218
200
206
213
225
228
220
220
217
248
209
202
204
247
248
221
215
227
226
217
202
204
239
204
217
228
221
229
246
248
208
240
219
219
201
209
239
213
208
246
223
216
246
234
222
232
239
222
245
204
209
229
234
218
203
202
227
207
200
224
244
201
240
231
231
250
239
215
226
218
219
239
202
227
226
228
203
249
206
214
213
216
219
201
236
235
244
238
201
250
231
203
249
219
201
241
215
223
214
216
248
249
214
247
220
236
230
236
221
208
236
225
224
244
249
224
242
203
229
208
246
222
235
204
239
225
245
240
215
249
241
230
238
229
219
218
241
222
230
249
245
228
216
207
232
207
220
213
229
219
206
227
231
227
232
212
206
236
230
248
227
233
228
210
238
225
233
236
226
249
220
235
241
205
221
228
222
247
227
237
246
200
234
228
211
224
240
231
201
239
235
223
222
240
234
220
200
227
206
246
247
208
202
250
231
206
238
229
237
200
230
210
215
213
204
240
212
217
216
214
236
223
224
248
238
224
248
207
221
239
250
207
246
231
200
238
227
239
205
219
226
235
249
235
216
250
237
203
228
241
229
234
248
218
207
214
219
231
222
202
227
229
203
226
232
243
231
245
220
242
244
247
206
228
248
223
217
204
233
238
219
227
221
215
231
237
238
246
244
219
209
209
217
211
217
205
232
203
228
240
209
201
237
243
241
226
216
248
230
215
202
212
224
203
208
204
202
228
226
208
205
226
223
230
204
213
234
200
235
209
220
214
200
247
219
227
214
200
220
205
240
239
222
231
213
238
214
220
224
226
228
224
202
202
203
202
207
226
221
227
210
218
201
204
223
235
232
238
204
209
229
223
224
219
222
217
201
246
213
228
249
217
249
202
240
219
208
221
203
239
249
233
202
205
207
239
241
220
212
235
229
207
230
228
226
226
229
208
250
245
221
244
219
225
215
219
233
237
231
224
249
230
210
211
224
233
201
224
227
240
224
243
216
202
222
216
243
248
226
230
200
246
226
219
232
209
200
245
244
233
220
206
238
222
226
247
236
203
238
238
239
229
220
232
208
201
225
211
216
210
238
203
242
240
208
207
215
221
200
245
204
233
206
207
232
211
204
226
247
217
227
245
235
232
233
244
235
211
210
211
239
226
245
231
228
242
219
223
242
230
206
245
218
223
247
221
244
219
243
216
208
250
241
219
202
217
229
232
219
241
228
234
239
241
219
216
200
244
217
240
232
214
214
230
222
203
230
230
247
211
208
245
242
238
235
238
242
212
227
214
247
250
233
248
229
238
234
216
220
212
231
243
237
234
233
205
204
210
204
235
249
241
206
250
200
240
215
208
209
237
209
222
236
231
250
204
236
245
243
216
239
249
208
225
218
249
243
236
230
229
234
218
221
213
234
244
239
248
223
211
203
242
234
232
227
211
213
227
236
236
230
226
201
222
231
220
235
225
232
222
223
240
202
213
209
219
240
212
228
249
228
235
229
214
223
224
204
206
232
228
210
218
246
220
246
238
212
221
214
225
246
246
208
216
232
242
218
244
202
221
223
219
234
219
216
243
231
248
216
202
241
230
250
222
208
212
210
250
231
229
220
245
241
228
237
206
209
231
225
214
202
246
216
221
202
247
247
242
228
230
224
211
205
246
244
236
232
239
227
240
206
230
248
207
217
223
212
226
234
249
248
228
200
229
203
235
219
209
236
216
221
247
225
228
217
234
236
200
226
249
228
239
204
243
207
249
215
200
232
227
229
219
235
216
207
234
241
221
229
235
217
211
219
223
201
214
216
235
231
226
209
219
250
239
233
212
207
243
210
223
235
227
208
224
245
244
225
227
221
211
234
250
219
201
246
204
247
234
201
216
240
243
242
237
230
243
220
215
230
216
247
203
224
247
230
247
216
238
237
206
236
228
221
211
204
239
232
206
218
207
221
239
231
220
221
223
212
238
237
202
207
223
245
226
207
203
207
216
221
249
249
210
219
229
239
206
208
210
237
229
243
231
246
213
246
225
247
232
207
208
220
241
210
236
202
249
240
206
240
200
247
204
220
218
204
221
212
248
223
214
212
209
220
230
229
227
218
216
221
209
230
234
244
218
217
205
214
239
223
222
215
249
231
241
200
240
244
220
207
236
238
246
219
212
202
203
223
206
229
237
250
204
213
238
239
238
222
222
207
200
243
232
234
230
218
213
231
213
232
244
201
234
241
211
226
246
229
230
229
211
221
240
221
222
215
218
213
227
237
229
230
223
202
233
241
245
231
224
249
242
227
234
237
230
247
246
227
232
237
242
228
222
224
228
242
212
237
234
221
201
221
221
248
206
204
239
208
242
204
206
235
219
213
250
204
238
231
225
207
224
239
228
250
223
235
242
249
241
230
212
203
245
201
248
245
202
226
244
225
248
215
212
240
246
223
210
223
216
226
200
219
212
246
238
221
204
235
228
248
244
211
220
205
230
210
242
212
208
212
238
246
229
219
243
247
249
200
230
243
223
213
245
249
227
218
238
248
218
243
229
211
206
250
233
212
246
229
237
232
202
241
209
219
227
210
224
220
222
209
210
232
211
203
224
211
219
236
234
207
225
248
232
225
204
234
233
249
206
218
211
209
209
232
225
243
207
242
211
215
229
247
217
211
216
246
202
203
218
239
217
200
233
201
218
240
250
201
214
229
220
243
235
246
225
205
220
237
221
217
229
239
210
202
225
234
244
217
235
220
227
215
203
230
248
250
236
202
245
209
242
227
215
250
228
225
228
200
247
236
203
213
213
215
216
240
205
223
220
222
212
201
208
247
205
216
205
217
231
239
212
223
210
210
245
238
244
211
200
228
225
237
226
227
227
206
239
224
247
217
211
239
241
237
206
226
234
201
200
203
229
218
239
224
212
225
211
221
210
248
202
203
205
249
226
204
215
225
243
229
214
242
241
231
202
233
245
227
237
205
200
243
212
245
242
231
232
226
231
210
228
206
219
209
212
242
249
222
211
205
248
208
212
208
218
240
236
239
203
228
204
215
247
234
217
248
250
238
241
215
226
205
248
213
225
202
216
200
250
218
239
229
211
203
245
236
211
245
243
223
247
208
210
233
238
249
234
237
237
246
207
243
232
208
201
205
225
237
218
231
211
228
207
242
239
228
239
248
225
224
245
246
234
245
248
240
223
232
234
200
238
240
222
243
227
228
244
247
239
203
239
241
243
224
232
229
234
227
235
204
205
231
241
211
227
219
243
202
200
225
229
211
243
222
210
230
230
227
219
247
211
234
243
200
216
204
248
222
215
237
229
245
217
209
206
243
234
235
241
209
231
208
250
237
200
200
250
213
225
222
210
215
240
220
234
224
239
218
244
242
215
205
201
245
204
209
204
207
219
229
201
215
232
219
208
226
204
233
209
238
224
228
223
223
224
204
200
215
239
205
224
206
219
234
215
222
221
218
232
200
208
246
209
244
223
239
212
204
233
248
250
244
230
213
216
237
249
226
200
227
205
227
233
217
222
234
208
206
243
205
230
237
206
217
247
200
205
224
203
212
219
219
226
235
240
238
248
203
245
216
219
233
202
213
229
205
233
248
236
203
205
247
226
212
225
224
228
217
241
221
200
238
233
250
216
210
249
238
218
243
211
212
219
240
224
201
206
220
212
226
241
226
240
209
246
230
215
225
225
232
211
204
248
211
237
232
205
229
250
233
202
243
231
223
232
244
234
209
238
244
203
211
236
246
216
225
231
203
224
215
235
244
239
240
230
239
204
206
203
211
219
238
201
221
231
224
232
245
247
230
211
220
240
247
219
225
233
225
220
235
232
240
224
218
205
245
234
241
218
241
234
209
214
224
239
235
241
220
212
229
230
218
215
244
229
204
230
241
213
218
238
249
220
228
224
206
230
209
238
234
220
220
230
202
200
247
248
249
250
230
219
241
215
203
243
207
215
209
233
250
220
215
234
217
208
230
204
213
217
212
204
226
250
225
242
238
230
235
249
212
233
205
250
218
247
243
243
207
203
244
219
213
213
221
242
223
231
241
220
208
227
226
202
240
210
220
207
225
245
219
232
218
200
219
246
243
235
234
244
215
204
218
238
230
234
237
234
208
237
223
239
215
208
202
223
230
241
235
243
226
218
220
215
240
225
241
229
231
204
247
224
203
234
243
241
201
220
201
213
237
214
218
232
213
222
249
217
216
217
228
201
200
224
250
211
204
224
214
242
237
220
203
249
204
227
225
233
215
219
249
241
222
249
224
211
214
239
228
205
213
221
242
218
212
217
225
200
220
213
202
239
249
212
226
208
214
246
207
244
247
228
233
247
216
232
225
219
233
219
209
223
239
223
215
229
248
242
247
233
236
208
201
247
221
214
205
227
220
238
239
217
211
242
232
234
210
200
228
241
232
247
229
220
206
233
249
219
228
234
204
209
232
216
230
242
246
215
230
237
217
221
235
231
244
213
226
214
202
226
221
226
206
246
236
221
238
208
204
206
242
217
237
202
244
239
229
248
244
221
230
234
239
217
243
205
210
210
241
233
247
207
235
219
250
244
202
212
237
236
250
243
209
221
235
240
243
227
243
213
242
203
216
245
238
211
223
221
229
201
217
203
248
248
225
243
250
228
203
236
212
226
245
231
214
239
249
213
248
207
207
211
237
234
231
245
214
236
239
222
214
243
233
234
240
249
243
222
219
213
250
224
233
210
220
240
207
244
220
206
238
226
200
234
228
222
240
248
242
209
206
200
205
219
218
233
200
217
215
249
220
212
212
223
230
247
246
219
200
235
208
202
213
221
240
235
215
233
211
215
211
237
207
227
250
202
232
234
236
200
248
206
225
213
245
216
213
204
219
206
206
242
224
230
243
216
250
212
231
218
245
236
207
206
208
201
239
202
216
203
241
242
229
209
233
229
228
243
204
237
244
222
206
213
208
234
208
200
231
238
244
201
250
204
240
211
216
201
204
201
242
208
239
244
233
238
229
241
211
232
234
247
246
233
247
238
235
226
218
250
206
208
219
236
209
219
223
224
229
236
241
233
239
202
247
212
234
239
239
202
200
201
231
226
219
232
219
247
240
222
217
249
213
207
229
236
241
225
223
242
205
209
206
248
230
216
229
227
228
249
226
247
239
214
206
234
248
231
209
204
230
228
217
202
237
228
213
232
209
207
203
233
238
244
210
212
208
214
248
236
232
200
243
221
216
217
200
220
231
205
226
224
203
235
209
210
217
221
221
246
246
226
248
215
219
218
223
237
200
215
245
209
230
233
246
234
242
248
216
224
217
216
224
219
236
241
242
238
249
204
201
250
220
248
221
248
234
234
250
204
226
214
206
218
222
208
207
219
250
223
202
228
242
210
224
246
225
241
219
210
202
231
221
206
213
203
217
233
229
201
226
242
233
208
208
217
231
205
200
217
236
237
249
246
240
201
240
213
201
200
217
213
240
206
238
203
218
238
209
234
242
246
246
230
216
215
201
232
218
201
203
229
208
246
223
240
215
207
247
217
202
207
222
221
224
227
217
218
219
227
243
206
247
220
226
209
232
247
231
245
225
220
249
227
242
244
219
248
222
215
225
215
221
238
206
214
200
205
215
244
248
202
209
213
207
205
244
217
213
201
201
242
242
244
221
223
247
214
208
239
208
215
208
202
213
214
209
209
222
230
226
200
248
234
206
230
239
214
205
214
219
212
243
227
224
213
249
234
218
200
241
247
234
233
246
210
247
232
250
245
246
250
210
216
205
246
206
209
211
244
247
205
229
237
234
204
212
241
240
236
246
237
230
246
249
227
225
209
225
205
221
249
249
221
200
206
247
216
212
218
202
221
214
224
215
229
212
223
202
205
244
242
231
230
236
218
246
239
231
202
217
232
215
221
237
239
212
248
250
212
245
219
203
249
226
220
219
232
223
236
222
228
227
213
240
217
207
242
222
232
215
201
232
220
207
200
200
217
229
210
247
233
217
212
217
200
236
231
207
241
239
206
249
239
201
220
244
200
223
250
234
232
236
207
218
220
249
234
220
213
233
248
246
205
222
241
202
213
203
224
216
248
224
248
237
226
216
245
209
214
212
250
230
234
239
221
212
232
205
212
230
243
201
209
227
228
218
231
203
222
225
238
214
230
236
234
220
236
229
242
207
209
235
200
205
208
248
221
216
202
243
242
214
245
222
246
209
207
217
206
238
227
231
212
237
218
215
221
214
218
217
205
249
230
229
244
219
246
227
218
223
217
208
240
214
242
206
245
247
237
216
242
243
225
427
462
475
491
435
413
348
424
328
401
372
364
365
444
406
380
452
448
427
400
333
343
362
324
443
393
349
427
375
404
515
445
427
490
459
379
320
343
518
516
349
397
492
326
497
369
498
398
491
431
360
462
500
405
494
374
439
511
391
465
342
509
482
383
490
429
398
329
511
465
334
474
496
444
362
465
412
428
505
446
405
337
330
452
439
388
393
443
458
411
377
424
397
475
434
416
437
465
329
514
409
417
329
412
487
519
450
330
509
392
428
388
468
360
500
335
371
402
409
490
430
374
451
335
418
455
495
362
491
454
488
426
415
369
503
520
506
417
515
499
358
454
457
380
346
321
342
438
373
494
468
373
518
345
334
466
359
473
410
366
359
322
331
444
433
370
403
478
455
339
352
414
481
448
517
459
323
508
369
482
439
442
410
500
502
440
336
504
504
401
376
331
374
380
436
499
494
323
328
452
398
362
399
358
455
335
514
320
334
369
386
395
347
520
324
426
450
375
322
364
416
321
329
512
350
425
500
435
514
513
405
501
395
397
505
457
502
343
448
338
477
483
511
327
389
470
368
435
408
518
335
451
438
348
367
486
494
413
408
424
420
482
339
431
325
373
325
405
411
437
427
402
398
339
427
429
478
519
323
363
387
510
332
405
329
493
378
343
431
468
414
427
414
369
408
358
465
323
384
486
445
478
491
447
451
380
511
485
339
330
456
512
352
413
508
498
508
436
508
452
389
408
427
455
395
413
514
409
386
335
496
354
425
415
350
470
374
472
481
520
406
458
496
347
372
430
395
411
372
494
482
377
445
418
513
322
323
389
482
396
465
447
369
417
344
383
479
515
348
323
516
505
487
338
430
442
369
386
352
374
382
441
513
343
427
324
463
513
405
429
465
416
421
479
414
425
479
510
361
509
517
443
509
381
325
333
459
358
320
499
376
420
380
474
518
399
483
377
412
422
498
427
398
376
457
445
434
514
360
335
512
364
339
383
385
444
365
360
373
457
422
507
446
510
401
434
466
413
404
385
388
377
350
414
415
456
427
448
466
352
449
458
386
478
411
332
355
487
370
417
440
420
394
327
349
425
437
428
438
334
413
351
448
479
516
482
397
478
463
469
509
449
375
367
468
502
408
495
478
354
371
407
505
433
507
484
441
324
332
447
468
378
459
412
400
355
333
520
349
423
375
426
353
509
424
418
347
509
456
456
364
512
419
448
363
388
441
356
425
323
499
383
495
326
377
433
371
415
451
400
411
462
364
482
345
394
391
344
325
327
467
348
490
420
447
337
494
493
321
353
325
487
488
358
450
455
352
507
447
446
406
479
375
369
502
477
351
496
386
504
362
423
457
452
344
478
460
399
503
453
393
354
485
489
500
482
495
476
502
448
514
355
450
392
460
458
472
454
455
504
347
415
349
400
328
437
451
418
422
483
444
411
502
478
394
340
351
487
505
354
405
357
324
429
482
373
387
346
496
403
365
389
361
482
369
402
380
445
508
472
420
401
342
503
434
520
347
440
412
384
450
394
415
465
462
361
325
459
353
500
451
469
397
428
343
457
441
322
442
417
401
388
479
320
439
332
511
409
438
481
422
349
320
444
352
403
329
514
363
469
363
348
422
507
412
452
370
435
448
428
473
356
409
419
354
379
351
351
323
401
374
437
464
381
352
471
485
511
440
340
516
379
507
433
514
504
490
325
328
347
498
331
345
334
357
363
323
473
445
411
447
416
437
356
420
381
439
414
403
409
428
346
327
463
350
477
331
517
405
359
405
380
520
332
390
337
466
423
501
454
425
424
481
331
406
431
484
472
506
348
360
512
363
411
499
471
468
433
425
405
330
346
506
343
338
457
474
406
360
416
464
460
434
397
517
519
427
425
404
518
363
421
473
458
489
437
375
341
483
412
455
336
456
485
508
462
396
409
390
412
518
413
443
500
380
365
491
420
500
480
440
350
321
515
382
332
352
479
478
396
409
332
366
343
476
324
493
422
439
487
383
326
323
415
367
520
462
454
512
339
413
476
496
340
489
375
372
350
422
438
497
404
448
502
495
494
340
500
364
442
353
339
337
381
519
363
389
325
423
396
466
409
336
324
509
363
477
358
355
388
448
384
422
446
331
467
516
519
336
385
348
335
479
354
441
371
401
442
458
438
363
370
357
321
367
413
477
382
341
507
408
371
341
349
442
442
477
404
489
504
471
334
519
515
406
481
323
441
378
411
515
406
471
345
370
445
486
432
441
412
333
431
480
363
461
399
372
478
482
373
338
384
438
407
365
428
456
328
420
324
464
479
397
493
460
448
417
497
465
352
444
399
480
333
497
513
373
473
461
493
436
507
380
404
388
405
436
382
401
412
497
462
375
404
412
385
339
386
409
506
484
492
355
339
324
477
396
396
410
501
463
520
324
416
440
432
335
412
416
513
407
417
515
368
337
347
514
460
478
345
512
478
401
377
422
505
508
348
395
370
498
490
402
391
339
391
456
441
360
344
388
332
325
354
402
434
474
443
357
436
347
440
427
401
379
438
330
515
345
423
397
474
442
393
450
435
390
409
385
490
501
499
422
419
398
443
412
425
360
470
502
328
377
488
503
358
465
361
396
511
454
415
387
388
483
441
429
396
422
378
490
474
446
409
501
445
420
337
340
518
413
449
390
387
374
438
476
424
433
320
467
482
468
435
348
492
350
455
354
347
376
512
424
327
463
355
476
391
516
419
328
324
342
486
430
438
452
432
486
373
420
356
503
437
509
478
386
428
395
328
437
322
321
368
455
342
322
334
357
347
513
493
482
514
445
389
501
510
488
451
334
422
386
399
514
329
351
376
366
420
468
389
472
438
411
332
483
487
468
323
331
458
488
444
361
322
349
487
412
466
429
406
449
428
356
431
434
332
428
430
503
494
470
325
497
439
426
457
446
496
323
413
471
441
408
351
351
346
505
365
436
516
382
424
403
480
341
343
500
512
388
395
421
445
411
393
436
439
334
447
421
408
348
480
358
412
448
460
347
494
384
410
494
486
444
402
490
436
447
384
459
504
346
456
467
474
384
344
455
325
486
458
464
429
337
379
467
332
343
408
417
451
370
514
514
520
427
331
448
361
451
349
336
338
337
408
340
406
444
482
355
459
386
477
395
383
405
379
350
401
428
369
488
323
350
342
345
336
418
381
348
364
324
415
344
515
352
470
473
337
407
429
340
496
385
385
416
494
426
411
381
485
407
344
499
432
506
517
398
367
482
442
420
368
424
415
375
428
490
406
384
510
505
337
352
502
412
483
386
513
353
361
357
484
507
469
437
326
457
346
426
402
354
347
502
402
518
458
405
342
382
430
378
457
353
449
344
382
423
459
320
410
395
487
461
380
518
368
434
377
400
434
346
518
470
341
424
359
492
484
481
520
488
420
373
498
438
505
421
512
431
470
344
328
425
515
320
492
364
337
498
514
452
435
452
507
492
379
370
434
492
373
355
495
467
460
519
480
351
407
508
329
414
360
433
444
439
415
339
337
364
360
508
444
333
435
455
446
515
424
415
428
385
339
470
500
507
499
491
331
450
516
497
325
356
450
493
380
398
464
425
467
514
502
437
433
413
323
430
466
427
325
440
478
366
365
325
496
398
331
386
367
372
517
518
355
500
457
382
350
433
420
370
452
366
393
498
347
491
453
481
404
394
495
390
454
481
331
457
391
501
500
386
488
516
361
335
488
344
380
337
331
368
505
513
344
484
496
507
367
494
430
408
412
346
362
490
485
387
344
441
479
508
363
520
450
377
434
371
375
363
437
415
377
508
488
368
493
386
499
326
365
504
498
412
397
399
332
409
352
450
494
414
503
410
392
499
367
354
337
357
476
446
447
454
517
401
468
360
416
468
498
481
445
398
449
482
469
417
516
338
353
459
466
367
496
351
330
453
440
517
508
453
380
422
414
407
330
415
430
420
410
362
511
484
507
437
381
369
368
463
465
414
448
480
487
399
446
385
424
388
412
420
347
506
446
517
425
376
470
435
480
520
439
433
422
356
465
499
432
415
400
344
439
451
456
494
423
409
385
518
382
335
358
356
337
368
388
371
329
385
453
322
460
502
365
501
514
502
495
409
406
447
502
392
513
423
354
500
355
386
509
415
345
384
395
396
369
361
429
506
343
345
504
455
447
465
470
449
426
464
433
333
384
378
461
491
467
509
471
422
462
485
507
436
434
354
375
353
498
445
502
494
483
413
516
515
376
514
408
377
455
450
354
403
517
387
378
478
334
325
420
373
484
365
344
427
457
345
510
359
381
478
353
435
466
486
359
320
349
510
406
369
378
439
407
505
466
390
519
460
515
339
492
517
341
500
435
405
507
479
411
449
323
346
376
431
411
441
519
352
364
478
383
461
471
493
370
407
513
352
510
345
345
502
433
402
381
455
424
442
355
372
381
355
360
322
516
513
383
372
466
516
442
431
487
331
492
364
517
346
320
433
485
436
403
465
483
328
328
391
516
486
441
405
503
375
405
345
462
320
495
408
464
403
458
338
383
488
471
404
506
507
422
421
467
491
344
388
493
495
419
376
500
495
354
353
337
484
377
331
475
341
465
482
463
398
428
512
415
470
362
363
377
501
348
516
353
395
492
455
408
430
388
431
386
398
518
381
427
325
400
461
390
391
415
477
375
425
410
338
376
356
343
398
327
347
493
334
485
461
500
480
386
394
433
433
430
470
360
449
441
500
422
433
355
453
483
389
486
430
388
337
385
387
333
516
383
507
509
369
414
420
371
496
469
480
491
446
513
387
391
324
392
481
410
409
493
371
375
405
395
474
336
452
390
383
362
475
507
452
344
469
372
509
403
467
391
520
437
516
471
444
464
458
386
424
375
323
459
443
484
440
409
500
419
416
421
441
406
479
404
456
470
382
467
487
324
477
403
347
339
342
327
502
489
467
343
357
358
468
515
365
339
404
339
460
407
473
361
518
518
422
515
409
377
408
388
352
331
407
474
470
401
462
372
397
343
484
357
418
504
463
346
381
336
374
414
422
343
449
233
227
233
207
204
225
227
216
249
232
222
214
224
248
231
225
245
250
241
241
211
207
210
220
246
249
219
250
223
219
237
225
227
240
202
204
242
229
236
229
201
216
239
215
220
234
241
207
250
216
245
208
246
240
250
208
246
206
211
240
247
217
203
205
236
223
235
239
233
241
203
201
207
241
223
229
224
214
218
244
226
230
238
235
225
239
220
239
211
227
216
240
225
226
247
233
232
215
202
223
245
233
235
239
214
226
215
234
220
236
219
236
232
216
231
209
237
249
208
250
231
205
244
243
214
223
248
223
207
250
204
202
214
243
223
208
205
233
226
236
239
204
228
221
210
227
244
218
236
209
228
223
227
224
231
243
203
208
226
228
227
203
250
231
231
230
246
203
247
236
238
244
212
237
236
248
218
215
202
201
207
238
206
247
238
249
220
230
224
203
226
238
203
212
231
249
236
204
206
222
215
219
218
215
211
245
228
201
206
238
244
236
204
208
232
202
243
219
249
235
204
210
215
227
237
234
243
208
244
227
219
246
215
237
200
205
239
217
234
235
241
240
233
227
207
243
241
248
222
229
204
219
226
223
238
241
218
211
204
229
205
243
200
236
244
201
244
200
242
217
216
207
223
200
225
205
238
234
246
218
232
238
205
216
239
242
216
230
205
218
212
247
239
203
243
206
223
205
229
217
218
206
218
215
215
217
215
202
242
243
209
206
220
217
239
212
247
240
249
239
210
234
230
235
227
240
231
200
230
238
223
218
219
223
233
230
200
220
243
213
224
250
224
217
224
226
200
228
222
237
225
229
201
239
237
241
212
212
225
236
239
208
221
243
201
215
246
217
233
237
205
207
233
242
244
222
239
228
216
221
206
219
233
202
207
243
225
250
201
232
204
221
217
221
228
231
248
241
232
205
238
245
213
225
218
202
220
219
244
233
221
210
220
226
235
205
249
201
221
218
249
220
246
234
239
246
250
228
235
248
249
218
209
221
203
205
213
244
216
217
220
249
235
247
248
228
242
234
221
214
220
246
201
220
227
211
211
231
226
218
243
246
204
217
235
227
223
244
218
221
248
245
208
224
201
204
201
235
203
225
241
239
249
248
238
242
205
242
229
221
217
238
246
202
235
234
237
200
229
201
202
219
206
211
221
240
202
247
212
216
242
248
235
214
243
206
245
241
240
238
220
228
227
232
216
232
213
206
212
243
215
204
213
242
229
223
229
209
228
206
224
244
250
222
218
250
221
221
204
224
214
226
206
225
219
233
225
219
204
229
225
250
242
217
230
248
229
242
209
248
227
200
235
231
245
222
213
242
235
204
228
243
226
233
246
245
238
213
239
248
228
213
215
234
223
225
216
243
220
205
247
234
236
225
249
220
230
206
216
237
200
232
220
239
227
210
205
210
214
250
220
243
208
239
212
219
205
243
201
243
207
217
212
222
214
237
225
250
205
226
225
224
247
239
234
221
237
221
239
233
216
208
213
247
219
226
240
219
204
211
232
211
217
212
244
246
232
223
233
223
245
239
205
218
232
221
244
206
222
219
203
219
223
237
232
207
203
241
245
214
216
248
220
206
240
206
224
242
216
217
228
209
217
201
234
247
239
202
235
229
231
228
227
226
247
229
243
247
214
234
205
249
210
246
223
214
248
208
215
227
247
243
240
241
207
248
224
215
227
212
215
223
218
218
208
248
234
223
221
240
222
244
202
238
237
241
249
221
239
202
238
239
215
219
200
230
219
204
245
210
220
203
234
222
245
240
229
222
227
202
224
209
223
236
218
250
227
226
245
226
214
212
226
248
225
203
217
239
235
238
232
209
225
224
240
201
249
223
245
200
218
242
214
201
218
218
210
201
204
226
229
237
202
228
245
243
214
236
224
205
207
201
222
218
207
244
205
215
214
225
202
205
231
216
226
216
203
209
228
223
240
249
240
237
220
207
214
238
216
245
214
203
207
233
212
245
208
242
217
207
236
211
230
203
221
232
231
234
248
250
233
240
208
245
232
228
249
203
227
244
209
246
220
242
227
219
203
231
227
234
220
209
231
205
215
246
207
212
220
212
206
235
232
248
232
203
220
249
204
240
206
220
221
234
202
233
215
205
226
211
207
240
213
212
226
230
204
242
241
207
215
212
224
230
245
203
209
221
206
245
222
219
220
239
235
225
206
203
246
208
233
210
238
231
207
207
233
244
229
231
235
239
217
238
226
220
215
240
213
224
222
213
203
222
243
225
200
245
232
217
212
214
236
220
201
220
202
245
208
225
213
234
231
242
207
226
218
249
239
237
250
213
250
226
237
223
218
242
227
208
247
219
236
229
206
232
216
238
210
211
246
224
214
228
228
235
243
215
206
213
222
222
230
218
216
219
248
212
226
240
207
207
209
213
224
203
246
224
206
247
223
204
231
238
249
232
241
247
217
249
219
249
208
234
215
227
215
246
201
217
246
217
214
207
213
242
237
224
219
226
225
209
239
222
230
225
244
230
205
242
207
242
229
246
208
221
208
203
218
219
212
203
229
205
234
247
216
243
212
215
208
249
220
215
213
201
234
222
200
211
233
226
224
226
225
203
242
201
206
226
223
236
222
218
231
248
205
237
211
239
219
220
226
223
229
237
208
247
244
222
241
227
211
229
219
239
233
250
217
244
250
228
244
249
249
223
214
228
206
220
235
225
220
208
206
230
248
208
201
207
206
206
205
232
210
213
214
213
216
234
220
231
243
234
200
216
240
238
237
234
201
220
247
241
237
213
226
231
200
237
211
240
222
213
215
244
247
216
245
208
216
244
233
240
237
243
237
249
226
228
200
214
241
215
241
241
250
231
223
205
225
250
200
205
250
237
237
214
219
211
201
223
208
200
248
225
236
206
234
211
242
227
219
249
219
231
208
246
204
235
206
220
203
205
240
245
228
234
228
221
221
234
202
217
215
240
232
218
245
215
221
217
224
221
243
249
205
207
223
225
246
205
232
244
240
244
243
234
204
211
219
214
216
247
220
225
212
232
236
226
236
244
247
212
245
201
202
248
212
234
210
228
213
241
219
213
233
218
241
250
223
202
227
214
227
215
244
217
220
209
202
250
228
225
206
218
211
231
214
240
211
239
241
220
211
210
208
246
220
221
232
219
224
214
248
210
209
242
205
233
228
204
249
233
250
231
213
210
239
219
220
213
213
210
228
202
244
225
237
230
211
242
213
242
223
246
207
241
209
213
205
217
218
231
240
212
225
230
227
223
201
241
248
230
214
213
225
203
225
226
231
207
207
214
217
230
234
226
249
245
209
236
231
217
212
234
223
221
241
235
248
246
233
242
203
200
211
219
202
203
246
242
238
215
216
201
210
223
212
250
216
240
240
201
226
216
219
247
244
231
233
244
215
232
216
209
205
234
213
219
203
207
224
209
201
215
215
216
209
208
200
226
209
216
211
245
225
226
210
239
225
241
209
202
205
222
213
203
233
249
237
227
247
232
212
206
203
202
238
204
238
204
238
230
209
208
231
213
241
238
239
219
205
248
217
208
227
227
234
206
206
239
247
231
211
232
206
221
243
243
242
243
212
249
224
219
221
216
231
213
217
237
217
200
210
227
237
203
213
202
223
206
245
208
246
212
227
219
220
233
241
222
221
244
209
209
230
246
233
217
227
228
231
248
236
201
219
240
207
245
224
233
212
226
238
224
223
245
206
249
226
243
250
209
210
202
231
220
246
218
203
207
225
221
244
217
215
237
245
240
250
236
205
208
212
205
240
242
247
232
240
243
222
240
240
202
237
233
235
230
240
200
237
218
249
214
210
230
203
207
203
225
216
232
216
230
223
208
241
226
229
219
213
208
209
240
247
215
218
228
241
241
227
213
230
216
217
218
207
212
250
220
245
228
222
207
214
247
204
238
231
217
223
233
204
248
245
211
237
221
206
200
218
238
246
224
240
220
221
213
208
216
201
243
230
223
246
222
229
203
216
240
208
221
229
200
204
229
235
216
209
235
221
223
229
229
243
240
242
205
201
216
222
244
231
221
240
210
211
229
247
204
203
221
212
240
218
214
247
227
222
205
229
237
240
235
225
238
224
236
214
202
238
241
244
224
207
236
201
224
247
228
207
217
238
210
213
227
204
221
232
236
216
239
231
219
244
237
231
214
203
237
237
228
208
240
232
208
245
234
232
207
243
231
213
236
230
224
243
213
250
222
212
232
250
234
232
235
222
244
200
235
225
239
234
237
222
230
200
244
205
209
218
231
236
205
225
231
234
231
215
228
218
238
244
245
242
229
201
245
218
204
207
231
207
226
243
210
222
232
217
212
244
208
207
228
203
225
240
217
239
221
207
210
226
223
206
234
238
209
227
241
213
208
218
250
231
240
246
210
249
228
235
248
236
228
201
246
218
203
219
232
232
225
229
205
243
224
231
213
219
229
245
210
243
223
242
219
225
231
248
246
206
211
206
241
221
242
220
215
224
202
210
250
240
205
210
240
205
239
223
231
201
202
208
233
222
204
240
201
209
241
228
232
227
245
237
234
237
248
216
222
243
229
219
238
204
233
242
205
234
214
201
206
205
201
231
222
203
235
233
222
214
222
231
213
210
220
214
221
235
215
236
250
229
233
238
248
231
205
222
231
224
230
248
216
245
212
216
242
216
201
250
233
243
214
232
223
232
216
230
200
210
204
203
241
208
240
240
221
216
245
243
231
248
209
221
239
212
211
226
221
241
214
225
204
216
224
238
235
231
244
221
231
224
231
250
228
205
232
200
233
229
204
213
246
234
221
219
220
225
207
248
245
239
237
203
233
221
209
247
231
244
212
242
201
204
233
247
201
238
245
246
248
222
213
229
226
228
237
247
203
249
207
218
240
243
244
219
216
209
242
240
205
208
221
246
205
221
208
201
202
221
215
247
237
243
204
214
218
203
221
226
225
238
234
228
213
229
207
221
223
202
243
202
236
224
215
243
229
234
231
241
228
217
209
213
238
202
248
250
247
234
213
227
227
214
250
201
213
244
232
238
213
244
212
228
240
226
227
234
250
223
205
225
229
222
206
216
249
241
227
235
231
216
232
229
211
223
242
206
239
222
234
204
217
247
208
229
228
216
214
228
216
232
225
223
230
235
243
202
213
201
220
223
238
220
224
229
233
227
250
220
223
203
202
245
219
233
216
210
239
214
213
224
238
224
234
201
239
248
206
239
214
234
212
236
243
228
238
240
238
245
205
221
243
213
208
212
248
209
242
214
221
205
221
217
246
205
248
247
220
229
217
231
232
221
221
243
221
243
244
222
238
209
230
237
221
246
206
230
227
246
215
211
247
217
212
249
215
226
238
220
249
209
207
213
219
236
215
236
202
207
248
213
202
248
246
247
239
242
249
241
209
245
209
230
248
237
228
230
224
227
204
228
236
218
240
238
212
225
220
233
200
231
228
218
247
249
212
236
209
229
212
211
201
214
203
216
234
234
242
235
202
248
224
249
223
221
204
218
248
230
236
225
213
235
221
212
229
204
226
205
235
243
210
218
248
208
214
227
209
206
233
216
227
221
225
241
218
239
240
216
206
219
219
213
217
238
250
243
218
246
234
211
230
238
242
235
244
216
229
226
215
245
237
214
242
204
227
200
246
238
248
207
230
215
205
205
208
247
200
209
248
214
218
203
230
221
203
210
249
223
224
220
231
249
216
221
228
200
214
213
249
228
249
216
217
214
247
250
217
214
223
216
219
242
221
228
231
200
217
238
224
216
238
217
219
243
246
247
213
211
250
249
219
227
211
232
238
242
229
240
233
223
250
214
216
206
213
222
226
237
240
214
229
218
233
228
202
212
245
206
213
213
215
242
214
211
221
242
231
200
244
224
245
200
208
231
228
201
223
247
242
213
210
207
245
209
229
209
244
245
231
207
238
237
247
202
221
244
214
219
222
212
232
210
226
230
245
214
234
202
218
219
244
245
238
221
215
232
207
213
246
207
218
224
224
212
223
249
233
241
213
208
247
220
203
201
220
238
221
247
227
201
218
226
202
218
202
216
204
203
211
236
214
239
220
227
213
201
249
231
222
234
250
235
243
235
241
202
216
206
231
217
207
235
234
237
217
216
209
246
228
243
237
211
237
224
208
226
204
247
234
208
230
218
208
238
221
225
216
211
224
223
248
239
214
204
239
231
229
222
218
211
224
226
248
224
224
206
246
245
226
248
230
231
226
209
213
228
219
212
249
224
245
201
249
200
249
247
215
213
247
240
248
231
220
205
212
237
243
237
243
201
233
214
200
248
226
226
234
223
213
244
248
227
208
238
241
244
216
209
240
200
230
206
229
234
221
213
226
229
236
229
208
229
249
242
203
213
221
200
204
227
224
201
250
230
244
222
249
241
227
242
208
224
209
234
232
237
217
246
217
250
208
212
206
222
208
240
239
224
202
210
249
210
235
224
216
211
248
228
204
250
204
207
208
219
228
210
220
230
229
237
235
227
230
228
207
224
243
210
245
235
244
224
233
246
221
247
244
200
226
206
210
201
233
230
250
236
249
232
200
210
229
235
243
217
222
204
235
243
245
220
247
246
223
228
200
203
217
234
240
228
207
206
247
235
201
200
248
242
221
250
231
202
206
225
200
240
216
231
242
204
217
207
224
215
235
202
213
243
221
225
238
232
249
237
221
207
212
237
214
211
243
209
215
208
222
219
243
248
246
250
236
211
240
208
203
214
242
210
226
229
243
247
226
234
212
217
224
239
231
222
248
208
215
219
211
235
214
227
202
232
226
225
220
237
240
236
223
213
235
239
210
219
206
213
210
200
215
248
225
206
249
233
205
244
210
205
227
232
240
236
233
219
214
241
214
228
240
201
221
201
210
250
241
208
224
227
200
244
227
247
215
213
239
237
232
232
221
244
200
230
220
227
220
201
233
210
206
219
236
225
249
201
241
223
237
211
224
228
224
213
203
230
247
239
208
211
214
206
222
210
224
212
246
202
213
218
207
245
206
246
216
209
204
230
219
234
206
208
227
229
240
216
206
231
221
210
231
226
215
217
200
222
220
246
234
240
235
247
204
240
221
205
220
244
241
234
209
250
247
226
225
248
229
241
227
245
250
214
231
250
244
248
209
205
239
207
250
244
227
233
239
236
220
215
215
229
247
244
200
208
231
229
233
246
236
228
247
227
228
219
201
250
241
246
249
209
238
226
224
215
218
236
217
234
240
236
246
238
249
232
245
229
244
250
219
244
239
223
203
249
245
238
244
229
236
200
240
234
202
224
216
224
242
205
229
249
204
225
229
209
219
218
250
231
225
233
204
241
216
222
218
207
248
238
241
245
219
231
231
230
224
245
244
247
242
237
243
215
209
248
201
207
222
239
247
250
202
238
250
214
246
221
202
239
219
203
233
232
203
244
245
226
219
228
230
232
204
240
219
226
225
231
228
249
236
223
219
218
240
227
228
241
247
248
203
216
214
229
221
231
207
207
202
245
207
248
204
236
230
229
220
229
239
238
202
229
231
218
234
227
230
246
238
229
207
233
228
217
249
206
201
225
225
244
200
238
233
202
211
226
203
212
200
234
204
210
221
231
206
249
203
213
209
233
249
226
209
242
248
234
212
250
246
234
239
206
204
248
214
238
246
216
235
243
239
213
250
214
249
249
215
244
228
246
212
227
245
227
226
202
223
226
244
246
249
213
233
234
249
236
239
222
224
209
214
219
215
225
203
205
222
240
228
219
241
425
360
433
484
334
368
486
335
332
422
434
408
489
482
363
505
416
320
353
498
358
381
398
340
444
334
466
352
322
421
345
336
466
473
352
456
351
330
388
496
391
321
360
513
479
446
324
332
428
461
374
358
400
372
477
468
378
419
487
360
329
462
472
440
328
421
400
475
503
403
396
434
342
398
441
407
320
384
474
328
363
372
328
422
501
417
389
376
337
348
519
479
378
335
455
349
350
518
471
422
324
447
438
376
457
362
334
459
421
380
356
474
323
328
500
502
407
451
472
350
479
490
413
380
447
337
451
437
402
322
506
405
449
455
426
392
467
381
321
426
503
417
371
435
349
421
327
444
396
363
418
398
417
407
493
361
397
518
409
417
375
472
511
444
349
482
517
417
445
321
358
499
350
474
475
465
434
322
514
444
395
499
335
503
513
508
433
472
433
411
419
458
477
517
484
459
343
332
375
518
403
450
510
434
393
367
320
353
460
347
485
352
437
422
505
519
483
365
386
434
394
370
461
456
519
421
435
459
401
344
387
502
342
500
507
510
471
356
328
367
497
465
466
416
466
499
466
430
339
436
401
465
418
483
389
425
371
331
518
432
361
387
377
411
465
514
492
477
439
356
442
502
370
451
325
508
383
390
408
360
349
435
478
389
386
453
325
389
513
396
335
485
507
345
422
468
396
403
336
480
514
518
462
464
487
407
513
497
440
460
487
438
357
320
374
391
380
510
486
340
332
505
322
383
491
425
425
400
469
464
495
367
504
345
472
424
440
461
423
405
472
507
486
513
396
478
445
476
436
428
414
357
390
487
356
349
519
492
432
320
360
382
431
379
329
401
383
389
462
481
469
405
429
395
363
377
401
365
333
409
342
384
499
377
483
474
426
448
350
329
355
486
445
334
434
426
424
447
335
450
364
428
408
502
447
519
450
443
518
361
391
413
451
518
344
340
447
518
494
437
436
336
504
511
504
325
355
434
338
402
449
407
423
516
486
410
366
364
416
376
458
519
462
450
325
325
386
481
441
382
413
512
482
390
349
506
395
381
326
443
513
511
390
359
495
516
442
410
441
454
400
472
449
474
332
459
397
373
449
340
506
382
340
395
399
345
413
378
384
365
420
414
403
322
351
421
340
464
474
454
497
385
356
404
392
415
499
373
421
429
401
381
396
350
494
345
336
506
389
505
329
366
415
342
436
416
472
463
468
513
412
348
377
459
510
511
496
452
406
401
477
362
408
475
354
396
412
346
441
327
333
407
433
347
520
333
354
452
333
475
339
441
456
337
489
398
432
442
333
392
394
481
376
329
374
426
445
402
468
511
444
494
438
518
400
365
451
423
348
470
355
347
346
401
426
359
383
351
377
462
323
326
478
401
366
410
390
490
387
405
418
477
500
374
423
486
352
514
467
519
432
351
500
334
449
481
418
461
345
499
485
356
377
412
478
497
384
382
361
515
497
362
516
366
325
457
470
472
359
474
351
343
340
385
332
428
379
445
328
481
362
431
342
334
372
424
377
456
465
358
451
377
520
361
457
327
452
461
411
391
422
397
507
481
492
501
502
370
514
397
331
439
444
434
371
352
497
495
497
460
444
448
450
402
337
409
342
448
483
373
471
342
323
390
353
337
451
400
352
419
513
428
376
347
484
353
462
520
469
482
431
374
464
489
455
461
454
512
520
349
350
518
356
481
328
382
377
355
471
359
331
409
467
415
385
373
471
405
342
327
370
517
510
480
330
448
335
416
406
342
391
352
443
493
401
479
504
399
492
383
485
428
364
412
375
474
477
332
331
472
445
474
362
481
368
508
417
502
401
390
513
344
457
372
424
402
362
389
392
518
494
507
418
495
326
493
368
357
481
328
332
341
446
490
516
371
395
454
324
476
355
430
334
418
364
487
518
344
366
386
345
474
486
433
507
357
437
419
469
507
437
471
513
333
362
375
518
334
436
353
383
466
461
449
486
453
454
486
396
345
409
405
470
454
341
337
485
410
390
456
399
399
435
491
372
374
426
339
496
343
324
492
412
475
481
407
400
387
406
385
376
409
405
324
480
441
489
359
432
474
427
327
373
443
430
486
440
496
353
436
472
495
476
513
426
322
485
378
441
360
480
484
364
452
444
389
412
438
381
367
480
352
472
356
481
381
458
516
452
391
349
517
326
495
494
466
490
379
482
500
487
402
507
479
375
406
387
470
446
506
446
465
391
336
474
470
465
382
420
424
461
448
356
324
351
518
461
462
428
462
417
508
490
406
482
422
385
365
384
373
387
469
515
473
487
418
512
484
390
441
326
458
445
332
436
405
355
507
371
508
382
464
346
413
368
488
355
386
412
489
422
484
463
390
375
500
452
370
496
403
446
320
398
416
362
501
497
407
359
441
405
495
416
497
424
503
475
494
512
381
332
450
340
510
465
517
420
336
340
427
445
360
352
450
433
501
493
466
354
351
348
397
503
330
328
408
517
437
441
421
467
463
376
352
337
403
474
486
501
445
455
425
401
401
439
468
385
488
431
438
338
445
412
430
320
364
453
467
484
322
411
355
446
454
457
429
390
340
364
509
339
463
374
459
472
323
336
467
344
407
369
368
380
350
390
392
489
506
475
325
433
431
432
370
519
361
477
511
360
380
450
463
499
510
361
387
466
510
388
486
496
339
478
476
500
361
404
427
351
496
332
444
491
441
450
327
483
336
369
437
421
474
411
417
340
404
469
455
442
357
418
503
467
324
320
367
518
335
399
355
412
357
483
349
348
478
509
457
394
508
423
477
368
402
456
352
415
435
516
415
370
514
329
327
412
435
326
493
425
417
470
423
458
512
451
401
321
429
447
331
494
333
329
440
391
476
516
376
327
447
422
424
342
395
454
397
432
509
398
398
326
437
347
396
488
415
449
439
342
450
458
519
494
490
373
360
399
505
327
330
436
469
363
327
500
421
323
407
324
455
512
360
331
393
419
329
322
466
377
346
359
352
343
329
341
378
446
358
339
426
351
442
327
368
327
371
358
478
414
412
437
509
321
473
377
403
457
420
520
430
438
440
516
484
326
495
360
507
442
379
375
513
516
369
326
344
394
510
355
501
392
509
431
364
493
503
453
447
482
380
465
491
495
370
391
432
515
334
509
512
444
413
517
481
406
383
481
445
417
381
340
381
438
430
407
411
495
413
350
429
492
358
423
458
428
361
327
374
520
414
464
430
322
333
440
485
484
454
479
477
333
382
482
392
479
480
449
390
325
400
360
475
363
324
517
460
501
451
405
507
426
434
385
378
393
325
330
505
340
469
397
383
364
466
434
498
388
473
463
353
487
493
359
354
376
349
509
498
415
519
361
468
320
507
344
429
472
432
455
376
483
404
475
422
356
480
453
471
461
372
446
457
351
371
484
486
512
452
515
464
472
325
509
328
460
377
431
383
347
433
451
461
360
330
422
406
352
480
328
343
331
427
400
341
376
445
338
518
469
340
324
447
335
482
444
440
362
417
330
357
504
499
460
458
320
418
357
396
410
492
420
377
336
455
472
348
450
506
504
490
405
470
499
388
339
476
457
498
337
424
433
456
347
320
320
513
504
429
321
405
400
339
406
460
519
333
387
334
404
330
478
475
450
494
422
471
451
440
481
410
473
437
454
456
400
325
501
505
411
365
323
456
399
321
330
515
413
380
364
464
344
469
504
499
389
389
383
419
429
420
392
328
325
459
390
385
386
459
444
444
482
490
420
453
511
361
419
497
387
443
421
395
498
472
441
486
322
414
469
479
438
330
453
489
320
448
339
461
486
450
360
441
371
361
466
398
485
399
496
448
360
475
510
504
383
360
329
341
390
339
478
453
408
372
400
365
340
513
453
514
438
357
372
385
448
344
408
482
418
511
463
442
322
477
447
395
446
341
330
403
375
327
491
369
499
376
427
378
484
478
351
483
456
485
460
350
342
382
492
363
443
466
383
478
485
376
420
504
470
343
423
486
378
474
330
514
356
364
419
471
415
503
477
491
344
383
411
504
461
439
363
424
409
364
325
426
331
460
491
437
495
474
373
484
408
439
511
382
331
338
424
336
376
370
454
441
427
469
369
499
513
411
341
510
391
463
465
517
452
504
371
444
420
480
407
380
353
407
481
449
385
329
326
418
441
429
440
393
374
486
488
361
428
456
476
406
501
329
442
379
476
456
403
492
507
333
412
355
468
432
411
466
459
481
409
354
486
360
334
413
446
375
330
470
515
487
328
392
470
437
430
482
384
468
504
359
320
430
335
402
437
452
372
368
380
342
473
399
505
440
372
404
482
391
330
377
345
494
445
323
483
335
412
511
427
322
418
441
373
344
516
399
454
450
456
359
429
394
484
444
479
325
335
401
357
331
444
465
477
517
439
509
442
410
411
404
465
462
436
520
351
467
411
474
432
376
332
410
502
333
487
500
452
351
343
409
438
353
362
507
361
411
330
406
322
327
435
386
372
324
418
392
498
485
402
493
475
426
469
482
470
441
447
444
409
383
358
351
344
509
367
405
385
453
389
410
508
357
320
442
506
408
338
320
476
501
359
381
486
469
512
362
348
459
495
378
356
388
423
404
421
419
501
434
348
388
427
365
479
383
347
440
490
514
323
441
492
445
517
420
378
335
387
436
357
351
468
485
454
415
518
497
468
364
423
463
470
330
407
367
320
348
348
513
424
461
374
436
392
470
470
373
480
416
432
350
383
376
494
514
504
333
491
507
418
510
483
328
439
442
340
390
386
481
487
373
489
469
480
367
479
445
379
440
337
403
366
480
400
440
419
359
444
394
365
402
332
353
328
342
338
370
511
455
428
356
381
387
492
332
502
382
491
333
446
501
517
499
360
483
474
403
442
515
386
489
369
393
391
459
337
353
368
512
380
466
391
490
404
388
353
346
419
321
460
415
444
366
351
325
499
401
385
334
424
520
421
431
481
480
503
402
476
428
334
440
416
448
519
370
420
444
383
428
482
399
431
442
420
488
433
492
477
513
489
361
367
489
463
397
515
343
455
366
381
401
441
352
516
446
413
467
449
418
354
447
428
339
351
343
515
363
409
410
351
514
383
361
518
478
504
477
462
462
439
491
483
494
451
433
341
376
429
480
422
334
400
489
359
437
331
409
481
353
413
431
320
514
469
508
329
328
426
435
520
442
515
467
325
435
448
340
448
443
454
368
361
481
427
491
431
414
371
428
334
502
411
519
360
358
420
451
414
415
409
392
336
339
395
500
404
475
512
354
486
399
424
464
450
369
445
351
450
513
513
349
508
452
424
496
490
512
346
411
496
505
341
357
381
399
424
353
338
385
502
397
484
381
332
321
429
487
506
412
383
427
399
500
475
330
465
382
440
371
409
500
498
419
495
480
389
464
325
422
405
355
407
422
414
434
374
498
333
505
468
420
337
473
417
378
431
471
509
399
457
336
338
452
388
425
437
360
329
331
345
474
426
376
439
368
334
459
376
415
456
417
469
457
380
397
343
351
499
406
326
370
353
516
446
497
363
363
362
425
444
506
359
383
446
517
455
433
458
353
412
518
346
352
470
400
394
372
477
326
488
398
494
338
497
331
395
428
430
357
365
508
366
507
430
329
428
345
323
418
516
323
370
395
444
456
357
402
473
388
322
431
326
489
419
477
497
420
415
365
330
416
422
402
459
481
329
428
333
490
462
385
326
390
486
357
443
446
472
397
499
366
458
464
352
492
455
518
477
325
516
424
466
410
373
365
375
451
408
392
470
441
473
340
471
465
432
326
336
342
493
481
456
333
409
502
371
348
459
471
395
435
510
514
513
351
465
395
393
337
477
365
326
389
451
471
428
515
335
482
506
469
344
469
482
360
503
386
476
375
355
421
405
520
423
348
387
433
385
353
431
411
391
385
377
472
490
323
350
361
386
467
373
329
516
321
507
366
382
508
434
433
440
454
510
451
468
396
503
480
510
424
373
509
401
478
517
438
456
323
413
458
379
499
360
502
347
453
321
380
396
469
436
331
332
511
353
486
505
425
425
467
398
406
484
493
388
472
514
427
363
387
351
499
405
501
410
411
485
404
495
471
402
355
462
353
484
483
513
475
463
497
320
485
398
393
431
320
437
346
458
421
423
332
367
464
359
373
354
373
492
399
409
493
441
326
352
320
361
374
376
329
358
454
353
325
493
496
498
502
383
457
363
503
378
374
477
443
416
443
504
359
388
371
452
387
434
512
415
424
407
509
517
426
412
461
321
325
363
392
452
371
440
382
519
392
478
320
326
394
406
407
336
382
500
465
374
406
393
438
464
352
519
398
405
359
415
380
400
420
498
372
456
499
372
408
493
492
433
458
350
430
468
445
399
518
367
459
353
438
499
455
455
425
395
369
423
337
500
504
517
454
506
517
434
465
328
326
391
399
503
381
501
397
505
483
463
475
339
474
374
463
460
337
364
327
366
441
504
324
506
378
383
409
432
361
327
520
423
479
515
391
479
464
404
419
358
372
340
368
404
385
414
354
372
497
337
513
385
406
431
323
453
471
412
338
382
399
362
412
342
357
517
367
481
328
460
343
339
320
458
437
366
437
344
513
417
360
507
386
397
428
423
513
506
445
493
359
443
424
346
404
333
353
519
466
515
501
359
353
378
388
389
355
366
452
441
435
508
514
368
363
325
381
457
512
394
464
400
357
460
501
440
395
320
514
520
345
393
514
334
422
384
489
490
453
429
388
509
486
478
461
470
420
440
457
440
362
485
511
453
510
468
386
349
392
363
495
465
378
402
504
393
490
515
452
502
520
422
360
510
493
416
443
426
356
481
415
421
432
345
334
322
398
376
420
442
489
380
478
508
369
444
398
426
391
467
491
404
320
385
482
361
387
335
483
429
502
326
458
491
333
470
460
379
460
505
370
487
381
473
419
334
430
378
345
503
436
468
333
380
398
416
390
389
485
356
483
495
438
461
486
488
472
496
382
341
372
473
354
369
451
362
375
480
482
380
343
333
355
442
405
483
431
334
445
349
346
458
348
450
368
430
382
375
447
372
512
513
518
495
501
382
489
326
514
453
463
449
352
482
351
479
333
371
335
500
439
344
493
497
417
509
441
408
337
483
395
387
469
423
495
428
391
478
320
346
384
455
518
388
462
485
497
325
390
395
415
457
355
477
335
453
512
488
326
350
437
471
379
377
417
408
503
519
457
365
489
459
388
464
430
333
490
321
361
326
320
492
359
485
474
435
422
380
498
511
509
449
403
456
469
459
499
436
422
363
340
407
431
415
355
402
503
447
483
444
468
444
501
384
495
373
424
417
445
392
367
504
463
480
341
359
424
491
365
486
369
355
359
513
405
398
369
375
471
321
404
359
435
476
330
353
418
403
397
340
460
454
380
373
351
456
392
369
509
504
403
459
403
356
448
332
483
443
398
393
362
442
472
366
401
445
368
496
452
408
440
489
425
349
427
336
519
465
493
321
468
511
508
401
342
500
395
451
415
364
372
513
452
351
380
349
374
347
329
462
424
331
322
442
445
465
443
427
442
370
486
445
430
439
397
405
448
418
358
375
333
492
426
512
446
342
476
425
327
367
496
382
511
372
479
494
338
496
509
500
482
341
447
483
372
395
437
421
410
401
375
323
470
513
476
386
324
388
465
344
461
398
482
420
471
475
469
412
406
365
494
364
393
447
349
368
416
389
491
353
450
382
351
370
348
369
470
327
359
398
323
399
411
332
459
515
329
405
475
520
326
469
334
425
434
379
509
383
376
407
436
512
432
354
394
321
423
508
367
472
488
426
393
436
428
511
342
499
507
471
358
378
354
431
460
338
384
396
455
364
450
481
364
347
430
508
379
460
510
399
395
432
413
439
382
321
496
387
327
459
353
480
506
449
439
390
396
330
364
437
387
350
504
513
384
496
414
460
404
420
378
495
338
401
467
496
491
362
378
449
451
517
469
395
335
440
447
392
377
389
359
355
464
375
502
448
463
353
336
393
427
432
443
509
342
438
435
388
345
489
456
366
441
509
335
470
440
391
367
460
428
349
347
484
412
394
386
395
427
416
489
214
224
201
216
222
239
225
205
209
232
208
245
238
212
206
233
203
203
209
216
229
242
201
216
245
243
243
217
202
208
223
205
215
210
250
231
211
220
241
218
211
241
227
212
223
246
202
208
226
206
217
225
204
236
223
235
250
211
206
216
240
230
227
219
204
220
215
226
230
206
219
225
205
236
204
208
245
245
204
231
243
222
239
227
239
207
225
249
235
203
201
237
228
239
228
201
208
202
210
216
226
240
228
203
245
229
204
234
225
227
234
231
211
227
233
204
212
209
243
208
210
225
209
238
250
202
227
203
201
207
242
239
204
224
207
225
201
214
239
228
243
223
201
240
247
235
249
216
215
224
250
206
203
217
227
233
200
203
222
238
244
224
219
229
236
237
200
233
220
233
213
220
232
223
206
213
218
202
202
235
247
229
217
207
231
208
237
240
240
240
225
211
246
245
224
224
210
223
239
200
235
237
221
235
233
225
241
216
218
228
218
231
228
243
213
221
233
232
244
226
240
235
220
229
231
202
226
209
228
230
210
200
225
209
223
202
202
243
200
211
218
239
246
200
214
222
229
213
210
220
216
205
205
224
226
238
225
241
207
250
200
241
200
228
241
240
209
201
245
238
241
245
216
230
248
246
223
240
230
204
230
241
226
231
227
223
213
219
213
224
210
218
216
250
244
243
237
249
243
223
225
220
246
238
241
245
234
207
215
213
223
247
231
236
241
236
237
203
245
241
231
233
218
228
201
239
231
207
200
218
204
248
216
203
249
220
250
246
217
242
204
202
235
244
241
228
212
200
237
245
241
214
224
227
209
212
228
245
242
201
244
205
225
225
243
231
223
242
225
235
245
244
206
248
203
234
202
206
220
214
248
217
204
232
232
240
249
208
233
201
207
225
210
249
222
224
234
223
214
238
210
218
245
237
237
224
242
250
207
226
234
210
208
225
241
214
219
219
214
217
200
224
207
228
249
240
239
230
227
234
248
237
232
232
202
236
202
233
214
220
218
211
233
203
249
246
227
233
240
249
226
213
231
243
218
212
244
241
250
201
201
240
225
246
212
249
205
225
235
202
219
245
215
225
245
242
229
206
241
214
242
237
233
235
207
200
241
203
227
209
205
219
220
248
201
215
237
248
204
243
249
244
232
221
212
226
239
243
237
240
238
208
249
238
239
243
206
236
236
219
234
225
231
214
238
205
220
220
236
226
234
243
235
200
213
226
222
220
212
220
248
242
223
223
241
222
249
213
221
217
207
207
218
246
210
243
237
205
203
247
219
235
219
246
214
233
228
226
211
242
214
208
240
213
215
231
238
247
205
225
227
216
205
237
219
242
214
246
235
223
210
229
229
206
205
218
218
201
220
236
236
228
205
218
224
203
219
220
202
221
243
233
225
234
212
226
222
236
228
238
229
240
210
228
249
226
220
212
201
222
201
237
215
220
231
226
234
209
215
204
221
236
222
205
212
220
203
203
215
241
217
201
243
228
235
222
211
227
243
234
219
212
208
239
231
202
231
205
223
213
217
245
202
225
221
244
206
212
226
229
224
235
219
206
221
229
246
238
243
220
206
245
225
247
203
233
220
223
209
212
228
231
232
241
215
248
224
209
211
221
240
247
250
234
216
234
242
249
244
231
213
204
241
205
214
205
233
230
244
236
202
211
231
240
248
239
229
250
248
239
218
239
227
223
208
240
243
240
237
244
236
201
207
238
244
231
207
238
228
248
241
233
246
232
222
242
203
216
225
224
208
249
202
239
224
222
223
230
200
231
216
241
234
246
219
208
240
206
240
236
228
226
221
234
240
241
237
219
222
221
241
222
203
201
226
201
239
235
220
208
221
238
248
235
205
242
233
245
248
232
200
203
207
247
236
239
241
249
229
237
214
243
226
209
241
241
234
206
213
245
250
227
248
224
235
213
224
230
222
246
231
219
244
238
223
233
233
237
231
247
209
234
235
243
235
215
243
242
232
223
231
204
212
246
234
246
209
233
228
247
250
216
238
242
214
223
210
216
247
202
210
243
240
233
217
235
233
204
239
232
214
221
235
241
209
235
214
219
240
206
209
232
224
225
243
237
218
214
200
250
227
226
238
236
217
246
212
201
239
203
226
232
240
200
249
229
200
243
219
233
229
228
225
232
236
228
205
219
225
241
222
203
239
229
223
203
211
220
243
213
200
202
216
203
213
221
249
238
230
202
224
209
212
219
215
211
203
248
235
229
239
242
205
204
210
236
222
250
219
220
228
232
214
232
201
211
213
225
250
222
220
216
210
245
235
215
235
230
214
231
237
206
246
222
237
218
225
215
204
231
224
246
210
216
225
212
207
202
246
201
233
235
221
232
250
202
203
210
216
221
209
216
200
233
204
245
235
240
240
244
216
234
220
216
241
209
216
233
219
247
229
233
244
218
215
215
224
243
204
222
205
205
214
203
239
244
249
212
222
209
217
240
231
244
222
201
201
211
234
204
216
244
224
226
231
227
219
237
230
219
235
234
228
237
232
237
244
208
219
217
207
209
236
249
210
215
224
244
247
201
204
211
223
208
218
242
247
216
213
223
204
245
226
202
212
213
234
215
223
234
213
201
247
232
242
247
228
217
240
220
206
247
228
243
206
244
209
228
203
235
236
225
247
200
238
225
215
202
241
235
246
212
246
235
224
208
221
248
207
222
230
201
202
235
218
219
234
219
241
212
230
227
229
226
229
203
211
223
221
200
248
239
224
214
243
200
211
208
201
247
220
250
207
224
210
224
226
249
220
245
209
220
237
248
242
220
204
201
223
203
225
205
218
225
204
246
219
234
220
226
211
250
227
225
217
213
218
235
225
232
249
211
208
219
234
202
215
226
212
204
246
217
248
250
246
207
217
210
204
237
234
207
227
240
246
245
207
210
202
210
202
218
247
207
232
223
204
237
202
249
216
235
207
217
245
201
231
213
237
211
243
215
209
215
221
219
221
204
208
232
213
226
229
235
239
217
221
204
235
218
238
222
226
212
213
240
225
244
233
207
225
246
200
224
250
246
229
227
245
212
246
235
200
230
217
248
229
242
247
213
243
238
217
206
248
224
240
211
231
201
203
230
210
223
236
211
207
239
217
248
245
217
216
212
228
216
238
212
208
216
229
234
245
216
218
239
242
234
208
202
227
221
205
229
250
229
220
218
204
203
210
224
233
211
224
214
201
205
209
215
249
243
203
245
223
200
229
233
213
213
218
232
237
218
202
241
227
232
246
250
206
215
209
211
225
207
247
204
215
203
206
246
236
208
234
212
217
230
234
216
231
215
225
245
203
208
212
214
212
208
232
225
241
212
233
232
230
242
219
246
207
242
200
241
220
237
233
202
210
231
217
237
208
230
207
212
241
207
219
223
248
242
205
235
214
208
224
230
224
215
250
238
234
225
216
238
239
222
209
231
228
231
230
205
204
201
230
233
211
232
249
203
228
242
243
218
208
235
239
241
245
222
218
241
223
232
244
209
214
225
228
243
204
211
247
209
222
235
214
232
215
200
221
209
210
226
234
246
216
214
247
240
227
240
241
223
210
227
201
200
208
234
240
213
223
219
236
240
221
248
213
211
236
238
246
216
231
237
223
230
208
237
231
209
214
246
239
217
218
223
216
241
232
216
225
234
237
220
228
238
202
217
216
220
247
243
248
203
241
205
207
236
223
208
236
236
208
239
245
231
216
226
201
223
230
231
211
232
217
215
209
248
212
236
202
223
242
248
232
207
210
213
238
244
221
234
209
238
231
220
249
214
208
239
202
225
247
209
201
202
242
221
221
228
234
214
229
228
239
231
218
238
239
250
216
238
228
221
237
235
208
210
245
203
219
215
217
237
212
218
225
215
245
203
213
211
208
225
248
220
225
233
214
218
250
203
204
233
209
224
236
228
218
208
224
248
208
204
231
232
244
216
227
241
244
248
242
213
213
241
221
215
223
239
219
246
246
219
208
205
235
221
250
231
240
225
242
242
242
238
247
248
218
225
208
222
224
212
203
211
246
232
224
217
229
213
221
214
249
201
234
225
205
219
210
220
215
236
205
238
225
236
218
206
245
207
213
244
223
246
244
233
214
241
241
241
219
219
248
215
219
209
203
225
205
233
230
215
202
217
217
210
208
208
245
222
250
244
219
218
200
226
216
234
208
241
227
246
231
219
246
200
250
201
205
204
209
222
222
221
244
243
249
203
249
249
235
218
208
215
204
224
205
225
244
201
205
215
219
206
209
245
214
245
217
223
221
226
202
227
246
201
230
210
206
209
213
246
229
220
204
200
236
208
214
247
239
242
249
226
218
217
201
247
228
220
226
237
218
204
236
237
212
220
205
222
237
226
203
237
225
217
221
221
218
239
247
221
242
232
222
228
238
212
243
243
223
205
206
202
213
229
219
228
245
231
232
221
224
243
228
236
208
227
209
232
229
201
214
248
242
247
237
247
229
242
225
239
213
238
221
225
229
231
246
214
238
212
237
245
245
232
234
245
200
220
210
200
222
242
232
226
201
215
248
248
222
240
216
200
210
241
234
243
225
237
212
219
248
232
233
214
244
202
209
247
207
201
226
219
214
232
239
219
231
225
223
204
241
226
219
225
222
243
215
248
242
214
210
226
249
223
217
228
222
219
215
203
250
209
223
242
214
248
249
208
242
250
200
220
233
216
213
240
238
213
250
211
218
229
246
208
221
216
236
225
215
246
241
233
250
206
240
249
210
208
207
212
247
246
225
231
210
228
225
243
239
222
235
239
230
220
229
239
240
215
212
249
230
223
221
221
220
250
221
230
205
219
250
219
225
241
230
216
237
237
232
203
217
241
213
220
244
237
212
223
239
224
237
206
211
249
209
213
221
231
227
210
202
250
246
248
201
220
249
229
203
224
203
232
223
210
209
244
217
241
231
210
212
210
219
230
200
214
230
206
241
226
226
231
218
247
236
220
236
217
232
245
229
215
201
224
246
235
233
237
249
224
210
213
247
207
228
205
200
217
230
207
216
234
239
201
218
226
217
217
239
228
242
249
237
248
250
203
217
213
211
221
237
241
205
224
240
201
221
207
230
216
203
216
220
202
207
210
233
202
211
245
235
239
211
217
213
249
204
220
213
244
233
217
218
227
204
236
226
218
207
224
232
225
206
209
241
221
224
203
224
225
232
209
213
224
226
216
249
239
244
244
237
248
201
217
221
237
239
217
215
237
250
236
248
225
201
246
246
244
206
227
244
222
220
223
219
228
219
243
247
225
228
202
228
233
200
202
215
244
239
214
203
246
209
239
249
245
202
206
222
208
204
227
211
205
240
223
233
247
213
225
202
202
203
238
217
233
211
204
229
204
235
208
234
225
246
217
203
236
226
213
201
237
213
247
245
202
249
226
220
214
238
229
221
224
224
234
237
211
249
242
212
215
214
243
225
221
233
217
233
215
209
237
244
232
205
230
212
206
230
232
233
221
250
246
250
220
228
222
218
212
223
221
219
200
216
238
224
200
213
214
221
222
247
240
235
226
205
219
249
224
246
226
250
230
239
246
229
220
224
243
234
202
247
205
214
229
237
204
227
219
238
229
238
241
203
204
245
200
250
241
248
212
207
228
249
201
218
233
238
242
231
241
208
238
236
240
240
228
200
206
220
246
219
248
223
204
235
241
225
219
216
201
237
226
209
234
206
241
208
235
200
238
232
229
249
238
242
209
209
205
205
235
225
224
225
203
234
221
204
220
244
219
246
225
247
244
210
233
227
208
222
204
239
209
202
234
209
223
215
250
217
218
246
227
204
217
202
220
218
238
226
220
248
240
228
203
237
201
200
244
215
226
235
207
212
222
208
210
240
203
209
223
225
246
202
238
220
241
226
218
208
230
217
250
227
249
249
239
214
242
221
201
216
213
228
225
202
217
200
209
210
219
243
242
204
215
238
226
214
227
219
249
220
223
215
204
201
245
207
219
239
234
237
232
216
229
226
200
212
203
248
214
219
203
236
237
240
229
237
227
202
227
226
226
208
219
207
200
232
201
230
210
243
218
218
240
239
214
204
227
208
243
228
214
229
206
226
219
211
242
220
211
228
240
237
203
245
203
205
245
207
208
236
237
234
220
247
217
245
244
235
229
207
208
225
214
212
222
249
217
209
245
204
228
244
217
233
206
240
230
227
228
249
232
205
206
229
202
232
204
242
201
207
235
243
247
210
201
245
201
215
226
237
246
220
208
206
234
239
201
240
212
245
237
228
210
232
234
244
230
226
243
234
230
213
208
238
236
207
234
243
243
217
227
233
232
215
216
210
236
240
228
225
203
378
388
330
491
326
401
331
342
438
390
497
331
439
516
429
380
371
465
512
434
393
512
520
438
376
416
331
407
351
333
474
330
369
514
444
426
502
369
437
326
381
502
484
415
369
432
488
392
495
403
401
325
445
458
348
488
456
372
483
514
444
474
509
498
328
437
496
439
356
477
375
515
336
338
368
520
371
330
346
487
512
490
361
469
334
459
416
437
435
320
518
519
423
475
390
397
440
382
456
396
382
342
422
377
501
495
513
407
461
364
496
503
381
389
366
405
506
463
454
350
380
452
485
333
429
507
422
513
453
462
376
439
512
323
374
463
438
475
494
510
322
438
494
507
519
433
454
430
468
412
347
379
376
349
378
345
451
372
396
425
471
513
483
508
435
398
520
516
354
473
421
444
417
390
457
413
382
321
379
483
320
370
468
323
423
365
473
437
463
395
391
428
508
344
439
480
434
506
488
369
386
520
435
428
367
474
386
466
404
513
439
416
408
367
402
441
434
514
430
480
472
374
435
455
432
498
345
396
514
386
418
353
347
355
485
370
455
510
468
345
460
322
398
411
380
404
363
324
379
454
364
398
455
418
454
357
432
370
441
343
449
322
470
514
390
459
484
500
474
381
471
503
378
462
433
468
382
429
405
462
423
396
337
443
500
485
471
462
466
397
450
392
429
340
493
353
415
508
355
514
350
459
415
463
341
486
479
504
508
419
456
373
464
449
459
402
452
511
497
514
481
501
387
480
416
403
437
443
456
389
338
325
330
357
431
349
428
482
401
367
372
392
462
434
417
380
512
365
350
343
520
401
371
391
447
344
452
463
328
483
458
455
497
481
466
380
391
438
448
416
462
515
460
415
453
411
399
430
443
416
374
467
337
381
509
398
457
365
434
416
334
406
379
464
487
463
331
351
343
323
361
369
513
504
431
397
408
502
400
385
324
491
432
473
490
414
399
490
515
396
478
358
443
424
340
520
423
326
389
413
354
422
498
385
384
440
454
475
509
327
365
348
520
413
455
426
374
462
424
375
337
511
513
344
479
355
394
457
407
419
425
488
507
432
359
349
452
354
355
337
425
476
415
377
337
387
492
385
482
449
507
456
449
484
506
395
335
359
347
412
355
477
391
338
415
432
417
393
498
423
490
399
448
460
414
515
434
370
500
355
344
324
405
346
473
388
413
467
350
401
443
493
333
511
320
496
430
340
396
369
446
371
426
390
362
361
388
334
343
413
387
506
360
498
486
447
368
335
425
512
436
513
358
490
444
367
392
442
378
403
411
450
350
476
350
371
398
349
390
341
323
368
509
357
393
369
324
496
372
368
483
405
509
490
354
431
374
482
518
499
429
354
321
409
401
438
351
501
384
389
459
424
516
464
405
402
328
338
388
360
329
350
425
405
425
445
486
327
492
398
440
486
400
397
355
512
483
518
403
374
431
409
326
411
326
460
353
480
465
455
491
462
384
518
425
337
514
484
431
418
402
339
388
320
392
510
398
401
406
382
438
432
464
322
374
344
323
460
404
334
467
495
479
496
508
469
503
413
465
333
516
448
504
344
353
347
356
426
442
434
484
517
520
520
326
405
387
342
502
402
479
493
493
438
448
376
332
465
416
365
363
361
510
453
504
499
473
405
402
381
511
467
390
353
456
480
501
369
446
331
463
515
415
409
339
509
437
332
484
424
395
474
386
387
472
370
436
436
475
470
323
392
338
390
408
353
408
442
337
404
484
327
514
344
357
432
362
327
394
374
510
422
440
453
338
378
369
410
337
486
445
393
377
347
480
413
357
467
335
446
399
456
419
323
490
352
355
400
359
321
432
362
506
393
519
437
401
499
337
409
471
440
440
414
324
433
366
496
414
490
453
359
376
377
454
382
328
485
357
497
433
346
452
405
343
326
432
421
370
336
468
432
415
413
382
365
471
371
447
335
517
452
358
380
353
466
455
389
330
350
504
385
516
370
454
494
397
520
321
447
362
440
390
457
494
322
401
345
481
487
484
347
352
403
325
488
458
470
443
404
370
438
377
514
321
462
466
374
515
433
495
507
406
474
326
323
480
513
452
349
480
345
415
346
386
323
425
323
503
490
372
473
389
381
441
437
364
348
412
359
442
390
400
328
349
486
396
453
384
402
378
408
384
514
437
380
476
436
350
473
511
436
409
445
344
413
391
468
349
472
398
475
494
386
412
438
403
505
487
475
363
423
460
384
373
444
400
356
411
401
478
426
491
441
407
395
382
375
347
486
382
423
388
443
423
435
473
446
406
487
376
388
374
482
354
331
481
382
320
379
459
402
434
338
391
480
432
499
423
357
405
337
504
462
345
350
339
436
488
516
420
440
325
327
392
410
462
504
382
444
406
520
328
461
489
472
500
481
329
370
422
397
423
436
333
372
414
464
477
423
327
411
498
362
471
507
468
440
397
337
408
321
451
356
329
408
361
337
375
513
395
497
487
460
428
349
504
412
467
414
408
481
440
513
432
499
434
320
414
474
482
476
344
353
397
443
466
326
506
415
431
402
330
388
322
477
507
450
493
328
348
483
360
394
416
422
327
507
382
328
367
474
388
366
457
329
404
394
465
341
350
475
394
375
465
370
486
467
403
391
394
382
423
472
478
367
413
332
403
401
460
388
385
441
506
508
418
354
496
357
388
444
371
430
364
335
457
502
514
411
469
497
444
487
325
455
380
378
327
393
467
351
516
430
470
421
413
412
338
347
512
344
444
513
421
387
351
466
400
322
512
516
505
487
484
448
424
423
429
398
393
380
323
412
406
374
519
504
472
366
410
407
335
503
411
407
390
326
517
511
477
384
520
424
513
406
426
428
466
512
381
446
359
367
398
348
341
341
368
434
417
419
513
399
477
497
324
518
375
336
335
388
508
362
430
372
342
390
459
353
502
515
500
461
500
450
353
504
405
457
497
432
435
405
513
471
431
425
426
343
323
322
420
431
344
445
394
489
386
491
352
349
341
343
506
512
411
325
466
407
420
448
426
367
372
498
388
336
393
353
417
509
341
519
508
456
371
355
324
387
433
433
455
424
481
507
489
516
428
470
442
424
439
488
443
340
340
356
348
433
352
481
338
473
381
331
513
362
484
507
432
463
410
330
439
365
515
500
354
404
437
420
450
500
380
520
504
328
505
394
372
505
485
470
438
427
330
430
495
411
439
483
412
365
386
490
390
498
369
354
432
493
407
411
492
387
436
344
414
374
407
440
492
502
477
362
323
371
339
466
438
383
430
401
322
389
366
416
494
407
427
403
419
496
361
461
439
379
424
432
450
446
387
478
496
463
403
510
358
451
451
349
348
511
374
362
355
440
393
457
514
512
512
354
437
505
373
413
504
417
472
341
443
449
327
425
435
359
484
332
432
449
363
397
461
349
438
519
388
507
496
507
472
455
416
323
322
499
403
324
479
406
382
470
411
341
347
491
438
321
490
456
328
405
396
435
416
415
368
438
452
321
338
489
414
504
503
493
481
374
505
365
518
509
437
460
454
514
377
366
482
332
482
417
320
439
444
481
343
367
454
429
466
421
469
403
436
361
330
411
373
365
322
463
422
339
386
382
396
470
479
357
375
495
450
393
360
484
331
326
470
450
413
373
331
396
520
503
389
431
465
473
369
419
365
404
428
398
414
482
489
419
339
391
445
423
331
366
441
351
450
497
381
385
442
408
413
442
505
431
494
403
514
450
431
466
366
487
347
392
504
448
513
473
473
511
435
457
436
393
467
482
403
416
458
473
345
517
511
345
325
391
336
342
337
490
411
351
367
426
406
453
320
393
440
400
388
406
409
498
442
324
335
339
384
496
412
390
483
480
473
380
515
481
379
390
500
471
387
510
441
407
491
447
339
362
500
390
411
375
516
520
503
520
476
393
407
380
357
354
339
369
363
427
338
398
393
322
379
425
453
493
390
354
437
467
358
499
499
470
487
417
356
498
375
466
458
480
468
366
472
476
325
469
400
512
501
472
460
481
476
469
353
397
483
435
383
483
489
433
443
436
320
417
368
519
511
444
447
419
368
426
497
377
378
423
410
364
437
411
450
391
483
351
474
497
464
430
464
366
487
344
372
380
453
355
354
453
413
442
341
354
367
508
477
410
463
371
353
446
371
423
506
370
346
401
520
369
353
499
412
369
415
433
390
340
486
507
336
511
509
472
501
341
336
441
489
485
471
510
360
401
415
460
421
468
349
454
351
486
470
353
356
388
342
361
506
339
375
371
352
413
339
334
395
466
401
516
410
385
359
332
393
518
366
329
361
487
472
425
467
432
491
374
381
421
380
423
377
398
435
389
420
388
412
432
466
358
437
518
375
360
396
408
419
372
367
382
430
351
431
407
379
353
393
496
326
514
440
361
364
495
354
391
401
342
327
483
347
492
348
337
324
456
395
483
453
480
497
465
338
447
408
519
398
382
375
323
448
358
498
482
428
435
376
425
336
451
407
332
339
324
498
486
386
352
351
419
414
377
432
452
506
508
383
321
354
327
503
423
471
464
467
503
391
380
445
382
320
372
353
466
413
520
375
331
407
361
372
403
410
466
342
387
372
378
423
450
379
356
505
498
358
391
435
454
354
482
454
384
506
341
461
322
501
417
320
349
409
370
513
351
373
479
400
515
392
421
376
347
375
439
427
327
364
510
405
417
512
421
473
483
341
422
506
348
520
433
321
391
452
396
439
480
380
416
322
358
384
452
412
518
443
329
490
406
507
361
344
457
427
514
418
511
394
499
492
520
394
406
330
454
520
341
365
518
324
402
485
394
368
362
374
341
501
515
456
328
323
399
506
498
511
457
456
396
404
376
520
489
443
369
451
337
406
351
464
341
519
408
415
377
459
480
330
498
456
494
451
340
501
338
440
496
455
454
499
342
370
516
462
454
428
333
483
444
382
382
389
497
453
504
402
504
438
362
426
452
475
378
496
328
430
433
434
498
420
372
335
346
372
328
470
511
513
481
510
363
363
463
336
397
383
411
449
478
490
474
341
456
397
479
437
370
492
448
399
451
329
434
402
502
423
363
323
516
329
520
476
353
504
477
508
456
473
352
320
472
470
354
361
408
508
406
345
387
467
373
321
499
467
341
482
340
406
389
474
438
518
363
358
452
386
427
367
393
465
341
505
434
376
364
426
374
498
354
405
392
368
388
372
372
429
476
461
343
444
381
427
424
360
361
437
494
353
475
402
334
512
469
462
386
512
425
414
477
380
458
328
354
363
346
429
432
335
489
348
404
503
450
411
393
492
450
401
499
325
320
415
477
326
438
428
381
444
485
399
435
349
480
506
447
457
430
504
334
337
371
506
461
321
421
349
504
457
413
361
516
402
346
388
395
503
384
475
340
360
429
441
432
397
363
436
419
363
517
481
419
440
356
448
322
340
364
453
349
344
511
441
498
464
399
514
376
401
349
457
401
470
517
498
373
466
478
389
500
445
516
417
507
372
446
392
519
495
413
378
372
517
515
374
373
357
400
503
332
450
449
421
451
397
414
468
333
363
470
443
420
440
371
501
423
466
336
337
494
450
494
352
458
364
468
489
447
467
486
465
495
466
380
409
364
476
501
320
336
414
461
418
379
355
378
364
336
333
511
391
378
473
438
361
498
510
442
442
508
480
369
353
494
342
474
463
484
484
368
336
372
369
505
473
515
390
320
468
514
463
420
418
347
381
510
455
481
433
427
390
355
343
494
397
361
359
401
482
443
480
354
343
358
356
330
449
480
340
469
481
495
452
446
345
406
321
462
368
459
398
465
511
442
400
451
384
369
344
512
476
342
473
412
371
375
337
453
385
516
376
353
433
438
462
349
440
423
446
512
461
335
501
364
461
424
378
446
438
348
378
426
421
473
410
459
336
450
454
475
320
431
340
497
364
329
362
441
486
428
349
489
514
477
467
467
442
335
454
419
449
386
436
418
367
473
329
421
457
371
383
443
422
436
390
515
347
464
446
444
433
415
365
460
508
355
323
382
489
476
468
468
490
352
377
394
391
348
439
402
446
344
482
348
455
422
495
386
454
441
482
338
410
408
368
370
445
503
469
434
424
355
422
435
498
369
424
415
457
424
364
499
477
326
387
494
416
403
477
336
450
381
339
328
439
378
384
415
513
509
366
473
340
416
320
384
478
436
334
519
468
356
365
337
492
511
461
493
474
346
423
339
430
410
504
505
476
481
362
479
437
419
383
346
489
406
343
340
480
466
516
424
375
325
331
366
416
483
382
383
463
375
320
487
427
460
406
479
507
490
396
447
327
385
412
395
445
435
423
433
353
327
378
499
337
341
377
457
375
480
344
386
430
402
371
519
424
343
452
455
404
501
466
497
461
510
481
392
341
373
436
442
408
382
395
454
320
329
338
468
473
469
446
518
503
432
390
330
325
334
360
483
407
384
326
450
357
393
494
520
372
340
467
394
368
443
379
345
462
477
409
473
504
328
479
498
493
458
364
334
441
433
351
441
447
406
463
462
350
432
463
486
456
432
425
473
430
475
378
460
475
360
370
485
391
460
519
370
472
416
406
451
379
383
494
507
505
447
391
322
339
413
325
426
337
341
487
423
504
512
397
359
404
339
424
513
364
332
363
357
450
434
520
350
393
322
404
401
464
390
386
434
493
409
399
352
330
465
391
364
368
418
417
354
340
327
366
457
445
420
519
383
356
345
507
333
503
437
458
328
392
361
399
413
434
323
361
475
462
451
512
455
461
320
354
337
368
418
355
431
480
324
382
384
429
391
434
501
500
494
338
379
469
436
495
464
476
334
489
478
353
341
430
520
321
425
419
345
484
356
426
430
391
334
332
430
517
336
492
367
394
337
416
336
491
488
437
473
435
335
502
376
448
346
431
517
426
516
455
381
396
509
456
326
513
471
400
435
472
483
369
367
441
508
408
496
329
470
497
432
400
334
328
364
436
467
467
369
377
381
484
419
493
423
413
505
389
371
410
385
320
486
464
450
452
367
458
482
409
482
499
425
482
335
423
493
366
347
420
450
481
472
379
465
489
444
468
329
332
359
355
502
471
324
360
471
490
513
465
438
488
467
498
449
404
495
345
453
459
334
347
518
333
343
347
350
396
461
380
501
371
350
426
518
441
321
494
365
452
486
468
503
515
446
340
445
441
346
463
380
406
351
426
455
490
469
385
331
375
321
450
444
407
346
387
392
430
418
382
427
437
517
487
465
336
430
407
365
395
405
342
460
422
495
375
369
494
500
343
471
347
471
350
384
383
368
353
490
513
355
393
414
491
379
415
506
425
428
491
350
353
397
325
512
434
435
427
386
442
384
473
480
506
453
516
357
390
370
510
449
423
447
329
410
445
366
472
417
413
322
455
495
356
457
501
420
518
339
427
407
361
393
371
441
470
449
415
357
390
347
494
364
356
366
501
463
334
328
404
510
500
343
328
412
383
509
342
501
324
515
338
466
410
449
513
434
451
469
488
514
485
426
505
402
374
476
459
382
505
442
394
343
504
517
476
504
350
362
457
451
408
496
517
389
354
359
431
400
360
378
347
513
490
490
433
436
462
322
427
406
443
380
432
403
454
402
364
467
336
341
446
495
391
425
343
464
515
361
434
361
467
339
416
393
462
351
423
419
399
367
340
335
409
519
422
343
460
508
398
407
350
379
326
366
373
478
481
505
483
518
321
368
463
428
468
494
484
495
495
516
483
337
373
436
389
490
519
471
431
501
349
499
445
448
413
426
389
508
332
480
513
518
380
412
470
512
503
412
344
376
354
378
506
513
433
347
338
380
344
464
426
334
357
484
369
451
458
321
360
360
325
491
333
488
443
462
453
518
383
377
478
338
515
481
497
378
496
377
406
419
437
366
389
481
379
384
407
451
361
429
430
354
453
399
485
505
519
465
428
449
394
328
453
335
454
396
461
520
354
492
454
357
422
518
433
419
508
346
414
412
481
399
460
511
483
470
473
462
477
424
326
346
329
458
473
421
480
436
380
431
500
438
340
400
520
415
347
442
427
346
491
324
414
366
351
326
324
353
499
402
472
387
406
394
334
414
364
395
438
425
369
517
430
472
364
368
384
507
405
361
508
430
345
500
330
375
480
329
478
389
409
337
462
517
362
329
437
506
336
418
321
341
387
447
432
365
416
414
464
368
448
426
373
520
502
491
326
320
455
329
417
495
322
399
409
362
489
438
331
436
329
433
379
452
509
471
395
413
490
426
503
360
371
403
362
392
449
334
379
390
392
409
469
329
519
417
494
475
391
403
448
324
377
400
324
498
398
478
395
372
411
477
359
423
329
356
411
435
419
377
425
345
409
398
335
438
460
326
494
370
347
351
381
356
362
445
383
478
390
362
463
359
456
462
470
441
499
450
431
423
326
408
331
481
339
401
337
374
379
517
484
377
374
486
351
484
385
416
355
495
481
494
370
520
505
440
475
407
410
493
358
462
379
490
403
434
461
397
324
508
443
444
402
441
435
431
516
339
430
505
360
438
367
380
504
400
332
354
392
403
332
459
394
368
393
386
326
428
351
451
346
394
379
493
429
368
456
405
329
408
384
332
445
327
507
451
504
513
427
357
456
475
437
351
328
358
387
345
442
397
356
487
435
351
390
448
397
512
485
359
499
418
464
437
372
403
416
321
387
438
399
474
446
424
503
338
386
520
385
325
366
516
477
337
462
335
472
372
347
356
512
341
422
428
342
340
332
519
392
379
351
416
373
408
339
459
350
333
323
496
333
322
382
347
431
495
445
419
372
336
373
350
475
425
446
486
430
506
380
381
426
358
439
489
465
392
396
339
335
403
339
409
338
349
389
504
427
334
486
331
405
456
420
468
378
423
341
443
457
426
433
404
337
327
498
320
438
435
373
346
350
466
433
386
419
362
411
513
512
354
453
446
500
488
406
391
403
404
502
333
412
512
466
490
452
418
453
379
455
451
322
346
391
408
488
425
473
437
519
511
382
476
400
474
359
424
507
461
377
398
462
504
486
498
453
387
494
422
421
484
400
498
359
512
388
409
442
423
407
345
365
390
423
408
327
408
510
454
516
439
480
507
380
516
357
408
408
382
329
422
478
418
504
444
370
466
347
474
337
433
441
380
422
362
507
437
427
336
397
464
509
408
415
452
512
447
454
433
480
450
326
392
433
520
380
337
447
507
358
422
360
490
469
477
344
334
518
366
374
382
481
513
495
520
421
483
419
515
436
421
328
498
504
338
403
371
321
362
348
320
458
493
401
413
441
394
325
348
385
332
398
378
377
398
410
335
389
357
489
499
467
481
328
373
405
402
380
419
506
346
346
423
466
395
462
427
509
428
386
390
407
333
356
421
344
488
353
361
422
448
341
330
357
340
339
509
466
452
418
454
461
400
351
477
421
487
386
511
438
396
350
348
462
368
484
497
476
393
369
380
357
517
329
442
438
481
351
330
397
398
349
412
339
463
357
358
446
339
429
462
439
348
354
451
419
499
492
395
372
421
364
428
376
511
441
322
511
416
412
400
513
487
477
436
352
478
439
487
505
483
404
345
354
498
403
459
347
364
446
396
482
458
428
408
423
382
390
389
327
346
412
433
378
369
445
511
519
422
350
453
447
392
420
350
425
334
442
471
455
431
398
440
467
374
331
365
467
322
365
468
504
470
409
390
455
403
479
456
407
320
429
414
391
498
340
487
462
504
337
397
338
383
389
370
340
376
385
487
474
480
350
427
445
455
367
496
505
422
471
501
464
363
365
485
486
437
490
435
390
417
429
343
463
398
359
419
472
473
368
416
367
383
423
385
475
373
373
432
399
446
362
402
419
404
455
400
479
336
431
391
452
381
372
458
347
475
384
449
519
436
476
488
448
401
467
515
363
403
471
509
392
407
485
507
337
363
429
321
450
481
432
511
384
457
416
444
481
386
505
503
385
329
433
338
406
512
351
467
463
481
430
514
387
412
354
452
493
464
327
510
503
406
514
449
452
434
421
384
498
435
350
502
384
331
322
481
395
351
397
499
445
379
376
478
421
374
507
510
330
472
477
397
427
496
478
404
510
449
456
380
480
390
393
352
399
322
388
397
442
330
390
422
441
432
355
432
448
331
446
425
323
465
475
378
412
336
476
499
465
446
389
502
374
472
501
458
438
470
442
509
468
470
385
494
435
339
364
372
387
481
489
487
447
512
485
393
437
328
455
320
370
449
458
508
430
364
419
325
436
432
458
456
504
510
472
340
411
463
358
419
464
454
363
403
350
479
376
480
461
366
482
500
469
378
481
417
401
437
400
391
364
499
464
361
358
497
408
368
508
504
329
437
428
408
355
355
410
493
327
379
383
412
517
394
370
457
450
461
324
334
422
334
463
353
513
445
488
326
480
358
364
377
516
391
500
504
416
355
413
486
476
349
413
496
497
467
326
439
417
326
362
474
336
461
400
435
417
373
411
425
432
499
335
461
323
369
405
452
453
434
329
390
483
429
407
401
478
512
438
360
506
489
467
321
369
474
353
404
402
426
479
385
512
346
397
339
482
347
387
448
500
430
472
376
393
373
511
442
334
324
462
361
420
485
354
518
500
469
456
519
325
373
442
341
441
384
414
334
466
505
502
369
456
515
327
380
459
331
369
360
516
434
500
395
481
514
468
433
338
510
374
461
413
435
469
448
454
502
502
369
399
395
337
421
513
410
496
425
358
342
502
368
413
413
491
340
456
344
334
321
333
382
351
321
416
402
367
397
513
372
452
519
370
366
380
335
445
499
483
391
431
330
380
471
331
501
377
516
366
341
363
409
325
379
327
445
481
479
450
385
379
458
455
354
384
479
447
520
437
428
359
520
354
364
382
467
373
365
378
487
443
448
494
430
386
411
373
369
390
346
355
481
374
503
374
516
428
329
405
416
488
496
429
370
340
516
398
496
476
373
390
380
350
492
432
490
353
352
459
432
520
344
465
480
444
357
430
428
415
322
430
352
430
394
452
359
322
438
502
457
361
343
492
443
469
340
337
332
489
406
380
376
458
375
376
412
455
401
382
446
352
344
327
455
494
378
429
405
407
433
391
467
337
462
425
449
443
439
440
335
351
411
423
465
508
422
470
397
506
331
367
401
434
386
459
407
480
489
349
406
427
347
429
450
368
487
331
360
377
389
425
359
329
414
383
446
333
447
329
338
461
456
438
364
496
474
327
468
422
359
395
517
451
353
410
467
210
226
247
221
231
249
219
222
223
244
217
249
214
249
235
216
245
204
248
201
249
224
205
215
250
230
242
230
217
245
212
228
233
205
205
244
245
246
221
211
215
207
231
233
222
229
249
207
207
223
228
206
233
242
207
238
250
219
231
233
218
232
203
213
244
209
202
236
215
206
230
242
236
241
204
209
237
246
207
202
201
246
245
205
245
245
228
218
235
248
205
223
227
218
221
229
200
247
235
230
201
247
212
225
236
234
228
228
211
247
244
250
249
201
249
201
202
225
250
211
224
215
206
231
224
223
225
215
245
233
228
223
249
223
218
209
203
236
221
201
206
232
248
218
230
232
250
207
222
211
229
205
248
225
202
224
238
237
206
200
239
204
231
245
236
229
250
247
218
227
238
232
250
207
225
234
220
208
247
204
226
238
217
242
203
234
214
229
223
211
207
208
247
238
237
237
208
242
240
230
250
213
211
205
231
230
206
226
206
249
221
247
221
213
228
201
207
229
209
212
224
231
234
242
235
242
222
210
225
239
235
210
226
207
244
238
209
237
207
245
241
219
237
219
215
221
212
238
234
226
240
209
232
236
239
216
245
227
224
239
201
237
241
219
236
200
225
213
208
212
248
219
241
238
210
226
201
238
226
204
226
213
247
237
215
250
225
221
234
241
239
201
231
219
246
214
244
249
209
202
227
210
236
209
249
238
211
242
208
238
236
205
202
213
239
204
216
238
222
246
241
244
245
221
221
239
222
202
210
226
229
244
204
244
242
206
226
212
203
200
236
235
204
236
242
202
238
236
241
218
230
213
242
215
223
213
208
213
220
237
208
220
239
204
205
229
239
238
226
208
218
230
239
221
232
232
226
209
235
236
220
205
209
233
228
203
225
240
237
220
237
203
238
214
221
236
220
224
202
225
240
239
248
236
246
206
217
247
218
205
237
245
237
228
220
229
209
209
209
250
248
204
243
215
242
230
224
203
218
212
205
234
215
234
237
236
249
210
219
239
205
248
232
208
226
206
203
243
201
205
231
245
219
235
218
228
215
230
207
205
217
216
247
211
240
218
205
200
202
207
201
225
241
233
213
250
235
205
206
206
247
227
224
207
229
233
241
218
244
206
247
231
222
205
202
248
208
225
234
208
246
216
219
203
246
241
227
211
242
223
211
246
223
206
207
203
215
244
243
223
213
241
226
222
244
227
205
248
231
204
214
243
232
250
238
245
209
225
223
211
200
246
202
203
247
243
213
203
228
250
233
249
214
223
233
222
206
210
224
228
215
231
204
243
233
210
225
241
229
201
209
223
247
249
200
211
227
242
239
219
209
210
243
241
203
246
239
207
218
246
203
228
241
248
231
225
225
238
219
232
241
233
207
206
209
213
210
209
209
248
241
241
222
216
214
222
204
201
243
236
211
208
210
209
224
231
243
244
248
233
221
221
246
234
210
226
248
233
243
246
245
239
208
238
212
246
234
213
239
200
217
248
230
211
239
209
200
200
233
230
202
235
221
225
226
202
222
236
229
239
213
243
201
213
207
204
214
201
241
203
227
214
218
226
243
224
210
225
211
246
219
207
209
223
210
218
228
215
242
229
206
241
206
244
248
202
210
207
233
238
238
201
240
210
247
201
243
220
216
248
213
248
242
208
243
242
213
235
244
201
205
232
229
212
225
200
225
205
247
212
208
241
226
232
248
232
230
202
203
243
219
236
226
217
212
208
217
208
224
228
247
207
231
211
235
238
216
220
232
234
226
248
232
212
200
238
242
213
225
206
249
250
214
207
218
202
239
226
231
218
242
211
235
212
238
200
224
234
250
225
233
215
219
248
239
244
219
238
208
213
239
208
241
227
225
201
225
215
250
207
209
226
210
235
204
216
220
211
238
232
206
246
230
236
249
222
204
243
223
207
244
240
227
219
227
202
237
232
245
248
235
249
225
228
250
243
249
244
223
220
222
227
215
207
213
250
224
246
206
221
234
234
227
236
205
227
248
230
210
226
213
217
203
208
203
249
204
220
245
224
245
235
215
250
242
216
202
217
222
240
227
231
246
204
211
208
218
237
234
224
239
222
245
216
215
228
220
224
250
236
206
216
217
242
204
225
218
221
213
236
235
221
222
224
210
244
237
226
238
237
218
221
207
215
215
239
216
201
214
216
210
211
236
208
215
201
222
244
209
250
210
207
206
248
217
228
242
228
222
248
204
249
230
230
241
215
205
224
220
219
219
225
228
228
236
208
241
229
241
216
201
214
217
218
245
235
211
214
241
227
224
201
218
238
235
212
239
229
210
221
211
206
231
203
229
235
216
210
209
223
233
224
201
221
231
201
220
216
222
221
239
222
226
249
240
243
226
210
218
227
217
213
206
229
218
221
212
227
244
206
220
248
227
202
233
202
206
249
214
237
213
235
213
202
224
215
208
222
242
248
215
237
209
222
229
230
226
237
226
244
212
244
244
228
209
232
219
246
204
213
200
215
250
201
246
214
204
234
230
227
204
222
227
219
229
245
244
229
239
209
207
236
245
233
244
210
238
200
242
200
219
201
233
221
250
248
223
205
228
234
214
226
240
235
234
224
232
247
227
244
242
248
229
236
226
247
223
209
234
233
247
226
242
203
235
221
232
208
240
237
215
242
204
217
245
203
209
200
201
204
206
210
243
232
223
212
215
243
231
208
206
235
216
202
203
249
228
200
213
241
236
225
241
221
231
222
224
234
238
214
239
217
202
234
212
206
227
203
213
234
204
237
236
205
212
248
209
247
201
222
248
209
235
207
219
205
237
219
214
231
248
238
223
234
237
233
237
233
231
222
210
232
234
248
234
213
225
250
239
212
234
235
220
249
204
221
248
223
244
233
218
218
227
235
231
200
203
212
215
210
230
200
209
232
209
235
212
247
227
236
227
203
244
216
202
235
201
240
212
232
226
211
203
221
218
211
203
225
249
244
220
231
247
212
210
249
217
212
210
247
201
200
227
201
219
232
217
206
223
206
206
248
237
234
243
228
234
204
215
236
242
231
201
227
236
210
220
221
219
215
246
241
211
246
237
217
219
232
236
240
220
230
232
238
230
209
204
248
203
246
224
238
201
241
200
206
203
235
219
216
245
239
236
213
204
209
224
227
246
246
214
200
233
244
211
232
204
230
222
243
223
212
239
200
241
228
213
200
223
226
205
229
232
215
231
213
215
202
214
224
215
204
236
232
219
232
212
218
211
237
235
208
228
200
223
205
244
233
234
224
223
221
224
201
225
243
227
220
235
209
242
201
249
240
209
232
208
242
215
234
222
245
208
224
245
212
245
222
233
209
200
206
206
204
242
215
217
216
210
204
214
250
225
214
214
245
239
247
240
212
223
246
204
229
249
229
221
210
205
242
246
229
247
250
245
226
211
231
205
208
230
227
216
201
250
247
238
215
235
239
205
244
230
242
225
214
250
224
230
220
242
237
249
228
250
215
244
240
211
226
210
218
212
212
234
210
220
232
234
223
230
204
232
205
210
222
224
237
230
217
225
244
213
208
213
243
217
209
241
215
237
221
237
201
212
250
246
231
208
247
248
244
236
221
210
206
246
220
211
230
208
217
208
245
202
237
229
229
215
242
225
219
228
213
228
201
247
232
242
242
213
223
217
222
202
207
213
234
248
221
226
225
213
204
206
225
205
237
226
224
237
222
208
240
223
201
200
216
234
214
211
208
206
247
238
209
240
241
220
204
230
241
208
204
235
220
235
246
241
215
242
219
234
242
247
214
216
206
204
234
209
207
229
212
231
217
205
243
225
230
223
229
246
225
221
208
237
210
223
237
211
226
238
244
249
246
216
217
248
213
238
231
232
225
229
247
240
222
239
225
218
219
236
220
217
210
217
223
203
208
247
228
247
204
241
244
246
223
234
202
222
214
216
218
238
234
241
217
230
245
213
236
211
227
218
234
213
227
227
235
205
226
245
222
218
236
207
214
226
225
213
242
232
220
211
245
206
236
201
229
228
237
216
207
215
247
226
234
200
240
214
218
221
232
227
210
231
228
218
250
243
209
231
247
207
213
229
246
228
225
223
216
237
202
246
220
224
216
245
237
249
211
216
221
203
214
238
230
220
216
236
210
246
242
214
202
231
237
227
240
209
228
241
200
210
223
249
216
227
213
232
229
249
215
208
214
249
208
229
237
245
203
248
221
229
235
209
243
246
236
244
223
227
224
235
217
249
209
231
209
210
217
215
216
243
238
212
212
218
201
222
204
215
240
204
208
230
207
244
233
221
239
204
230
248
242
212
247
201
204
231
239
240
240
222
246
213
220
204
238
227
234
200
204
211
209
203
232
210
248
244
221
229
245
246
236
242
210
214
243
212
236
248
239
238
228
221
234
235
236
219
201
220
248
243
214
216
221
205
217
235
225
230
213
220
245
234
218
239
243
201
231
241
216
217
234
250
237
235
244
212
248
248
225
233
212
236
209
235
228
238
217
211
238
236
237
203
208
216
222
239
249
249
236
240
245
228
224
247
249
223
240
201
205
228
240
221
245
208
232
209
231
215
248
248
244
246
236
211
215
241
227
219
245
211
206
246
207
211
213
235
228
240
222
247
240
249
240
219
202
228
245
242
214
214
215
203
210
250
222
236
213
246
221
240
230
228
210
223
207
216
209
200
243
249
233
223
216
221
215
243
201
212
229
231
208
213
238
246
205
234
217
234
250
201
245
213
207
247
237
248
233
241
245
239
249
247
220
245
207
223
227
229
210
225
228
230
210
248
225
239
246
204
243
242
234
234
202
243
239
207
214
236
213
235
210
218
203
221
225
208
201
200
241
210
232
226
235
236
211
242
239
228
238
235
226
239
221
219
242
209
226
201
203
224
214
220
217
229
249
209
248
219
207
219
212
204
222
216
213
223
201
246
235
236
234
215
214
205
246
214
210
221
226
243
248
237
242
234
220
218
226
220
215
205
246
237
226
211
220
206
250
236
239
234
245
207
220
202
213
217
214
230
229
238
242
228
209
231
214
206
239
224
209
236
250
250
227
222
219
209
237
235
208
227
237
243
220
204
229
248
223
204
237
215
226
234
217
242
240
233
235
214
247
212
209
223
217
238
209
216
211
225
229
231
244
207
246
245
242
213
203
217
246
242
242
238
242
233
240
232
221
219
244
248
234
206
214
216
223
248
248
200
232
200
210
227
218
229
228
205
232
243
213
227
204
240
242
223
223
238
220
241
227
249
238
221
230
236
216
227
243
244
236
217
241
243
200
241
223
242
203
210
228
240
220
216
250
214
247
211
232
226
201
237
216
204
246
231
204
240
216
239
218
206
239
213
223
241
201
213
206
211
208
243
236
220
220
203
220
243
226
205
224
239
249
211
216
223
225
200
211
206
239
203
218
206
237
247
234
214
222
236
202
246
227
214
227
237
216
241
211
213
235
206
239
246
214
215
236
222
235
244
218
249
227
229
244
202
214
226
208
230
225
201
250
241
242
209
230
220
232
221
203
224
219
213
237
240
242
207
200
218
235
229
244
236
222
209
236
236
235
209
203
201
222
210
226
242
247
242
219
225
245
234
228
232
237
220
245
220
235
234
240
230
202
203
200
215
200
208
210
205
212
233
205
206
242
238
231
217
240
200
206
205
218
249
204
216
233
240
201
249
247
231
213
204
208
212
248
233
215
200
200
229
213
229
210
212
219
209
229
242
246
228
237
243
216
222
250
238
227
208
234
217
235
232
228
208
238
209
243
203
201
243
242
218
236
250
206
216
216
246
241
227
218
215
227
223
218
209
236
235
205
237
211
245
206
211
233
227
233
248
208
201
231
233
219
213
218
250
247
219
204
223
250
208
200
201
240
228
226
224
240
246
226
249
232
234
207
222
208
246
218
242
228
244
208
242
231
200
224
228
250
224
201
248
227
231
220
243
246
211
215
223
241
207
209
209
203
226
226
218
215
209
217
215
219
228
241
213
239
224
226
229
221
204
232
234
249
236
228
243
248
202
242
221
233
244
231
244
210
224
219
206
224
224
200
238
223
237
219
213
242
221
228
246
224
250
232
244
207
200
232
211
224
237
216
202
223
249
230
245
211
208
248
249
242
205
228
224
214
217
238
238
248
234
204
248
238
240
208
245
238
205
233
245
225
213
220
233
230
203
225
224
206
225
208
221
237
249
245
210
200
204
210
231
202
243
222
219
207
240
214
240
212
225
231
211
215
214
228
229
249
250
240
247
243
211
206
226
242
214
200
239
202
221
250
231
222
220
241
235
216
222
226
246
206
250
227
231
200
235
229
245
216
240
231
238
214
246
249
232
221
241
216
217
212
215
209
200
221
213
213
237
233
212
219
242
203
203
249
231
245
212
200
214
219
219
211
250
200
244
218
250
225
221
234
246
237
209
218
242
246
201
220
200
203
212
214
224
244
246
233
225
219
242
206
245
226
236
226
244
249
211
205
247
231
205
225
208
249
232
219
238
210
239
219
236
241
248
200
222
236
243
239
221
225
232
224
209
208
232
208
241
243
206
245
236
217
247
219
211
237
233
241
204
240
217
213
215
239
212
204
245
224
218
216
217
218
202
217
218
218
243
231
208
245
207
245
248
230
214
213
208
200
210
225
250
248
232
211
245
205
217
230
222
209
210
233
215
231
248
249
234
223
212
204
238
219
238
219
226
203
205
245
234
215
216
217
240
242
237
218
208
224
212
226
249
217
220
231
209
248
215
248
221
204
211
220
214
208
243
248
236
201
232
205
231
235
207
204
221
208
230
232
204
225
210
226
212
241
248
237
204
201
200
201
246
227
238
242
249
240
227
231
239
230
241
237
221
220
247
201
228
236
214
236
211
225
208
206
242
213
248
232
249
230
207
228
213
235
210
216
249
206
226
202
210
233
214
216
222
212
214
225
213
213
202
203
239
213
230
200
203
237
211
226
250
247
200
218
203
238
213
237
209
204
225
231
247
203
215
204
201
221
209
217
228
205
243
246
237
208
210
228
214
241
207
214
211
218
218
238
239
245
245
241
241
201
219
241
219
247
249
230
209
205
206
242
211
228
202
250
241
245
204
204
217
221
216
234
218
216
210
245
209
217
218
224
234
204
220
229
236
239
243
238
211
210
220
241
234
230
244
225
220
225
247
242
234
235
246
211
249
220
206
243
225
222
204
248
245
205
228
213
202
218
208
247
211
204
235
227
205
220
221
226
239
245
217
205
240
221
220
205
205
245
207
207
246
229
209
227
216
213
206
214
219
241
237
246
222
232
213
203
232
203
233
233
228
215
215
210
206
212
228
218
232
241
242
211
204
245
202
231
214
230
237
207
227
240
240
203
223
240
218
214
235
243
218
249
236
240
237
200
228
235
209
223
238
229
206
201
240
238
233
212
235
209
230
216
211
211
224
215
213
243
215
241
221
216
201
241
213
201
242
239
207
207
205
234
237
223
232
235
221
235
213
201
241
222
220
222
250
213
220
232
210
211
241
235
200
212
241
213
240
234
232
233
250
227
207
226
227
215
207
228
236
236
220
226
224
220
216
240
230
229
217
234
213
204
222
231
233
213
239
234
216
229
223
200
250
205
231
217
224
226
223
216
215
204
213
205
250
232
207
213
235
215
210
212
211
219
238
222
219
223
245
210
243
228
241
212
227
212
236
221
241
237
206
238
219
225
227
233
219
209
249
202
208
208
206
240
210
206
208
209
235
233
205
250
225
226
249
204
209
219
212
242
215
225
214
246
218
232
215
237
246
208
234
209
202
227
205
224
246
223
228
243
231
215
222
235
214
228
244
219
215
210
204
216
243
213
207
212
204
207
227
211
203
214
243
244
231
220
249
230
228
223
246
239
242
232
218
219
242
202
231
239
204
207
220
243
231
207
221
250
200
235
220
220
225
203
223
245
217
247
243
211
219
249
238
232
239
227
239
212
242
231
222
219
234
241
208
213
224
225
244
241
246
205
212
215
228
236
205
222
234
218
223
224
227
244
217
238
233
238
204
219
233
202
212
222
229
239
224
228
206
232
250
237
231
240
235
210
228
236
220
237
212
226
218
241
226
202
220
242
222
220
222
242
209
240
223
248
233
225
211
213
231
225
229
241
239
212
215
223
215
247
225
232
233
212
201
236
216
245
230
246
250
235
208
246
209
209
235
210
223
200
216
221
246
239
229
230
206
242
215
239
244
249
235
212
248
242
229
241
223
235
239
234
244
229
207
242
228
218
227
241
235
230
224
241
213
206
240
249
213
203
203
214
240
216
240
218
230
242
250
244
217
214
215
229
247
202
205
208
231
241
236
236
245
248
205
204
243
247
218
250
225
236
221
246
224
243
243
212
250
200
207
210
232
207
206
220
232
242
220
227
204
241
247
206
214
213
205
210
234
245
229
248
206
223
217
209
224
230
219
205
209
233
202
207
240
200
226
211
204
240
215
242
233
214
225
250
223
200
210
221
228
245
250
233
237
241
222
247
249
248
214
235
226
221
201
250
231
231
201
242
211
238
232
217
201
231
237
215
229
211
248
244
229
229
221
202
235
205
246
227
229
228
243
454
400
451
341
332
378
455
361
440
512
428
490
383
513
323
341
361
336
383
363
407
433
442
418
438
473
395
407
456
392
438
488
450
516
361
461
413
362
386
431
480
514
343
338
401
384
455
477
320
367
491
330
415
327
458
418
419
450
498
435
442
372
411
349
449
393
321
339
476
338
486
505
393
355
478
438
377
376
415
348
408
445
366
401
345
374
463
469
351
366
485
493
495
397
442
357
425
427
346
502
492
332
357
487
372
346
393
511
438
405
454
321
337
516
486
423
502
432
442
491
350
475
388
495
361
364
380
405
348
398
364
419
375
352
437
389
453
371
441
382
506
425
447
445
490
416
416
499
357
466
342
324
497
377
348
431
503
357
451
329
448
438
453
366
328
468
350
350
483
452
442
485
413
429
398
499
342
505
494
341
501
438
322
421
515
410
321
465
429
365
438
349
491
332
384
487
323
364
346
452
453
455
405
350
383
491
430
435
465
351
473
324
430
381
447
426
505
388
447
376
509
345
437
459
519
410
504
476
387
441
426
374
347
333
474
517
513
409
427
328
439
410
364
347
369
332
337
477
382
491
392
483
446
454
398
495
391
455
472
390
485
392
450
495
410
513
504
361
458
376
520
515
344
454
460
439
494
459
369
401
403
462
351
398
323
464
346
399
343
509
339
406
404
479
404
443
366
359
460
445
378
359
461
389
425
334
393
435
364
439
377
383
515
351
474
371
513
361
389
365
491
462
433
356
390
473
379
378
422
448
361
352
389
405
504
499
468
460
480
482
376
377
449
466
490
415
345
518
510
372
348
478
357
356
380
479
379
360
508
384
420
357
430
473
513
457
416
493
358
396
452
372
373
342
387
436
373
357
353
423
375
515
387
381
402
403
435
378
323
505
378
438
361
465
342
380
343
391
448
460
505
430
369
464
462
325
352
440
377
392
345
500
413
436
452
445
359
350
351
358
331
372
399
436
349
423
346
369
408
469
334
332
385
472
374
357
407
374
377
474
437
383
482
356
341
379
364
508
485
459
358
470
492
417
334
356
489
432
514
321
395
461
457
426
412
351
321
481
466
350
465
322
348
510
426
421
460
326
329
421
364
446
370
515
511
329
397
474
505
441
360
386
325
330
329
341
427
411
409
325
508
460
349
357
391
465
430
332
357
474
341
415
373
472
415
485
431
443
415
504
429
405
518
395
393
446
450
452
353
351
422
481
323
408
350
387
367
364
411
484
464
391
407
468
510
400
340
445
375
456
446
408
396
414
357
331
447
496
483
410
334
356
388
380
467
378
333
470
475
460
516
433
445
447
413
399
367
501
381
400
359
460
323
481
360
474
366
443
392
386
394
487
431
381
341
496
438
433
366
479
410
345
331
458
442
385
417
365
434
427
469
514
485
430
499
388
368
465
485
354
335
393
320
422
350
374
398
434
350
486
335
426
438
321
485
348
401
409
427
474
488
483
440
403
503
486
513
340
512
455
487
475
495
493
403
368
334
501
344
490
391
360
398
385
355
364
336
423
501
513
358
456
510
367
489
395
352
393
465
372
478
387
478
502
457
348
387
393
436
506
426
355
352
451
404
389
514
434
460
438
416
483
329
461
345
459
331
349
375
449
362
403
479
464
335
424
501
326
399
422
346
485
463
369
472
478
450
459
438
452
475
330
431
434
429
347
391
471
394
393
405
464
368
406
438
420
510
374
414
518
439
488
362
427
457
339
339
501
451
513
506
412
402
491
395
368
325
406
470
407
326
431
477
410
423
402
497
436
376
468
378
489
337
476
362
438
427
449
408
368
451
461
417
359
335
477
363
480
456
478
330
485
390
508
467
428
473
469
377
432
494
357
398
334
447
328
411
367
439
432
377
482
492
479
382
358
482
404
498
415
396
501
400
501
407
403
453
400
415
326
427
468
515
359
344
369
336
486
377
323
462
439
473
487
377
513
448
374
405
434
338
388
508
350
496
520
504
475
348
326
360
428
507
463
504
406
447
364
367
439
336
396
364
417
356
436
344
465
336
343
412
478
390
406
331
366
344
512
453
433
515
372
348
487
412
470
503
469
400
369
331
325
477
353
447
436
486
381
329
413
329
456
426
453
338
441
498
368
412
458
409
365
495
365
485
455
450
330
409
497
466
484
418
330
497
367
506
372
439
380
491
358
411
385
451
364
511
363
328
455
341
394
453
397
472
516
393
489
334
426
449
443
440
420
487
384
350
492
485
388
501
438
376
360
355
471
382
471
484
475
467
446
504
391
416
496
505
435
474
412
391
407
465
340
468
405
423
363
389
433
467
381
412
358
502
395
480
451
406
388
338
353
445
458
396
365
472
458
483
480
431
372
441
427
394
373
469
378
511
487
505
320
438
462
381
485
464
452
329
401
440
430
391
394
323
470
465
365
513
402
459
392
408
390
478
499
370
505
367
479
415
418
506
413
453
412
506
400
375
455
344
468
362
321
339
415
323
327
519
509
328
334
509
465
397
356
335
405
503
482
478
327
349
513
506
516
321
323
356
459
481
376
394
412
395
367
437
456
388
482
473
482
483
475
508
455
398
518
343
489
389
509
343
349
402
422
343
326
442
506
476
391
438
419
397
396
362
378
467
395
320
518
428
336
339
352
338
472
353
357
373
486
459
455
387
341
434
490
465
493
362
387
382
381
442
389
320
330
400
459
350
510
363
369
331
367
329
412
322
460
436
327
432
497
332
465
461
478
350
353
383
446
430
379
396
514
354
395
342
465
456
362
468
499
353
325
475
415
376
495
472
513
412
410
429
503
382
512
453
363
337
343
404
505
372
426
464
455
330
382
364
338
482
485
396
406
460
471
470
510
459
476
416
378
504
339
503
504
398
400
405
425
423
439
330
348
425
487
362
441
402
446
327
321
361
492
467
400
358
509
366
499
431
473
412
493
480
505
368
474
454
366
430
495
501
462
426
360
429
336
444
512
504
428
479
424
390
491
391
460
332
490
497
448
431
468
465
355
394
504
426
377
332
325
333
445
485
433
515
393
323
453
514
396
360
392
343
440
485
369
402
465
360
503
409
487
446
452
482
392
506
437
386
495
453
513
502
348
519
520
439
352
472
377
401
436
463
333
396
456
348
485
369
337
432
479
481
377
370
419
350
498
344
402
358
422
400
426
482
500
472
493
403
454
375
505
460
327
360
366
386
399
460
327
325
342
504
410
519
479
410
399
438
370
403
472
459
481
459
415
425
362
488
420
466
498
362
510
363
387
334
450
515
455
472
328
416
342
322
427
386
423
441
484
515
333
335
425
374
487
410
463
488
323
418
477
482
367
381
381
328
342
345
335
472
514
388
384
516
409
401
395
430
353
361
386
458
382
372
466
456
390
363
418
431
376
415
441
489
341
506
462
484
495
361
357
407
391
444
445
412
328
354
516
519
366
335
353
471
332
398
344
507
381
416
431
430
511
500
352
439
388
445
341
367
406
349
490
478
335
459
404
507
433
488
449
384
458
353
505
387
495
343
356
513
499
496
467
492
477
396
406
329
469
379
447
472
461
412
503
429
490
509
398
339
461
453
388
336
441
467
378
436
437
386
460
456
416
422
443
471
362
489
364
423
368
383
395
463
400
430
332
439
514
461
428
424
499
395
461
517
453
339
450
446
335
327
511
372
433
362
384
452
443
395
504
326
390
485
393
499
329
397
449
407
344
375
370
405
451
373
324
478
339
487
408
414
509
412
459
356
339
450
508
371
341
468
470
452
433
407
442
323
397
370
491
505
519
426
367
436
342
478
500
462
480
365
361
503
387
334
485
486
381
447
470
518
416
450
379
485
325
451
445
509
409
452
343
420
447
483
363
520
347
411
437
494
382
358
338
458
480
390
428
513
454
371
339
411
398
415
478
492
386
459
370
470
345
443
390
512
428
371
406
419
452
467
420
424
330
469
429
356
455
352
455
369
350
321
401
363
422
473
387
330
459
461
466
337
473
479
499
510
484
481
407
442
444
329
420
396
345
441
420
324
331
400
487
337
329
355
414
323
347
391
515
447
362
466
378
343
413
482
488
421
325
463
363
381
379
419
365
354
341
504
360
482
337
480
398
335
495
326
459
497
468
336
402
332
509
328
367
460
403
453
376
391
338
369
333
440
392
450
373
474
460
390
486
409
367
355
433
464
490
472
397
347
323
445
436
361
403
357
442
470
456
472
414
362
408
435
479
454
464
342
395
393
340
369
461
442
368
341
345
428
456
504
456
386
390
499
447
488
449
401
481
478
468
393
344
336
406
351
359
457
491
400
425
360
466
418
386
335
365
438
448
510
407
511
483
332
380
433
417
481
440
436
515
397
382
448
490
394
417
428
447
439
519
429
369
478
457
347
374
507
419
441
393
323
364
502
379
508
469
406
382
412
456
363
362
491
340
341
389
410
429
453
335
345
468
483
429
423
378
420
488
351
479
347
461
514
512
468
493
415
470
396
490
484
443
321
370
381
493
407
390
428
467
334
324
476
480
497
397
356
350
519
343
486
357
448
377
392
503
335
399
342
506
456
453
354
405
409
399
465
497
405
347
328
433
448
352
362
347
347
515
513
422
411
435
505
409
357
487
473
406
335
389
404
520
504
406
366
325
355
373
446
376
332
484
511
346
509
496
363
422
349
445
372
396
518
421
328
376
383
411
376
433
463
491
501
368
466
409
462
344
475
325
324
467
467
344
417
335
451
420
323
408
330
506
321
374
370
323
410
389
337
463
405
357
359
352
476
432
457
456
499
423
356
453
453
371
382
426
421
481
489
452
403
326
345
415
348
339
423
505
429
332
476
486
475
485
475
510
492
486
512
376
516
415
487
464
398
454
348
344
450
412
422
345
478
369
510
400
411
371
458
489
347
372
340
409
517
386
361
465
439
494
354
347
485
471
410
444
325
439
442
320
383
454
333
478
449
322
331
373
404
349
495
477
501
494
425
378
495
406
393
392
326
367
424
446
474
348
470
413
481
508
397
369
380
376
482
383
436
483
413
361
395
326
438
349
408
396
345
445
432
324
417
464
353
444
376
407
341
357
498
390
499
494
428
491
333
444
321
514
418
335
491
356
461
503
333
361
458
509
379
383
363
433
384
506
512
380
352
328
436
515
517
361
511
323
425
425
501
372
439
345
416
335
501
372
388
514
413
426
516
400
418
370
438
438
404
507
517
511
371
331
489
377
405
403
322
409
475
409
410
374
404
361
520
496
342
424
379
518
395
391
412
324
328
443
505
509
337
324
422
436
485
465
455
440
471
355
453
439
416
442
455
376
434
323
352
473
449
504
420
355
474
359
399
237
231
219
241
235
249
237
247
238
215
207
244
219
229
218
235
247
218
248
233
238
242
213
216
219
222
229
220
244
239
213
236
215
239
250
203
250
214
247
238
226
242
201
212
212
234
231
216
216
220
243
234
242
204
244
245
234
229
238
231
238
207
246
219
217
208
221
240
223
209
231
224
231
228
246
224
216
241
241
227
204
211
232
219
247
237
205
247
214
216
237
208
248
238
206
220
241
228
207
202
220
236
212
224
208
209
200
250
243
228
234
204
203
241
240
230
204
229
210
244
238
249
231
201
250
232
225
250
218
209
246
243
222
231
207
235
240
227
215
211
235
237
215
203
249
224
211
241
248
206
225
200
249
207
216
246
220
224
247
201
233
239
225
214
242
204
247
222
245
249
231
241
222
249
249
219
205
215
211
249
222
230
233
230
206
241
241
249
214
214
249
248
203
250
248
203
247
206
244
242
232
214
232
236
224
235
204
214
248
235
247
235
217
217
225
248
229
225
215
243
215
210
208
222
247
209
200
218
228
234
238
229
238
203
226
219
228
206
223
242
230
222
203
218
230
241
202
226
219
224
221
234
206
231
228
218
249
205
235
246
237
210
226
238
228
230
243
230
225
221
232
201
248
210
210
206
202
240
218
244
201
213
238
212
214
249
238
250
226
226
228
243
229
250
223
223
237
230
232
249
214
240
239
213
214
232
230
221
225
210
202
213
237
246
211
221
211
247
238
241
217
232
246
221
250
212
237
200
246
226
231
245
216
232
241
244
231
223
200
211
211
238
222
240
222
206
230
234
207
231
207
227
209
234
201
224
250
229
218
250
242
212
209
243
211
235
225
240
240
209
229
246
228
229
228
233
236
216
230
232
242
236
206
205
226
224
204
209
216
207
236
244
202
217
235
223
222
221
219
200
206
231
235
245
229
240
243
217
233
246
238
220
242
241
250
225
246
243
204
231
235
242
212
221
201
233
236
223
237
228
240
210
249
210
245
238
205
248
219
211
203
250
219
206
203
249
244
230
212
203
234
207
248
249
241
233
220
222
211
205
244
226
249
214
202
231
235
213
245
222
228
210
249
214
237
243
214
225
247
207
218
247
216
221
206
228
216
214
226
248
242
241
205
216
218
206
238
230
229
239
218
243
250
250
232
205
239
244
231
250
217
244
211
233
250
226
230
237
243
249
213
224
245
235
225
238
216
250
222
204
249
233
224
213
211
201
242
222
209
209
213
233
233
217
221
237
249
246
206
250
238
234
228
218
205
248
224
248
239
238
245
232
230
226
235
219
216
213
232
250
227
217
241
245
227
212
208
250
243
212
245
216
248
215
236
222
250
233
232
241
225
201
218
231
227
220
229
213
206
211
244
226
223
234
214
248
217
229
216
245
212
219
250
227
224
223
221
226
247
215
247
242
212
239
204
234
236
216
240
215
244
202
208
229
241
210
247
203
206
207
205
216
200
208
246
227
233
202
229
209
236
211
225
216
245
223
218
222
214
247
202
241
235
230
214
201
231
220
243
237
221
228
229
235
235
212
201
210
222
239
245
239
238
230
250
244
233
237
242
202
245
214
211
218
237
232
216
219
243
246
207
232
245
224
211
232
229
237
221
239
247
239
230
206
231
241
222
217
233
202
233
247
224
217
225
236
237
212
211
227
207
217
202
222
246
220
240
211
222
236
243
223
230
225
204
243
209
235
228
231
205
244
220
246
226
204
212
204
242
221
219
214
230
250
234
221
221
233
217
231
243
223
231
215
207
206
208
232
205
242
241
240
247
244
241
200
250
218
211
246
235
210
218
214
236
250
202
224
214
250
241
250
210
223
240
247
226
249
209
243
243
212
235
207
239
207
247
227
202
215
213
221
244
228
211
208
242
202
210
243
239
214
204
204
242
242
233
231
210
211
237
219
228
249
219
230
207
239
245
226
205
226
205
241
205
222
225
235
238
202
224
235
207
223
218
241
241
218
243
204
228
237
220
205
248
228
233
222
202
213
207
217
247
219
239
237
212
249
239
228
218
239
224
234
224
246
204
208
244
225
234
232
245
214
217
203
236
212
224
248
221
205
203
210
220
224
210
237
233
231
222
237
215
217
206
204
218
236
216
234
224
227
216
232
237
202
204
226
213
235
230
222
211
205
209
217
203
214
207
207
211
224
204
223
221
229
250
220
247
245
220
200
225
203
250
210
211
221
209
224
222
220
232
205
202
225
215
224
218
245
229
248
242
205
242
206
249
214
232
224
244
214
213
243
204
244
205
220
234
243
247
207
218
205
238
239
250
245
202
205
218
204
215
221
204
249
232
209
210
225
237
250
233
202
249
210
234
245
220
224
247
249
250
247
221
219
246
250
212
245
230
229
249
221
227
245
240
247
242
226
220
248
217
229
234
249
220
230
231
236
201
230
208
221
236
214
228
243
222
201
231
244
212
217
204
226
208
220
234
237
231
202
223
203
209
249
243
234
211
212
247
207
233
215
233
220
238
208
232
245
248
211
245
245
217
205
201
226
231
203
208
216
201
218
205
247
217
246
245
201
218
222
240
235
247
244
222
214
217
213
213
229
224
208
247
241
223
231
206
239
236
213
234
244
250
221
211
217
241
217
229
245
220
232
225
220
226
240
214
203
247
247
244
205
223
220
250
238
249
248
232
203
239
218
241
208
205
245
207
230
226
220
246
205
222
232
212
210
232
241
246
225
221
215
231
223
220
208
237
214
219
211
225
209
206
235
245
221
200
227
237
230
238
200
248
229
243
213
222
223
246
250
211
215
245
210
242
201
247
223
206
244
223
225
208
220
223
210
239
236
243
238
209
230
218
242
214
227
201
208
215
246
246
216
213
239
243
206
236
221
232
202
218
229
237
204
250
247
202
240
220
201
250
227
220
209
232
245
203
216
201
231
240
235
217
202
225
243
242
227
223
219
202
209
235
226
214
221
224
239
232
238
212
236
204
214
248
202
213
229
206
204
210
203
203
223
207
239
247
231
213
223
226
215
227
244
222
233
215
223
243
221
201
202
224
240
234
219
224
245
201
231
247
208
209
245
215
250
234
218
244
216
203
200
243
215
228
242
210
232
230
203
211
203
205
208
248
225
250
212
223
209
228
209
236
229
246
232
242
217
202
211
243
234
222
222
208
246
217
201
241
239
209
228
235
210
229
229
227
237
236
204
212
201
245
216
237
214
227
229
239
226
220
220
232
242
204
236
216
223
219
216
205
239
200
201
236
229
209
207
209
213
234
223
244
216
203
202
207
218
240
244
221
240
231
215
213
229
245
220
234
220
211
217
218
213
206
249
224
232
237
215
241
241
238
249
246
205
245
237
223
200
210
238
237
218
232
250
229
235
234
232
247
221
217
210
224
230
250
210
200
245
220
219
201
248
245
216
244
236
221
235
208
227
201
204
223
243
250
204
212
203
224
224
236
224
235
238
240
244
247
228
201
229
223
214
201
236
209
235
233
229
204
231
244
236
233
246
244
249
203
204
241
217
235
216
246
231
201
227
249
236
247
212
229
247
244
246
203
212
238
228
212
216
245
230
208
245
225
205
214
230
213
244
213
228
219
209
213
209
249
207
235
241
234
206
246
236
227
244
216
228
250
208
210
221
247
229
250
232
242
223
200
205
220
208
232
210
248
223
225
246
205
203
244
241
208
240
232
208
211
240
248
239
235
205
230
246
244
216
210
237
222
200
206
248
201
210
244
203
222
211
242
239
222
211
250
215
240
232
236
227
225
239
209
225
235
244
231
200
214
244
208
200
222
221
214
204
214
239
210
219
210
218
225
216
229
227
213
211
223
231
226
243
238
231
243
215
227
206
231
228
249
228
208
204
238
207
237
231
225
222
226
227
237
216
240
213
217
234
245
245
249
222
200
203
219
211
206
234
200
225
203
218
229
245
225
227
240
230
219
244
208
211
247
248
241
210
246
245
246
221
236
221
211
213
211
247
229
230
235
233
230
225
229
201
214
201
210
244
244
208
210
205
216
202
229
220
217
243
241
200
202
234
225
240
207
222
226
244
203
203
223
223
206
225
201
228
233
237
250
222
239
226
223
206
201
244
227
208
225
246
209
201
217
200
223
237
231
215
231
206
229
237
247
211
227
212
242
221
238
213
228
238
247
208
249
228
215
241
220
239
205
218
228
203
222
246
202
220
226
225
242
228
224
204
226
215
245
229
210
224
235
218
239
203
226
220
207
229
243
223
233
202
239
225
210
212
219
202
201
234
213
239
211
203
240
234
249
206
213
209
227
222
232
234
210
203
220
232
247
218
202
227
200
212
234
220
238
227
246
241
234
245
219
216
238
212
246
210
240
208
250
245
219
222
210
204
230
234
232
238
209
213
207
241
234
224
242
240
217
212
244
243
242
213
218
234
205
229
200
229
239
222
247
205
249
238
233
237
227
250
242
211
249
216
229
221
224
239
245
247
211
203
228
213
202
200
216
208
215
228
221
239
250
204
246
216
216
246
239
218
208
220
202
237
208
235
210
243
229
246
216
224
247
242
236
243
206
239
215
210
200
205
204
215
249
204
209
238
223
247
211
211
232
236
247
250
200
203
201
248
244
214
237
214
206
205
247
235
241
219
239
220
240
224
239
247
214
247
237
222
235
240
215
225
224
209
202
244
250
214
244
249
225
236
202
205
212
242
209
224
210
239
200
247
247
210
208
201
212
247
246
205
247
233
237
208
240
239
225
246
214
240
203
233
239
237
222
244
215
202
245
246
247
231
231
203
231
208
215
230
235
231
250
249
236
215
201
242
218
225
246
211
217
243
250
247
243
211
218
245
242
234
220
214
231
248
209
213
222
216
215
230
235
213
206
212
232
218
210
237
227
227
232
216
228
231
243
233
206
229
228
221
237
207
235
227
224
240
218
232
203
216
249
208
227
210
231
230
249
204
249
200
204
207
228
244
214
213
200
220
233
214
208
244
202
233
219
211
235
233
229
227
234
247
243
222
220
209
205
243
246
207
211
205
216
239
205
241
210
221
237
236
247
250
226
241
209
206
229
205
205
242
222
213
241
248
224
207
229
243
230
207
211
218
232
204
206
204
226
216
232
208
205
232
240
249
227
230
209
236
217
225
200
243
219
228
214
227
248
236
233
201
222
214
208
216
216
202
219
221
211
241
207
227
225
201
243
228
215
212
215
240
230
231
211
239
240
245
203
249
229
237
241
229
232
203
245
211
218
247
230
228
248
210
239
242
203
211
238
227
227
225
213
218
242
204
201
240
213
250
210
211
206
222
235
236
223
216
247
220
213
246
206
244
247
210
212
247
233
223
231
222
214
236
232
236
223
226
206
218
217
211
238
206
201
231
212
203
230
223
239
230
237
231
231
204
229
246
233
214
234
204
229
242
206
239
200
246
249
241
224
222
224
235
241
238
221
216
234
202
201
229
226
249
226
207
240
250
249
215
219
246
227
235
222
227
232
219
247
238
227
225
245
231
240
202
221
221
202
213
247
232
246
213
207
238
202
208
208
249
237
209
250
215
219
222
237
243
201
224
241
200
212
233
211
216
237
239
228
246
249
213
237
221
208
246
217
246
223
248
203
232
234
203
233
233
247
234
234
228
225
222
216
225
230
204
246
202
247
225
209
213
228
230
231
216
235
229
242
202
232
226
205
226
248
217
228
238
216
249
200
230
225
242
218
204
247
200
238
203
250
240
214
220
231
243
233
206
234
229
222
202
227
202
220
249
249
220
212
239
238
222
219
250
229
206
204
222
223
219
218
207
202
203
243
233
220
222
248
203
226
225
202
231
227
232
237
208
205
209
247
247
215
210
201
219
229
219
225
213
241
242
247
236
205
223
202
242
221
203
206
202
225
249
244
209
232
229
201
211
244
208
245
229
226
221
247
241
228
244
244
212
201
239
229
212
207
236
209
227
213
250
216
250
239
241
229
248
200
209
212
228
200
227
233
204
207
217
245
237
248
232
205
224
209
205
236
218
216
207
246
250
226
212
239
231
200
224
204
241
205
204
225
235
233
229
217
233
238
249
204
211
250
204
213
207
230
224
241
237
202
203
335
422
398
492
406
514
362
325
488
358
367
411
323
456
416
362
423
372
498
422
498
380
424
407
509
476
360
500
475
385
460
344
392
374
452
407
360
438
428
411
379
341
327
494
381
487
370
460
378
364
323
498
445
344
478
452
425
342
381
338
511
436
419
350
332
345
509
499
407
385
406
483
342
474
475
440
462
348
505
365
414
333
505
401
468
389
363
473
481
484
494
505
429
326
340
496
475
367
413
354
476
394
343
377
501
340
438
355
426
426
454
411
331
320
484
520
398
503
348
471
409
365
374
369
401
500
372
503
418
396
423
450
460
418
341
398
363
411
385
492
374
507
476
457
499
411
508
462
486
355
500
443
338
455
400
498
453
387
410
444
352
467
498
375
347
323
486
511
328
406
473
435
435
460
371
374
387
351
511
468
388
430
355
451
428
433
417
345
476
353
483
468
375
442
386
475
346
477
460
502
465
384
435
356
405
427
397
336
331
422
463
323
335
479
405
365
342
507
322
390
500
350
411
481
405
404
439
405
425
466
448
491
486
354
415
444
461
327
420
382
393
415
449
336
456
441
510
468
383
385
489
358
399
363
506
425
453
391
412
515
396
344
326
511
440
514
340
410
320
324
371
387
354
368
356
408
470
400
430
392
403
364
354
376
366
325
339
422
335
461
497
388
469
519
445
487
355
397
434
368
324
411
340
454
456
347
501
420
361
434
348
419
322
381
453
368
465
405
510
351
354
370
393
466
491
504
336
482
395
417
467
385
324
497
465
415
471
385
409
322
496
406
502
359
392
510
410
388
498
478
374
397
514
472
514
415
462
333
477
444
364
357
404
465
387
326
461
410
320
381
490
479
328
414
449
496
450
490
479
337
406
468
474
337
498
419
472
492
483
422
477
472
438
355
494
344
347
341
453
510
478
394
408
462
365
370
353
449
368
346
446
518
441
466
381
493
396
505
403
350
482
342
505
475
381
449
485
374
442
374
391
473
510
394
400
517
396
483
404
418
507
434
423
479
455
427
438
418
431
343
377
488
323
355
463
512
492
346
507
370
435
492
371
510
511
322
493
415
342
380
399
392
403
329
406
492
370
389
365
362
390
443
333
341
493
391
382
362
435
423
463
438
466
460
388
458
424
349
363
376
479
382
463
478
412
347
427
471
475
473
466
512
459
377
468
467
462
409
424
490
506
487
344
321
407
465
341
334
452
338
454
389
365
411
332
456
336
503
418
321
476
400
395
452
398
432
434
377
439
481
503
327
483
419
357
433
328
362
379
339
407
416
472
491
501
457
377
449
464
446
422
333
352
452
428
372
489
466
398
403
443
368
460
354
495
389
411
344
479
369
495
332
350
493
400
397
489
422
333
425
482
350
512
454
405
432
339
481
409
490
361
468
510
427
415
410
352
336
436
370
472
437
400
324
473
440
442
399
380
329
473
406
408
514
455
508
400
379
338
359
333
408
334
337
381
486
361
375
325
333
400
404
340
326
469
481
356
324
327
351
372
407
489
460
399
515
494
490
375
484
359
490
514
330
378
380
515
379
344
462
391
513
451
501
397
508
395
494
492
336
450
480
435
434
368
508
466
493
516
512
423
450
357
361
430
403
345
451
489
381
333
411
328
476
477
418
504
407
517
411
413
335
415
479
394
363
424
356
378
470
439
418
499
469
467
502
427
499
444
390
418
506
373
449
478
465
323
440
364
488
425
397
394
386
424
487
345
363
418
344
320
400
339
352
349
326
406
441
468
477
344
444
468
357
338
353
361
422
435
469
509
425
369
487
517
416
518
390
371
322
346
373
335
365
443
505
517
382
401
445
324
415
416
497
336
489
499
373
398
399
355
499
359
359
399
422
438
504
502
409
385
433
362
343
325
443
459
447
417
328
500
486
483
501
452
331
420
474
405
470
346
418
449
358
440
399
518
396
339
394
385
517
339
390
458
475
478
374
331
352
443
320
461
332
388
340
321
396
456
327
484
498
333
425
391
430
515
458
506
414
428
354
350
484
505
505
491
340
367
503
478
361
335
388
330
474
357
440
518
503
457
440
341
368
411
445
357
493
365
424
360
464
458
440
434
509
506
501
518
479
468
460
445
416
332
320
346
364
473
395
480
424
504
413
336
394
356
486
454
340
504
480
515
365
411
455
344
325
492
366
419
515
395
481
455
358
495
373
476
505
346
454
506
437
440
362
362
369
442
333
390
422
374
503
507
516
451
334
486
395
453
487
382
371
413
504
422
334
496
410
376
488
322
394
497
352
481
411
443
490
350
354
385
459
335
499
490
518
475
462
517
471
328
487
328
381
411
410
399
363
498
364
408
488
346
464
439
340
415
462
438
443
460
386
424
486
387
445
342
460
405
505
370
506
410
355
344
487
510
394
353
422
438
322
502
463
515
346
468
404
470
454
417
346
328
486
449
520
372
490
463
322
514
443
357
478
376
375
413
350
422
422
425
333
402
398
480
496
448
381
415
387
324
348
390
407
394
464
492
490
326
376
417
435
389
363
483
459
389
484
494
443
505
427
449
427
407
465
445
504
501
513
394
482
338
350
408
429
424
384
449
513
353
372
421
366
401
448
439
448
409
450
350
500
509
383
429
450
423
327
459
383
432
498
371
327
471
358
516
438
431
387
352
472
346
411
481
361
435
371
417
507
378
471
336
346
418
475
512
350
453
411
344
323
321
431
461
403
469
404
378
355
390
487
414
488
485
462
457
461
436
451
395
351
369
382
471
404
448
490
366
514
501
335
381
411
342
391
323
359
499
360
512
394
469
345
385
450
480
435
394
466
479
402
496
448
453
504
425
455
323
510
475
421
501
352
465
394
431
348
429
402
442
500
383
347
462
456
334
330
339
436
377
389
488
396
416
420
382
436
500
335
411
323
404
357
328
320
418
391
515
340
466
509
438
414
419
504
386
320
484
471
441
451
496
355
327
326
478
399
395
391
509
352
347
443
461
344
483
353
465
466
481
369
335
395
388
393
376
402
482
429
470
392
368
466
435
474
462
367
354
350
434
435
358
416
360
479
372
373
493
487
503
387
464
405
374
474
511
352
377
463
475
377
466
478
352
389
382
371
421
455
466
480
378
453
434
494
482
431
341
508
343
332
437
457
467
418
416
354
500
475
362
367
338
343
468
387
331
397
408
447
431
454
446
322
408
332
327
442
418
491
489
446
482
501
321
380
498
466
385
335
344
462
391
396
429
407
451
436
368
330
404
335
520
446
484
362
514
322
473
451
349
339
413
345
391
399
451
396
496
358
476
497
450
384
375
486
412
415
490
354
331
366
405
440
468
502
437
328
493
349
424
416
494
432
441
506
497
362
466
400
475
377
423
373
460
496
507
330
510
445
494
372
478
441
467
426
347
478
365
381
505
419
346
480
445
465
341
421
328
401
411
384
402
378
388
486
489
499
463
352
394
326
461
475
466
453
374
486
451
401
386
413
343
371
439
442
425
374
434
387
333
484
448
363
342
337
506
351
356
426
510
480
405
490
388
431
354
463
506
508
403
473
454
454
477
472
326
498
374
480
459
322
381
487
381
417
491
441
391
397
383
470
484
478
506
387
416
356
441
518
480
328
475
510
363
378
459
408
487
485
483
455
494
455
474
432
379
376
322
514
350
410
475
327
373
498
467
491
370
435
481
330
460
374
424
402
365
320
452
517
390
320
473
335
380
415
399
383
517
368
479
491
460
338
435
493
370
472
389
452
478
383
448
486
438
349
432
371
423
449
473
471
475
389
431
465
495
342
489
389
357
505
369
333
494
374
358
366
379
384
453
450
399
417
479
491
373
355
327
483
364
488
450
397
440
518
472
473
482
510
518
481
411
387
361
429
327
343
402
465
397
383
356
447
477
420
500
456
519
506
499
409
335
405
456
503
373
462
513
441
335
499
506
466
375
397
336
392
330
475
338
446
345
464
483
481
392
407
352
482
343
335
348
404
450
342
346
332
338
473
331
452
488
396
475
382
356
409
483
347
385
423
487
477
373
455
352
415
400
488
334
512
352
433
436
373
430
520
380
382
457
371
434
425
443
400
488
337
379
330
406
515
509
428
375
326
518
518
357
432
419
436
499
490
494
387
353
355
407
422
493
399
448
513
394
440
426
485
505
469
414
376
475
323
431
424
484
352
384
394
330
372
395
444
474
399
363
501
505
454
403
416
398
331
457
502
320
387
372
328
422
333
452
360
332
486
390
432
415
350
376
483
391
427
371
449
376
447
505
513
456
473
474
501
351
370
345
497
337
467
386
460
477
321
346
474
350
386
332
509
443
410
355
349
336
423
337
380
456
472
348
445
343
359
437
483
431
338
372
373
334
356
484
504
379
395
350
386
393
493
423
474
504
429
347
367
452
359
328
386
484
412
353
402
503
496
459
388
489
370
435
468
449
335
406
353
414
409
519
476
472
433
364
445
344
431
325
453
415
341
358
382
467
389
482
452
355
501
328
402
419
444
499
430
400
469
372
437
324
496
359
434
362
379
326
401
475
445
491
520
423
358
499
472
508
450
425
401
417
484
436
339
439
495
337
416
461
504
452
369
509
389
401
354
416
366
490
454
331
491
331
378
415
466
341
400
495
332
475
511
412
447
490
394
493
390
366
481
342
324
467
490
500
469
356
392
483
508
438
449
434
518
432
465
366
409
517
466
431
430
328
496
459
453
442
426
369
436
379
509
397
469
375
433
411
473
499
404
419
343
471
423
363
508
456
354
372
452
377
481
496
336
452
423
365
484
498
419
343
383
337
407
446
509
332
348
464
453
391
518
366
492
320
391
373
327
326
356
409
391
505
378
450
486
375
399
393
517
337
325
470
429
403
324
329
426
327
392
327
391
477
323
367
433
431
487
328
497
490
449
389
490
477
468
515
475
387
332
477
440
418
493
417
513
327
387
368
475
450
415
397
349
371
402
442
389
391
392
431
506
418
337
483
378
397
448
504
484
376
415
321
342
387
515
343
504
338
361
406
325
385
386
329
341
515
466
462
441
486
511
464
444
351
358
491
437
405
507
474
418
354
409
452
329
435
469
516
339
475
429
364
442
490
452
518
438
472
498
326
448
349
431
327
336
323
358
433
348
327
434
325
412
496
406
433
424
496
334
419
501
329
345
377
405
491
379
477
485
508
496
392
393
433
493
445
335
478
362
484
463
424
469
479
496
339
350
499
397
346
431
412
443
482
510
484
354
416
395
461
511
444
462
454
433
478
330
507
370
321
471
384
357
374
365
346
423
320
321
506
464
355
407
321
455
438
410
452
330
353
451
350
454
345
511
372
382
504
430
386
403
468
444
385
446
346
334
428
373
513
343
335
433
419
390
327
334
366
440
418
446
489
482
518
514
497
508
465
345
451
506
492
348
511
471
326
328
474
459
361
346
491
443
380
511
242
232
205
224
208
225
219
245
229
226
244
243
200
246
231
212
212
231
241
226
245
227
249
205
203
209
203
234
239
216
242
227
215
237
235
233
220
227
244
208
200
245
214
242
220
244
211
230
235
228
245
217
201
221
244
214
214
239
218
225
206
216
248
239
224
243
214
249
201
217
202
208
225
221
200
210
245
228
208
249
246
229
236
244
232
230
235
236
207
208
205
233
206
204
216
230
250
236
207
209
243
209
246
239
244
218
229
217
233
242
204
241
227
232
204
237
249
230
232
244
209
210
218
227
210
238
227
236
220
233
236
233
203
238
219
233
211
225
249
210
210
249
235
244
239
208
226
220
200
216
222
212
214
226
224
207
229
205
200
205
207
211
225
214
229
212
204
238
222
218
250
225
213
205
228
214
203
222
231
234
209
241
237
227
209
232
205
245
217
212
210
250
238
236
227
209
207
229
208
230
212
227
230
229
246
210
217
215
228
205
229
213
219
218
212
202
242
208
226
201
232
211
243
222
240
207
222
232
212
212
205
226
244
250
225
201
231
218
237
220
213
215
241
246
237
240
228
243
204
233
247
232
229
212
233
214
216
208
210
204
201
214
236
238
214
219
227
236
215
204
237
239
216
246
233
235
213
225
250
215
242
205
229
204
204
223
223
226
210
221
217
203
230
215
247
241
217
221
221
221
221
250
222
237
226
231
242
212
219
235
240
202
238
226
203
207
213
234
244
208
225
221
209
230
241
231
217
219
244
209
212
222
207
241
203
234
238
249
241
213
210
244
214
227
219
212
242
239
221
214
247
219
223
236
225
205
232
249
207
248
245
221
218
209
244
226
238
243
216
203
204
248
237
228
216
208
225
238
215
232
209
249
204
247
248
209
244
233
212
250
234
244
233
230
230
246
202
231
241
230
207
235
239
206
210
211
244
206
216
217
236
226
247
216
244
245
208
234
235
240
236
227
224
238
213
200
204
221
203
228
244
228
246
210
206
224
225
218
212
227
240
227
209
239
205
207
240
237
221
229
207
218
237
244
217
246
215
219
238
235
215
226
235
212
217
237
248
208
214
206
219
245
216
208
226
229
222
248
225
206
240
246
233
204
203
234
250
211
243
204
237
212
248
247
248
207
217
245
216
242
218
208
204
231
248
250
224
249
203
229
227
210
207
241
220
244
232
224
232
224
203
239
250
215
226
211
221
230
226
222
209
223
231
208
224
248
237
231
225
207
227
235
224
218
233
224
216
243
226
221
214
202
215
224
216
237
246
239
239
213
237
232
250
247
224
245
204
205
231
241
224
236
213
247
207
211
213
205
224
228
245
215
216
214
248
217
211
209
237
214
227
225
246
212
224
231
225
249
236
204
204
209
239
207
210
228
208
229
248
206
208
250
244
230
247
202
211
240
245
203
202
230
233
249
205
243
247
232
229
245
208
212
210
243
244
203
233
206
209
245
204
231
242
204
250
235
233
241
222
210
237
220
236
202
249
226
242
225
220
230
202
219
203
237
230
215
234
219
211
238
238
243
227
224
206
214
217
207
250
250
206
231
207
209
229
203
229
238
219
239
209
200
211
215
220
201
228
221
239
243
222
220
204
227
242
230
213
220
227
203
222
235
223
248
221
242
221
235
200
250
207
227
236
211
227
221
227
211
219
226
221
204
250
209
216
229
211
227
208
233
235
206
233
214
239
211
241
207
235
235
238
248
202
230
216
200
237
244
212
211
208
210
236
217
250
210
213
245
226
205
244
224
217
234
209
250
222
239
230
213
250
247
206
248
200
209
223
211
239
238
246
248
240
234
230
220
237
201
228
250
210
213
227
218
219
220
201
203
220
225
207
208
215
205
222
224
220
235
231
225
205
210
243
249
203
215
207
232
231
201
222
217
225
242
223
235
239
236
201
236
249
205
233
234
224
233
237
218
206
214
240
204
238
216
225
241
217
238
237
209
205
221
238
240
238
207
202
224
225
223
224
226
243
245
223
229
233
214
220
250
214
243
216
212
212
235
248
201
246
243
225
239
206
216
234
248
202
233
216
233
205
210
230
249
225
249
211
233
206
229
237
200
210
212
220
214
216
249
218
218
241
219
248
238
208
212
236
242
215
203
250
237
207
233
210
240
226
203
246
238
216
203
243
220
238
241
238
205
230
204
247
250
200
215
222
209
250
237
215
244
237
209
216
223
228
247
210
207
221
216
214
222
213
227
233
221
201
242
250
246
220
249
233
235
220
217
218
238
230
230
244
201
219
233
214
247
229
245
219
207
210
230
239
237
226
243
234
208
231
238
245
219
229
234
200
246
208
245
238
205
206
219
237
229
241
202
224
236
200
203
248
218
247
213
211
230
217
242
235
218
203
207
203
233
201
223
203
224
228
245
243
246
204
243
233
214
201
222
209
245
248
234
219
201
241
223
221
217
221
236
235
237
208
232
227
207
206
226
201
212
225
228
246
215
234
230
210
235
231
207
241
227
235
213
205
244
241
202
243
236
234
245
213
208
220
202
206
206
220
224
206
210
249
226
238
227
209
246
237
230
244
248
250
209
231
247
238
248
229
219
249
211
208
238
207
224
201
220
211
216
237
200
246
208
249
236
227
237
232
203
237
243
243
240
202
218
233
209
226
211
208
229
225
220
236
214
244
221
227
239
204
208
201
216
230
215
229
223
201
247
250
219
232
218
219
250
204
217
230
244
204
216
219
228
246
231
248
234
229
217
213
223
210
223
237
239
233
243
202
223
216
202
200
247
236
235
218
208
246
232
241
237
217
229
220
235
240
242
222
234
236
201
225
241
246
244
229
242
240
210
239
213
226
241
214
209
240
230
207
203
229
211
233
202
246
233
236
246
200
205
241
212
205
209
215
239
201
218
210
225
202
223
247
250
213
222
220
249
203
208
218
209
249
248
226
220
227
247
208
241
231
241
246
204
246
235
228
235
208
210
239
246
204
233
214
201
245
220
217
227
242
228
221
227
214
206
206
224
209
234
242
219
212
210
219
207
238
201
245
203
238
207
250
231
224
211
223
206
239
247
209
230
231
236
237
238
204
220
223
232
218
237
204
230
230
233
248
225
219
236
249
201
222
208
226
233
247
235
227
238
239
202
224
230
223
237
206
232
242
242
230
246
244
203
222
201
221
217
201
211
208
208
216
233
219
237
235
241
242
209
229
201
209
221
212
213
223
210
220
213
241
229
249
205
238
249
227
236
212
202
248
227
240
208
246
234
229
213
226
228
214
227
241
239
217
206
227
247
223
233
230
243
243
222
227
236
248
223
227
204
243
236
212
202
246
215
224
219
239
202
204
249
202
222
226
243
228
216
215
234
204
226
215
240
237
227
230
210
247
217
203
244
239
202
240
212
206
225
231
249
249
246
208
246
239
243
243
219
207
219
207
215
215
209
220
243
212
211
214
249
222
203
249
235
238
225
208
249
219
213
220
234
212
240
219
225
242
236
226
241
205
215
229
250
226
207
208
209
212
233
213
226
230
238
245
242
224
218
245
220
250
227
247
208
224
229
245
240
244
248
212
200
206
206
226
217
222
203
243
247
212
234
239
201
240
210
246
218
207
219
209
215
239
220
231
241
218
218
214
203
220
222
211
202
230
208
213
209
234
228
232
202
242
216
228
238
241
210
232
202
212
248
218
213
218
208
238
217
245
200
242
231
213
236
217
229
228
240
245
209
232
247
203
243
218
206
222
241
213
238
211
244
221
209
204
240
245
229
221
208
211
249
204
223
248
218
237
220
225
243
249
233
243
202
216
235
244
200
206
215
219
225
202
227
239
207
240
225
231
234
240
235
215
205
220
200
246
208
218
202
215
241
234
216
226
207
205
249
212
202
206
238
219
221
235
223
237
228
225
224
211
243
248
238
200
210
223
213
210
200
208
208
214
227
245
213
209
216
208
209
208
238
207
224
248
245
250
215
237
225
212
234
233
235
243
233
205
246
209
226
229
227
200
219
231
204
229
202
235
202
223
239
213
243
212
213
206
225
203
201
231
213
245
215
205
212
212
235
228
248
214
222
227
203
223
248
212
221
230
228
220
208
236
233
205
247
233
243
240
201
245
245
242
202
210
200
202
240
239
218
212
211
218
211
232
207
220
244
203
250
223
200
249
201
218
244
213
204
221
219
211
246
208
202
230
215
206
223
249
202
223
200
227
236
234
209
219
201
210
213
248
231
219
215
231
208
242
230
220
229
231
232
203
222
223
203
234
203
218
200
249
208
220
234
219
214
239
215
245
209
247
243
205
228
241
245
239
202
249
233
217
219
243
205
225
201
203
228
209
243
211
204
215
220
243
246
222
236
229
241
227
216
238
230
200
205
216
219
216
213
207
246
203
239
249
221
239
230
225
208
226
249
238
230
205
222
249
239
224
236
203
212
228
242
244
242
211
246
242
236
233
222
226
207
241
242
243
236
245
233
249
214
211
202
234
215
232
220
232
213
220
205
228
244
216
214
237
214
233
220
244
219
244
232
224
222
212
244
206
236
242
213
238
224
202
219
219
246
238
230
207
248
212
223
203
214
220
244
229
224
240
200
229
221
243
236
236
245
215
219
243
216
233
200
236
241
227
219
226
216
213
244
235
206
249
231
209
240
206
249
246
246
212
240
208
223
239
223
206
214
200
225
205
245
244
237
202
216
235
210
204
234
206
233
210
225
239
219
234
218
224
249
214
216
224
221
242
211
234
228
233
222
245
215
207
202
230
202
216
207
206
204
220
211
250
212
215
201
207
210
248
231
220
216
225
211
234
211
220
233
247
212
225
204
229
232
217
231
248
248
240
211
215
227
215
216
230
212
242
237
246
229
247
209
200
202
203
210
217
218
229
250
237
248
220
233
250
219
215
237
246
229
240
224
226
215
213
233
250
229
247
235
224
247
227
204
244
223
209
246
201
238
243
222
204
230
209
202
235
241
206
247
205
227
224
215
233
250
220
203
210
249
230
229
207
233
238
229
242
245
221
205
221
228
201
247
230
243
213
218
213
208
226
221
216
217
217
224
236
210
213
250
224
209
243
230
214
209
219
202
238
218
241
243
216
240
224
215
222
247
236
227
231
220
249
248
218
203
246
205
215
235
223
237
215
220
223
218
208
236
208
212
228
209
246
243
234
210
244
233
211
204
202
246
212
241
240
239
232
227
228
225
216
223
214
239
238
218
234
249
223
249
212
209
216
244
227
249
220
211
239
228
239
224
202
242
239
234
202
237
201
200
217
210
224
203
225
235
210
204
250
215
249
228
242
241
211
247
229
239
241
200
229
230
249
240
202
204
225
236
232
242
227
220
214
220
234
234
223
201
250
218
229
200
207
246
201
243
240
245
243
216
219
218
203
232
245
212
226
247
202
237
234
208
245
230
205
247
206
250
250
218
231
215
206
217
211
218
202
222
214
209
214
229
246
221
219
219
210
233
209
218
222
202
245
208
226
211
201
206
242
220
250
230
237
240
239
238
250
235
204
248
235
200
248
238
216
222
203
237
242
212
226
204
208
247
248
233
216
224
223
229
224
215
239
245
227
241
207
221
208
224
247
228
225
236
244
238
230
242
215
200
228
219
208
234
240
228
211
219
215
227
237
214
219
222
220
231
244
217
219
249
216
213
242
201
223
239
248
232
249
236
202
215
211
212
213
220
206
220
232
213
214
202
245
248
249
238
245
219
218
246
235
235
206
227
239
238
231
204
241
213
239
209
244
216
217
241
240
242
235
200
210
204
206
219
214
243
205
211
207
205
213
224
230
214
202
234
232
221
201
243
231
238
228
238
230
245
211
237
234
203
222
218
246
201
227
238
240
220
227
213
236
246
208
244
250
219
212
226
224
234
202
249
226
210
209
221
200
208
223
212
200
231
242
205
203
201
245
242
228
233
236
209
235
233
205
219
250
243
228
200
220
229
239
246
212
248
220
240
221
224
225
217
248
233
219
217
204
225
224
227
200
222
206
228
203
201
226
236
231
221
234
222
228
214
238
226
216
206
244
208
248
223
235
232
219
216
218
238
222
246
204
246
209
214
233
244
207
220
217
246
213
208
222
216
231
250
214
247
237
207
200
238
249
201
206
211
207
212
215
213
204
212
232
230
235
231
224
238
224
218
245
205
248
245
207
213
221
249
240
244
227
227
222
206
239
231
237
211
222
237
238
211
222
212
244
249
248
211
228
213
212
217
229
216
243
230
204
250
232
208
227
228
231
235
211
215
229
230
203
204
225
242
210
219
217
230
235
249
209
248
238
212
237
222
219
232
210
200
240
246
229
201
241
246
231
250
211
223
232
243
241
221
218
219
247
203
212
221
235
214
207
233
246
227
214
201
218
218
223
217
236
217
227
200
224
226
244
239
235
212
204
203
201
219
217
214
244
229
233
227
211
200
203
224
202
247
215
234
242
226
233
242
204
239
209
227
221
219
227
240
248
218
234
247
226
246
204
209
248
236
238
239
249
232
242
239
232
225
237
240
250
218
241
236
204
235
233
219
247
237
215
246
245
237
249
229
231
226
202
225
203
209
213
250
201
243
245
221
244
200
230
240
238
213
219
244
245
229
202
228
223
247
235
243
203
239
218
238
226
202
240
203
242
225
223
224
230
239
221
240
204
241
249
203
212
204
205
249
224
218
208
209
219
203
228
232
229
246
231
249
245
248
240
226
228
244
220
207
229
226
240
228
238
244
232
228
211
248
211
236
202
232
239
242
227
201
200
233
202
207
204
208
236
213
232
216
227
200
248
214
220
236
206
207
219
205
231
219
234
222
245
235
201
241
245
219
235
228
237
214
240
222
231
248
244
250
210
230
200
244
215
248
206
236
207
204
207
203
235
250
227
212
245
213
214
221
209
210
204
236
205
215
237
223
223
222
217
239
206
248
249
248
223
211
218
244
218
203
229
242
229
222
201
211
238
249
246
225
203
205
205
200
234
216
250
216
224
220
239
235
218
244
232
250
212
203
220
204
219
212
210
230
204
246
247
246
202
234
227
231
208
250
234
240
230
243
232
210
224
217
207
209
227
214
236
233
204
231
213
236
222
209
243
240
207
219
235
225
202
200
228
215
200
205
211
224
241
226
208
238
202
207
239
250
214
217
250
232
250
215
220
218
214
220
220
231
227
244
245
204
234
239
205
244
239
238
218
240
231
225
205
231
234
215
218
203
200
202
247
213
236
244
210
228
209
215
243
210
232
202
201
232
237
249
200
250
229
200
214
202
209
222
248
230
250
229
224
235
228
214
244
231
205
234
220
217
237
202
231
241
247
216
209
226
250
217
206
234
246
220
231
221
216
233
226
250
201
213
206
204
214
241
208
223
218
248
228
202
245
235
232
220
244
231
222
244
248
200
246
200
201
227
239
233
231
218
244
228
220
207
226
225
206
216
214
215
201
208
227
212
233
201
247
225
206
247
218
227
202
212
232
242
206
235
226
242
229
228
226
231
213
230
234
249
200
238
227
242
243
239
231
234
210
212
216
237
232
200
201
209
201
236
205
235
243
227
232
227
220
204
209
219
210
239
235
232
210
211
206
242
208
201
223
250
200
212
203
213
207
201
206
208
240
218
235
230
231
229
246
212
243
217
248
217
206
237
231
223
235
240
246
225
226
225
218
221
242
219
211
247
212
213
217
202
240
221
217
211
240
244
226
217
237
200
245
242
218
233
215
237
214
238
246
219
236
235
211
238
224
213
245
211
241
228
227
240
250
210
237
242
208
246
243
225
229
203
226
239
219
210
210
220
244
213
234
206
230
209
219
209
234
227
240
219
214
241
217
230
221
225
234
234
220
216
210
214
237
215
219
202
203
211
230
234
241
205
208
211
230
249
210
229
239
235
201
224
250
241
202
226
233
245
222
200
224
210
201
224
240
202
218
227
218
234
222
224
209
208
237
239
203
239
247
230
235
216
220
207
200
249
246
205
248
239
221
236
245
208
238
230
201
205
207
214
213
245
245
206
221
229
223
234
225
233
213
229
227
201
210
205
201
233
208
225
223
249
239
202
244
218
247
240
241
202
221
216
235
210
208
200
217
206
204
239
218
226
246
205
248
209
210
248
214
229
200
242
219
234
213
218
200
216
224
219
200
227
234
207
221
210
206
213
241
238
201
248
245
220
214
245
217
242
232
215
219
200
225
209
232
244
235
201
214
244
202
204
250
245
243
217
205
247
217
202
226
221
203
211
204
237
219
210
232
246
231
230
239
206
250
220
243
245
225
220
245
206
200
211
239
231
248
245
225
213
241
250
220
220
201
216
250
237
236
227
223
240
250
238
234
219
215
220
229
219
247
245
241
213
212
219
239
218
230
203
244
209
245
246
221
206
200
233
211
249
237
210
243
224
214
203
202
237
222
216
210
233
245
226
219
245
249
225
205
228
226
201
246
237
246
222
215
219
248
214
228
250
243
211
200
232
232
248
202
222
217
235
220
210
218
239
222
246
238
207
210
236
201
229
222
244
209
220
203
250
219
217
217
224
218
208
221
215
221
213
227
226
216
201
210
213
204
217
232
240
235
228
231
245
216
222
233
200
247
222
236
244
204
247
225
209
201
245
226
225
243
212
231
219
200
240
247
219
232
229
213
243
240
221
229
209
218
247
204
220
238
207
228
212
214
227
222
237
235
224
219
221
232
217
228
237
201
241
220
208
217
220
204
232
219
216
248
250
201
201
205
243
229
211
240
250
237
215
222
239
240
237
217
227
239
203
223
218
228
209
247
228
238
200
250
245
215
229
220
238
222
213
238
209
200
209
205
211
204
211
243
227
204
223
205
244
217
206
237
226
236
202
236
205
210
245
244
233
215
213
211
227
224
236
246
248
207
236
232
236
220
205
227
205
237
231
245
204
245
208
215
223
246
240
244
331
436
348
367
484
489
394
443
487
459
481
435
399
361
451
419
462
373
413
441
501
438
519
372
416
386
340
419
520
348
434
391
320
396
351
507
378
347
327
432
500
509
414
443
334
446
364
518
461
323
516
486
349
413
454
320
451
482
320
423
475
478
477
415
426
329
439
357
484
472
397
325
397
372
486
350
426
481
380
513
364
445
498
415
349
408
352
376
497
327
508
468
512
484
356
322
378
373
434
504
329
415
486
394
461
503
332
432
344
515
433
362
424
454
456
505
381
373
357
361
494
391
441
473
493
465
351
432
344
435
420
320
429
513
343
327
383
366
510
419
478
328
431
416
417
409
345
433
398
369
423
334
448
446
404
404
415
501
322
499
375
501
422
418
453
382
477
350
441
329
377
360
516
351
418
370
471
480
451
422
372
496
324
440
380
438
505
385
494
391
434
508
442
370
343
489
464
404
369
373
351
421
464
475
322
373
320
361
348
453
460
492
352
472
421
351
361
353
502
462
354
483
389
422
450
344
517
468
336
446
467
432
471
451
384
392
432
405
471
467
467
452
479
338
320
418
346
468
411
451
441
409
511
428
436
487
489
482
403
493
435
370
393
351
429
367
379
334
428
382
462
374
468
496
448
330
330
396
490
510
344
440
440
508
482
388
345
481
411
413
415
385
434
451
491
417
353
511
516
485
495
370
385
418
376
520
447
480
432
351
456
409
413
473
373
400
403
450
345
482
501
324
483
322
386
454
332
510
430
352
507
499
412
363
348
488
412
380
460
372
476
500
330
353
508
489
364
371
387
403
343
482
408
396
396
487
391
438
508
441
408
348
439
346
356
335
321
496
487
379
367
438
514
336
461
322
453
473
434
461
505
330
492
514
439
462
383
506
463
420
439
421
486
460
479
413
459
478
416
320
507
420
403
321
323
474
438
379
357
355
333
392
384
498
397
516
503
371
373
408
383
505
513
411
437
438
421
409
413
499
344
413
506
330
496
387
327
407
507
506
464
387
456
390
430
515
424
479
363
328
444
443
477
329
447
460
331
396
434
450
340
453
457
370
390
519
459
336
387
362
326
339
349
454
478
367
450
498
338
467
358
374
400
342
508
429
417
338
387
474
434
455
511
438
467
475
361
346
383
503
348
417
394
407
480
362
418
390
504
395
397
372
356
353
491
410
443
363
328
439
413
496
457
445
509
417
397
510
398
440
416
355
353
502
385
509
359
466
488
372
423
421
432
499
395
322
349
500
502
408
387
437
392
380
424
421
518
356
365
479
321
357
342
493
451
480
455
499
437
365
504
343
389
351
472
374
453
391
437
519
365
368
369
412
400
480
329
346
442
394
490
407
514
401
467
433
438
459
340
414
412
400
345
492
430
374
363
395
450
458
496
375
416
502
447
328
516
329
395
499
503
476
495
393
424
441
425
498
439
370
399
508
437
406
321
494
489
358
331
399
485
373
506
442
448
512
348
333
514
429
488
382
363
360
520
348
376
372
415
449
362
344
478
473
327
373
384
407
504
416
332
418
353
455
514
479
399
451
340
409
509
322
400
509
433
403
335
334
366
438
455
353
506
340
422
471
320
367
445
502
405
396
507
508
443
321
354
353
359
399
386
390
519
323
403
385
408
459
519
483
356
390
348
421
431
482
429
503
478
349
451
408
432
320
410
520
370
336
393
383
397
496
368
438
386
383
350
482
479
506
379
471
361
414
339
355
494
494
520
388
504
408
404
352
361
335
361
432
393
415
370
423
513
402
454
434
475
344
417
487
474
390
394
422
338
334
469
484
434
390
322
482
450
393
337
506
457
372
356
381
453
498
358
374
364
364
466
424
511
360
431
356
382
348
347
372
355
446
374
500
375
375
469
349
431
516
447
376
486
422
347
359
510
480
476
335
361
456
394
435
506
380
343
508
458
497
475
353
373
418
338
379
496
331
395
331
483
436
418
360
344
509
505
348
498
457
508
477
339
372
515
339
432
504
337
384
442
495
362
491
406
469
327
424
390
328
372
518
484
381
414
337
513
485
469
484
422
386
443
360
401
358
454
446
419
407
328
434
481
378
510
372
488
383
438
460
358
469
520
507
510
449
507
328
411
427
456
494
430
402
460
479
383
332
454
486
505
436
412
403
404
419
431
486
426
329
474
424
497
503
414
428
510
383
420
335
388
399
351
320
320
407
478
442
391
444
383
476
509
320
480
388
506
404
437
367
406
373
489
456
454
433
434
400
513
391
467
464
515
515
439
327
336
512
517
380
321
431
457
377
509
402
508
465
423
484
444
325
486
456
502
421
390
384
479
498
355
333
501
411
447
519
488
374
330
497
459
449
482
408
341
380
496
441
400
416
330
499
515
475
337
351
383
398
507
413
498
358
341
455
399
337
410
375
472
384
422
483
434
447
513
359
375
335
476
476
404
488
327
473
384
494
431
344
520
344
326
386
480
347
419
386
426
520
343
413
488
380
386
368
493
437
457
504
471
512
351
423
390
495
335
384
459
343
321
343
484
518
492
345
504
412
345
487
472
515
464
382
356
412
519
373
512
380
471
470
337
396
399
323
439
509
353
399
353
461
414
503
493
435
364
496
454
490
513
460
468
472
350
472
387
453
489
451
485
323
443
394
329
329
476
377
409
390
400
490
402
463
495
388
377
440
451
375
496
464
366
411
332
399
435
385
360
331
517
457
342
500
400
329
517
377
329
386
501
506
488
411
356
519
434
453
324
498
466
447
366
471
435
321
388
429
422
424
378
394
451
392
515
427
473
323
335
383
431
515
503
438
421
415
507
399
457
350
447
506
431
377
416
348
498
422
418
489
514
384
384
347
349
490
416
482
345
452
356
415
507
477
489
431
427
320
344
325
390
359
463
478
461
438
330
439
463
482
334
466
512
362
448
475
325
486
380
412
417
391
330
442
451
388
391
330
412
520
393
354
514
499
407
498
429
388
495
442
497
337
388
338
375
464
375
489
397
486
354
323
402
426
461
454
488
484
429
406
398
392
482
514
403
505
410
494
477
380
487
359
396
454
398
440
359
386
377
513
437
507
355
409
480
452
447
353
405
360
364
420
443
359
437
474
520
443
496
482
399
503
368
396
371
463
512
443
500
491
414
493
349
417
486
405
443
420
450
356
498
486
406
379
483
441
416
515
490
337
506
485
325
443
498
454
474
480
390
482
440
456
505
380
424
508
352
333
349
366
342
401
376
476
349
331
511
501
366
481
490
434
436
511
474
332
400
478
372
367
424
331
447
320
355
464
382
359
503
374
455
492
420
372
437
390
359
346
372
449
464
488
409
379
460
468
456
370
402
498
345
508
472
341
421
457
454
460
499
483
457
325
469
469
349
434
349
400
386
441
410
483
434
359
477
382
454
486
348
374
472
473
398
429
437
518
348
327
337
496
349
364
367
490
483
459
376
320
401
520
436
485
365
485
508
369
515
445
410
365
421
410
433
329
462
392
355
353
338
330
371
421
465
485
517
501
365
448
479
501
466
465
412
411
326
454
494
362
351
428
411
442
326
448
428
403
415
482
477
419
363
330
402
495
480
387
490
326
446
341
520
434
470
371
464
345
343
449
456
381
370
325
482
431
351
400
451
425
425
354
511
451
428
515
376
407
354
469
497
512
447
390
396
506
440
488
463
395
332
464
442
423
456
384
454
382
377
437
390
405
385
487
414
438
493
396
477
428
393
378
410
396
413
408
348
414
449
334
480
362
348
368
368
501
384
430
366
457
449
374
434
428
397
398
389
362
374
393
477
484
371
333
501
323
349
384
353
420
387
337
439
354
452
472
422
485
360
386
368
483
409
400
433
322
364
454
375
349
357
397
417
324
426
389
499
326
435
485
328
356
333
472
325
477
432
511
342
446
345
499
512
423
386
320
485
456
328
351
356
403
372
470
342
352
345
334
496
402
361
338
483
404
460
331
423
478
488
412
442
487
488
456
350
362
501
441
468
457
508
487
454
363
442
333
418
499
422
335
419
408
345
431
365
324
477
463
451
414
357
414
354
368
485
417
473
326
421
366
400
402
442
506
492
340
498
388
397
370
457
508
407
411
404
463
361
403
509
426
478
426
457
432
454
322
502
377
392
355
396
341
395
337
483
483
443
332
449
420
430
428
381
432
449
446
472
327
446
504
424
410
340
382
471
369
426
468
332
401
375
512
426
510
449
512
487
432
498
413
341
431
416
444
419
354
324
377
369
406
427
340
388
334
338
482
394
378
444
351
502
437
374
352
418
358
516
398
508
351
472
392
359
328
445
344
427
328
467
431
411
423
444
500
514
405
435
430
385
421
348
356
410
445
394
370
477
479
368
370
497
446
320
520
461
467
341
422
320
389
366
417
479
470
515
385
444
449
429
515
363
362
387
374
334
371
424
408
382
378
352
373
441
487
461
343
367
405
437
340
379
470
403
425
367
446
381
463
381
512
333
414
471
384
509
396
511
373
492
497
503
491
367
396
419
345
486
367
485
471
507
359
385
402
514
520
453
467
453
327
496
430
334
504
331
422
363
426
520
386
490
354
387
344
442
342
389
465
389
413
321
384
422
493
444
458
498
498
495
379
456
470
433
411
496
488
417
519
501
447
512
462
420
466
505
431
495
451
449
457
393
432
391
348
427
495
390
327
449
400
488
458
371
417
446
352
494
384
512
407
489
428
482
478
418
325
355
332
330
407
474
440
320
420
472
381
428
333
417
434
377
336
415
447
486
418
332
353
511
339
344
462
473
370
437
475
335
510
329
344
322
517
328
443
431
382
388
382
401
332
452
486
462
361
499
441
374
461
342
372
444
442
459
473
404
401
354
474
355
355
343
454
487
413
412
513
396
504
447
434
426
351
396
470
439
517
341
409
456
480
443
328
481
508
447
438
360
455
490
406
323
474
464
331
335
479
514
477
494
415
462
383
472
392
367
376
369
470
428
357
372
391
405
447
489
430
435
437
433
345
331
334
501
324
364
458
478
496
363
410
487
419
421
415
424
390
406
470
499
377
462
481
489
478
442
348
467
394
375
363
465
495
442
485
441
367
428
321
442
470
343
320
520
355
339
403
504
324
426
439
442
389
461
460
378
390
320
326
369
398
385
396
445
429
352
416
331
378
368
355
403
329
335
371
508
335
364
353
478
373
490
342
506
323
390
448
368
461
385
486
488
503
501
375
406
343
391
401
366
391
402
441
484
488
483
329
486
513
408
370
370
333
375
483
397
438
454
493
470
324
492
500
453
377
475
464
385
488
427
498
380
456
392
351
498
499
448
404
400
413
391
321
406
331
361
477
411
323
426
509
430
402
502
486
497
481
335
420
429
364
376
483
513
370
493
360
327
411
468
505
518
412
454
373
459
359
459
461
407
443
483
331
507
350
453
458
436
485
492
406
519
396
390
520
435
329
462
493
492
373
468
496
470
322
330
477
327
444
414
483
410
436
331
471
366
508
479
432
361
430
357
352
331
409
356
343
458
451
328
440
398
438
471
367
515
474
503
520
378
335
504
479
463
373
392
394
465
375
351
470
353
333
457
357
380
389
464
432
347
359
473
320
334
406
504
447
440
396
351
480
402
396
452
499
436
484
418
413
489
381
480
425
452
322
511
450
391
345
353
490
330
408
362
499
340
383
322
342
479
514
490
399
441
443
338
450
404
420
370
402
437
384
484
418
354
466
401
482
397
404
371
415
501
355
362
450
381
376
359
509
369
476
505
458
388
497
429
455
372
503
440
360
458
461
413
479
458
340
412
485
375
406
407
490
414
372
383
439
387
438
453
506
469
405
422
364
397
439
503
420
414
502
519
514
335
377
352
501
443
438
355
509
510
384
436
448
443
361
414
494
448
416
453
332
478
484
479
398
516
362
345
410
477
346
362
365
472
358
416
476
497
514
368
418
489
347
495
459
511
508
345
337
385
344
390
391
354
402
421
371
336
392
488
351
425
424
408
519
369
322
429
338
424
371
348
477
473
442
468
351
486
439
515
417
364
485
347
491
340
352
464
438
415
401
416
481
519
505
433
516
418
423
451
385
503
384
357
342
457
420
403
348
365
365
507
346
443
476
421
365
490
475
418
429
404
332
427
371
380
357
322
440
474
364
381
356
370
518
520
492
351
487
382
389
459
328
470
338
406
412
497
400
489
413
382
378
513
378
347
458
378
336
468
436
492
407
515
394
366
422
326
353
404
503
428
412
410
337
482
507
386
442
367
359
398
509
511
474
423
363
407
336
369
369
383
400
458
407
367
415
495
336
398
490
392
517
468
380
431
507
393
404
478
449
351
418
375
357
328
507
339
379
373
368
452
409
502
320
420
397
463
350
344
410
496
467
507
449
476
367
362
432
359
479
424
342
321
464
370
513
489
339
487
382
486
350
470
483
329
457
465
496
334
363
488
333
488
328
353
365
377
426
346
370
402
471
362
386
473
436
406
446
372
327
500
388
507
451
335
462
497
463
453
511
340
370
427
389
427
513
450
444
481
331
388
507
322
478
480
492
450
390
375
348
371
504
457
475
323
452
501
330
505
342
442
471
389
500
421
512
520
472
340
325
472
399
517
325
423
503
334
487
369
403
428
497
428
516
504
488
457
407
501
418
320
357
418
503
381
402
518
416
511
433
351
476
384
420
434
415
344
377
387
508
401
445
425
461
500
338
477
356
332
364
440
333
472
467
373
482
418
346
507
386
514
455
467
368
382
442
328
388
464
374
337
420
489
502
382
320
380
473
412
457
503
396
401
520
333
462
433
485
415
465
481
384
454
393
499
424
476
449
410
469
491
326
390
505
385
357
421
328
349
429
401
338
481
401
404
392
422
438
329
411
388
388
373
462
354
396
368
488
385
386
518
455
346
501
463
322
323
433
373
379
325
499
342
344
381
357
479
471
379
468
383
458
493
434
395
504
441
463
494
348
450
454
498
504
478
373
519
403
457
380
339
325
452
400
431
451
364
397
393
379
511
444
372
464
440
321
455
468
381
484
481
351
385
423
351
327
405
510
406
508
429
429
343
452
428
477
492
497
493
438
391
343
459
491
364
356
364
502
325
352
503
396
367
352
374
479
409
472
409
453
514
458
517
449
399
444
381
359
464
481
490
435
342
358
346
390
330
368
511
513
342
416
437
518
332
466
416
344
520
454
394
398
329
452
505
358
467
415
333
325
465
402
411
385
345
497
494
519
432
507
331
344
452
377
396
391
449
503
363
417
516
381
406
345
322
490
375
349
429
480
503
345
513
469
467
352
342
353
401
509
330
490
456
330
441
359
430
417
350
404
350
395
397
482
357
382
378
332
489
510
451
385
351
503
374
496
360
450
446
408
419
369
470
442
456
403
413
520
453
344
502
515
325
517
490
511
518
437
504
330
325
407
507
333
376
403
425
323
370
344
467
392
373
475
492
404
346
476
451
321
464
340
424
345
471
435
517
374
512
321
480
430
466
330
351
471
439
478
339
328
457
456
460
518
329
368
464
442
328
429
467
445
331
431
474
393
518
406
453
428
328
494
497
390
382
331
401
365
336
403
429
496
407
341
468
404
419
485
390
337
415
485
402
385
320
514
485
328
410
416
341
339
343
453
431
396
430
430
505
445
466
472
367
394
406
373
436
482
394
434
394
420
505
383
405
441
439
341
506
450
510
371
491
327
342
358
350
473
431
322
435
327
425
387
324
361
449
394
324
430
348
504
375
320
428
391
457
343
416
329
350
363
497
472
375
418
419
335
419
386
471
394
364
418
520
502
324
479
371
369
493
495
374
376
489
435
453
415
436
322
514
332
453
416
365
353
483
424
468
446
470
415
389
446
407
392
387
474
409
324
430
420
421
400
325
364
455
446
508
450
470
365
510
500
376
412
414
364
508
440
502
456
340
344
517
515
456
388
391
437
338
510
346
454
519
321
419
509
335
409
512
382
481
456
417
491
425
430
433
506
488
466
470
461
518
384
482
415
425
404
381
370
442
481
351
467
465
472
342
492
494
347
426
475
365
519
430
326
422
326
328
456
342
338
339
356
392
513
489
425
495
388
465
329
351
326
496
402
430
336
354
471
464
460
461
354
477
385
444
353
479
335
352
514
499
501
489
474
384
487
430
489
506
491
354
400
390
486
505
330
488
327
341
426
368
439
456
439
425
364
466
434
484
505
471
376
477
425
508
459
519
392
320
361
360
358
471
390
443
513
507
331
499
333
455
518
331
496
359
511
347
386
339
505
382
386
372
327
506
368
412
361
370
393
401
429
428
335
374
400
428
346
351
448
446
490
468
420
443
461
338
433
386
353
515
412
381
350
335
418
349
488
468
470
472
479
388
519
342
421
351
392
459
386
452
444
485
445
509
463
477
322
337
462
485
517
431
467
336
366
424
506
471
390
520
409
377
419
519
324
516
414
377
421
349
420
520
338
391
494
365
393
450
501
361
447
506
395
394
423
467
451
444
485
397
336
441
330
391
400
355
334
440
479
440
377
460
507
519
482
486
519
410
498
337
411
460
333
445
490
372
322
509
379
473
325
322
483
331
320
463
379
388
320
360
494
481
389
344
422
513
418
347
328
451
399
436
411
345
350
486
380
473
372
338
372
464
355
474
474
489
393
435
470
381
377
478
517
354
431
476
393
391
490
501
469
506
458
475
384
395
352
348
460
402
381
485
391
363
400
352
428
424
454
413
341
485
372
427
491
503
343
336
506
377
472
454
330
443
403
475
506
451
395
363
421
352
385
419
508
399
511
438
320
409
502
434
403
383
349
337
415
447
364
376
453
513
502
349
475
508
414
414
506
500
461
506
363
514
474
476
386
493
461
431
459
358
452
367
352
354
346
412
500
347
419
437
497
487
389
372
505
504
381
434
403
344
378
455
405
323
409
401
441
434
372
343
508
448
439
502
502
322
503
345
388
475
415
402
478
387
475
515
507
467
420
500
441
517
380
498
476
485
350
341
344
437
457
487
405
519
399
468
425
473
447
359
323
355
455
354
440
388
362
351
442
494
417
360
394
473
465
323
455
375
463
498
376
399
502
351
430
415
482
406
487
449
366
427
469
375
401
362
396
516
451
431
451
358
373
407
476
383
492
363
488
322
441
428
419
496
407
392
505
413
386
410
482
475
350
456
326
409
408
425
515
406
397
359
411
491
378
378
367
405
376
355
409
371
359
461
481
488
468
348
408
373
478
413
359
453
384
323
365
358
452
392
343
381
418
359
508
484
440
321
498
402
381
518
485
420
336
513
386
344
320
519
320
443
334
463
465
438
500
467
392
460
435
397
407
418
383
324
357
371
388
445
396
438
491
494
461
491
437
410
380
447
520
430
373
430
471
329
361
487
324
469
481
361
384
366
341
398
341
498
345
329
234
233
237
207
233
240
209
249
250
205
245
206
247
234
200
211
234
227
247
240
225
221
228
248
234
249
227
243
214
245
204
201
203
231
211
212
218
242
208
230
246
236
239
205
210
206
219
249
209
245
245
204
231
238
243
204
244
211
225
237
235
206
220
235
213
216
236
239
231
204
218
247
245
216
222
216
214
234
243
207
222
219
223
214
226
204
235
214
211
218
234
211
200
249
241
204
211
201
232
210
237
239
221
207
223
213
249
244
225
238
228
219
234
203
217
248
224
201
249
233
237
208
228
201
232
206
202
235
217
231
227
245
219
212
201
200
237
228
215
214
209
248
212
222
218
201
208
240
202
224
210
249
246
216
221
232
246
200
222
219
233
227
244
213
240
205
221
204
219
210
241
241
241
200
235
203
202
244
207
211
222
226
222
240
227
202
246
218
224
206
242
234
242
216
203
240
217
225
234
249
227
216
234
228
215
220
211
227
231
233
232
232
200
208
227
241
202
246
240
231
220
242
226
233
228
218
239
230
227
210
204
207
228
221
243
209
221
201
225
207
248
228
248
223
236
224
211
211
226
203
214
205
212
202
218
209
245
200
229
209
226
229
202
239
216
225
200
203
206
245
212
202
237
215
202
250
210
211
236
229
202
238
231
219
241
225
208
218
214
241
218
211
235
217
235
206
215
231
201
213
217
209
202
229
230
236
249
200
238
243
212
221
221
203
200
233
244
200
228
235
206
213
243
237
233
246
215
202
242
250
246
210
205
250
234
205
219
242
231
238
242
246
226
250
201
210
205
249
232
203
207
200
204
218
212
211
200
241
246
204
217
218
215
232
246
209
247
239
212
220
240
247
210
220
221
216
208
223
230
215
229
231
242
231
214
205
210
222
203
238
229
243
228
200
218
231
209
241
226
204
222
226
240
216
223
205
230
236
227
217
223
214
227
231
233
212
223
243
222
225
202
222
204
223
232
202
243
245
202
233
202
214
218
232
218
219
205
202
224
213
206
225
220
230
241
237
224
212
236
229
222
221
249
212
247
245
232
216
223
246
234
220
216
235
238
209
249
217
237
219
246
207
240
243
238
243
218
244
208
219
202
244
226
246
209
209
231
229
228
230
219
205
201
245
225
225
214
213
200
242
227
229
222
226
241
207
206
226
225
244
227
230
240
212
221
246
201
210
232
248
229
242
212
212
205
248
200
204
212
230
202
204
232
205
207
209
230
240
211
232
217
222
220
218
213
209
212
202
233
206
227
249
227
213
231
235
226
217
207
234
203
237
237
208
228
232
228
217
232
222
208
221
208
241
215
238
229
209
245
249
224
200
221
222
225
205
217
238
238
219
229
201
224
238
234
228
201
241
240
232
224
236
223
203
221
208
222
247
222
240
244
235
213
239
225
231
250
202
238
214
206
201
230
227
201
213
225
204
205
247
229
239
214
233
212
229
218
237
205
236
206
238
238
207
245
205
200
205
226
210
223
221
218
212
235
244
208
232
215
227
225
227
224
220
216
211
222
210
209
233
200
246
206
214
233
245
211
208
233
203
234
209
219
236
205
238
212
241
241
208
240
204
233
244
218
228
205
247
236
250
211
227
227
203
215
231
209
248
204
228
200
212
243
246
211
214
217
208
235
201
215
210
225
225
209
218
209
228
231
245
221
243
245
215
241
231
207
225
241
209
228
231
249
218
242
249
202
211
215
244
244
209
228
247
227
228
224
246
201
207
221
206
242
244
225
212
245
235
215
248
232
235
207
224
246
234
243
218
230
220
214
222
215
200
222
220
215
246
204
233
239
238
200
217
241
225
212
234
201
241
227
231
237
242
214
223
211
249
246
216
220
235
224
234
246
230
218
218
249
249
248
204
239
236
202
241
240
225
217
229
212
205
243
212
235
243
250
235
248
238
217
200
239
203
215
211
248
237
234
220
217
216
242
238
206
208
214
210
211
217
230
237
220
224
216
238
219
242
226
203
209
248
219
249
211
250
226
246
220
246
236
211
221
211
227
229
207
232
220
239
241
242
210
234
203
245
219
206
218
204
213
225
231
203
202
248
223
242
223
220
242
247
206
215
219
226
219
222
215
249
226
213
233
238
225
221
224
250
216
231
228
221
216
218
219
228
234
213
200
230
205
220
221
204
226
236
214
209
249
245
242
208
209
238
241
228
216
240
205
215
221
247
204
238
205
223
232
233
227
240
202
246
214
249
242
228
205
213
211
215
207
224
248
234
247
208
211
210
231
236
201
201
229
241
233
241
236
201
217
215
215
224
225
232
227
220
218
219
221
219
230
234
220
241
202
204
244
240
245
203
242
217
238
201
234
244
220
221
214
230
233
202
250
204
250
209
243
212
219
223
222
239
246
219
240
212
235
217
243
248
208
223
232
221
248
209
222
223
208
202
234
215
238
208
231
203
247
236
214
245
224
244
208
241
212
216
242
214
201
239
206
207
209
209
227
219
231
246
229
216
207
246
209
215
235
235
213
245
220
238
212
247
205
232
218
236
228
221
230
202
216
205
207
218
244
236
242
227
250
200
239
208
230
215
221
200
228
200
250
204
213
241
250
210
205
203
250
245
217
214
227
229
237
248
219
246
230
247
213
213
235
203
230
208
243
228
239
238
244
234
229
206
204
202
237
227
227
201
201
238
207
212
205
227
223
209
203
238
249
203
208
207
219
243
212
238
245
229
208
201
207
225
222
214
212
238
210
228
242
222
240
204
236
213
210
247
234
208
235
231
242
224
244
228
208
241
231
246
237
209
214
237
237
225
214
219
244
217
201
221
223
233
237
210
208
200
238
209
220
229
245
250
236
217
217
210
211
213
215
234
221
244
204
201
240
208
234
207
219
245
240
221
220
243
241
200
218
207
234
227
211
232
250
237
201
232
219
216
218
200
220
239
240
201
218
232
206
200
207
241
250
202
213
205
240
202
208
235
232
234
230
202
235
200
250
239
243
222
246
205
202
224
211
244
215
247
224
214
231
241
236
243
213
219
244
219
217
245
227
204
241
235
215
244
213
228
208
221
224
231
239
241
213
242
240
249
206
216
236
231
219
221
205
221
228
243
244
215
210
209
217
233
228
206
245
224
201
235
239
237
236
240
208
234
216
230
241
222
226
211
244
208
238
207
241
204
209
226
216
231
249
202
232
235
222
216
220
244
238
240
232
240
244
238
235
227
208
237
220
208
236
210
214
217
246
225
232
231
238
248
248
227
222
211
232
246
231
208
224
203
211
201
223
220
216
201
225
205
241
242
213
243
228
203
243
229
206
220
223
205
219
242
207
231
238
242
230
232
218
236
221
207
202
210
204
248
202
250
237
205
229
205
229
248
248
221
211
242
201
244
215
208
202
242
218
210
245
201
246
216
219
246
201
207
215
240
217
237
209
206
201
202
216
250
226
213
241
234
204
216
211
246
217
222
239
234
213
223
235
201
220
226
204
213
231
217
243
236
244
248
237
218
238
210
201
217
216
201
216
221
217
203
222
243
244
234
229
215
237
205
244
244
244
207
245
234
219
226
235
218
208
235
240
245
217
246
238
219
248
249
242
207
246
214
210
241
232
233
226
250
245
205
239
237
221
227
235
248
223
204
207
200
249
232
231
237
243
202
208
244
249
200
227
224
216
250
242
206
207
208
212
247
249
207
246
200
248
219
217
248
219
234
211
216
215
204
204
216
231
236
211
204
248
204
208
212
219
221
226
247
218
215
225
212
238
202
210
240
220
231
210
201
230
205
250
207
205
217
248
204
209
208
225
222
249
236
226
247
247
243
222
214
217
243
211
248
246
214
208
238
216
222
210
209
250
240
241
244
215
219
208
215
212
200
238
204
241
205
210
204
216
219
231
238
214
222
201
246
214
217
207
234
200
214
203
205
248
250
236
204
228
248
239
244
218
230
228
242
236
219
242
229
222
203
224
234
202
220
216
219
230
216
207
239
205
212
226
221
247
206
245
234
242
214
227
216
242
206
209
217
209
223
240
238
203
206
242
223
200
239
212
232
218
224
231
226
232
209
208
212
250
246
215
203
246
243
209
235
237
248
224
226
229
207
240
205
231
236
205
243
248
228
243
206
211
206
211
246
232
231
236
243
249
218
242
228
249
241
206
215
219
239
233
235
205
238
248
207
236
239
221
241
238
228
200
200
222
237
247
213
209
214
204
228
228
214
228
245
233
240
249
216
201
241
222
250
228
247
214
243
244
235
242
201
231
231
204
227
205
237
235
237
245
232
214
211
220
212
230
226
217
230
233
207
204
249
235
201
209
227
206
220
211
226
208
243
207
220
222
218
201
234
226
233
202
248
201
236
217
211
232
227
238
228
205
233
240
201
243
238
201
215
202
246
228
248
218
217
216
215
224
230
245
214
222
201
226
238
239
203
250
202
245
215
215
216
227
241
214
230
222
231
200
221
205
250
214
213
234
222
231
243
236
224
223
243
226
221
214
200
229
217
202
241
217
234
244
227
225
201
242
249
211
247
204
200
237
207
215
219
245
228
207
222
218
208
214
247
244
238
224
224
211
223
214
232
200
203
236
207
222
200
203
220
205
222
224
223
236
217
238
214
208
219
232
205
242
228
235
225
213
201
239
228
228
230
203
249
208
229
214
235
245
214
219
223
202
218
230
234
200
229
204
215
250
228
227
231
243
204
225
220
213
208
245
231
219
223
240
231
220
239
243
244
218
208
244
215
216
213
224
232
212
238
238
225
202
231
213
212
201
203
218
202
242
209
228
213
224
219
219
221
232
240
217
220
240
225
243
243
215
206
219
224
215
229
218
230
209
242
234
235
219
236
217
211
223
230
245
242
224
231
246
205
211
225
227
238
231
215
220
210
245
213
225
243
228
237
216
224
229
231
232
209
247
230
213
200
228
245
220
201
229
215
227
240
208
246
204
205
230
210
208
207
237
218
216
235
207
206
212
202
236
232
243
200
240
227
210
231
249
236
237
203
203
229
230
233
250
235
213
215
226
237
224
229
247
217
250
242
217
208
216
224
200
216
241
239
237
248
208
211
248
229
215
241
209
224
236
240
232
223
227
248
243
245
242
246
202
219
245
230
212
204
228
204
238
245
247
218
210
207
200
244
217
209
220
219
234
201
245
238
200
236
250
220
208
212
234
225
238
247
215
239
234
220
219
233
229
237
219
240
249
209
205
204
226
222
239
239
217
214
227
208
201
244
223
208
201
201
200
228
223
223
232
237
202
245
236
246
220
223
228
219
209
229
202
250
233
231
219
231
214
246
213
229
243
237
229
245
241
249
219
246
220
233
214
220
213
205
219
244
246
212
212
224
225
224
243
224
214
245
210
237
200
220
219
202
213
235
250
250
232
234
237
224
205
204
209
229
249
226
246
226
214
211
248
234
228
221
226
215
229
221
207
221
215
204
231
235
220
208
222
241
227
246
216
250
210
243
219
230
212
213
212
206
212
242
244
214
207
246
204
213
222
230
238
201
248
218
242
208
223
210
208
239
209
244
220
214
241
221
235
226
240
239
245
203
234
241
235
227
238
229
234
248
226
235
206
239
240
222
210
200
230
212
228
216
213
225
214
206
229
224
230
227
229
234
239
209
205
235
241
223
212
232
248
219
233
205
229
217
203
246
219
224
238
226
207
231
225
227
207
249
245
249
230
245
212
236
216
235
217
244
221
244
240
201
230
238
229
206
224
210
230
209
244
239
216
236
219
210
234
245
241
231
241
245
242
204
234
205
228
208
239
212
236
238
231
218
204
214
220
214
248
238
210
230
230
231
206
244
209
214
228
249
204
248
227
238
209
230
246
231
244
250
201
220
241
230
200
217
232
239
244
231
210
203
226
213
219
216
241
234
241
227
229
238
242
211
205
247
226
238
200
236
202
249
209
219
234
234
248
236
223
206
225
205
233
212
206
250
226
239
224
246
200
230
249
205
248
204
243
230
233
244
237
230
238
213
222
247
223
215
235
208
249
228
237
207
211
226
248
245
213
239
239
225
205
220
245
239
200
213
210
203
239
240
222
223
242
233
234
244
244
248
245
231
226
247
215
216
250
206
202
228
228
243
239
244
227
250
205
212
226
240
231
209
225
239
208
220
228
205
201
203
237
223
207
203
232
201
244
227
243
226
225
236
247
200
233
220
234
242
248
244
208
223
230
234
236
244
237
203
241
201
203
239
236
201
210
215
222
234
248
203
241
210
224
211
239
236
218
226
200
240
214
226
208
224
250
203
213
204
242
237
205
222
211
243
216
216
224
237
221
241
207
222
223
202
240
227
240
231
247
233
246
212
209
214
215
227
244
223
223
223
225
243
244
217
214
230
244
215
208
247
243
207
209
236
241
225
246
236
219
246
217
231
250
200
233
219
244
217
226
247
205
203
226
216
225
247
221
232
217
215
247
250
240
249
206
202
238
249
214
241
204
236
230
222
250
209
228
200
245
205
212
244
233
216
246
222
214
230
231
248
218
241
249
247
250
208
200
214
217
208
221
227
219
217
233
205
236
212
233
245
206
227
206
219
222
212
227
222
213
209
202
209
236
237
202
246
216
204
231
212
237
244
247
208
241
229
240
237
226
224
208
242
202
244
208
223
207
228
229
238
225
201
226
224
232
212
213
239
230
239
235
200
247
244
207
211
240
209
209
213
243
215
207
246
230
212
215
249
210
211
226
215
204
245
212
214
244
223
230
250
221
233
243
225
235
210
236
250
237
205
249
221
237
212
242
240
231
235
225
247
220
242
246
229
245
204
214
240
213
200
224
231
215
217
209
224
240
231
229
237
221
211
203
238
230
248
209
202
244
227
247
238
208
241
220
216
211
219
209
226
201
214
250
244
203
229
219
220
244
221
228
239
230
246
216
225
212
241
224
230
206
212
249
210
241
235
236
238
242
238
248
207
238
215
250
218
217
213
244
203
233
240
243
210
225
233
231
224
210
206
237
238
244
241
236
200
201
229
232
233
224
247
227
214
205
220
208
226
240
207
224
212
216
239
224
227
246
246
234
217
223
245
224
217
200
207
233
243
220
231
243
246
207
211
214
201
204
250
211
248
231
249
208
209
230
208
215
226
209
205
217
215
241
225
242
248
237
216
208
201
228
238
242
243
246
204
224
210
207
202
224
207
208
219
212
240
211
217
250
214
218
208
232
237
211
215
209
206
222
222
249
240
222
227
228
228
247
200
224
207
235
248
202
239
213
218
233
249
248
241
218
212
215
206
206
240
237
222
201
217
208
219
244
232
237
202
236
203
230
214
247
247
233
236
248
246
245
238
215
204
225
225
244
213
243
214
240
244
246
248
211
200
237
201
228
203
213
202
220
200
215
243
213
217
241
236
236
208
216
249
219
248
250
217
202
204
239
229
225
204
250
242
237
245
244
229
211
216
211
210
229
225
221
238
243
240
207
223
200
243
235
235
235
202
247
232
237
207
209
218
229
205
214
240
206
245
247
237
230
211
239
242
239
232
217
225
223
212
205
204
247
202
207
239
208
240
230
225
226
224
202
244
200
249
221
244
200
211
212
244
219
216
247
206
219
239
235
230
237
216
214
200
244
238
209
234
235
200
223
222
235
202
220
217
236
238
220
221
243
240
225
235
237
215
223
226
209
210
238
227
242
246
247
245
249
238
243
228
209
240
233
210
215
214
207
222
243
218
223
221
230
225
233
249
217
203
250
236
228
237
216
242
206
213
206
210
201
238
220
223
202
249
208
220
235
248
207
206
218
225
208
247
215
218
230
228
214
230
204
217
247
212
225
212
217
212
230
226
237
213
220
224
235
248
250
218
234
209
230
220
223
239
218
236
224
202
236
231
226
230
232
237
243
227
245
237
214
234
205
221
219
203
245
240
205
226
210
240
213
222
237
227
240
228
200
237
249
227
204
229
222
242
205
243
235
235
232
214
215
200
216
216
219
223
242
229
204
226
226
209
250
230
203
210
213
200
250
223
206
219
243
243
210
235
204
217
214
209
215
230
202
244
222
237
228
214
207
204
233
239
225
221
235
248
240
221
239
214
210
230
240
232
227
210
231
204
248
213
247
228
241
242
216
217
221
246
211
203
230
240
250
200
247
213
250
217
201
229
211
217
202
241
244
210
223
248
242
225
250
239
243
243
230
245
240
208
220
202
215
244
215
239
219
201
205
220
233
235
207
211
226
229
242
239
506
380
322
503
520
473
336
479
360
470
512
502
482
341
408
359
412
323
511
333
461
455
329
507
443
394
339
518
384
327
486
381
417
351
405
375
493
333
332
496
493
320
351
517
472
425
420
451
336
435
369
457
322
340
397
480
511
388
438
482
457
402
459
430
322
375
370
474
482
341
340
500
463
453
360
360
452
442
390
366
391
431
456
404
510
372
362
504
469
465
504
381
418
511
398
421
485
497
419
455
432
481
416
426
479
483
440
339
444
510
518
469
413
489
429
513
484
448
380
406
412
332
330
424
400
468
339
519
476
463
403
349
470
467
480
457
457
487
455
436
336
326
431
512
476
472
324
375
346
481
453
340
342
396
386
369
392
512
370
495
459
387
513
475
382
383
384
507
387
426
342
425
350
360
458
435
357
351
413
336
423
495
507
368
447
355
343
483
496
419
457
508
448
461
456
393
419
466
503
437
384
404
415
451
328
514
475
480
339
435
361
353
339
371
446
385
475
445
475
343
466
488
472
520
360
380
365
515
347
493
515
469
439
518
401
355
450
367
505
372
483
382
480
467
371
366
478
405
430
436
429
338
490
437
377
444
455
475
334
405
447
365
368
422
459
339
382
356
365
457
458
327
425
323
375
481
373
432
418
488
354
331
489
454
448
482
412
322
462
407
498
483
390
445
389
364
510
458
353
440
449
333
415
424
348
416
438
354
382
460
459
427
491
424
400
498
460
516
439
339
494
413
384
474
364
487
412
467
341
386
493
494
486
496
343
495
442
511
388
507
458
423
323
327
426
392
425
375
363
421
338
463
399
374
354
402
494
323
464
433
367
328
502
357
464
415
426
395
512
346
354
469
439
396
481
393
360
419
484
400
330
341
367
373
503
471
431
395
387
395
368
388
327
475
399
519
454
375
405
329
337
463
508
520
395
517
347
463
376
342
356
396
419
374
510
372
381
321
444
363
340
437
500
422
460
494
394
466
348
414
450
409
447
432
330
456
487
333
400
447
363
424
430
445
351
430
498
520
432
514
330
404
369
454
360
369
346
359
459
493
434
322
483
472
415
520
447
497
370
442
322
510
495
508
353
321
391
466
473
508
474
399
346
382
344
359
357
419
374
424
426
516
378
494
483
325
335
407
381
375
320
502
418
415
326
345
437
373
439
376
514
420
336
395
431
368
498
349
352
325
371
472
491
482
440
390
346
354
428
493
324
462
439
400
455
361
330
462
363
490
476
364
459
413
341
350
385
324
349
386
356
399
404
324
340
441
453
397
375
363
354
360
387
480
385
442
371
373
455
377
386
364
481
320
495
491
465
463
349
488
342
323
458
384
500
427
332
519
487
408
324
411
328
321
359
500
491
338
472
341
476
433
449
400
392
325
437
398
447
512
452
395
495
492
339
485
431
429
453
495
513
334
518
450
434
324
500
375
394
366
477
518
414
475
388
450
348
321
479
369
326
444
454
368
325
368
323
468
383
455
372
431
516
353
441
400
433
393
390
401
418
486
519
454
504
471
399
408
361
499
383
325
475
475
358
384
434
363
412
417
367
359
484
461
457
482
485
474
332
427
465
329
354
372
390
453
473
458
500
382
328
449
337
341
412
388
422
352
505
389
359
509
483
434
386
477
373
479
473
443
396
429
354
447
350
354
381
355
422
469
393
373
484
345
358
412
358
409
485
431
374
492
430
493
363
441
402
324
387
440
392
400
413
404
458
355
504
476
432
494
519
321
390
424
416
430
359
322
430
370
345
405
514
422
344
401
328
395
389
448
353
352
408
469
403
426
377
425
449
450
411
484
438
460
478
482
395
326
507
393
468
350
456
396
325
417
360
505
322
335
486
499
457
407
374
450
492
430
480
395
516
352
420
327
323
501
485
438
463
365
352
452
353
358
361
329
465
468
339
341
445
381
451
481
506
413
482
477
465
519
425
396
366
345
367
405
487
421
514
470
321
489
404
500
369
342
416
448
460
450
501
406
435
487
339
322
430
417
410
396
394
352
468
425
413
395
369
384
331
465
456
508
448
405
357
450
332
493
385
424
420
492
411
409
488
324
371
482
458
486
407
411
490
396
423
482
414
321
322
413
470
435
428
417
500
331
483
498
339
460
377
364
387
399
460
384
323
475
380
520
464
483
324
360
376
499
514
320
345
334
401
480
353
406
389
349
401
488
517
438
467
481
413
421
422
378
472
477
444
483
368
368
442
464
333
344
452
487
479
406
502
362
428
357
459
471
332
502
416
420
357
488
496
470
423
341
341
458
455
385
443
485
429
363
342
361
495
490
507
336
454
382
377
411
365
364
328
405
405
454
501
438
365
373
339
452
333
424
483
406
481
371
344
441
330
417
342
497
359
476
335
405
477
405
476
368
491
465
464
424
453
414
402
370
420
370
337
325
429
468
326
458
514
323
504
490
471
410
325
474
322
379
509
502
411
477
342
380
327
431
340
399
446
384
373
486
430
395
516
420
455
418
491
429
356
402
336
371
435
326
449
348
410
444
333
408
383
451
433
383
470
340
406
471
471
388
344
492
395
520
451
415
343
364
333
387
451
329
451
397
378
346
415
390
418
417
323
339
507
438
354
457
362
344
408
420
320
379
508
487
487
325
357
520
487
433
330
372
401
355
472
412
417
345
481
360
379
501
412
515
406
381
439
477
474
419
511
335
380
441
507
347
359
327
477
366
328
328
509
464
493
379
509
398
337
342
429
431
493
486
475
454
382
381
389
442
320
429
479
339
372
382
439
466
341
497
440
346
449
375
508
345
441
392
410
506
414
357
466
431
476
341
487
492
327
346
512
450
385
487
410
413
451
425
365
321
517
450
335
427
423
400
493
327
379
474
332
443
499
371
389
474
424
334
352
472
483
433
368
498
495
516
486
326
495
476
334
412
363
433
342
458
425
473
448
459
379
466
425
493
366
335
432
461
397
410
512
348
393
470
367
488
381
510
359
517
461
349
457
504
449
424
325
500
454
433
470
494
365
440
435
472
333
495
322
477
369
504
412
473
506
468
468
445
509
404
322
425
375
325
450
350
483
439
495
500
345
326
446
459
404
452
484
381
330
352
370
502
399
458
327
392
467
365
430
346
330
431
460
478
441
454
384
331
516
494
322
388
422
381
378
366
342
386
358
453
351
353
423
367
407
471
376
475
509
411
476
516
414
341
375
434
487
443
345
509
405
469
384
475
418
434
440
326
368
385
479
421
455
506
398
429
490
362
382
402
341
475
498
377
496
370
407
463
374
350
497
448
474
446
448
409
445
401
435
516
372
375
322
450
339
425
479
435
376
352
456
439
430
506
374
321
501
456
370
455
352
406
463
463
485
485
487
345
483
410
334
483
427
366
434
388
473
409
393
363
330
419
399
514
425
361
383
485
450
402
486
501
467
431
466
374
409
518
348
368
362
510
369
369
326
460
433
378
349
395
456
346
339
471
335
332
479
386
327
438
420
407
483
403
519
346
470
386
512
498
494
431
423
392
498
414
386
424
364
437
449
491
489
321
502
488
421
356
323
467
352
387
353
427
341
473
478
479
389
489
428
455
338
495
356
459
377
418
501
427
344
447
364
387
506
466
352
487
418
454
324
372
381
343
517
401
459
331
341
498
507
462
511
508
518
381
338
334
365
402
421
444
397
516
346
405
480
462
480
402
510
320
449
336
487
388
401
372
353
369
507
503
447
422
364
339
353
337
331
375
477
422
480
511
492
396
361
459
320
490
345
439
326
376
361
367
332
375
432
513
346
409
381
348
412
409
404
366
497
451
336
482
359
321
445
361
513
333
405
413
338
506
327
393
510
425
383
348
503
416
519
394
327
506
507
369
426
517
497
381
367
382
360
455
485
497
469
359
388
458
499
356
464
397
475
448
333
345
479
474
451
402
460
321
448
423
321
376
443
421
382
391
321
498
481
501
514
350
506
411
345
460
376
515
504
519
494
427
424
396
356
364
486
371
436
499
499
394
493
520
353
494
326
419
520
420
436
379
456
351
440
322
479
422
410
385
507
409
378
486
334
345
345
423
424
349
420
466
371
390
483
321
420
469
397
405
469
330
351
415
324
490
328
394
492
516
378
354
366
444
333
351
456
369
388
480
436
442
411
421
447
392
329
322
496
338
427
479
513
334
394
436
476
437
341
499
355
368
514
343
428
510
495
453
398
326
508
513
353
346
395
354
411
371
518
392
431
512
353
372
352
382
371
473
397
497
435
406
387
389
506
432
384
365
380
355
453
344
340
457
474
323
324
422
471
403
467
512
414
443
392
357
460
453
496
455
327
416
463
442
495
463
478
513
479
384
349
373
322
442
347
357
373
430
427
436
373
463
402
420
395
325
328
518
478
439
398
402
421
384
366
329
495
360
513
326
344
420
338
447
481
456
383
446
366
461
432
438
385
341
398
475
444
512
409
507
456
454
416
361
410
390
367
384
344
410
412
369
504
416
502
345
505
353
352
358
426
362
477
392
377
493
401
386
494
339
490
335
473
481
368
500
494
476
372
431
500
491
448
389
449
327
385
483
490
456
320
388
403
393
432
459
517
361
377
407
322
386
487
489
355
445
455
433
432
438
441
472
383
327
454
350
335
446
401
361
324
442
457
326
502
364
499
438
515
478
339
403
410
387
436
481
369
436
359
369
367
430
363
433
479
471
355
490
458
330
486
424
460
361
437
476
501
320
492
399
475
397
498
426
340
373
500
385
365
395
354
479
503
417
346
358
489
472
333
437
389
496
510
487
436
385
481
472
391
405
425
327
466
396
340
514
431
473
443
358
349
402
471
431
352
473
369
488
468
386
441
480
497
453
420
437
500
360
343
415
352
371
494
450
425
419
335
502
401
390
493
328
449
435
327
368
501
483
491
420
468
335
490
346
428
457
486
351
380
349
394
408
397
413
360
385
493
425
419
502
469
342
479
436
359
322
408
485
335
393
473
370
456
389
498
422
372
412
324
328
460
332
398
517
404
449
484
378
482
345
501
449
391
324
401
387
490
419
458
390
492
362
513
417
451
504
404
393
389
381
330
454
451
338
337
369
417
385
449
342
426
434
351
413
483
428
327
510
482
379
380
342
511
505
340
329
428
388
395
374
361
349
490
471
360
485
433
390
386
371
494
452
512
375
512
378
519
400
426
418
428
447
399
355
418
345
321
492
495
422
347
406
370
397
393
481
477
408
507
429
477
480
340
334
382
446
338
441
424
344
472
388
370
400
519
322
468
514
327
506
432
449
331
343
345
374
332
406
430
443
394
452
360
441
415
465
495
324
466
517
354
464
385
383
444
454
451
426
498
339
509
401
356
478
436
410
431
432
348
433
372
496
449
498
384
448
328
464
329
511
351
375
341
353
399
340
449
373
496
452
505
454
490
406
351
456
397
396
327
415
366
407
352
364
396
343
424
413
493
437
408
385
441
381
450
326
411
369
520
351
332
500
384
482
414
336
468
346
404
370
355
496
374
471
489
355
374
323
499
498
348
427
323
488
423
510
342
442
457
398
473
380
466
337
338
486
461
347
444
437
352
384
443
436
344
347
338
502
485
320
488
388
429
411
413
483
493
423
502
421
423
335
350
349
433
461
341
517
461
441
436
394
332
398
328
429
501
467
434
515
323
505
451
507
386
350
405
393
512
517
322
459
330
382
498
335
365
343
438
400
338
356
488
454
513
386
496
470
465
490
344
446
420
344
350
357
401
484
457
365
425
331
443
324
457
509
427
520
514
389
381
388
398
344
342
352
501
475
320
363
368
321
461
384
358
367
434
508
353
338
408
411
475
331
511
465
379
330
472
392
374
335
518
395
338
388
349
348
507
505
501
454
380
381
465
411
412
491
353
415
385
374
489
384
421
499
335
488
508
399
327
438
379
439
508
394
510
459
365
340
337
377
494
395
349
397
408
336
503
506
460
377
518
340
382
416
355
398
470
349
436
393
378
461
391
485
390
506
352
354
401
360
334
479
493
491
326
520
333
349
476
323
331
486
356
427
441
354
330
350
483
380
487
426
418
383
509
416
435
444
429
439
360
422
346
378
509
323
382
506
356
497
355
335
320
496
407
321
423
353
477
433
511
354
519
395
449
489
473
488
387
501
431
509
366
498
447
364
391
359
516
420
335
372
501
376
388
458
332
412
464
416
482
486
350
400
435
409
375
493
395
390
406
342
380
354
501
348
386
450
454
390
514
514
453
492
361
506
513
512
515
450
325
492
360
495
426
411
502
501
335
450
379
497
437
394
415
355
512
376
385
517
488
496
386
457
486
375
321
497
377
436
401
398
433
367
391
380
504
440
461
416
363
442
360
393
331
431
363
372
338
487
417
432
382
398
363
463
339
516
396
480
333
324
424
350
486
378
441
418
426
395
359
498
498
455
494
360
355
364
443
363
514
472
330
496
384
437
417
408
366
446
466
358
500
351
389
480
359
450
501
455
349
373
476
381
423
379
415
504
488
333
366
507
470
449
509
368
412
331
339
395
500
508
412
471
326
427
343
513
327
465
462
516
395
339
509
396
398
513
491
380
508
337
358
342
432
330
321
476
406
422
405
416
325
410
501
379
458
435
360
325
474
408
513
402
454
346
406
478
329
423
445
476
328
427
384
373
515
485
360
496
340
491
428
499
466
439
450
449
399
512
505
369
484
439
364
433
357
455
323
380
416
416
427
428
368
436
440
485
347
343
324
322
516
361
359
514
347
511
456
457
484
408
366
376
413
347
450
428
507
435
507
357
458
473
504
344
410
469
450
418
362
489
482
508
516
389
383
409
389
468
456
500
500
491
321
381
495
424
455
426
506
475
410
484
469
380
442
327
456
385
386
519
459
437
331
382
496
464
497
507
372
435
344
413
414
429
365
475
322
473
420
407
410
418
342
505
463
385
519
332
473
334
381
493
427
468
494
514
380
466
490
428
373
351
373
506
456
370
364
336
466
336
476
442
439
356
442
470
396
498
368
445
374
487
420
373
400
474
453
330
496
379
462
325
488
366
410
401
494
354
397
336
322
368
447
396
429
455
483
447
320
509
460
479
347
320
433
408
416
477
429
383
467
508
484
403
465
321
483
487
328
454
445
467
339
408
393
468
322
386
460
425
359
459
409
498
418
501
351
405
359
359
490
335
437
502
451
484
430
436
375
481
326
518
330
500
436
511
413
418
343
436
507
486
483
380
422
468
510
412
474
342
410
508
508
430
462
484
332
470
368
428
415
450
321
487
511
367
380
373
492
493
349
469
384
421
456
379
475
469
490
492
398
493
321
475
403
486
379
337
455
400
448
397
409
447
502
410
511
327
429
477
410
343
378
381
518
377
394
442
368
489
409
408
410
461
408
450
370
474
335
395
337
504
509
387
322
453
517
484
462
489
419
363
391
478
469
452
489
331
435
492
480
438
330
390
383
385
363
509
458
375
509
436
512
439
428
458
456
431
424
438
382
381
413
379
514
508
380
422
330
345
369
409
433
488
402
411
389
400
382
508
370
411
374
333
388
492
417
446
514
336
405
403
417
484
362
466
414
441
479
388
435
515
489
454
412
326
363
461
427
419
418
362
474
509
424
474
516
504
335
375
374
451
412
324
412
346
461
401
456
514
474
421
457
485
490
358
498
448
402
332
399
468
344
329
431
491
381
356
433
508
429
412
399
509
394
445
503
419
519
450
327
507
480
341
327
411
399
363
351
500
395
440
415
348
349
358
486
456
402
320
454
500
410
365
342
394
352
496
485
429
434
456
421
420
416
376
368
443
402
428
465
372
442
405
391
348
332
507
471
467
494
417
465
508
336
439
402
449
471
353
500
505
325
348
486
417
440
418
419
499
345
488
511
337
437
425
474
381
489
519
476
390
359
494
388
358
438
422
322
338
426
457
455
462
421
393
452
430
519
473
508
461
389
477
356
336
494
511
463
476
397
375
383
498
356
321
417
382
458
331
381
475
327
485
504
376
350
404
496
347
374
402
489
415
333
508
384
413
386
394
509
488
386
451
511
464
337
497
462
321
421
451
438
507
385
348
415
421
496
491
464
393
333
456
373
367
448
460
519
346
361
472
402
420
463
339
381
320
506
379
421
373
325
408
461
516
504
392
448
346
349
483
438
450
486
406
327
338
424
374
412
334
364
416
401
411
368
499
390
416
447
404
513
339
418
363
515
373
406
508
371
361
476
382
473
473
402
461
512
349
481
463
492
417
426
506
391
480
393
399
405
380
377
383
378
506
428
376
381
506
436
515
436
470
435
441
405
344
366
488
389
483
338
370
505
504
325
493
480
396
369
454
515
386
424
372
402
483
497
437
437
431
340
390
440
505
405
470
344
324
412
360
473
377
502
350
337
401
506
433
432
396
424
445
498
427
463
391
444
377
414
376
461
384
374
332
345
515
367
516
496
484
419
322
347
357
513
496
326
331
471
500
488
333
463
383
510
486
397
500
452
418
396
386
409
329
441
409
345
348
493
434
444
389
422
369
476
341
402
431
440
500
382
512
322
421
356
417
380
470
388
426
423
366
370
428
512
409
506
491
431
500
342
417
432
421
329
495
326
486
473
509
454
467
484
349
328
509
514
468
420
489
475
459
502
386
354
393
436
420
392
432
494
486
415
367
502
444
495
516
495
455
428
426
454
512
336
377
354
401
358
371
452
346
451
384
326
392
446
501
328
438
399
373
501
499
509
489
476
351
360
397
334
336
322
329
479
444
419
409
511
518
490
497
351
481
381
440
467
358
346
504
514
413
408
396
394
334
432
460
449
421
346
371
495
519
324
508
331
467
397
337
472
479
392
512
398
358
421
412
348
455
402
431
482
515
503
401
454
497
483
433
372
349
509
494
512
473
490
459
492
434
507
439
364
398
387
335
495
425
473
502
374
445
382
436
329
348
487
333
355
380
516
459
504
385
352
500
345
446
442
499
346
407
503
450
436
396
486
385
406
412
354
435
342
466
368
324
332
370
510
386
374
370
386
492
492
442
362
499
343
356
434
456
514
513
424
330
517
416
518
402
398
437
448
338
445
364
328
503
483
429
437
452
388
435
335
325
480
323
325
363
381
451
347
334
492
339
374
487
462
520
481
386
355
375
364
461
473
412
412
396
401
343
436
347
389
422
493
396
394
368
488
412
436
418
426
383
348
394
371
376
430
473
407
350
504
519
435
461
450
384
426
440
361
369
505
490
473
353
370
475
452
403
496
337
437
504
408
331
486
343
354
334
358
374
391
329
405
349
367
440
321
517
373
341
450
501
361
446
348
479
334
375
402
373
417
421
501
392
379
514
395
520
417
481
504
366
507
472
456
464
484
339
374
519
484
408
378
502
325
429
384
466
414
506
487
433
359
449
440
390
382
429
339
400
450
340
340
490
365
477
510
401
323
486
359
322
404
410
382
432
375
474
506
459
478
478
387
454
503
516
455
513
347
440
424
466
402
402
433
421
472
462
509
321
373
502
496
336
378
396
430
498
377
412
440
320
510
361
435
447
490
470
412
339
323
387
491
374
503
433
346
509
372
484
482
503
410
510
330
381
334
347
404
399
349
415
464
442
501
506
516
514
431
513
334
415
336
412
360
462
358
493
342
430
344
437
506
468
381
405
373
436
418
341
460
401
404
440
346
389
386
392
433
391
408
422
443
415
496
494
342
415
354
394
468
510
389
405
330
493
438
322
395
360
484
494
492
502
511
506
391
511
498
414
364
391
403
444
514
513
478
479
340
417
436
463
518
505
355
483
419
497
362
467
398
332
369
367
386
423
399
360
424
220
227
230
237
216
215
218
220
238
250
228
214
222
211
219
240
207
238
205
226
232
249
217
226
241
226
222
223
243
250
239
208
227
236
200
211
245
246
219
216
222
244
201
220
245
245
204
234
235
238
209
230
213
220
240
229
210
202
209
216
221
203
217
250
226
221
229
203
226
242
239
231
213
213
238
230
244
245
200
208
240
209
236
249
203
248
225
249
221
202
239
235
244
218
227
242
215
216
211
222
224
226
214
227
224
237
222
238
212
200
205
224
246
247
214
213
247
230
244
239
226
237
226
245
208
245
225
226
248
225
209
233
246
232
243
235
237
204
249
223
206
201
237
250
225
232
244
224
209
213
209
228
223
216
226
228
236
205
232
202
237
202
250
227
213
217
209
202
202
212
232
219
218
211
234
212
204
240
223
230
221
206
209
217
200
225
222
207
237
246
205
226
224
250
200
200
222
209
238
248
204
221
213
225
219
214
245
237
226
238
234
207
208
246
211
249
224
204
205
213
220
241
236
247
210
206
222
236
209
232
230
200
242
234
202
230
228
221
217
216
238
200
250
222
244
200
224
208
246
218
200
235
247
249
245
207
240
241
228
234
229
210
247
236
201
237
233
216
230
213
225
222
201
228
243
219
235
230
246
243
211
234
233
242
214
246
207
223
244
246
201
235
243
221
228
205
224
235
246
206
220
205
221
243
247
224
200
237
204
235
215
206
249
203
205
237
212
220
224
202
201
202
234
211
206
223
235
237
211
231
218
225
245
245
204
236
241
228
238
222
232
202
211
239
210
248
210
235
236
236
221
239
205
234
220
219
232
248
246
226
224
239
202
214
244
215
231
208
234
208
241
209
243
225
218
204
215
204
241
213
200
200
226
235
234
218
241
225
243
229
210
245
200
244
218
236
246
248
200
244
222
206
209
212
230
242
225
222
213
203
230
222
223
248
214
227
209
239
233
246
230
224
230
201
240
229
221
204
207
210
207
200
230
218
228
223
222
248
232
208
221
244
232
216
246
233
236
216
228
206
205
212
224
200
238
212
222
215
214
229
203
204
231
203
235
234
240
228
238
250
244
248
231
207
242
208
233
216
217
250
224
210
228
211
242
204
216
246
207
250
213
210
249
214
208
240
200
230
219
228
207
222
223
224
219
211
213
216
223
201
235
204
222
210
213
211
206
238
229
206
212
249
210
228
230
241
239
244
204
245
201
250
212
204
231
232
206
239
237
215
221
247
245
230
202
222
201
216
208
226
226
243
242
220
237
248
208
236
237
210
242
241
211
243
232
221
221
235
229
212
222
209
213
222
235
211
211
211
230
203
247
223
211
246
202
218
244
227
224
202
235
227
246
240
242
205
214
226
248
205
250
247
233
217
210
227
222
215
250
247
231
202
207
240
216
244
237
220
217
217
244
210
244
201
249
200
216
236
209
212
210
227
227
220
202
220
236
216
215
218
238
205
226
226
246
250
236
212
231
217
211
201
246
202
219
217
201
246
244
202
212
222
229
244
246
240
210
200
227
239
233
225
209
200
237
208
207
246
237
208
246
218
225
244
236
207
239
227
245
228
210
213
235
204
233
201
204
213
232
242
207
218
215
231
221
237
244
213
235
231
239
214
243
230
241
244
215
204
204
230
242
243
217
217
225
212
207
205
246
242
220
225
228
209
202
249
204
236
241
215
227
204
215
212
244
243
224
219
214
239
235
232
216
236
223
212
218
231
250
212
243
222
243
205
203
209
211
225
204
202
210
238
210
200
228
246
215
214
233
237
232
231
201
214
205
207
233
248
241
239
211
230
243
244
202
231
235
229
220
229
206
223
246
245
200
211
208
223
218
245
241
228
230
227
217
246
204
232
225
226
214
206
201
242
205
243
210
230
233
236
247
216
249
203
239
214
233
205
206
245
242
215
217
235
236
216
206
239
238
226
218
209
244
225
245
231
245
205
207
233
213
220
231
204
234
227
200
212
224
225
245
249
246
216
201
250
241
247
230
231
249
206
200
212
222
246
207
203
208
225
206
207
243
234
217
219
217
238
209
206
244
215
230
219
223
204
206
242
204
222
221
212
200
202
203
202
226
200
224
210
243
206
201
213
202
213
238
249
216
205
248
216
240
249
241
224
225
207
237
247
223
211
202
224
216
249
203
226
204
211
244
201
244
206
209
213
222
208
245
225
206
207
225
244
208
235
214
234
237
236
218
230
212
229
206
206
217
234
210
248
249
250
222
243
220
216
224
209
204
209
216
228
204
221
224
203
238
222
226
223
207
205
212
238
219
226
227
240
243
241
240
221
243
216
220
223
212
201
214
228
248
221
247
205
245
208
238
239
218
244
202
203
239
224
217
234
236
238
237
237
245
205
232
233
238
244
213
221
204
216
211
239
249
241
224
204
241
232
216
242
229
244
205
234
220
223
210
239
209
208
249
230
213
243
233
218
229
213
205
236
240
202
200
213
249
231
246
249
234
219
214
218
244
201
210
242
201
231
242
204
201
201
218
202
236
200
210
247
214
231
210
231
248
245
210
200
246
244
200
200
212
205
228
227
238
221
241
202
214
208
228
250
225
207
223
200
216
223
247
215
226
207
239
239
241
236
215
217
219
245
206
249
210
201
219
226
204
225
207
217
250
235
241
220
203
239
229
203
246
240
227
231
222
231
220
233
207
235
216
216
239
208
220
221
207
232
203
244
234
206
224
227
243
223
200
240
233
208
229
231
242
250
215
250
247
208
212
227
226
220
250
214
246
244
202
233
200
208
202
215
203
250
227
237
232
236
238
220
211
203
225
212
204
247
221
228
224
236
215
226
239
200
201
238
249
213
201
203
232
222
247
207
242
237
227
213
227
214
233
216
232
244
232
230
246
242
201
216
232
206
228
228
205
208
203
224
247
228
245
212
244
216
241
219
213
226
232
245
226
227
227
207
205
204
247
237
214
230
213
225
219
218
206
220
222
234
212
202
205
217
249
250
228
231
237
238
204
232
234
202
220
228
209
246
230
207
237
218
214
223
212
243
238
208
238
229
202
214
209
243
223
224
209
222
235
223
210
200
225
217
212
240
219
216
200
249
215
223
204
226
213
209
213
231
219
219
248
202
212
209
239
212
238
250
243
217
227
247
211
213
209
245
229
216
237
249
239
215
225
201
237
216
208
226
247
250
229
205
240
202
249
214
226
240
208
216
225
235
237
219
219
214
239
229
239
235
226
239
236
208
224
214
205
244
225
231
211
237
233
242
200
232
249
208
247
239
212
241
230
211
203
250
243
209
238
220
216
224
202
247
231
214
246
219
231
222
218
241
249
229
226
247
204
214
211
208
228
204
232
248
246
207
205
241
217
242
210
201
250
243
208
237
228
213
217
235
248
214
240
239
216
234
231
232
222
216
201
241
206
244
214
207
219
214
222
215
213
213
203
237
246
250
220
229
246
204
246
222
235
209
226
233
243
200
235
244
211
222
248
241
214
216
201
207
221
217
246
239
235
212
246
246
212
217
201
211
247
223
246
241
210
206
209
223
234
235
217
205
221
213
215
214
247
201
247
236
209
241
249
206
219
223
243
229
243
220
211
202
239
222
227
215
234
211
242
225
250
226
213
201
208
215
222
243
207
215
207
250
204
241
247
215
241
208
240
224
203
205
223
215
204
210
244
213
236
218
226
228
248
200
203
214
231
227
212
234
214
228
249
235
200
228
211
247
214
231
211
238
226
221
216
236
248
229
230
237
210
216
229
205
233
223
207
219
236
247
219
220
226
237
222
244
241
224
247
249
213
246
211
204
205
225
219
216
220
245
225
235
230
222
243
216
233
225
221
218
225
219
232
209
238
214
235
232
229
207
225
242
207
229
237
222
247
224
222
209
220
201
238
241
204
207
228
248
228
223
203
203
207
219
229
228
217
228
210
222
234
231
213
203
231
236
221
219
246
225
250
226
210
202
239
218
236
243
233
211
226
226
234
206
237
244
244
220
232
222
223
234
250
226
238
222
233
206
208
220
243
232
203
243
245
224
227
203
233
223
223
200
200
219
234
204
211
224
246
202
224
213
243
224
223
222
240
236
239
237
222
240
237
209
250
202
233
219
202
218
241
206
222
225
246
246
206
210
229
216
223
238
221
227
236
243
224
235
218
246
240
220
234
227
220
246
240
226
211
216
246
221
211
234
202
228
241
239
237
249
207
240
236
219
250
222
244
239
240
241
236
244
247
225
219
245
250
228
209
242
213
240
224
232
219
209
242
239
206
223
237
238
229
242
250
201
203
227
218
222
222
224
241
233
226
200
249
215
241
218
236
213
205
231
242
247
206
213
205
234
205
224
200
206
214
236
206
234
240
222
219
246
214
230
248
234
238
234
207
230
241
239
215
246
234
201
219
216
226
231
217
219
250
209
235
221
234
246
201
247
240
200
229
206
220
244
240
206
214
214
234
250
240
214
206
248
234
249
225
230
228
206
204
210
201
224
212
215
221
210
205
241
235
206
241
230
229
204
225
206
248
233
210
220
241
242
244
220
246
226
246
228
246
214
237
233
241
204
213
214
237
235
238
250
203
221
211
224
214
208
220
208
201
203
235
225
205
222
212
206
200
244
245
243
240
210
210
234
217
234
235
232
243
223
230
233
235
237
236
236
235
208
231
242
215
238
212
235
240
219
244
208
237
212
236
226
200
245
226
225
246
206
210
207
243
221
201
222
209
236
208
223
233
250
209
212
240
236
220
213
210
200
227
243
227
205
210
227
234
232
215
215
215
224
250
248
230
202
241
239
248
224
210
240
212
223
223
217
200
222
212
217
217
239
240
224
218
217
239
204
221
209
232
231
211
239
214
233
233
217
249
236
250
239
239
232
236
208
205
217
202
211
233
240
220
234
212
248
212
248
224
212
217
226
215
216
229
218
243
200
245
246
201
213
233
231
225
245
231
234
202
230
241
237
236
236
240
231
250
228
224
217
247
201
233
245
204
227
200
235
250
215
216
248
207
204
232
208
250
243
240
228
234
228
234
248
244
245
217
209
225
222
237
220
246
221
212
249
212
211
213
233
208
250
216
224
212
208
217
240
228
215
221
206
208
207
239
245
207
249
224
230
207
220
232
214
218
225
235
211
224
242
216
233
236
245
205
210
241
200
208
227
236
219
230
233
240
213
219
219
210
248
226
213
224
205
218
226
215
230
204
201
222
238
237
222
227
230
240
209
237
235
204
217
227
209
221
213
246
238
229
241
249
222
228
233
238
227
208
214
246
244
237
220
244
216
248
238
243
210
212
218
227
250
227
249
224
231
227
236
232
220
248
235
246
216
219
224
220
214
222
219
250
208
216
248
246
223
213
226
228
216
225
235
241
240
218
244
201
222
236
222
225
218
226
230
234
203
223
236
241
210
211
231
219
230
220
202
200
247
231
239
207
240
229
205
209
208
240
208
233
230
201
250
235
218
248
216
209
224
230
211
220
223
231
239
202
215
236
202
207
219
232
201
230
232
239
234
213
208
206
247
238
212
220
235
205
227
205
208
206
205
249
201
231
211
221
239
223
238
204
221
226
216
206
205
250
220
214
204
229
217
222
225
216
200
238
209
218
206
237
234
220
204
250
201
209
220
244
220
204
207
200
247
219
222
205
214
245
204
204
217
244
225
222
209
209
229
203
237
240
226
240
206
247
212
221
206
211
228
211
242
243
201
208
200
214
220
218
211
232
244
213
236
223
248
220
230
242
218
207
222
245
243
248
224
207
247
248
236
239
208
205
234
204
218
244
240
230
244
206
228
224
241
217
245
200
217
237
248
245
200
209
204
203
229
215
205
247
232
224
200
224
244
217
243
224
215
247
228
250
212
210
207
212
247
228
228
216
214
231
226
216
235
245
202
204
235
208
242
232
233
237
218
217
212
220
243
225
229
213
224
221
239
210
232
232
215
201
221
249
227
238
200
222
200
240
237
237
240
205
243
217
236
210
238
207
216
211
249
242
228
227
223
213
212
236
242
235
246
225
242
227
232
211
227
227
232
236
207
225
213
207
205
234
229
201
246
212
247
247
250
241
211
204
241
230
216
213
248
228
234
214
222
238
244
225
201
224
246
210
224
232
200
229
434
419
343
418
340
391
401
468
517
393
417
487
452
338
462
331
485
350
377
452
510
517
337
383
323
340
393
323
496
431
447
345
479
329
472
469
497
390
456
368
514
509
371
397
354
467
392
430
421
390
453
334
427
368
362
411
339
359
399
478
480
452
494
386
511
378
419
435
479
329
493
435
380
432
478
480
377
368
420
330
418
483
336
454
474
443
501
451
455
324
509
520
501
406
454
501
373
333
485
352
494
391
440
364
468
371
370
326
484
491
510
366
422
333
393
468
368
501
330
329
340
436
329
428
412
362
433
478
423
373
477
458
441
486
335
376
465
362
449
346
326
392
402
352
323
457
493
477
377
351
449
426
467
514
460
440
404
345
346
512
516
502
347
449
329
331
350
363
398
321
347
469
324
326
336
347
320
511
446
481
518
325
407
493
350
397
495
385
483
324
395
435
496
454
490
472
356
398
440
321
344
359
493
496
501
323
338
331
430
441
348
373
464
471
479
381
423
505
402
388
513
372
335
422
346
346
332
346
357
399
483
344
410
483
344
328
498
451
369
430
496
382
353
486
498
326
482
433
443
505
329
404
468
410
459
504
350
415
393
422
508
409
495
495
473
404
381
496
403
330
449
393
447
404
495
322
464
509
440
369
463
355
479
472
432
423
409
513
512
357
492
510
495
421
389
397
396
498
363
465
450
377
373
332
396
332
401
343
472
324
495
462
352
445
455
355
514
409
421
473
479
401
504
457
449
431
507
458
350
456
436
442
432
494
476
458
493
407
453
336
456
456
357
488
474
357
489
394
362
399
390
430
443
438
487
495
389
361
386
400
463
390
364
506
346
444
368
520
368
506
327
446
369
510
413
417
509
332
388
499
491
462
512
479
477
477
496
475
482
515
363
327
466
393
515
492
439
374
378
460
382
320
441
478
453
450
414
350
338
462
403
452
459
427
459
470
501
410
419
434
410
519
409
358
379
434
458
503
388
517
328
506
358
342
431
469
326
337
373
517
381
419
426
358
408
396
321
374
443
459
451
492
403
340
446
390
341
470
473
364
341
494
391
332
377
395
336
487
501
504
500
484
480
377
504
397
506
324
339
423
423
423
336
382
341
352
344
519
425
440
373
467
334
399
503
516
360
386
455
431
432
386
434
482
440
368
334
470
343
482
347
354
335
362
408
365
504
514
413
351
397
375
483
497
362
381
345
450
450
497
465
477
328
342
420
378
479
321
429
412
344
341
503
487
395
384
438
423
347
455
512
326
365
346
333
404
390
458
387
360
390
398
420
516
349
480
488
423
471
445
353
336
327
498
445
498
497
509
333
484
387
326
397
421
373
417
515
516
415
427
397
433
505
403
497
336
472
408
415
346
351
341
336
348
475
405
370
385
327
444
351
488
444
499
516
415
475
387
342
372
357
413
513
428
367
389
382
458
385
518
447
429
517
412
412
395
406
458
447
473
490
440
502
520
451
331
457
489
465
404
332
424
515
355
330
423
423
416
353
396
457
321
400
411
487
394
424
427
363
379
444
357
494
397
421
441
481
489
460
442
383
453
438
343
342
485
452
382
356
408
345
341
332
474
477
485
365
443
511
502
446
405
393
451
492
357
488
491
325
328
394
335
325
509
448
345
444
348
458
408
407
485
376
410
395
409
507
484
402
440
463
498
461
334
385
506
491
500
505
376
396
433
371
450
380
382
400
432
488
359
428
373
477
500
389
463
470
452
502
435
413
498
456
370
469
463
472
339
406
464
374
439
380
364
342
378
473
472
446
436
486
502
395
473
496
338
467
346
335
495
344
425
452
346
451
416
344
487
371
448
346
339
488
518
471
469
485
480
483
404
385
489
352
513
494
369
470
468
359
350
326
406
424
320
383
509
323
431
489
499
325
466
334
421
415
418
391
492
406
516
418
437
409
400
466
469
342
502
492
489
429
341
343
499
374
505
411
359
517
480
404
442
453
352
357
431
353
346
455
356
449
453
366
500
406
349
416
396
320
388
382
405
367
354
458
477
347
322
510
479
417
350
517
358
466
441
362
519
423
395
417
494
364
391
448
441
420
435
457
337
430
448
345
334
425
369
375
352
390
432
410
381
347
380
412
354
424
410
472
411
476
482
503
436
433
365
353
420
488
351
339
342
450
404
508
388
511
341
485
382
417
374
433
345
400
410
424
502
455
466
352
456
455
413
342
369
447
366
375
459
463
516
401
411
477
369
510
341
454
367
326
478
418
494
338
467
370
412
335
353
514
492
397
404
413
325
422
492
354
440
325
425
328
515
489
322
508
456
395
376
344
507
442
431
428
428
409
407
489
400
423
407
400
467
361
490
374
470
437
485
358
406
401
430
444
412
437
349
409
418
447
418
377
483
390
473
375
404
510
476
452
402
375
323
480
452
366
350
422
369
430
385
519
448
485
371
327
377
474
473
330
374
468
434
375
348
347
489
438
392
377
403
403
428
502
440
454
385
455
441
364
408
414
481
476
381
388
476
426
410
343
376
346
452
463
426
320
374
375
467
439
325
337
493
359
342
462
452
427
456
515
341
383
364
433
496
414
487
487
383
321
353
398
334
403
472
358
402
462
402
473
462
493
375
348
520
335
484
485
477
334
330
399
358
410
510
416
501
454
326
495
446
422
443
501
449
392
450
435
428
329
328
340
433
387
389
325
358
479
442
363
442
419
361
423
371
385
406
358
323
430
322
432
361
336
496
417
404
365
491
444
501
480
390
385
396
423
493
496
350
430
324
340
350
505
446
452
462
442
470
504
473
446
416
479
518
348
489
350
390
495
395
473
470
493
342
436
363
339
390
370
411
507
340
409
430
325
517
518
353
376
330
452
362
475
396
373
376
402
372
520
491
519
467
463
321
501
482
448
482
492
392
365
470
520
516
364
501
462
488
326
376
442
464
362
510
429
401
504
514
452
480
384
431
470
472
422
460
323
362
517
463
469
436
324
345
344
480
419
375
515
473
442
493
475
516
339
475
321
392
380
408
374
512
509
449
409
357
378
402
431
515
484
322
362
333
498
520
387
386
517
339
498
519
464
496
357
393
364
372
406
356
465
377
485
326
329
419
428
469
445
422
509
443
456
347
324
462
474
427
457
345
357
353
517
454
429
425
344
508
351
385
404
469
423
411
475
401
404
460
463
325
412
455
411
485
402
324
327
485
359
459
375
401
376
433
462
407
463
500
338
432
355
491
357
395
479
413
402
498
364
385
374
500
508
352
413
506
431
458
465
410
325
425
347
464
435
415
495
391
497
420
428
353
456
388
377
349
510
329
497
454
405
337
440
495
336
503
338
492
488
386
449
483
490
428
469
389
506
489
391
449
385
489
424
495
390
450
509
491
427
441
372
472
377
325
415
487
379
392
454
380
322
390
455
468
366
354
493
414
384
413
483
475
450
345
453
439
358
411
396
328
498
437
410
438
363
385
448
409
432
439
335
449
448
408
411
354
359
369
335
486
379
460
504
392
410
476
353
360
338
492
364
513
518
358
339
492
355
448
425
453
347
366
486
385
410
431
327
418
368
433
390
504
342
331
383
509
497
336
385
358
363
499
451
338
457
476
344
468
421
378
465
459
511
494
496
360
334
414
434
495
388
519
430
494
471
463
453
328
456
344
480
461
506
472
351
378
464
373
513
341
422
324
387
429
388
478
392
441
505
413
500
509
472
451
519
507
499
488
382
437
326
492
410
422
392
502
519
333
350
324
420
502
462
492
436
472
390
360
384
453
361
336
508
370
384
350
360
346
462
403
445
500
367
421
352
385
356
388
324
362
368
334
453
373
496
465
380
476
362
370
347
481
424
477
365
424
424
446
510
414
352
438
363
327
453
373
415
348
427
433
324
327
480
511
407
413
418
463
367
511
445
387
503
425
348
355
475
421
383
441
468
343
501
469
418
360
414
504
410
391
360
363
486
421
468
347
388
411
358
394
494
461
457
451
437
335
341
396
485
330
377
502
486
394
435
350
403
468
413
514
392
353
351
387
518
454
336
351
434
466
504
442
394
386
356
435
517
460
321
362
342
337
360
446
364
441
384
382
487
511
498
508
437
481
393
443
366
380
502
376
480
458
385
347
392
509
507
423
342
421
337
473
498
424
460
403
454
418
495
342
467
328
440
352
495
412
414
468
459
431
423
344
411
406
342
476
459
436
388
390
446
499
476
481
390
488
350
382
393
509
347
465
441
384
472
325
377
392
458
411
367
332
430
330
401
416
439
480
502
504
512
338
383
347
428
433
445
446
346
402
417
396
440
475
515
484
384
464
468
476
453
429
519
441
430
332
376
413
474
444
446
408
366
495
465
421
452
444
402
520
381
432
490
500
415
469
321
503
384
443
422
401
462
409
321
501
473
503
437
371
427
380
404
510
330
505
432
429
440
343
352
362
354
399
452
431
404
411
434
344
462
416
382
408
479
385
393
427
332
368
489
518
463
454
437
417
369
490
371
349
326
345
509
414
469
452
362
481
470
365
492
393
469
475
344
329
507
476
356
511
458
416
438
392
466
456
346
354
430
508
480
424
359
440
478
351
489
338
436
426
411
443
467
410
402
480
432
324
474
322
477
444
339
506
445
478
475
410
421
402
388
367
360
510
459
498
484
510
427
498
384
424
474
397
437
467
354
356
514
429
445
393
478
326
433
450
341
387
364
427
507
471
444
500
472
416
338
463
370
405
462
411
501
414
413
422
514
425
367
458
448
456
504
385
399
380
466
487
506
470
463
387
376
505
449
337
464
447
361
398
419
432
384
413
498
367
518
348
514
357
443
352
405
464
347
449
417
454
439
506
403
375
471
330
484
458
405
344
356
325
465
414
394
498
418
323
441
391
436
406
342
504
478
421
322
517
389
409
428
435
464
512
434
340
519
517
507
357
437
510
510
474
419
465
397
344
373
478
379
378
515
519
469
329
337
478
436
468
330
509
382
448
498
506
341
424
472
442
485
443
329
431
339
326
346
467
509
458
424
481
384
518
489
373
412
514
357
459
496
386
391
489
379
362
461
349
492
424
480
387
391
434
397
430
324
506
433
383
330
355
421
468
370
339
424
418
421
390
494
428
356
453
400
455
477
437
508
491
496
492
466
506
341
474
365
493
506
421
451
393
419
414
371
377
331
382
332
338
359
473
335
447
454
354
459
432
443
476
519
329
410
472
362
508
452
411
486
391
473
431
419
463
519
484
510
384
516
439
321
414
499
323
479
474
406
440
354
385
436
463
457
338
442
341
492
327
473
453
409
494
355
436
321
406
384
489
387
452
351
374
520
443
448
462
409
367
444
381
445
499
372
417
497
383
462
487
491
383
478
347
394
394
441
379
322
355
512
352
447
335
472
427
394
457
451
423
443
321
479
445
402
519
468
325
451
439
482
409
374
383
423
400
329
430
501
427
338
359
341
474
368
510
390
324
336
449
374
395
328
453
392
365
471
341
378
488
438
507
447
331
450
504
466
417
430
479
441
511
495
494
389
374
500
341
419
386
442
497
357
507
456
378
510
482
338
478
506
449
392
384
480
387
426
386
454
373
456
335
468
495
457
510
437
497
362
398
345
448
362
397
450
404
432
384
399
375
520
408
501
439
458
327
347
394
503
441
421
416
507
417
474
511
331
381
451
417
490
341
494
512
343
336
466
322
353
439
511
474
343
416
385
351
333
323
325
476
321
321
455
443
478
507
378
363
400
499
473
367
328
405
401
367
342
435
329
338
503
504
480
398
326
461
325
328
348
445
389
463
503
515
472
367
404
465
458
352
472
456
419
471
449
369
377
503
330
374
428
333
444
327
380
484
479
474
518
484
438
425
350
388
373
437
363
396
459
389
423
423
417
487
470
480
394
360
476
426
371
394
413
425
384
343
434
394
448
455
326
337
400
467
469
417
443
514
346
457
440
381
322
371
468
402
356
485
497
444
402
423
435
477
407
359
438
354
423
502
460
333
388
429
404
508
462
372
427
350
443
385
514
373
515
386
453
510
338
323
336
405
432
484
440
444
457
336
460
513
414
520
380
433
364
453
377
430
490
384
350
389
509
512
395
355
403
398
353
446
440
460
465
414
467
415
333
404
495
326
476
339
476
445
383
399
411
514
348
326
436
398
468
468
387
402
340
508
393
506
380
490
511
413
421
475
349
465
444
497
496
432
389
447
465
507
442
431
449
458
414
411
416
350
449
450
417
456
464
348
463
461
438
489
455
458
503
472
467
435
371
350
391
487
328
391
454
372
469
428
399
379
411
379
477
502
338
417
470
357
326
469
499
397
346
362
488
477
502
440
511
415
356
381
380
400
369
376
423
409
430
490
465
339
468
367
331
440
332
429
431
375
505
398
363
442
507
422
500
425
476
430
381
343
332
500
498
444
508
401
403
511
414
329
442
323
410
367
482
394
420
493
519
478
512
397
355
489
426
418
454
459
490
461
396
437
509
326
425
473
345
346
476
514
423
441
409
455
338
379
371
358
403
456
492
338
516
486
462
353
433
448
346
473
494
455
384
512
384
492
518
399
436
505
473
345
462
481
354
345
368
377
380
385
425
457
448
460
459
448
413
474
449
352
442
388
324
409
347
415
342
461
417
394
440
409
491
505
508
349
489
511
495
412
505
492
475
395
360
337
363
517
460
421
356
359
323
473
490
467
354
493
429
345
380
450
434
497
394
520
427
445
431
510
403
320
371
419
506
363
504
390
346
498
364
476
324
379
372
447
471
499
491
426
463
371
445
460
495
424
446
349
464
411
489
409
373
434
389
323
327
398
470
437
474
358
516
435
471
337
504
520
419
404
458
350
320
355
414
461
518
518
320
350
490
460
513
469
470
333
486
414
416
440
321
329
518
519
406
329
391
461
446
468
413
473
518
444
513
424
328
407
374
373
436
445
414
381
491
500
426
505
332
414
490
515
339
490
346
498
327
511
473
458
510
447
463
498
388
502
438
494
495
439
453
445
385
453
353
488
470
399
323
394
453
429
402
425
398
505
490
516
382
421
423
343
408
486
424
367
336
420
510
450
421
335
432
432
428
422
379
494
465
450
446
464
369
388
368
466
398
513
466
455
519
359
331
515
375
365
355
403
421
427
382
475
344
375
337
351
473
429
355
474
497
504
347
348
384
383
387
335
420
465
487
471
322
345
400
513
469
445
492
373
483
518
337
440
470
419
489
463
489
419
460
512
418
374
440
501
449
341
405
337
380
369
438
517
491
326
459
499
481
455
460
405
380
334
373
384
352
401
477
377
443
423
450
473
467
369
437
353
368
339
432
424
365
504
422
509
405
474
491
455
435
388
508
322
337
410
355
359
439
447
424
207
224
229
205
250
234
209
249
222
250
223
203
241
247
218
204
228
206
219
233
242
240
235
231
231
231
209
234
237
226
227
249
216
202
247
207
212
215
223
243
204
235
249
232
242
245
203
200
233
227
250
208
210
221
240
247
242
209
203
206
241
204
206
235
232
237
203
244
225
242
219
222
216
243
221
243
248
218
223
230
204
241
218
247
220
244
207
210
206
216
216
236
221
202
216
243
228
224
202
200
243
216
225
229
221
237
233
246
204
239
217
248
236
203
236
228
245
227
230
249
244
200
230
221
210
205
224
221
203
205
244
218
221
229
205
248
206
212
205
236
208
212
200
232
205
242
230
244
205
235
231
200
246
245
232
216
205
215
203
240
203
210
249
218
246
229
229
250
238
234
215
208
235
216
216
216
225
210
205
232
245
250
211
204
239
233
239
216
223
239
228
210
222
239
227
235
203
233
204
202
216
219
215
210
233
213
231
231
209
214
246
210
212
249
204
222
221
233
212
206
213
205
209
234
222
211
231
201
207
202
222
233
214
218
202
220
229
249
244
222
244
243
226
217
248
210
237
249
225
203
205
244
206
236
238
208
220
201
204
220
219
200
219
214
223
247
229
209
224
218
214
208
225
240
229
209
204
224
239
204
231
226
216
213
240
220
222
236
218
245
203
245
250
206
217
220
205
227
207
217
231
242
227
250
200
213
234
222
241
245
221
226
202
214
231
235
202
248
208
226
218
200
246
243
244
239
208
221
230
245
237
225
224
244
245
217
221
208
229
214
250
200
229
204
206
211
228
243
226
218
221
214
211
207
247
235
240
238
224
223
211
208
228
214
228
205
209
229
208
236
221
201
246
210
216
247
248
204
204
200
243
231
201
215
250
234
250
210
201
204
244
207
207
222
243
213
223
215
202
212
222
227
241
244
248
244
222
242
211
221
228
204
248
207
211
200
242
214
215
204
213
243
232
248
227
221
200
217
214
214
244
206
225
235
200
222
250
233
229
218
201
233
216
221
247
240
223
232
208
213
249
244
224
222
207
212
209
230
247
221
213
229
213
247
219
237
227
202
245
246
249
232
211
207
221
222
234
246
232
213
235
208
212
209
210
232
219
243
250
220
242
231
241
204
232
205
204
241
230
204
203
249
201
205
234
239
228
250
207
227
218
235
233
205
237
238
238
207
245
221
218
240
243
238
207
236
235
241
236
235
214
233
232
229
202
231
210
232
225
202
239
212
206
202
226
240
224
219
232
233
242
231
245
237
235
238
223
202
234
211
226
218
241
224
211
213
206
233
215
246
225
248
229
248
240
238
218
209
236
205
205
225
245
233
205
237
231
202
209
217
249
216
224
228
209
217
217
247
211
205
232
205
211
211
223
247
235
235
212
249
208
239
201
230
213
246
215
230
216
234
207
211
246
248
232
245
245
247
219
209
234
209
241
245
221
224
225
217
200
242
210
240
228
245
250
223
204
249
210
219
205
226
221
201
231
224
238
217
224
238
209
226
200
242
244
236
233
228
212
203
211
226
215
220
246
248
228
247
201
203
227
204
216
204
208
225
242
218
245
224
207
241
213
213
215
208
250
234
204
228
241
236
240
204
234
223
246
245
214
201
226
245
240
246
232
208
224
229
241
250
247
241
211
249
231
213
207
233
204
210
246
230
220
210
226
241
217
206
238
247
225
248
246
204
215
220
240
219
239
250
244
226
238
208
240
225
202
246
210
236
203
208
226
236
216
229
205
232
219
207
236
219
244
240
238
249
210
200
241
249
244
203
221
242
224
246
200
219
214
221
227
216
220
229
227
212
242
209
244
210
241
226
240
231
220
240
219
235
231
205
220
216
216
209
226
226
225
220
231
213
200
247
239
200
243
220
230
243
248
208
208
234
222
223
212
248
231
247
208
205
205
227
225
248
202
201
227
211
240
214
215
214
203
239
239
201
232
246
216
240
208
244
221
217
247
242
230
218
230
202
230
234
227
223
229
217
247
204
221
227
212
213
205
234
242
238
226
240
208
227
236
225
233
204
249
207
213
239
209
222
219
204
205
207
236
208
218
207
219
234
242
228
242
228
206
209
231
220
247
225
210
221
235
248
231
200
249
235
248
222
201
244
232
234
200
209
237
221
224
219
225
226
207
240
220
232
244
206
209
242
228
228
231
216
202
239
226
212
226
201
231
223
220
250
200
206
244
205
233
210
200
220
216
236
209
247
212
232
200
229
241
229
209
236
204
220
222
206
235
200
249
214
247
213
244
245
234
243
224
218
238
215
222
246
203
206
237
235
235
206
226
247
233
250
211
243
244
237
224
240
243
212
202
216
213
220
211
237
210
233
208
225
247
249
247
206
244
220
223
245
208
230
245
246
223
211
249
236
224
205
241
237
209
228
240
238
238
209
223
248
225
226
238
217
235
249
206
231
205
243
230
232
234
205
212
210
205
230
217
233
227
241
231
229
226
225
233
227
236
227
226
207
239
233
217
233
221
227
214
218
217
213
242
215
208
243
248
237
250
234
242
235
250
224
221
238
243
238
215
227
208
206
249
207
239
206
216
231
204
213
240
208
206
212
236
223
202
242
231
209
219
211
226
247
244
225
250
230
217
200
207
220
204
246
241
247
237
236
203
204
213
205
205
207
202
232
236
213
214
242
233
242
223
243
237
223
204
205
237
218
230
221
246
200
224
245
246
214
211
243
201
218
229
248
231
225
232
234
227
240
246
208
215
243
243
224
239
216
240
239
238
222
229
207
223
232
210
228
247
203
219
243
242
238
228
232
245
227
249
214
224
209
205
210
220
207
221
233
216
240
227
221
206
250
238
249
222
220
218
245
227
221
237
204
218
222
244
219
213
222
207
215
213
244
221
227
203
224
249
250
200
220
240
231
207
229
211
206
215
249
233
248
249
231
250
204
246
216
245
202
222
229
227
236
201
229
239
249
238
236
240
229
220
209
228
215
206
219
211
225
218
238
220
237
211
204
237
224
234
230
209
208
221
244
214
235
245
214
234
244
244
200
224
224
218
231
219
201
230
219
233
209
236
230
230
249
207
244
236
249
200
239
221
223
243
202
232
246
217
240
233
225
217
214
215
237
218
245
202
248
239
200
245
220
203
230
227
239
203
213
224
227
212
205
203
235
235
242
203
222
200
241
208
242
229
219
236
222
200
215
204
210
212
202
231
236
230
246
230
206
203
247
204
217
201
212
230
208
225
243
232
228
239
201
229
204
248
249
242
237
228
200
224
246
226
207
249
208
233
208
219
216
247
214
216
229
238
215
248
223
217
233
237
227
250
250
223
249
211
233
208
201
236
218
235
236
240
243
237
233
220
240
211
239
220
235
209
238
230
222
225
211
241
220
202
247
238
222
246
228
227
234
221
200
247
235
220
227
248
207
215
215
200
211
224
229
222
226
207
200
208
223
215
240
242
237
243
214
243
211
239
209
203
227
246
248
246
228
201
232
248
221
210
249
225
204
232
232
233
202
235
247
246
211
242
225
249
210
249
218
200
215
244
220
231
227
222
216
230
201
227
219
244
238
244
242
247
231
239
201
235
205
220
246
218
249
247
203
226
217
216
219
224
205
230
211
230
243
250
206
248
221
221
210
218
235
228
209
202
202
242
241
242
210
224
214
225
217
221
209
201
227
244
249
221
245
224
231
229
224
245
225
213
250
227
244
212
208
219
227
244
244
210
232
203
241
242
216
241
231
241
228
215
240
237
203
230
218
216
240
237
210
205
239
200
238
209
247
221
219
229
211
234
230
206
219
244
232
250
215
221
238
204
205
213
219
213
211
221
221
228
210
238
224
233
205
225
202
219
242
206
205
247
208
219
222
220
223
227
228
209
244
225
248
211
224
230
221
210
225
209
235
237
217
237
213
232
247
200
244
222
247
219
235
216
233
228
234
225
238
200
205
215
243
240
224
241
213
201
239
244
204
212
204
246
233
226
220
214
244
202
248
243
207
213
225
224
242
226
227
222
207
220
226
214
244
210
240
242
231
212
226
245
235
243
206
247
248
229
236
237
210
214
219
241
210
221
236
217
209
216
229
222
233
203
246
201
231
210
238
245
203
225
248
248
213
200
245
234
214
206
249
216
237
208
246
233
244
217
221
210
207
205
235
248
240
214
247
245
236
218
219
249
224
238
225
232
228
219
209
244
242
202
211
201
224
244
224
245
216
202
206
219
216
250
227
201
249
225
208
200
214
219
212
217
233
231
224
238
250
210
244
207
243
249
216
220
225
215
217
234
204
240
202
233
214
217
213
201
230
229
245
204
208
249
230
204
238
246
210
210
229
220
216
211
250
225
205
220
206
240
233
242
247
243
222
218
250
200
222
223
234
221
210
220
213
224
215
214
239
234
232
250
211
202
205
220
214
213
239
218
226
211
209
218
249
239
214
202
240
218
217
226
233
238
245
247
231
236
243
237
216
238
237
232
233
232
220
207
223
231
207
227
240
229
237
225
235
211
205
220
250
224
205
224
219
222
235
215
227
227
223
231
221
226
245
211
228
208
216
222
247
204
210
250
235
240
242
210
211
240
221
221
228
204
224
218
234
249
248
248
226
210
234
239
213
231
200
244
228
222
244
214
234
247
248
225
217
248
237
241
249
242
216
223
245
249
234
227
222
222
218
221
232
220
221
207
221
213
219
223
235
215
202
249
205
232
245
247
220
246
247
221
222
246
230
216
237
248
236
250
203
212
218
207
245
235
210
227
214
207
220
236
248
207
229
246
227
216
204
217
224
246
212
206
231
230
244
207
233
225
239
204
218
207
208
226
215
248
244
231
241
220
212
240
231
235
224
243
229
235
210
241
212
208
240
227
243
202
237
240
228
207
236
221
202
212
204
237
205
238
204
222
219
228
249
210
233
249
204
205
201
217
203
201
249
216
225
245
217
242
216
206
219
226
228
245
203
207
218
243
209
244
213
243
239
235
244
217
238
249
223
206
216
205
219
210
235
219
204
226
214
227
232
232
221
250
227
200
216
234
234
248
203
206
214
238
200
206
245
224
220
229
240
234
247
221
240
244
246
238
225
210
242
232
229
232
231
235
208
234
207
235
202
239
210
248
209
211
208
250
242
249
248
244
230
236
241
246
208
227
206
200
224
201
218
233
213
210
226
223
221
234
222
247
227
218
236
206
203
226
230
205
249
238
212
207
224
202
239
244
244
232
213
231
217
237
211
208
210
235
243
211
249
230
214
202
215
203
203
215
200
202
209
223
202
234
249
244
241
233
224
207
201
223
237
250
203
207
229
244
202
249
209
216
218
223
216
207
201
205
203
243
236
205
218
217
237
224
213
218
235
226
241
201
235
236
218
248
204
205
231
214
245
217
230
237
217
209
239
248
202
234
218
241
204
207
213
205
220
220
228
233
222
227
217
234
203
241
209
247
215
237
210
236
248
228
233
242
209
226
243
228
222
245
217
211
235
238
232
205
214
203
230
227
226
215
236
218
228
225
236
214
243
224
238
231
248
229
209
220
207
229
235
214
246
241
217
203
227
208
219
213
206
212
237
222
246
233
231
215
242
243
222
234
232
227
241
207
246
223
245
238
214
245
202
249
248
220
217
203
207
228
244
218
204
242
219
226
212
228
211
218
247
213
234
231
250
211
235
248
226
245
250
207
206
231
215
210
245
225
207
233
236
242
213
242
237
230
235
236
228
200
230
216
205
250
205
207
234
223
237
215
242
222
244
236
201
238
201
210
214
236
241
213
240
206
214
218
231
220
204
249
244
214
232
223
221
244
232
226
211
211
248
226
217
247
225
218
219
249
214
208
226
218
201
212
212
221
247
201
204
246
214
245
235
237
203
217
248
208
200
238
233
201
220
205
209
225
236
248
236
248
245
244
247
216
200
234
231
242
229
236
215
246
236
227
225
221
240
209
215
219
218
223
241
218
233
207
209
240
243
202
242
220
221
211
229
222
210
211
212
222
230
248
207
210
205
210
226
246
222
208
211
219
213
202
212
209
205
207
234
247
214
201
209
201
218
203
225
243
246
200
229
241
216
235
228
215
242
246
232
233
235
237
203
221
245
227
244
223
205
217
222
247
206
235
223
234
211
240
207
238
215
224
211
235
229
200
212
231
243
234
227
236
218
215
241
219
205
240
242
233
250
233
212
228
228
211
230
247
227
245
215
240
223
202
204
243
249
203
245
205
226
234
242
208
238
248
243
206
211
206
233
233
211
204
211
207
232
206
202
224
236
215
208
215
207
212
217
241
216
209
202
230
229
208
209
203
207
205
227
245
211
215
230
248
233
205
219
208
222
229
214
242
211
225
221
228
203
210
223
233
246
204
207
201
214
211
211
212
211
234
213
214
221
243
214
226
211
211
234
244
222
210
236
236
216
230
225
223
208
237
232
202
234
216
235
237
216
211
250
242
232
229
227
225
244
219
250
224
243
247
221
242
218
220
237
203
221
233
246
219
204
223
226
231
216
236
201
250
227
213
241
213
212
244
221
249
229
224
211
230
242
231
249
241
218
244
243
206
201
245
248
235
235
211
210
248
202
205
246
234
207
215
250
216
216
209
223
238
246
246
204
218
216
242
205
207
222
238
212
242
247
209
240
230
200
241
245
207
248
236
246
225
246
228
249
226
216
241
205
248
201
209
239
224
215
206
238
223
217
207
221
213
219
246
249
232
200
215
248
230
227
204
245
212
220
242
228
221
226
224
227
236
234
250
216
233
214
242
227
245
210
230
228
234
228
214
223
247
241
241
219
215
232
236
209
250
226
229
242
201
214
247
202
226
214
202
211
247
243
200
220
205
233
220
208
224
222
207
246
235
217
241
229
245
215
219
238
227
209
214
207
227
236
208
232
239
215
238
205
201
225
239
208
219
204
250
246
250
202
232
243
220
242
217
250
216
249
202
241
211
244
205
201
227
226
215
218
239
218
212
236
238
217
216
238
249
249
206
203
228
230
207
231
238
239
245
233
203
243
249
206
219
237
247
247
206
226
244
250
203
212
241
236
238
200
233
218
249
245
230
243
221
223
228
209
244
216
224
201
202
250
223
224
207
250
205
223
231
204
230
203
207
224
235
229
232
203
244
229
227
248
243
247
225
232
201
212
206
247
230
240
211
220
236
239
207
205
233
229
223
235
229
250
223
250
213
240
228
224
243
233
231
225
226
222
221
245
215
240
214
208
216
220
211
230
245
240
219
203
201
205
244
240
224
234
217
235
202
244
219
208
226
205
249
219
217
226
244
248
234
213
220
233
233
202
207
206
240
228
246
224
250
241
235
246
232
241
236
238
226
246
219
230
208
232
233
233
207
225
221
227
200
237
218
232
236
249
203
223
237
214
216
241
224
234
218
226
239
229
238
236
227
232
219
203
240
235
202
231
233
221
245
213
243
245
211
244
248
236
227
220
224
237
229
222
231
222
208
228
244
214
213
245
245
243
249
239
246
244
228
241
210
248
240
240
234
214
233
218
220
228
220
241
224
216
226
243
236
208
203
224
250
246
228
223
239
203
204
213
248
206
250
228
201
221
223
205
207
222
244
207
246
201
227
246
201
235
213
229
213
230
249
208
220
216
204
224
210
245
247
239
207
231
202
213
241
216
231
249
222
240
224
217
244
205
223
225
239
214
244
243
234
233
247
246
246
202
248
227
215
227
246
228
221
202
205
233
242
202
228
216
219
225
215
210
217
242
216
223
219
227
236
201
244
203
231
224
248
202
214
217
239
241
204
203
247
222
227
212
218
219
246
229
215
225
236
230
217
245
214
249
207
243
216
208
205
238
207
228
239
215
222
224
230
228
238
244
249
226
214
237
207
242
200
213
242
223
224
239
201
244
215
221
249
225
216
240
235
212
244
237
224
227
206
223
232
227
212
243
223
206
225
235
214
216
212
202
203
228
250
204
241
250
212
214
221
218
216
232
220
226
227
227
231
236
240
232
227
248
233
218
200
206
250
212
221
202
229
204
220
226
203
215
211
212
224
237
240
239
221
231
219
236
202
244
237
231
248
239
213
214
234
228
250
209
210
238
205
210
204
248
246
232
235
225
242
209
236
207
236
244
237
205
227
237
225
232
237
245
236
201
225
210
211
231
201
244
223
216
216
205
229
207
221
245
208
233
208
248
220
209
240
239
200
247
234
248
214
230
202
219
248
234
204
249
218
233
235
223
239
236
233
246
214
234
201
209
223
220
211
208
217
237
204
212
231
221
200
230
230
247
238
233
248
201
205
214
250
214
203
201
223
220
237
238
233
200
214
232
209
250
212
207
239
235
234
234
214
201
240
237
247
240
212
237
212
214
201
209
208
221
221
240
214
238
236
237
205
217
224
245
247
241
236
212
245
250
212
248
214
208
205
231
243
240
215
202
233
226
204
241
222
204
245
211
213
214
235
229
230
237
247
230
214
209
236
224
207
233
229
240
231
217
247
250
230
224
207
206
203
229
208
497
331
433
510
498
464
489
421
438
376
445
389
514
442
335
463
396
342
348
399
448
514
492
462
337
494
370
387
378
459
334
495
424
485
458
380
489
472
466
424
322
504
443
492
326
377
445
414
329
393
518
357
399
410
361
509
444
460
486
355
334
431
520
377
359
484
372
520
350
359
349
401
405
387
399
502
396
403
446
485
360
424
476
448
341
417
404
392
493
449
346
330
343
451
496
518
387
342
518
498
397
442
481
460
430
407
516
484
411
441
413
438
407
457
323
377
462
377
431
390
457
377
446
329
396
506
341
450
442
378
436
507
453
423
393
480
354
421
413
436
500
434
329
423
518
329
375
354
324
325
490
400
516
491
360
399
356
436
498
446
492
326
510
417
344
330
430
339
453
509
519
435
454
366
440
402
354
431
363
504
493
488
429
410
386
322
387
326
363
466
394
353
444
337
497
325
516
323
468
479
467
377
408
497
324
434
506
388
493
444
402
374
431
411
428
375
505
388
349
386
419
429
435
463
479
388
330
411
322
365
358
363
430
419
481
433
406
463
392
414
478
513
342
431
460
473
515
456
338
482
431
393
432
373
392
475
452
386
372
341
502
507
423
329
472
434
469
387
449
520
499
475
395
506
417
449
488
463
330
400
452
509
384
389
499
352
393
327
470
481
371
380
520
446
508
436
403
397
488
355
511
329
381
442
452
511
329
481
339
507
396
497
404
421
419
341
339
503
414
396
350
519
429
354
393
345
349
346
481
400
474
436
333
381
520
403
514
332
346
429
417
503
324
364
500
337
403
422
467
360
387
449
488
460
376
412
444
475
453
465
352
330
410
325
514
394
511
432
468
358
516
451
361
505
373
371
370
323
406
445
413
450
493
356
458
381
397
444
472
409
424
355
380
328
489
431
490
413
321
420
324
379
500
452
387
467
408
334
462
450
452
493
392
479
320
334
390
347
420
503
461
406
413
469
497
481
359
332
437
372
320
397
352
340
436
328
475
386
396
396
449
408
511
395
467
498
477
422
514
465
503
370
460
340
370
393
488
340
320
367
363
341
455
365
457
437
450
438
437
453
413
390
459
360
399
394
502
459
344
496
474
355
388
391
340
408
359
514
455
389
441
408
320
432
366
413
487
488
410
417
329
403
483
328
417
398
427
472
320
405
450
377
482
360
451
389
377
399
481
508
366
520
430
462
474
434
347
399
482
512
378
495
357
476
326
424
510
325
399
404
352
393
483
515
426
371
420
458
466
332
452
440
421
455
432
420
370
475
442
370
502
326
394
375
359
424
349
496
365
511
404
429
377
402
466
471
518
480
435
333
506
362
351
437
361
457
520
474
477
502
485
490
400
403
426
489
488
384
382
399
347
459
327
499
516
437
329
374
453
412
376
335
363
500
473
423
399
356
466
328
468
330
427
353
322
444
437
510
383
389
460
390
320
402
483
337
464
497
442
480
401
335
446
502
469
445
380
483
487
421
416
341
326
379
362
370
403
508
320
377
372
398
359
423
332
362
326
433
324
353
442
402
516
335
503
377
331
499
435
380
352
355
379
350
448
510
386
322
486
520
509
348
375
520
476
420
516
429
394
493
435
394
420
437
422
332
355
511
480
425
423
410
434
380
330
332
512
459
347
450
442
372
447
449
483
348
498
435
394
517
512
375
483
415
461
477
374
410
518
344
493
344
447
452
370
500
476
444
490
424
391
357
515
411
388
407
337
344
380
329
332
374
380
389
335
386
332
460
438
328
405
515
488
385
322
456
393
492
375
453
497
391
399
495
358
467
400
383
446
384
468
450
420
387
492
414
488
417
435
398
397
408
358
351
405
403
491
386
435
344
393
446
410
415
352
519
406
512
358
432
487
340
458
471
506
328
464
348
384
492
493
457
437
398
355
329
451
470
386
493
376
406
490
323
380
444
360
365
482
322
334
467
498
446
467
424
418
494
401
469
462
354
462
360
440
406
440
478
334
475
364
390
363
336
497
330
378
448
356
417
334
463
426
347
513
481
389
457
435
443
389
469
358
516
383
339
472
368
405
328
365
396
489
366
467
477
386
363
462
431
353
369
481
473
485
328
432
493
361
473
338
483
497
366
503
411
440
457
476
440
327
388
390
390
381
347
355
460
370
322
444
414
375
399
409
331
437
371
435
347
508
454
364
337
324
331
504
323
419
339
399
408
416
491
453
338
428
440
419
492
348
338
425
340
340
480
441
418
398
329
376
400
405
358
503
325
410
484
340
516
329
424
442
437
366
369
476
475
394
338
503
488
481
485
373
403
480
496
408
505
323
438
384
510
369
406
422
473
324
369
443
472
417
507
330
436
460
369
423
415
401
500
383
508
357
376
478
395
349
459
389
343
323
374
326
365
463
439
506
422
325
397
363
401
437
368
506
502
486
324
445
367
365
384
419
359
350
351
395
331
476
323
410
438
395
385
390
409
330
514
369
340
457
455
509
353
378
448
351
491
359
371
436
343
386
324
482
504
511
435
465
353
359
499
344
454
323
424
383
325
398
326
372
366
455
345
448
387
396
391
330
514
350
384
433
506
362
444
470
461
442
440
371
435
443
413
397
372
455
509
483
414
500
418
422
407
492
340
333
510
385
447
453
359
364
395
381
508
442
519
351
494
423
495
379
340
400
477
420
322
336
335
470
393
474
511
375
476
336
461
455
364
426
437
416
440
387
329
334
326
511
479
328
368
458
465
514
323
488
492
470
464
324
370
356
429
487
417
472
376
500
320
500
396
510
383
518
371
375
436
473
436
514
508
450
405
425
499
451
380
413
368
496
449
413
345
347
346
466
446
473
484
342
454
495
403
342
446
343
413
366
324
457
422
460
380
483
508
400
418
426
348
417
327
370
424
431
425
448
370
476
471
479
514
471
500
511
472
380
373
378
507
331
503
502
391
412
346
327
519
482
374
384
449
425
423
400
328
506
435
500
339
338
496
453
495
397
419
345
459
487
320
386
365
500
517
330
516
512
457
511
422
441
412
404
436
413
389
473
469
453
510
371
509
356
337
474
330
336
476
516
441
473
418
479
412
520
443
505
377
391
384
452
412
372
347
368
432
436
409
502
492
375
497
375
420
379
499
443
403
513
446
436
512
414
462
434
378
499
490
431
395
362
434
519
458
515
488
497
326
428
467
334
389
389
441
477
465
468
362
473
382
359
337
399
361
499
413
360
435
432
488
494
402
400
502
455
336
381
384
342
353
514
361
371
496
361
415
348
361
355
332
480
366
478
397
495
343
496
458
474
348
347
447
367
409
352
471
389
511
508
374
482
333
439
357
505
425
326
331
357
324
355
383
405
331
486
320
386
419
367
478
449
514
450
453
397
461
391
354
384
330
454
390
381
505
512
400
500
489
461
459
491
456
320
411
344
406
424
399
512
399
335
490
344
359
382
433
426
481
389
484
495
426
377
375
454
407
417
462
408
359
384
361
480
365
390
497
353
518
458
478
459
357
355
487
357
485
431
403
367
369
342
329
427
468
513
466
337
504
337
356
426
424
373
392
349
323
344
421
408
454
387
492
354
346
492
453
389
469
396
390
338
326
468
334
366
377
418
361
422
417
403
338
325
468
456
518
322
493
398
385
452
346
441
515
331
327
441
374
504
504
413
385
342
429
444
416
387
454
484
486
394
497
391
462
486
405
406
339
497
383
499
439
388
324
496
493
509
406
371
384
335
460
388
367
498
342
320
433
440
396
402
321
427
346
507
480
399
488
327
345
327
444
410
463
510
385
463
483
344
440
499
444
394
474
480
364
380
482
491
385
477
392
445
384
340
490
515
504
320
371
440
518
436
377
408
454
375
492
412
427
368
440
382
459
475
506
395
484
351
452
362
503
496
463
472
332
361
343
354
396
497
392
399
510
415
394
462
376
329
478
360
488
415
395
409
491
457
489
388
479
503
497
399
388
475
360
424
351
497
380
402
336
392
414
417
332
370
376
415
400
460
484
443
362
402
452
394
393
513
387
467
326
343
418
413
399
375
373
357
337
460
343
465
459
384
434
424
519
507
443
417
421
351
360
351
411
355
357
325
494
453
342
406
357
394
358
422
414
442
497
519
395
461
460
376
514
516
347
426
432
341
325
349
507
333
334
357
365
322
406
418
412
480
488
417
386
379
410
370
507
459
349
446
341
348
447
321
461
413
344
455
466
421
340
348
374
510
455
353
395
446
507
464
511
335
494
421
395
323
421
341
403
357
506
475
417
516
372
519
424
357
491
514
378
366
372
475
406
395
351
470
462
468
501
446
384
501
338
333
373
348
344
356
437
492
429
465
513
458
511
370
337
427
454
511
426
518
349
482
382
386
515
325
331
384
447
392
491
487
501
349
398
373
374
458
439
351
519
329
396
496
443
427
345
441
416
501
377
404
493
482
510
373
498
386
415
451
410
500
410
486
384
494
437
511
378
420
337
344
406
336
403
498
458
322
501
421
418
399
472
519
348
402
518
500
434
470
376
379
322
493
502
405
412
367
382
327
421
506
383
421
370
365
387
320
456
469
462
462
507
464
421
369
390
403
494
410
330
357
517
372
486
501
383
320
454
458
453
442
373
498
478
368
493
482
375
495
341
373
388
366
455
351
345
329
414
475
394
439
472
395
370
322
356
380
363
408
423
451
441
485
372
473
340
494
490
323
486
334
366
412
388
328
331
480
500
519
449
393
442
353
457
506
436
385
370
343
400
385
503
456
467
501
413
350
376
474
335
347
399
390
476
332
415
501
351
426
347
330
407
473
446
418
439
442
515
516
495
438
400
450
397
428
476
366
396
388
474
505
503
440
497
420
348
506
461
348
425
327
465
394
454
360
361
423
403
451
435
485
477
435
352
469
459
355
355
445
395
448
361
360
452
441
449
358
381
363
452
431
480
518
339
329
471
427
421
489
496
373
327
459
515
461
351
454
343
495
384
404
489
514
389
448
389
380
323
459
328
381
493
339
389
362
513
384
325
417
454
323
340
359
397
455
427
448
408
359
486
375
501
475
469
425
377
325
420
378
483
475
387
344
457
342
372
334
453
372
498
478
332
519
511
321
492
458
394
416
395
348
361
342
413
376
400
512
480
323
518
400
417
368
471
466
486
449
347
492
330
489
461
399
350
385
430
349
514
473
352
434
476
440
409
375
370
375
407
498
517
518
442
342
510
458
400
481
471
326
513
433
419
323
506
346
328
485
488
359
483
383
350
359
334
374
348
346
478
516
475
459
481
511
478
457
334
393
320
350
358
486
472
370
501
508
340
336
510
455
326
463
488
389
463
403
321
450
503
450
370
380
518
443
353
516
512
462
341
418
486
437
326
421
441
471
349
405
370
467
419
370
398
419
346
407
326
476
504
448
517
423
436
325
358
440
444
497
337
342
467
362
321
484
488
464
360
510
368
434
450
389
427
507
494
347
498
504
368
360
394
357
387
338
447
496
334
334
447
413
347
389
342
370
359
430
520
506
367
513
446
494
481
379
418
434
333
384
450
336
461
468
369
496
427
340
433
511
361
437
366
470
451
373
371
408
339
467
360
412
490
491
326
510
363
354
410
414
437
347
322
320
374
510
324
441
446
497
469
486
367
504
506
520
385
457
350
410
444
434
393
322
449
514
404
339
403
337
497
332
509
391
435
469
351
418
364
492
476
348
402
419
390
343
334
425
441
447
370
346
446
463
389
338
323
345
410
448
330
473
465
430
393
520
385
450
430
368
329
395
447
478
451
469
353
351
511
321
341
380
353
497
436
397
437
495
434
449
444
491
403
377
503
416
496
493
440
461
490
509
469
411
361
419
481
394
436
387
335
484
383
404
366
473
419
324
439
469
432
456
497
417
390
508
487
439
334
495
501
385
393
442
480
331
379
436
359
333
487
376
408
454
378
486
433
461
435
323
439
422
512
417
348
383
486
349
488
379
399
433
485
453
508
455
412
447
391
499
491
498
429
511
322
469
359
516
461
465
404
429
366
336
476
455
481
484
340
331
479
509
489
515
440
486
511
465
429
359
357
377
420
506
503
417
507
393
487
495
422
459
339
412
463
475
427
452
458
392
394
512
399
320
361
439
363
358
437
451
334
444
375
323
427
432
457
474
451
456
320
366
496
403
389
376
325
441
356
394
357
372
363
327
473
368
415
477
461
475
404
456
411
415
328
386
436
341
423
506
392
399
436
321
367
456
348
518
481
361
363
396
388
446
476
336
384
329
322
416
406
321
428
378
514
482
457
499
512
340
341
462
370
471
515
363
444
406
493
452
329
418
422
480
406
435
476
402
409
335
349
390
443
394
474
427
490
362
351
509
376
470
417
484
454
332
325
486
414
406
383
412
368
453
477
339
455
504
459
330
405
467
488
370
443
482
436
474
345
336
379
384
461
355
479
405
381
463
426
456
482
417
457
399
431
472
339
461
361
332
335
458
344
467
457
447
393
385
515
363
484
454
381
448
323
406
322
431
423
426
360
330
345
357
415
419
464
472
405
469
510
340
383
420
372
423
373
376
447
347
515
369
400
339
397
452
361
368
397
517
409
333
324
357
351
465
365
408
460
419
431
337
519
434
408
337
402
365
398
454
457
413
442
464
393
499
369
424
381
376
484
407
425
423
430
516
387
462
508
455
439
393
479
477
341
356
409
435
331
431
445
320
469
344
474
480
483
515
364
452
464
411
519
438
432
329
431
344
404
383
516
359
376
343
518
429
424
420
450
466
452
501
362
479
395
423
329
338
394
506
378
395
345
452
349
401
491
425
454
358
328
353
374
484
484
455
349
342
488
332
377
326
321
345
435
402
503
361
354
467
402
415
418
335
434
493
342
504
376
348
492
404
449
487
354
342
488
372
482
355
515
406
504
322
442
394
355
454
327
492
365
380
492
472
453
494
443
346
425
355
434
455
392
398
398
480
496
335
506
339
434
513
462
413
484
430
439
427
412
395
354
470
358
357
468
326
397
398
368
412
379
504
327
508
371
459
358
423
377
323
475
349
487
431
377
374
404
509
449
516
456
352
329
354
416
333
444
502
512
518
475
382
408
335
388
482
363
369
408
360
497
486
330
406
464
355
442
342
519
400
366
454
320
326
474
402
344
478
479
384
498
383
375
467
516
378
495
371
399
488
447
370
439
385
380
489
510
209
239
209
246
200
221
232
237
207
248
207
233
234
202
229
247
231
207
216
230
218
223
213
225
242
249
248
228
236
228
245
249
221
232
236
232
234
250
244
244
239
239
250
218
217
223
226
250
233
208
234
227
209
223
219
214
228
222
237
220
219
218
238
244
211
225
250
222
240
244
201
219
233
218
206
238
233
224
243
249
234
241
233
210
233
229
201
239
231
245
238
242
221
224
237
210
220
231
202
219
238
216
238
238
222
201
238
243
228
204
210
230
239
225
214
237
222
200
250
205
235
210
250
205
227
245
248
234
202
239
224
212
225
201
236
236
232
213
240
210
249
207
219
200
230
242
249
207
226
238
224
205
218
215
209
234
232
225
228
215
200
220
244
250
217
234
221
237
203
250
238
224
218
227
240
238
206
203
247
235
237
208
239
215
220
235
206
205
203
209
235
217
249
227
237
235
210
204
240
218
224
224
212
204
227
209
217
224
233
221
222
250
210
223
246
209
239
207
232
231
229
205
211
242
216
222
244
203
248
207
227
238
203
238
245
206
204
239
219
227
226
242
226
226
227
221
231
218
201
235
241
210
213
229
233
237
247
232
231
225
246
218
238
238
221
218
221
234
207
208
216
212
233
207
243
206
214
228
212
224
203
215
211
228
217
226
236
244
245
209
237
236
223
209
235
246
220
223
207
246
221
213
234
217
219
234
206
204
237
247
200
203
235
211
248
205
212
240
209
240
203
216
209
216
248
222
200
229
206
234
234
237
242
248
234
203
246
238
236
236
229
226
229
208
219
217
238
226
232
239
244
226
201
233
241
238
211
228
247
239
233
249
217
203
224
244
209
229
210
227
208
220
210
229
235
241
209
214
214
209
238
223
214
239
226
202
227
243
240
243
227
208
218
238
228
239
244
220
216
248
205
224
202
232
249
214
245
216
205
210
205
241
205
246
222
220
205
245
235
243
210
238
247
221
234
245
239
210
241
202
219
213
207
201
235
219
233
233
246
200
227
202
240
212
201
227
227
203
218
221
226
209
232
221
204
207
211
228
225
211
203
220
240
209
234
238
209
219
209
217
240
229
224
208
229
229
209
217
203
244
248
237
216
226
226
242
220
229
203
247
236
205
236
200
229
228
241
223
214
222
219
236
215
230
228
249
225
230
214
200
217
215
227
231
233
234
226
218
207
227
233
212
223
244
220
242
223
250
226
209
210
210
234
215
248
202
242
231
239
237
240
243
226
242
227
204
241
243
228
207
250
222
200
238
244
210
227
236
218
202
230
233
231
205
244
201
236
242
205
206
207
200
221
235
200
248
226
250
217
201
229
211
220
212
238
245
216
234
228
217
237
218
218
225
207
207
208
237
208
211
215
247
215
203
249
232
245
209
231
247
208
246
221
235
241
221
250
225
228
200
232
210
236
248
231
206
204
235
217
207
225
222
200
228
243
203
208
231
236
224
207
223
220
247
225
237
245
215
238
238
239
212
245
227
225
242
245
242
204
231
220
224
225
210
220
225
202
207
208
227
211
219
200
213
200
237
220
213
213
219
220
224
222
223
227
246
233
215
222
216
230
219
249
229
209
207
200
225
214
218
229
201
227
243
247
240
224
244
200
208
214
235
250
218
248
232
231
206
207
211
247
217
206
204
221
209
204
245
245
214
247
231
239
218
218
231
209
224
224
243
248
227
212
229
248
246
222
203
206
238
238
242
208
247
200
225
218
234
238
209
247
242
237
205
250
202
223
248
232
205
248
226
226
211
209
241
200
222
203
230
206
208
235
203
234
217
239
243
248
250
229
238
210
230
249
238
229
221
214
233
210
226
210
230
250
248
232
201
232
214
242
201
249
205
215
244
247
241
231
241
246
227
210
225
221
231
231
203
232
201
239
212
241
201
226
238
246
213
240
203
200
214
221
240
242
231
231
232
231
206
202
230
200
212
206
250
227
220
245
206
228
228
244
212
201
218
225
244
211
201
245
245
241
247
236
204
245
237
238
202
240
211
245
238
203
231
234
225
239
240
207
223
222
245
239
202
213
225
242
223
247
246
245
249
202
223
230
209
216
243
235
203
234
214
238
215
203
247
203
225
221
220
242
220
236
218
214
234
239
210
250
237
204
202
214
225
245
209
224
243
223
225
234
217
219
249
234
239
220
220
230
250
201
249
206
228
219
232
246
218
209
202
246
207
211
227
212
234
239
242
240
248
243
239
204
211
214
219
240
208
245
230
216
233
214
232
236
232
245
229
230
203
209
250
233
223
241
227
203
248
238
204
202
228
240
224
235
210
233
210
232
220
207
236
205
215
250
218
243
219
200
202
240
221
244
244
226
248
224
232
215
211
221
232
217
212
243
211
223
226
235
249
231
234
217
206
231
236
203
231
240
248
249
224
223
226
213
214
210
235
211
214
205
222
234
243
225
226
219
226
246
233
235
201
217
214
203
213
200
216
230
214
237
208
204
248
227
237
241
249
212
236
208
227
248
213
207
208
235
240
231
245
237
249
249
202
219
213
232
220
236
212
204
242
209
227
201
201
245
211
220
214
238
246
224
228
246
204
219
243
206
231
228
225
232
240
237
249
242
230
207
230
245
248
232
250
249
204
241
206
204
249
221
242
210
226
225
228
247
209
250
208
210
217
201
216
204
223
223
239
206
238
217
234
249
237
247
206
231
204
207
229
210
217
211
217
204
244
203
239
235
227
244
214
214
230
231
211
218
233
214
239
223
213
239
219
216
220
222
213
236
228
212
216
207
237
222
247
240
232
220
218
212
224
217
235
248
208
232
235
219
219
224
209
233
205
214
238
207
221
230
220
244
202
218
211
207
220
230
230
202
209
246
207
220
200
207
219
213
213
202
222
218
242
216
238
216
206
235
235
239
241
216
200
233
220
240
222
248
229
247
230
213
244
211
250
223
236
203
242
232
232
247
228
216
227
208
211
223
214
222
221
244
200
207
241
211
210
236
210
246
223
232
221
224
229
202
222
201
231
214
222
237
200
242
217
219
234
236
237
237
222
220
226
202
245
223
238
227
228
242
240
244
234
226
214
207
203
248
222
239
201
222
239
239
226
239
241
241
242
241
207
218
228
201
240
208
215
222
207
225
219
250
230
233
205
249
238
223
209
226
247
212
214
221
234
227
240
226
226
201
213
232
210
224
237
242
214
243
239
212
213
239
212
201
224
219
227
226
237
202
241
205
221
205
224
242
211
240
212
225
236
215
241
225
240
211
213
207
212
202
210
234
215
244
233
203
250
215
249
226
236
221
206
213
224
228
210
231
200
216
243
211
205
212
209
209
247
222
206
229
226
233
216
235
223
241
219
232
225
226
247
222
243
221
238
216
209
248
211
224
243
246
204
225
230
240
247
236
214
240
218
228
246
246
225
249
245
215
212
236
239
232
201
248
240
232
203
237
229
210
201
201
239
225
201
247
225
240
214
235
249
211
220
238
241
219
243
235
212
224
245
201
215
222
239
248
240
223
249
223
225
204
229
221
219
231
229
201
238
202
228
208
226
236
216
236
212
247
212
245
202
216
204
216
209
223
240
242
234
211
244
232
241
226
207
225
205
238
209
239
215
203
213
225
200
225
228
249
206
202
207
236
233
207
226
220
208
242
222
224
226
215
201
218
239
241
202
247
213
237
244
233
237
241
246
210
233
200
202
210
246
203
209
224
235
245
250
202
243
248
216
211
234
210
205
235
233
228
224
232
226
209
211
232
234
223
233
248
225
238
235
225
224
238
215
207
247
218
214
246
226
231
242
230
205
203
234
241
217
219
202
218
204
204
205
213
250
215
239
243
216
249
249
227
202
238
248
200
206
221
218
205
202
202
214
231
217
239
220
211
228
240
231
200
223
231
244
230
208
236
211
203
249
205
212
200
229
222
213
241
220
228
204
210
201
226
217
214
227
215
205
249
211
246
212
210
245
220
243
211
203
232
212
227
214
243
236
218
218
234
209
233
228
240
231
237
250
229
203
213
227
213
204
230
206
246
247
249
210
246
242
212
238
231
201
211
212
207
231
243
232
240
210
207
244
205
247
239
212
236
246
227
244
215
216
232
234
236
225
208
223
211
239
236
243
225
236
216
229
249
224
220
238
236
227
231
220
238
238
238
244
244
212
220
222
227
221
202
246
243
240
234
206
202
221
229
245
206
210
201
248
200
213
234
246
234
239
219
210
217
234
235
243
200
202
248
235
241
216
246
213
213
222
207
217
200
243
230
230
226
213
243
214
234
221
230
228
201
202
201
231
204
222
214
242
203
217
242
216
234
250
220
242
209
200
207
214
239
246
241
218
240
215
215
210
225
247
249
211
213
221
248
224
209
231
243
203
239
207
250
250
229
206
233
207
246
208
243
239
243
240
223
247
227
250
219
221
236
238
234
224
230
240
238
212
242
243
230
218
231
203
214
234
211
203
208
236
230
216
225
206
216
217
211
226
237
211
208
214
248
206
242
229
236
216
250
239
249
227
216
213
247
215
248
249
238
205
201
217
205
232
205
207
213
246
241
226
212
234
249
228
248
221
202
200
231
206
205
246
231
202
222
222
240
244
249
223
229
220
229
223
222
205
240
233
245
216
232
222
229
243
218
245
202
249
215
235
232
243
248
208
220
219
244
225
226
247
219
206
219
223
204
242
216
226
241
203
233
222
242
246
239
237
216
244
222
200
208
236
248
227
245
236
235
247
238
233
218
216
223
242
249
237
235
217
216
200
250
242
201
247
222
222
218
239
250
241
222
226
219
237
248
218
244
209
201
205
231
243
250
237
213
241
241
234
228
202
250
244
247
202
225
203
217
250
224
211
206
203
248
229
231
218
200
233
240
250
200
227
239
236
248
201
229
235
206
243
248
220
236
200
201
209
249
237
250
216
239
230
228
216
218
247
233
203
228
245
237
229
228
235
239
218
203
232
215
202
200
238
242
209
209
239
230
220
219
222
214
200
218
227
207
207
237
240
215
244
206
216
218
215
227
234
220
235
219
213
206
230
249
221
245
204
202
214
230
246
235
229
237
241
207
246
207
228
245
241
229
216
231
207
223
203
223
235
225
225
239
200
239
241
219
247
218
228
220
236
223
205
224
232
245
213
228
234
218
201
242
232
238
242
234
217
249
207
249
246
205
220
244
225
220
207
228
207
247
241
230
250
224
205
250
239
248
227
201
249
225
240
247
214
209
215
213
201
229
240
206
221
249
218
201
211
204
210
207
211
245
202
224
201
230
201
222
213
228
222
230
206
217
210
204
234
250
232
206
220
202
203
220
228
225
214
230
247
209
232
229
226
248
241
220
220
246
238
221
207
227
203
219
215
229
221
234
233
241
247
210
215
221
218
210
243
248
220
217
216
245
221
221
241
210
208
249
222
228
224
248
208
206
228
202
223
228
202
214
203
235
211
223
222
247
233
239
217
204
229
201
212
226
232
220
233
237
225
246
219
240
232
220
225
204
216
224
206
215
205
217
204
250
215
242
222
200
201
221
202
206
247
213
210
217
228
250
215
226
247
246
217
246
207
200
245
201
222
250
220
228
231
211
230
240
250
248
218
213
247
212
234
229
249
246
240
201
247
223
236
243
206
228
219
247
203
227
241
246
239
219
240
221
245
219
226
218
217
218
224
230
226
240
210
246
250
217
202
250
203
250
200
226
205
202
227
206
227
212
232
246
225
225
211
200
218
210
220
214
242
245
239
226
250
225
203
236
250
239
236
219
215
201
206
237
244
236
206
235
206
203
206
215
231
220
221
201
236
221
210
247
239
238
230
212
219
232
226
249
211
241
241
216
208
248
218
201
209
211
239
226
201
241
242
246
227
245
201
203
207
225
213
235
210
229
239
214
213
234
204
224
249
234
239
239
218
214
235
250
206
204
212
213
203
239
242
245
210
222
202
230
237
242
218
232
219
210
216
232
231
227
242
246
247
209
216
246
225
243
247
235
230
244
214
233
206
226
220
231
231
245
221
242
203
243
229
234
246
236
248
225
246
232
232
214
231
244
215
216
243
246
229
207
222
211
218
223
244
208
219
203
249
242
203
241
200
243
215
247
239
211
214
215
245
203
235
223
231
214
201
233
222
213
206
226
216
232
250
205
240
230
235
229
235
205
227
239
223
215
220
227
205
237
228
221
211
226
231
236
237
249
215
208
247
216
206
205
205
243
221
231
239
215
245
208
234
237
204
240
210
243
201
250
248
242
207
244
210
231
248
221
225
235
224
232
246
235
249
239
241
210
218
208
241
243
246
221
213
201
246
229
241
247
210
208
232
228
238
210
216
212
242
225
229
214
201
205
211
206
205
215
238
229
226
219
236
232
247
233
226
237
207
214
247
215
202
234
234
225
235
222
247
212
249
232
204
214
235
235
246
228
224
211
249
234
242
216
202
218
237
238
235
209
242
213
250
247
232
225
240
247
242
226
217
222
208
205
214
231
222
203
206
229
243
245
235
247
250
236
229
200
223
222
205
231
243
250
237
239
206
248
223
204
223
223
244
214
220
205
229
232
218
203
231
237
215
241
237
223
248
214
496
340
420
356
359
517
392
437
490
347
492
506
373
498
468
352
382
495
420
421
460
383
348
504
411
422
460
385
331
350
421
410
340
359
463
513
506
368
353
386
488
383
476
506
419
399
455
487
469
332
353
365
381
371
356
454
386
375
353
342
401
361
403
337
443
482
470
411
407
360
494
367
481
494
476
498
489
413
469
440
367
487
407
349
357
452
470
490
350
503
504
475
516
437
448
374
388
445
484
489
401
433
364
443
399
421
385
470
416
445
377
442
360
455
353
361
375
425
351
440
439
489
485
436
402
398
486
354
327
381
488
443
413
512
512
358
392
438
513
405
445
437
402
482
425
451
470
469
355
424
390
347
398
503
342
415
461
427
404
392
502
510
340
436
498
454
398
435
454
469
454
447
401
453
339
358
385
336
357
360
375
491
345
489
383
476
490
486
366
401
498
438
515
459
480
469
323
461
385
501
368
436
324
342
506
327
416
324
388
424
513
499
467
387
461
366
436
367
508
485
423
326
477
518
481
474
372
428
469
389
471
428
467
341
466
519
402
328
423
499
352
494
445
324
470
506
385
469
496
383
490
502
406
421
453
474
518
431
499
357
362
378
422
427
504
336
417
375
441
431
398
476
388
430
343
343
406
470
369
480
383
385
415
436
408
446
440
407
417
410
473
451
420
370
516
487
449
475
507
330
370
447
371
510
496
515
501
346
511
336
368
421
419
406
350
322
516
390
389
449
354
418
452
475
453
352
433
413
399
498
458
373
482
337
462
335
376
350
469
366
330
377
365
492
321
501
330
327
498
456
423
394
329
461
430
455
494
491
447
383
399
506
421
461
371
512
399
420
327
333
441
330
384
325
506
486
424
409
430
355
472
441
471
470
405
377
470
497
460
435
429
383
338
465
363
339
443
512
333
349
502
457
503
479
391
343
451
463
337
349
497
431
382
472
342
358
459
420
422
422
488
413
439
465
456
349
485
447
338
339
421
496
446
417
507
494
501
350
389
346
374
322
390
339
352
340
403
403
396
491
432
480
487
350
383
489
520
412
349
395
504
470
459
421
355
448
336
441
402
489
376
519
419
452
475
495
459
385
499
373
476
480
380
341
387
430
366
381
514
502
485
382
483
450
434
359
359
512
466
519
334
486
422
395
359
435
470
414
467
481
512
365
488
414
465
449
488
519
450
489
402
497
397
330
402
436
373
488
323
358
326
473
468
501
408
456
419
471
453
422
395
519
435
404
504
342
516
358
408
494
359
380
401
396
363
367
324
371
516
471
376
506
323
471
489
436
512
444
492
409
371
355
497
394
374
386
324
448
447
490
493
384
401
455
371
322
477
365
447
396
327
353
509
427
440
435
518
466
500
475
384
477
458
508
352
339
408
427
451
486
403
519
456
407
370
457
426
327
479
483
425
404
439
369
400
507
456
337
364
433
430
464
410
360
454
418
500
465
333
334
401
457
426
467
495
471
474
328
356
420
438
321
433
425
482
447
358
472
358
512
469
372
330
516
489
486
335
447
516
486
520
455
506
400
331
444
387
375
497
479
373
387
371
519
497
456
342
485
495
422
348
465
342
388
429
378
350
340
398
450
329
417
349
341
491
517
448
439
401
332
477
444
467
340
409
365
325
420
463
477
458
441
354
414
483
320
358
361
439
497
445
442
348
402
362
330
346
480
467
354
397
322
427
508
377
359
499
514
409
377
417
501
506
361
344
420
487
510
322
371
479
336
429
457
412
357
436
509
333
359
405
398
343
480
467
414
492
454
411
350
458
350
428
409
485
459
375
495
499
399
329
452
434
506
410
438
403
498
327
327
414
437
428
413
463
365
344
497
396
330
328
465
369
469
508
439
497
397
415
509
347
388
383
455
384
390
349
390
491
484
444
462
337
342
487
417
355
513
480
384
406
519
435
482
334
418
346
509
427
402
437
471
320
472
454
458
491
518
335
456
489
451
378
468
490
420
468
379
446
461
339
343
454
361
345
493
363
401
419
403
502
390
437
508
484
385
445
409
435
420
438
494
378
404
368
426
497
374
500
358
508
366
432
435
448
410
379
444
506
427
492
332
516
423
484
465
374
477
446
375
486
483
490
348
361
395
378
347
397
495
328
476
363
501
440
408
346
376
474
428
500
389
496
434
333
471
378
359
402
442
325
418
451
405
510
460
424
470
354
455
515
453
500
499
458
472
422
513
349
408
349
332
347
476
500
347
464
496
509
505
369
336
320
370
402
389
442
364
323
399
442
378
456
492
352
515
467
334
351
442
505
454
457
393
481
434
453
429
408
395
454
430
397
447
506
437
432
394
340
449
396
471
334
331
347
320
433
511
465
325
515
358
385
457
375
453
456
449
428
401
476
420
339
484
326
489
410
501
443
371
320
476
331
373
389
344
458
364
455
444
439
491
411
430
426
441
402
419
427
482
377
323
383
501
391
475
417
467
473
405
506
511
352
328
320
440
461
380
454
423
342
416
361
376
513
364
385
424
434
337
459
481
394
414
362
341
386
394
473
466
336
486
410
424
326
369
519
432
366
463
394
364
412
496
400
321
456
448
414
323
340
358
515
388
339
335
455
431
507
428
377
391
330
332
331
332
408
517
386
480
509
432
409
444
387
491
343
417
513
330
403
436
488
417
332
479
365
478
471
375
393
407
390
400
349
399
438
392
463
393
435
370
381
514
408
363
459
409
471
453
394
323
432
464
393
514
477
495
515
418
472
427
394
439
355
484
515
445
420
428
424
387
414
487
440
465
335
437
320
339
469
447
414
437
353
463
438
404
484
458
411
465
330
408
518
478
331
333
429
320
499
356
329
331
392
349
446
331
498
411
505
453
409
403
353
374
471
492
458
386
320
377
373
382
407
419
331
334
477
459
324
491
368
509
346
449
333
352
433
344
489
485
437
432
520
396
384
381
510
325
389
500
399
389
474
407
505
394
411
360
351
343
394
449
462
448
322
422
474
505
438
459
339
336
353
471
403
455
331
443
376
473
399
326
450
393
372
479
495
443
443
387
381
403
370
363
450
440
377
470
428
418
468
341
361
356
475
500
476
503
454
480
362
411
419
498
448
512
445
432
462
330
465
430
392
328
384
326
470
461
457
402
462
451
519
509
471
472
344
434
425
403
361
456
440
423
458
354
355
403
477
438
431
410
375
447
343
478
326
379
476
466
334
330
487
345
382
398
499
491
484
496
355
364
353
474
444
401
423
363
357
501
412
363
454
330
419
371
493
511
488
485
480
438
487
459
369
367
465
448
437
382
348
359
401
400
390
489
455
350
422
389
418
348
322
328
434
449
492
487
506
417
501
431
360
401
351
479
371
500
332
463
423
329
410
468
514
346
381
507
362
515
516
519
438
462
463
483
508
421
434
332
348
342
403
338
511
363
509
495
493
429
369
332
351
415
434
434
441
378
419
348
430
396
507
393
370
393
511
478
518
448
424
457
424
401
517
387
405
476
507
403
399
492
421
337
328
326
486
395
404
501
419
456
447
355
386
342
338
370
397
506
384
446
475
337
491
489
342
453
406
369
354
404
515
361
494
414
459
356
435
514
434
421
358
410
321
498
452
477
423
429
504
448
480
373
382
359
479
336
410
468
492
455
456
516
331
441
337
441
324
508
484
331
504
354
372
336
463
438
487
382
493
486
514
520
343
333
359
358
330
508
461
324
364
357
465
365
489
454
341
455
431
503
444
469
356
508
395
379
468
462
474
518
406
342
383
336
500
487
489
474
448
395
329
476
491
508
382
345
479
389
459
374
412
346
440
422
399
401
464
511
328
407
459
425
451
428
501
379
374
328
361
410
458
503
397
363
471
374
469
388
414
437
492
506
400
493
360
409
483
414
415
505
353
496
394
336
367
340
328
426
502
486
467
510
487
327
510
442
331
348
354
353
420
437
363
511
400
510
332
470
491
366
342
457
507
383
343
491
452
357
436
378
491
329
437
344
457
436
466
446
404
365
418
336
391
366
393
497
326
455
400
405
475
430
449
507
465
358
362
499
490
399
351
460
477
451
339
506
330
377
354
383
378
438
453
496
479
337
359
487
351
402
321
475
349
422
510
410
442
366
388
425
426
474
464
465
484
352
509
418
437
501
377
384
392
472
352
397
430
332
321
340
464
365
471
384
322
382
476
322
476
370
408
461
414
361
494
467
520
408
348
504
498
460
473
374
485
443
348
466
419
404
472
419
384
386
410
430
497
325
450
362
435
500
379
515
449
431
364
334
389
440
408
517
373
410
411
398
448
356
455
376
474
414
402
499
397
516
361
383
349
382
386
510
488
381
493
344
480
407
488
358
430
452
482
430
518
359
498
325
390
517
360
433
447
330
448
321
385
507
408
332
438
364
328
518
501
350
475
410
462
407
354
480
372
346
438
344
354
496
402
504
496
331
490
398
383
515
445
406
485
351
438
516
431
472
362
414
381
509
384
364
327
433
383
435
472
433
512
391
458
333
493
487
346
480
457
405
478
372
468
338
438
381
517
356
464
415
353
470
464
451
407
414
506
438
386
401
364
379
390
471
504
472
392
469
333
406
438
321
386
493
382
369
368
514
357
397
426
391
467
398
384
437
385
322
460
392
381
354
447
403
498
326
477
482
492
346
345
380
485
449
468
344
472
397
460
453
367
334
514
517
397
335
349
398
500
379
468
321
421
383
323
504
433
351
504
406
391
474
436
490
507
518
389
518
384
411
395
448
342
394
371
460
449
435
348
472
382
463
472
502
331
363
385
383
504
485
331
477
439
406
417
346
501
324
505
373
503
461
509
350
483
413
398
349
427
507
348
477
337
320
383
421
504
483
450
411
509
495
390
360
354
439
337
415
492
409
449
382
329
492
450
477
417
368
489
512
411
463
344
418
395
491
487
454
397
338
489
481
373
449
448
356
448
468
383
469
372
378
461
324
354
455
497
322
340
455
389
390
457
459
335
430
361
440
462
444
356
325
515
349
334
510
400
337
321
364
466
514
458
470
360
330
381
435
349
482
358
403
499
451
381
399
512
408
509
349
458
403
326
348
398
480
420
385
455
483
419
468
478
436
487
407
414
378
386
400
513
471
355
515
468
412
508
324
508
509
415
512
368
323
336
475
356
513
433
499
342
449
460
431
394
519
332
346
352
491
389
420
405
499
456
324
356
515
360
323
478
507
342
520
483
501
337
417
413
439
382
502
333
505
470
345
380
435
372
323
473
378
353
460
517
455
372
377
437
361
473
428
430
367
460
381
517
421
399
450
433
452
361
425
473
483
488
465
354
363
407
379
500
335
447
384
440
378
336
346
495
354
475
321
385
517
454
519
330
405
470
357
430
503
385
512
324
497
332
459
458
365
488
393
422
337
441
497
343
356
322
502
446
444
460
490
395
486
500
483
328
481
433
518
342
437
459
388
434
392
339
465
516
455
454
495
397
437
410
486
475
502
504
474
479
325
335
385
382
500
495
322
432
394
393
365
442
376
420
372
499
445
356
519
423
514
416
480
476
510
421
451
510
406
495
429
479
462
335
330
396
342
321
455
452
359
347
442
351
490
454
462
510
399
410
337
465
355
407
358
444
350
380
489
372
321
435
320
324
386
327
432
329
364
425
344
475
396
434
375
450
358
384
423
344
458
330
381
504
390
378
354
443
371
413
466
451
423
356
412
456
434
383
496
362
462
447
433
448
456
429
345
487
326
339
445
490
354
502
355
364
375
406
439
494
396
452
396
345
450
342
384
480
466
340
487
513
512
502
429
477
484
459
480
485
396
335
449
512
332
413
459
376
380
454
365
410
413
512
445
503
417
511
497
389
410
477
497
459
464
443
448
481
415
361
435
344
412
450
423
351
409
389
516
464
380
442
436
413
466
419
457
481
321
502
444
520
395
479
418
424
446
422
457
353
473
473
359
347
491
502
497
473
436
475
442
355
411
366
423
331
405
327
452
509
504
338
467
418
409
366
454
490
328
399
384
480
433
402
491
505
379
518
348
342
506
443
418
323
512
433
520
506
333
495
384
519
463
384
407
503
493
423
350
453
346
429
465
413
446
434
329
505
373
464
356
444
400
508
427
405
370
484
346
332
459
387
489
431
377
377
361
486
360
423
411
377
330
516
461
506
433
476
461
512
356
419
374
390
428
467
406
454
414
498
484
400
434
498
327
453
375
361
383
385
365
513
428
387
452
432
471
404
328
324
442
504
445
396
407
367
423
493
415
409
499
476
468
328
464
448
377
432
408
344
440
346
470
449
506
345
474
457
460
489
502
330
382
420
413
360
357
467
360
351
466
415
387
451
509
496
397
394
418
333
381
459
457
457
431
382
442
334
510
438
425
433
479
386
356
444
519
513
424
512
394
430
370
346
490
438
512
407
382
476
358
360
336
386
322
474
385
502
457
466
398
461
334
415
485
403
499
346
462
498
421
414
515
433
343
331
484
353
339
322
507
510
418
396
333
493
331
384
441
320
376
446
431
499
408
387
495
421
475
413
387
338
398
378
520
436
436
392
500
428
520
412
506
332
497
403
392
379
486
439
333
477
413
418
496
520
413
446
350
402
351
438
427
343
331
435
414
369
516
520
384
333
430
519
505
393
392
436
482
343
384
414
473
327
461
359
370
469
353
374
432
354
479
490
491
386
518
474
517
497
374
473
478
412
352
356
375
380
410
404
369
500
473
496
416
454
468
512
389
514
327
376
509
447
328
404
328
519
486
399
398
431
337
369
478
362
388
362
477
460
378
360
362
415
482
444
430
354
339
455
353
369
376
477
431
351
491
451
510
344
363
395
474
491
404
484
503
427
346
333
515
394
496
336
467
406
418
429
470
410
372
323
420
468
500
426
402
423
428
461
368
430
362
355
382
396
435
400
505
447
497
471
384
376
486
447
338
444
203
245
234
217
216
236
210
229
239
250
206
250
218
247
214
236
226
221
218
241
237
223
215
231
247
239
209
218
213
212
237
216
217
209
250
216
225
236
228
215
211
208
211
240
216
228
203
206
231
241
225
206
231
207
221
202
224
212
223
245
237
213
247
200
237
235
200
232
228
219
228
235
245
210
228
222
216
229
233
228
211
219
200
227
237
247
249
217
233
249
218
229
248
210
216
232
206
223
237
203
230
205
233
241
245
212
230
224
225
226
220
212
241
226
204
217
231
215
203
203
219
245
208
236
220
225
230
202
221
219
204
217
204
249
238
240
202
231
228
241
238
239
202
203
205
248
235
210
237
237
241
237
227
214
211
200
233
210
220
219
213
201
225
246
235
208
236
222
242
240
202
225
210
227
223
203
223
239
227
242
202
234
230
247
233
204
207
208
239
246
211
230
250
221
223
240
201
230
249
224
214
213
242
238
228
216
218
236
210
248
214
206
244
247
209
237
246
205
207
250
231
247
209
237
247
249
213
239
239
211
205
235
212
229
235
211
226
213
232
203
231
207
242
219
247
214
234
214
239
215
248
209
217
219
250
203
249
208
203
229
205
246
223
244
219
218
212
245
241
209
246
221
231
232
208
249
226
226
231
206
226
219
207
235
240
238
228
208
223
236
206
221
221
213
243
234
215
206
202
213
226
223
204
236
200
244
207
213
229
210
238
229
243
224
203
231
224
227
229
214
218
233
218
244
224
214
222
205
241
223
204
218
221
224
231
247
204
232
221
218
219
208
243
222
248
237
248
246
207
232
203
218
250
232
210
246
246
203
243
202
212
220
249
215
202
250
235
213
243
225
208
250
243
205
225
246
208
221
240
245
210
240
241
218
228
228
212
200
223
240
206
226
227
246
232
237
249
229
219
217
245
235
238
221
243
225
235
231
226
218
217
232
248
232
203
223
207
219
249
204
234
216
231
205
237
221
236
244
228
227
247
231
200
223
232
221
221
244
224
218
213
227
224
238
202
242
217
211
223
243
225
245
220
206
219
202
219
222
216
220
206
239
233
240
250
210
250
210
223
221
242
231
204
223
202
250
212
249
231
221
210
214
246
214
208
228
237
214
212
213
206
225
201
210
226
234
205
228
215
228
220
240
238
234
206
203
204
235
228
220
228
236
234
223
224
224
215
239
239
205
223
240
217
206
233
232
203
236
212
219
214
240
221
216
223
226
231
211
211
205
247
240
237
247
210
218
225
204
226
221
222
224
204
222
247
230
237
234
223
205
241
210
211
200
222
222
240
240
248
248
236
226
201
220
221
241
219
207
234
216
218
241
236
211
218
227
211
237
235
201
229
236
215
249
240
205
243
230
239
208
214
238
235
216
223
206
206
244
230
249
215
239
214
249
238
224
206
227
239
247
216
224
230
244
220
210
203
205
248
233
220
237
236
245
215
244
234
206
241
229
217
224
216
220
219
211
210
208
215
227
234
243
246
205
249
232
231
206
232
239
203
200
249
207
239
208
210
210
234
235
206
235
201
233
202
213
236
208
244
248
227
227
231
216
213
242
215
213
235
237
200
201
225
204
215
250
206
250
230
205
203
250
225
204
243
220
232
242
205
224
207
244
225
244
214
224
204
230
219
212
202
224
220
206
200
204
219
236
231
234
213
205
239
210
211
227
208
223
224
222
214
241
221
226
236
228
229
238
218
241
214
234
212
240
220
208
215
202
219
203
223
223
222
209
234
226
208
229
203
225
206
250
214
229
246
240
208
210
211
244
202
231
214
222
206
232
210
243
243
235
212
244
212
208
239
246
245
201
214
240
220
229
240
214
215
200
238
208
218
243
233
216
240
216
229
218
238
231
221
228
220
211
224
208
208
232
227
204
223
220
240
210
218
216
235
250
241
222
246
229
232
245
209
243
244
206
220
209
220
201
231
211
208
233
207
232
229
243
231
244
239
228
235
204
213
220
207
217
229
209
246
249
205
201
234
213
218
201
201
227
218
236
247
248
243
238
246
225
206
242
203
206
210
205
242
245
236
241
201
223
201
207
216
209
204
201
241
227
212
202
227
229
221
215
244
224
212
227
249
219
243
207
250
223
209
236
225
202
224
244
243
241
217
211
228
210
243
210
220
249
247
207
231
240
243
202
217
222
208
240
223
230
220
208
203
230
218
214
245
219
242
250
232
221
206
229
201
211
243
222
245
240
216
221
202
223
221
213
228
244
202
233
232
218
200
204
213
232
213
204
235
227
201
217
234
232
207
223
220
224
233
243
236
240
219
226
207
228
211
222
219
222
213
213
236
228
211
208
218
210
229
232
203
215
243
230
221
235
234
248
201
224
248
219
228
240
213
216
200
233
200
226
205
237
213
225
216
239
229
224
226
245
212
231
231
205
229
207
237
241
225
226
208
249
212
215
217
244
232
240
214
204
226
218
228
249
208
208
239
225
229
212
236
205
244
224
223
246
211
224
243
204
242
207
230
220
233
219
233
209
226
237
225
226
203
212
232
241
224
223
216
250
224
224
212
234
249
202
227
206
211
240
230
243
205
242
219
218
213
222
245
209
226
231
229
244
216
233
209
239
231
232
240
201
218
210
201
226
243
248
213
202
234
202
250
250
228
202
202
241
239
200
216
221
225
238
221
214
238
204
244
203
201
232
209
224
210
229
230
217
222
219
214
218
233
206
246
209
235
200
203
237
201
241
245
206
204
207
234
240
212
231
239
203
208
222
205
226
211
247
209
202
210
215
226
227
235
245
212
246
202
230
227
217
248
232
201
205
230
208
202
245
202
203
229
238
249
211
213
208
236
221
213
209
230
224
201
217
233
245
234
201
248
224
240
220
219
202
223
236
201
247
233
235
234
217
226
239
224
216
239
241
201
226
250
226
202
242
220
218
219
249
213
212
216
218
232
210
209
221
217
207
210
245
234
232
207
243
238
250
203
227
250
209
223
224
229
236
224
242
235
217
230
206
213
224
236
227
206
225
244
219
206
200
249
236
248
248
249
234
232
228
204
238
230
211
249
216
214
229
215
223
237
246
238
200
242
202
215
220
219
223
222
240
216
220
217
246
242
206
209
244
220
203
227
237
243
225
223
236
205
224
224
246
202
218
205
246
242
201
204
246
220
248
239
233
237
229
250
205
245
234
204
214
207
239
204
224
250
250
209
219
210
213
212
242
232
217
205
218
230
207
232
201
227
202
241
234
204
223
203
215
234
217
215
240
219
214
241
203
243
216
233
221
224
222
229
235
243
216
211
231
207
203
245
222
222
224
201
211
230
234
232
227
226
203
221
216
215
241
202
205
230
200
232
231
248
214
201
213
208
230
241
239
209
202
233
245
225
212
224
209
239
203
215
229
227
234
215
223
225
250
230
213
235
229
215
235
212
210
243
238
227
221
230
242
212
204
203
244
226
212
201
206
204
241
218
212
212
246
207
237
234
238
225
241
223
232
200
227
216
200
236
202
210
200
214
222
234
246
215
207
237
227
231
239
248
237
220
221
203
219
214
228
202
210
214
209
224
250
217
222
222
230
227
227
243
229
230
245
248
220
239
220
249
230
237
212
200
217
207
248
246
203
225
213
244
249
204
211
246
228
218
209
240
243
240
229
250
200
201
248
200
229
247
205
246
212
200
222
244
241
246
234
243
244
233
218
207
216
214
244
238
245
235
210
213
203
213
207
207
220
221
224
216
233
233
205
239
223
243
240
250
241
238
233
241
218
231
222
243
229
237
246
200
246
214
232
208
226
229
225
231
232
224
212
230
247
246
238
209
207
215
215
230
222
237
246
250
237
227
230
230
232
238
244
218
222
248
246
214
206
221
224
235
225
248
202
222
211
233
240
247
245
203
231
207
229
200
250
221
212
210
215
222
234
210
245
230
242
210
208
202
238
204
201
218
218
234
233
231
204
238
230
200
222
220
228
250
241
210
210
225
222
244
224
221
209
228
235
235
214
213
241
223
249
249
236
248
235
250
228
233
226
227
210
219
233
226
200
229
207
247
238
234
243
210
236
238
208
220
201
204
246
219
221
209
235
250
222
247
216
219
212
241
226
223
249
208
227
215
232
230
219
226
246
247
229
210
211
200
221
218
241
250
250
218
232
200
231
235
207
248
250
201
232
225
235
218
201
200
250
242
239
246
220
211
231
250
207
227
215
231
236
206
211
236
249
247
224
208
225
216
223
229
228
202
249
224
228
239
236
218
215
245
226
246
221
222
208
233
244
207
226
218
203
214
218
232
247
211
237
214
241
217
224
243
207
233
235
237
228
245
222
220
205
212
238
228
236
230
217
209
201
230
227
235
237
215
250
201
209
204
235
229
216
210
234
202
217
232
244
207
207
224
226
224
230
225
238
247
219
208
223
240
250
207
208
224
246
239
243
214
201
236
248
241
246
219
220
230
243
229
235
200
207
213
241
205
228
225
230
244
200
201
208
219
209
242
245
203
212
217
201
201
212
247
225
242
215
213
206
246
237
218
223
235
209
239
201
248
236
246
219
213
242
209
243
208
221
243
212
219
214
248
237
245
240
236
227
246
204
207
207
237
229
236
230
236
244
204
229
201
248
204
208
240
224
220
221
206
208
214
233
238
250
208
222
215
232
249
226
210
213
235
246
220
235
213
232
243
227
215
219
212
241
211
205
245
224
216
239
246
208
210
207
240
212
215
214
232
247
241
214
229
245
235
211
214
245
205
217
243
240
223
203
230
212
201
248
210
200
248
203
226
246
232
221
248
226
215
206
246
229
231
204
245
216
217
232
218
211
207
217
228
205
241
228
248
220
228
237
203
219
224
204
216
204
217
245
216
245
238
241
211
200
213
234
237
209
235
245
240
209
209
230
205
229
239
236
216
200
241
235
216
232
232
228
203
245
247
205
243
213
209
212
216
202
219
209
235
230
224
205
218
222
224
209
232
225
225
211
230
235
209
249
239
233
219
203
207
228
231
225
222
230
228
229
246
248
200
211
247
229
206
225
201
235
246
246
200
247
223
208
208
231
216
209
239
232
224
237
208
203
238
233
227
232
200
237
200
247
214
233
247
244
235
235
246
220
229
223
226
201
216
210
250
243
222
223
243
230
201
209
231
225
239
245
222
206
238
227
233
221
209
200
244
225
218
238
237
250
240
236
211
247
203
231
248
237
213
229
242
242
222
212
205
242
216
242
209
218
237
211
233
221
211
244
244
250
250
237
242
215
235
220
206
201
207
236
206
246
237
205
213
200
211
245
233
237
201
235
206
239
205
222
224
245
230
232
239
247
208
244
203
237
217
244
200
206
240
215
250
234
231
218
232
246
211
244
240
228
246
211
207
227
237
210
225
215
202
238
241
225
241
226
239
236
250
249
213
201
242
225
247
218
228
235
224
202
239
233
201
219
205
216
200
225
226
227
237
224
245
225
210
211
245
224
232
243
215
238
210
230
236
226
230
212
219
201
236
220
216
207
205
242
234
212
216
231
250
204
241
229
218
208
241
209
247
206
209
223
216
221
245
226
225
217
246
223
242
246
249
222
240
250
239
218
209
250
237
250
204
244
236
213
238
208
211
201
219
204
205
211
214
204
250
220
232
243
202
213
241
211
201
242
227
215
213
217
241
243
208
226
203
219
248
206
236
233
205
218
212
203
209
206
205
215
208
237
201
223
204
221
235
245
241
248
230
207
211
228
248
230
208
249
214
230
212
237
242
210
219
249
244
212
205
244
221
244
227
214
204
224
200
210
220
211
204
249
218
221
224
212
233
216
207
207
202
212
203
249
230
234
247
243
216
243
244
233
211
214
250
204
200
211
222
222
250
218
225
246
213
228
233
207
250
222
246
227
217
234
201
248
215
219
234
212
205
214
201
204
227
241
208
223
222
233
221
250
245
241
245
233
208
244
206
245
225
214
230
208
233
249
249
238
229
223
211
218
206
222
235
229
205
244
243
246
223
245
204
210
218
249
235
246
243
233
223
219
223
248
207
212
203
220
226
212
221
217
215
202
201
231
208
215
209
232
230
201
339
460
499
398
382
428
502
499
339
509
393
460
342
391
493
482
353
418
471
372
365
444
487
342
321
515
399
375
334
441
443
339
322
460
518
345
514
346
430
348
430
458
465
464
383
344
386
480
369
398
325
493
381
473
469
350
382
360
495
351
469
420
384
322
422
461
320
425
457
323
456
394
329
518
407
362
460
364
394
447
481
487
407
378
335
417
419
357
432
504
481
355
507
423
363
436
487
445
422
326
347
406
484
467
511
463
469
446
383
499
506
493
322
496
341
491
461
336
411
469
410
442
516
438
440
343
422
504
439
484
468
451
467
440
513
418
489
464
457
488
357
321
422
462
376
471
480
480
356
352
349
416
496
463
358
367
350
471
392
348
398
346
373
520
332
353
470
347
515
415
451
514
468
404
374
408
426
493
389
495
362
321
366
515
320
517
343
449
424
331
492
447
427
361
479
520
517
377
374
388
504
492
493
353
424
454
448
409
453
333
483
400
367
492
421
360
517
441
391
432
407
320
377
387
376
461
448
476
355
498
325
433
406
367
323
338
488
463
379
499
484
520
492
376
387
375
483
362
322
410
379
330
482
389
396
456
447
330
335
361
392
394
444
461
519
325
497
429
346
485
456
339
423
452
480
482
324
339
426
353
398
333
501
490
482
489
341
429
505
437
442
484
468
357
471
412
343
478
386
340
389
407
346
467
408
371
405
389
395
480
406
398
484
375
331
454
383
464
457
395
462
366
340
463
433
397
324
459
520
472
321
494
359
462
479
414
326
347
360
382
487
347
490
373
520
329
337
380
387
397
347
474
460
439
346
476
466
328
468
477
471
509
421
473
371
423
394
417
365
456
427
337
487
418
422
394
370
516
389
516
365
412
336
426
474
433
448
503
364
496
480
465
320
497
393
500
454
403
355
452
427
375
449
512
496
512
403
421
489
323
512
412
413
467
480
457
361
385
440
335
381
427
390
352
415
323
397
518
402
479
433
438
468
377
366
507
449
351
396
400
404
485
503
502
506
418
476
456
435
452
515
492
398
322
362
425
423
456
519
398
358
363
489
342
416
331
383
401
332
378
335
495
394
392
379
516
457
519
486
382
331
392
500
331
336
483
400
324
444
457
446
446
351
419
491
441
344
514
479
404
510
454
486
495
374
441
439
411
401
331
342
391
506
321
515
436
497
461
396
420
383
441
520
435
520
507
325
324
337
417
408
473
329
515
441
519
429
328
404
342
357
339
378
457
417
479
516
346
408
405
450
351
344
488
385
490
332
374
343
474
360
471
509
362
511
469
366
398
511
465
484
392
423
512
338
421
340
462
513
351
438
436
383
495
489
341
364
448
506
494
446
421
365
417
325
477
348
394
443
494
474
495
517
439
353
514
358
404
425
489
472
390
363
452
328
462
507
481
322
373
360
376
412
386
357
337
505
511
492
423
506
354
481
338
472
394
468
437
380
440
322
411
446
453
358
324
409
349
407
413
321
338
370
486
514
342
397
495
508
439
514
439
372
453
343
330
347
474
343
511
439
420
467
470
438
403
343
420
340
490
323
391
455
515
516
340
369
464
506
465
484
499
380
401
421
517
485
390
365
482
383
381
428
456
421
440
432
441
498
467
476
395
485
462
423
340
420
503
391
448
362
343
325
320
472
432
369
332
491
329
417
435
520
488
389
409
424
423
477
389
426
391
328
353
402
477
442
331
382
362
512
370
512
341
471
394
403
436
333
399
374
350
356
402
351
392
438
392
407
330
372
420
458
452
431
472
370
493
440
473
459
353
514
420
494
403
493
344
447
330
403
355
384
477
391
329
505
511
444
474
413
509
412
354
485
394
372
411
387
479
438
513
334
471
387
457
350
505
390
484
355
510
341
497
377
471
325
481
435
446
372
517
330
411
381
458
482
453
424
330
440
365
420
481
385
366
333
357
404
491
461
327
324
359
498
328
334
447
445
463
504
325
514
366
479
411
408
403
373
427
494
416
349
456
336
455
446
448
349
430
400
388
326
440
430
369
453
456
489
403
513
469
336
396
423
422
414
358
321
376
482
492
517
373
392
368
390
509
354
449
465
370
385
494
440
332
384
446
320
402
346
516
445
458
371
356
516
357
383
327
363
407
417
496
425
347
479
346
474
407
408
512
507
332
491
354
447
504
419
355
333
320
323
342
507
451
420
510
448
374
451
413
404
492
395
346
458
361
504
401
419
478
451
492
506
446
459
418
474
325
453
385
339
435
472
437
436
508
438
353
371
462
471
511
466
482
363
362
341
388
404
323
456
483
410
411
448
340
469
373
480
323
366
385
520
326
426
483
337
426
496
388
419
325
329
504
349
325
488
387
520
481
396
370
340
471
478
348
507
425
453
511
428
502
370
360
486
487
383
326
502
476
355
510
357
485
439
324
362
472
403
455
351
485
360
378
483
425
484
377
373
519
374
325
418
360
387
460
484
326
455
388
393
443
514
423
431
433
504
384
510
373
482
469
503
372
464
450
495
441
509
375
516
337
329
388
347
518
514
368
333
505
456
515
424
520
489
342
470
369
324
466
434
505
400
492
359
499
427
512
346
451
506
448
440
438
325
510
373
357
403
378
324
507
516
369
385
449
475
506
381
344
489
337
461
385
439
383
340
327
423
452
481
376
495
374
478
406
327
424
364
394
333
477
491
389
366
456
417
517
443
381
462
369
446
494
448
405
327
416
478
337
328
328
441
388
422
499
320
412
322
364
447
465
336
462
408
383
466
380
489
502
456
442
398
449
464
390
396
416
511
478
384
390
458
358
515
426
494
362
497
508
471
507
484
325
463
472
501
461
344
454
366
464
435
371
327
473
321
378
354
471
327
349
412
387
393
465
477
390
473
330
473
438
408
508
465
337
517
344
434
454
430
422
489
397
336
344
394
432
387
382
391
428
347
484
381
327
498
472
460
341
352
496
416
347
340
507
365
502
471
435
511
496
402
448
383
476
483
391
412
445
333
458
359
359
375
346
404
465
380
453
466
408
338
437
323
503
344
380
373
485
451
323
403
460
475
410
440
505
501
327
426
403
376
512
377
364
520
412
330
358
439
520
361
428
362
455
508
451
502
453
431
343
499
322
344
471
409
363
372
363
464
379
427
434
517
351
454
394
363
324
438
426
511
321
363
321
348
362
411
456
499
410
348
489
508
477
452
465
350
509
390
365
496
466
518
327
447
435
479
330
409
458
344
396
493
329
351
514
368
397
418
512
501
375
378
352
340
465
401
320
446
425
359
354
424
326
330
383
408
353
357
324
383
446
509
445
474
391
329
388
344
491
345
488
345
332
466
336
410
489
349
343
491
370
366
459
399
365
497
423
369
375
361
388
501
463
420
454
388
460
511
477
441
417
338
404
469
411
358
372
449
471
501
462
405
328
330
496
409
328
470
465
502
516
322
402
391
417
404
341
330
395
346
500
362
436
381
428
482
375
385
509
393
436
411
386
330
442
368
324
459
452
393
323
431
357
344
466
447
501
383
514
390
397
390
480
320
324
429
462
446
519
513
359
347
399
404
324
467
429
493
353
505
400
433
467
475
514
355
373
519
402
449
442
445
403
499
459
429
401
344
398
498
460
448
334
374
342
514
461
378
336
433
499
438
415
448
499
517
336
477
477
490
469
334
457
431
467
408
484
409
383
458
413
360
356
331
422
358
394
390
346
431
489
483
436
337
508
473
498
368
512
491
326
350
394
459
430
515
461
470
458
366
445
333
433
417
408
430
512
489
345
335
392
458
459
458
467
369
518
492
338
402
407
419
351
446
491
461
405
348
502
392
352
488
404
353
433
470
378
462
366
386
327
446
335
460
442
451
472
493
356
429
456
440
398
342
359
423
401
360
479
422
447
500
330
457
413
321
464
349
416
472
382
479
368
498
500
515
403
432
326
332
420
424
354
454
511
497
435
356
335
462
377
448
426
498
338
439
368
367
507
371
334
442
356
478
359
472
487
442
420
401
507
391
494
375
505
471
428
503
403
372
498
376
482
397
483
453
456
481
436
483
359
347
442
354
378
456
461
330
453
422
356
386
357
486
414
468
485
446
367
363
492
446
496
491
505
414
506
432
418
436
443
454
352
473
488
485
491
426
357
342
520
460
482
394
402
426
328
372
464
487
480
463
361
353
382
412
506
437
366
402
487
352
430
473
437
389
450
399
322
369
505
441
329
364
516
455
513
412
468
376
421
391
510
369
328
344
333
449
416
393
401
344
399
337
425
403
464
469
345
333
485
506
480
492
421
321
370
516
366
473
355
335
517
344
378
444
514
470
354
518
349
498
403
321
324
381
321
420
328
514
475
375
448
335
420
395
402
475
472
443
370
379
438
409
341
377
485
353
476
377
481
349
325
386
344
322
333
508
388
501
458
338
348
477
422
454
470
397
353
508
373
505
423
448
399
515
472
329
424
389
376
365
449
505
422
390
420
445
327
488
475
442
464
417
341
372
327
339
503
322
419
385
500
519
339
512
343
517
406
477
370
441
381
358
462
446
392
353
369
512
444
482
499
435
387
352
327
325
513
326
517
436
479
333
392
492
513
339
466
335
397
465
438
470
484
378
383
476
371
441
370
483
510
436
386
357
363
371
451
433
514
438
503
417
362
495
368
357
491
471
343
340
422
356
397
452
421
352
468
368
485
482
357
337
469
362
337
427
469
439
519
503
416
460
425
453
439
514
338
360
495
347
458
407
454
484
372
353
469
509
373
373
344
467
366
359
469
325
494
373
498
447
481
346
398
378
436
364
509
495
400
500
342
509
392
470
511
513
441
483
367
352
506
519
462
517
501
393
512
512
489
419
369
370
340
494
431
348
347
485
355
399
323
455
420
336
456
433
510
465
475
381
325
344
401
479
438
512
422
351
367
449
393
380
458
401
342
414
470
434
340
374
510
356
364
478
459
419
493
372
498
456
421
334
370
506
495
391
418
450
419
392
406
467
342
376
508
502
491
517
439
480
479
349
430
370
428
365
407
350
507
500
495
480
477
418
362
460
507
490
329
448
497
399
382
508
469
410
329
379
505
512
507
398
408
379
380
486
408
399
513
363
423
473
454
519
364
420
507
371
441
391
385
382
395
381
448
365
505
502
367
484
445
494
417
492
416
456
478
449
371
517
341
492
476
360
388
349
484
350
385
363
383
393
514
430
371
475
462
494
492
503
349
326
331
331
405
341
371
390
399
336
520
445
412
407
418
456
364
470
431
369
484
376
516
325
354
384
372
466
380
431
472
358
321
476
478
495
513
430
429
365
348
467
452
372
474
357
468
345
458
373
383
509
436
468
489
515
445
326
416
414
346
488
372
396
350
364
376
372
495
381
508
374
327
488
496
479
437
511
419
476
441
394
404
508
463
440
496
502
352
329
461
499
452
472
473
517
520
331
490
438
326
380
442
367
379
347
395
503
399
349
399
477
361
457
467
346
389
519
419
422
407
454
337
362
407
357
479
464
339
426
446
451
448
365
401
432
381
433
418
320
486
490
331
330
466
383
492
491
389
357
469
340
335
437
513
482
429
347
464
346
345
341
448
406
412
502
381
477
404
504
515
513
477
432
394
449
414
514
461
384
471
336
397
446
333
472
326
380
387
481
473
330
424
462
421
423
365
417
420
352
476
434
350
383
444
340
446
497
433
486
437
505
488
499
354
402
498
376
452
425
473
336
346
390
369
392
341
373
387
330
431
481
519
498
439
481
433
414
435
472
417
423
470
364
484
372
370
511
444
351
377
413
516
477
502
435
461
397
441
515
463
440
508
515
425
480
495
416
353
472
427
480
412
330
397
378
322
474
479
423
485
334
321
330
484
432
338
483
433
329
348
395
509
344
505
458
469
458
446
369
461
439
477
321
451
454
437
470
395
520
467
475
393
442
462
422
326
495
351
468
510
410
506
423
482
490
332
415
455
422
407
417
452
398
457
371
519
398
379
454
415
498
470
413
375
397
345
422
401
434
363
443
382
348
417
509
502
338
429
455
446
415
515
334
343
436
431
515
325
398
461
502
388
452
329
444
433
362
421
485
342
426
470
365
402
520
381
419
347
510
502
349
335
456
428
360
322
405
495
429
501
365
395
380
326
432
413
475
326
341
497
501
419
364
452
376
419
329
400
352
516
360
488
479
344
445
436
408
481
336
501
330
501
520
380
478
478
355
340
383
487
347
418
343
475
370
448
367
327
335
425
476
359
520
391
412
466
481
430
473
460
516
502
455
385
358
370
406
406
331
517
321
326
338
330
408
516
443
453
489
466
503
470
489
433
469
382
349
481
481
486
490
439
503
436
408
411
460
417
483
385
492
479
452
388
511
452
431
480
463
462
439
473
422
322
394
474
478
331
500
327
406
365
388
336
325
373
450
338
419
475
343
494
502
343
519
411
322
385
501
344
372
508
409
492
460
423
446
336
489
450
362
432
382
365
449
498
514
452
349
459
518
333
489
376
509
426
447
373
417
388
400
430
423
430
449
384
471
331
455
363
350
513
392
452
334
444
506
347
502
436
472
337
382
407
446
447
479
503
483
449
475
335
389
483
490
341
386
396
441
470
371
406
446
346
423
477
467
448
343
379
425
403
437
469
426
354
335
466
422
344
458
349
371
342
370
452
508
482
422
329
343
397
475
335
440
395
327
342
349
357
409
510
439
510
460
356
369
400
490
414
507
403
495
429
460
519
489
503
375
460
483
364
326
469
444
406
449
395
481
355
407
441
347
471
328
429
463
352
505
396
474
329
509
510
488
467
514
493
380
520
329
391
491
439
467
421
479
405
437
439
508
320
515
474
358
519
334
326
420
366
337
328
374
391
494
374
424
320
435
415
484
495
433
515
443
429
496
386
505
403
343
341
388
342
389
463
390
423
381
503
422
338
418
513
421
328
506
359
382
404
482
334
414
413
339
417
418
492
398
448
382
494
423
443
450
422
495
343
334
329
466
368
325
489
401
389
487
519
466
443
468
386
414
395
350
462
371
477
321
395
391
509
445
336
426
474
361
378
436
426
467
404
397
449
367
363
448
455
426
353
435
508
476
368
390
515
326
394
468
515
431
376
404
462
440
381
491
396
515
364
324
368
396
342
346
412
322
423
355
441
476
357
344
376
497
519
453
430
397
369
457
474
418
379
459
423
406
405
370
359
361
364
483
441
397
370
349
374
323
474
479
386
406
420
478
416
445
455
509
472
344
339
484
399
365
463
393
353
399
423
377
390
487
475
356
330
508
452
325
489
512
382
322
451
333
372
480
389
474
374
439
461
418
514
375
393
479
357
332
360
451
516
463
387
335
425
331
425
409
494
486
505
470
496
392
420
432
388
516
379
428
374
365
382
468
482
508
330
473
327
516
382
328
379
460
501
324
328
506
338
371
357
366
408
477
488
500
511
352
374
500
357
374
387
494
332
351
497
406
391
516
482
399
398
384
391
511
476
465
424
505
326
329
461
403
440
334
361
382
460
392
435
387
477
461
490
408
385
442
326
500
407
393
453
433
371
495
355
412
421
415
350
368
380
376
342
326
390
487
329
480
514
380
378
321
352
425
484
447
342
458
469
460
322
329
357
462
476
447
449
346
395
338
352
518
515
437
321
445
472
444
399
471
458
453
343
504
380
363
510
479
400
492
370
497
471
333
384
389
349
362
360
324
369
403
432
398
391
408
409
406
466
356
439
325
441
348
374
371
330
506
362
460
396
460
430
429
371
347
473
475
326
417
481
364
503
426
321
459
326
430
517
345
408
343
391
450
387
393
407
332
331
451
355
395
425
359
335
371
328
369
347
446
514
502
323
387
500
468
407
395
488
422
326
507
434
520
375
516
513
457
360
324
387
459
435
473
432
338
347
395
411
329
358
386
420
425
356
450
380
469
421
440
429
405
350
453
368
478
335
473
370
397
390
379
425
452
334
357
332
370
416
350
381
346
429
490
452
510
519
385
327
477
440
409
408
328
498
502
333
415
474
496
404
324
339
350
428
519
387
508
352
453
333
362
457
327
498
497
510
380
381
487
350
333
493
501
395
345
440
401
434
328
480
517
378
409
357
453
457
336
325
503
391
398
336
344
518
454
376
439
381
495
511
353
324
439
431
450
518
387
330
473
428
436
349
492
418
451
421
373
446
442
391
387
520
409
332
335
448
515
501
424
357
362
420
418
345
379
412
482
440
482
519
353
515
375
454
354
331
400
360
427
339
416
428
431
438
495
477
343
374
461
398
422
338
369
512
348
515
331
481
472
430
475
325
453
455
437
480
345
479
488
498
447
513
468
387
412
469
356
327
425
435
424
444
442
357
373
382
475
335
434
332
457
368
451
456
504
425
510
486
340
378
453
340
418
320
392
472
396
420
388
352
368
501
352
437
465
448
515
494
384
390
331
413
355
434
399
378
437
434
415
379
347
423
331
325
389
488
520
329
409
324
430
456
408
425
450
369
366
331
450
472
360
329
436
498
479
339
380
438
494
483
514
406
455
368
398
440
382
423
484
345
498
399
338
415
496
442
346
503
341
492
395
320
471
492
464
419
514
491
340
338
507
489
438
355
497
478
416
469
330
331
339
387
379
487
520
485
503
499
463
500
470
379
393
499
357
382
487
512
439
443
477
410
386
502
504
384
519
404
328
433
465
342
501
432
494
413
461
409
331
384
360
413
337
394
446
438
325
341
512
409
458
386
497
438
509
381
497
462
514
422
429
508
324
339
419
515
423
428
393
352
405
487
335
415
394
349
361
399
486
363
418
468
383
328
331
436
413
516
486
368
459
393
408
363
520
457
391
249
215
203
200
236
213
230
236
222
249
221
237
218
236
225
206
210
206
208
221
209
219
201
236
221
236
218
201
216
217
208
223
230
223
213
219
232
200
222
229
220
213
226
229
240
220
245
206
239
229
221
204
213
238
232
215
207
220
241
225
239
218
225
210
206
247
212
225
223
218
208
236
216
242
215
212
201
249
216
219
226
220
218
208
227
217
236
234
230
219
207
236
211
204
212
247
226
248
221
208
204
236
201
215
250
213
237
217
211
211
209
236
216
244
210
240
225
245
238
245
207
208
236
237
236
236
242
213
213
218
235
200
248
211
242
214
218
238
234
236
201
217
206
223
222
238
228
222
215
220
224
230
226
226
238
227
245
236
219
231
210
214
218
203
248
224
245
239
206
234
221
202
240
218
204
234
234
200
208
248
220
212
219
242
239
228
223
226
209
238
209
232
208
241
226
244
248
230
225
205
207
209
211
205
208
237
213
238
218
210
218
228
243
246
201
228
213
216
214
239
224
200
236
200
242
244
230
218
227
238
205
234
213
208
210
200
216
243
240
231
239
230
247
228
204
208
239
209
230
217
215
227
223
244
206
214
220
232
200
245
216
232
242
223
207
213
214
248
228
224
245
249
221
237
231
244
216
221
247
214
219
244
203
206
214
212
203
216
216
232
207
201
222
231
211
238
216
204
247
219
214
228
215
249
234
222
223
247
241
221
222
241
204
202
228
208
214
249
210
230
203
216
206
246
233
201
242
233
203
206
205
217
207
237
230
230
237
213
216
217
237
228
235
204
235
232
215
239
219
215
227
222
215
249
206
250
212
237
204
216
208
240
220
230
223
200
242
221
227
202
238
219
233
235
235
203
216
246
219
223
210
200
244
227
233
249
219
207
215
230
223
236
220
206
209
222
212
206
203
223
200
244
228
215
218
223
232
204
216
247
214
238
218
226
224
231
243
250
240
222
250
240
242
222
236
244
242
222
225
207
214
206
207
227
205
227
246
202
242
217
236
201
250
212
211
202
234
237
250
241
236
226
207
230
217
220
204
238
215
231
213
213
224
250
225
249
226
224
225
236
237
240
234
235
221
243
240
230
221
235
210
244
214
212
237
203
243
205
210
206
225
239
240
244
245
247
203
213
247
245
228
225
208
245
218
206
239
241
240
232
235
214
241
217
226
204
223
228
213
209
244
229
225
234
202
207
243
221
249
223
236
244
209
235
234
229
234
237
229
207
202
212
209
246
233
213
221
226
215
229
231
236
245
238
236
216
212
229
229
214
227
203
214
240
241
239
227
239
230
241
207
243
243
226
236
235
227
224
216
215
250
240
226
205
230
224
226
238
240
224
214
223
215
220
240
224
232
236
201
228
232
206
216
207
202
241
210
247
232
244
238
215
222
227
243
248
215
220
214
234
245
222
238
241
216
227
200
211
244
206
212
216
205
209
201
220
249
216
228
223
200
206
227
206
249
232
236
243
246
247
221
218
209
211
227
206
215
203
249
231
239
201
229
210
203
245
235
208
242
202
213
250
241
208
226
243
249
233
208
202
226
233
218
240
221
232
218
217
239
231
247
233
215
221
228
244
213
221
246
245
212
223
203
211
225
200
243
250
249
205
219
246
212
215
242
226
227
242
247
234
248
248
227
237
218
216
230
207
248
227
200
231
236
206
205
229
220
232
226
206
234
220
246
219
212
246
223
213
232
228
228
216
229
204
240
246
247
208
205
225
217
225
223
250
228
232
226
202
245
224
242
238
236
217
221
249
213
201
239
222
232
246
238
239
227
244
234
250
243
222
229
220
211
223
224
211
246
237
225
214
228
244
216
215
229
248
201
203
214
222
211
231
206
200
249
203
224
220
210
245
227
237
229
247
210
203
227
243
216
249
248
243
238
200
224
215
207
205
206
243
209
205
233
228
240
235
247
203
209
214
205
221
237
236
210
221
213
242
212
224
223
203
249
246
217
250
241
247
215
216
241
237
247
211
205
212
223
247
204
219
240
222
215
210
221
239
216
207
219
247
250
235
223
211
242
224
236
247
203
219
221
250
239
200
244
200
243
219
214
229
233
235
231
213
207
207
203
210
216
236
215
232
239
208
237
248
232
221
250
245
241
243
242
227
216
216
233
231
221
250
235
211
239
208
221
227
223
200
223
209
241
222
237
235
237
241
219
236
208
221
225
230
229
243
218
226
219
238
225
246
228
214
206
213
213
250
202
249
211
219
209
201
234
223
221
221
230
202
222
248
242
242
204
206
235
225
239
222
227
211
237
226
212
219
240
209
222
236
224
204
235
226
221
211
200
239
226
202
205
243
240
239
213
225
248
216
206
239
232
235
207
203
213
222
249
233
247
201
207
220
233
215
203
219
248
213
203
225
240
201
221
233
202
235
228
221
225
237
238
229
248
210
250
239
211
209
209
221
243
209
213
228
212
212
233
203
204
235
204
234
237
249
226
210
238
247
240
244
236
241
213
250
246
200
220
204
248
205
246
215
239
208
221
216
236
213
228
230
233
221
224
235
228
202
238
210
222
220
242
219
247
222
213
233
212
217
229
207
240
213
207
200
213
214
234
226
247
215
213
242
201
218
200
238
217
222
225
246
222
205
210
205
209
247
229
220
218
224
211
204
240
237
243
202
245
248
202
215
216
242
201
250
229
213
244
228
237
220
208
230
203
239
223
215
226
238
224
225
225
250
200
229
201
217
213
229
211
236
215
219
243
233
245
208
244
221
230
246
200
218
210
216
240
224
249
241
218
215
214
213
201
250
238
239
243
238
236
238
241
220
211
208
241
248
227
247
207
223
202
201
210
200
233
235
248
246
233
248
208
215
218
228
230
233
247
225
247
203
220
241
208
233
206
230
229
220
243
228
246
232
234
200
250
223
236
242
230
204
219
220
249
241
229
240
207
209
226
201
229
215
231
206
234
223
241
217
208
215
244
235
233
233
214
211
205
227
207
250
224
218
203
211
247
243
249
222
211
235
228
230
248
212
220
216
248
202
240
211
236
229
240
238
250
225
204
224
207
200
216
209
249
215
225
232
212
230
223
238
229
248
200
242
220
216
227
208
211
247
248
220
212
250
222
233
213
214
245
227
248
221
212
204
212
217
226
247
248
239
219
235
203
248
225
206
217
247
239
213
230
230
224
223
244
226
243
222
220
207
224
206
204
223
246
250
224
211
233
227
233
203
219
205
230
228
236
247
211
220
237
203
245
228
237
229
246
227
210
226
250
204
204
203
209
219
243
214
227
250
219
233
240
215
240
249
243
218
237
208
221
217
214
219
212
218
222
211
236
214
222
203
235
218
229
249
243
248
231
241
200
224
208
210
248
219
236
250
225
250
225
221
250
227
203
248
248
205
205
248
226
245
211
239
218
200
243
202
213
202
230
232
224
220
231
214
227
218
212
234
215
243
234
216
203
219
214
203
227
221
204
200
230
217
229
220
203
207
214
223
248
205
227
250
235
210
205
248
234
230
239
238
227
237
242
233
233
241
246
229
247
237
235
243
215
202
243
209
236
201
224
250
241
218
224
218
208
230
216
200
239
223
225
239
223
240
241
232
217
230
202
221
248
240
219
237
248
237
220
250
204
248
203
219
211
220
225
215
246
236
240
248
224
216
223
219
223
220
223
229
225
224
226
237
250
240
203
213
204
221
202
221
230
240
213
216
247
249
241
209
235
212
225
237
232
217
245
209
246
226
205
228
210
223
225
248
220
217
204
236
232
246
240
225
240
227
225
246
227
232
202
234
225
238
214
227
244
240
226
225
229
239
246
247
231
211
209
239
228
247
214
248
222
235
216
222
213
236
214
218
236
235
229
219
250
225
222
212
222
204
205
226
212
205
218
203
244
236
207
218
236
220
222
221
203
216
207
249
231
225
211
211
204
227
224
204
202
244
205
230
212
235
227
200
225
232
240
240
235
202
225
212
200
213
216
206
206
245
212
239
222
243
211
207
239
246
243
226
200
220
210
221
218
200
209
221
230
207
218
225
241
216
232
204
232
226
234
232
218
244
235
241
242
245
216
219
209
228
230
248
241
243
223
235
245
223
242
239
204
233
235
201
237
244
236
205
222
203
226
214
204
225
236
229
223
209
205
235
247
205
215
234
222
248
235
229
225
228
229
213
221
211
250
216
214
225
244
238
249
239
243
224
231
237
200
220
207
216
227
206
218
209
203
243
238
224
240
209
241
215
210
204
222
218
234
234
225
204
206
210
240
241
207
207
224
219
210
244
217
222
236
227
202
200
211
217
204
241
249
225
242
246
221
240
236
200
206
238
209
202
246
201
215
236
239
236
221
209
209
240
246
249
220
202
250
225
212
207
213
232
237
202
248
246
212
228
221
241
220
248
201
245
217
209
238
202
205
218
201
225
236
235
208
217
231
214
225
227
249
204
217
205
228
201
241
233
238
220
249
245
202
240
214
202
239
211
225
250
220
208
218
206
230
226
227
227
207
230
222
236
218
224
245
214
215
239
212
231
232
218
230
245
245
230
217
234
218
237
227
237
242
226
242
205
218
231
241
246
219
244
211
202
211
228
241
244
248
216
210
232
235
228
242
248
249
225
238
247
202
202
205
229
234
239
207
202
205
232
217
240
230
249
204
248
209
225
216
246
214
227
208
218
238
215
221
207
245
226
211
227
201
212
237
241
206
207
219
242
200
209
238
219
236
217
246
203
227
222
225
231
212
207
226
217
214
223
205
210
216
221
240
200
229
216
205
230
206
228
229
246
214
212
213
218
246
200
215
208
218
242
220
235
202
207
249
232
239
222
217
215
221
243
203
248
224
212
236
216
219
204
233
227
234
230
221
236
207
221
244
238
225
212
239
223
244
226
247
203
249
202
215
221
223
228
216
235
236
202
229
242
244
211
214
222
245
238
226
202
206
235
202
201
217
248
242
211
232
230
222
208
226
214
222
249
217
249
250
225
213
222
213
239
209
203
245
207
215
227
240
218
237
204
244
225
249
246
237
227
223
206
226
201
206
200
218
205
212
223
217
245
237
246
207
212
230
232
222
229
235
234
248
244
211
244
232
206
225
240
247
218
250
215
226
205
242
211
206
219
210
211
227
241
202
216
213
221
209
224
250
214
201
224
248
246
226
235
220
226
250
225
221
219
242
210
202
235
246
230
245
249
223
203
249
243
223
225
226
237
235
236
217
231
214
205
227
209
241
223
232
235
215
227
232
241
237
239
237
250
228
201
203
236
226
236
244
230
228
244
200
221
232
208
245
217
209
215
201
211
205
222
233
238
212
246
224
249
229
244
212
240
249
234
211
219
205
200
245
242
215
204
230
227
202
217
240
245
205
218
248
239
205
246
247
247
205
250
246
234
226
235
224
211
214
243
205
234
218
237
212
212
247
204
208
246
215
243
239
243
211
221
222
235
236
242
225
237
216
218
204
223
245
205
226
241
223
223
216
242
236
208
241
242
210
235
235
204
223
240
249
209
203
231
214
219
212
238
210
229
210
221
230
210
237
244
219
211
201
208
202
209
246
219
201
231
245
217
219
215
217
239
244
215
206
250
226
213
206
235
244
206
216
221
244
248
216
242
222
211
208
241
207
237
213
238
231
242
221
202
230
210
205
221
227
233
219
214
223
207
226
211
246
223
215
217
229
237
201
220
235
205
211
224
210
200
240
210
247
250
203
232
249
211
227
219
210
214
223
222
236
245
221
225
218
224
218
233
230
224
243
234
206
241
208
208
242
239
210
230
247
218
208
216
217
213
239
248
213
249
237
200
202
233
200
202
222
238
239
204
238
206
236
203
224
207
211
219
249
240
247
226
233
200
208
216
211
201
216
207
206
232
225
218
239
211
232
230
220
224
227
250
217
228
249
219
204
230
236
204
235
214
239
200
237
201
237
250
205
227
227
244
220
200
250
209
202
211
200
245
217
244
249
241
230
247
207
209
209
240
222
210
234
249
200
244
250
246
206
222
221
246
240
202
200
232
208
240
232
222
246
240
229
243
203
223
219
242
221
210
212
248
210
249
239
218
210
242
229
237
215
236
240
236
209
219
203
214
210
213
250
238
220
243
214
248
235
243
215
206
242
207
208
236
206
236
241
224
235
233
236
211
206
216
243
214
248
205
217
201
219
246
205
210
237
223
232
201
204
226
207
245
229
233
232
237
238
214
202
227
209
248
220
224
244
250
224
247
241
208
241
213
222
201
215
209
244
234
220
221
212
246
232
248
224
233
248
209
213
201
237
248
240
208
242
211
219
208
228
203
230
233
240
226
205
223
222
229
218
204
249
210
225
221
247
216
223
204
208
207
245
232
210
235
201
236
230
221
241
239
250
225
244
202
241
206
201
226
241
211
229
221
235
217
207
212
213
225
224
224
223
243
209
203
200
235
209
201
216
221
219
240
230
218
235
206
200
222
206
212
226
240
221
245
243
209
227
211
225
205
212
207
247
235
221
236
208
248
212
208
224
244
248
245
224
216
250
246
234
248
234
239
216
218
248
229
248
208
247
202
221
212
212
247
211
240
230
210
200
207
216
234
205
238
229
229
233
248
226
227
220
227
212
244
224
204
223
227
216
243
216
232
201
246
231
214
221
236
223
249
224
234
243
233
235
202
226
245
233
240
245
240
245
201
230
245
241
222
215
218
249
241
209
244
224
244
235
217
206
208
222
224
200
226
220
237
228
239
214
224
222
235
215
202
239
220
215
221
228
200
244
246
226
236
208
227
230
219
206
214
248
229
245
202
238
245
223
245
220
220
247
238
217
218
241
247
214
243
207
247
218
229
240
228
216
213
250
242
243
205
228
240
249
221
214
201
243
204
200
246
233
234
226
228
200
245
233
236
212
224
235
222
241
202
234
212
217
225
203
234
211
203
205
231
207
203
235
203
238
244
236
211
242
227
219
219
214
217
240
204
245
238
241
245
250
233
235
212
208
213
212
239
215
236
204
221
223
238
242
228
247
203
232
236
242
235
219
219
228
242
224
237
236
238
230
246
247
240
232
226
232
203
201
247
237
249
218
234
209
238
213
241
224
213
200
202
221
220
204
207
249
238
219
223
202
204
231
239
218
214
240
234
214
212
247
207
203
232
202
240
227
202
206
221
232
207
203
221
239
217
250
215
243
219
201
249
202
228
237
220
232
237
245
222
247
216
242
213
222
242
218
218
246
206
241
241
231
228
218
240
249
218
249
210
239
233
225
231
226
205
242
242
200
221
241
218
214
214
228
248
227
212
237
226
204
226
214
222
201
230
206
230
206
207
226
228
244
223
206
203
237
248
216
246
235
206
215
248
201
208
241
241
243
214
207
232
222
236
203
236
221
245
240
225
228
235
204
206
221
245
250
212
220
222
210
245
230
202
201
208
239
239
215
219
250
213
208
245
228
250
219
209
201
228
217
219
201
226
230
242
224
231
204
228
214
238
234
209
201
232
236
204
248
217
230
246
203
245
238
240
224
249
218
210
211
214
247
208
224
220
239
202
249
240
214
244
220
208
238
238
223
233
249
235
238
201
233
228
230
231
242
234
245
238
201
202
244
248
217
236
222
243
228
205
237
247
202
239
240
213
242
216
208
248
235
211
237
204
242
225
234
211
222
218
236
210
233
201
211
206
209
203
243
218
212
228
225
245
208
211
229
205
217
247
208
202
216
230
235
244
210
218
222
240
212
205
242
208
228
245
227
248
220
216
204
206
220
245
244
244
233
214
223
250
219
243
222
202
227
228
208
209
232
202
200
225
214
226
212
233
240
214
212
215
204
213
245
204
219
231
239
227
232
216
244
230
216
237
214
233
218
209
231
245
211
248
207
242
244
217
237
207
209
207
245
206
202
239
250
233
225
223
244
241
207
223
217
231
223
230
208
210
207
214
215
245
200
227
210
247
210
236
247
206
238
227
233
242
211
239
210
223
206
204
241
247
250
231
250
225
210
232
232
205
227
228
217
213
206
216
236
221
243
209
227
201
227
217
200
214
217
209
231
227
211
213
209
236
218
209
218
225
237
248
212
224
244
236
250
239
205
234
215
204
216
247
223
247
240
250
226
235
242
212
215
241
234
226
210
244
221
208
241
242
205
241
246
208
240
218
248
241
210
227
250
212
243
222
243
244
230
202
222
239
208
225
233
207
245
218
227
243
203
212
231
242
203
202
248
245
206
236
230
219
241
231
245
204
206
230
219
235
241
243
235
243
219
247
210
242
223
246
221
200
239
232
250
224
208
205
204
235
215
213
235
228
223
233
232
210
247
211
234
229
222
247
240
225
219
250
225
241
234
210
246
241
229
208
229
250
223
218
219
212
249
206
217
236
219
225
207
233
212
248
204
202
242
204
234
213
229
232
232
227
203
211
224
248
202
238
227
223
213
219
242
240
223
246
234
227
204
231
217
206
228
230
209
220
245
207
243
232
217
238
211
228
238
210
231
224
225
248
244
244
244
247
247
200
250
243
234
242
208
220
206
228
213
240
223
239
201
216
203
206
233
241
222
242
203
216
244
239
238
201
214
204
237
239
210
223
228
209
233
204
249
222
232
231
246
238
240
241
229
201
214
245
209
250
238
227
229
242
223
233
225
207
231
224
214
217
222
247
229
206
223
222
203
227
227
221
236
207
208
203
202
229
231
234
250
247
226
234
233
218
204
236
211
246
229
218
234
207
236
203
249
220
243
220
225
242
241
207
231
237
233
241
216
238
204
239
236
212
211
249
204
222
205
244
216
237
244
229
249
208
230
207
207
218
229
240
223
201
243
246
213
230
203
205
238
250
220
207
242
211
220
231
215
248
238
205
213
241
207
220
201
212
243
236
248
212
226
231
237
211
220
229
205
249
246
222
247
217
225
211
247
243
243
223
246
203
204
243
217
232
218
226
236
236
234
250
204
202
239
203
247
245
214
239
217
218
207
226
238
248
233
218
203
241
229
219
248
209
244
213
205
201
250
229
235
219
246
224
211
217
228
229
202
202
250
222
216
211
201
224
243
224
212
214
206
229
219
229
213
225
240
249
216
236
231
228
215
212
237
248
239
248
207
220
249
222
233
217
204
242
242
205
223
246
210
223
237
213
211
219
229
212
240
234
224
221
245
211
212
212
208
226
223
245
211
206
203
224
218
244
238
242
213
206
206
244
207
212
208
235
247
246
216
220
236
220
206
225
219
200
228
221
207
208
240
238
208
205
218
233
207
239
217
244
232
210
242
215
228
206
248
215
240
231
232
223
205
227
204
208
236
226
216
246
228
225
228
221
207
215
245
209
202
201
241
225
213
247
224
208
234
231
241
247
210
224
226
229
240
248
218
203
207
215
227
238
222
233
229
249
245
249
240
213
243
239
211
206
230
229
210
229
203
235
215
216
201
236
213
242
248
243
205
209
228
218
204
221
229
204
201
238
209
232
250
226
240
240
238
236
235
240
242
211
213
231
243
216
242
222
226
245
241
247
214
223
210
245
219
242
212
203
202
245
242
210
244
217
218
209
245
201
241
226
213
249
235
204
225
214
214
234
230
215
230
234
245
234
244
235
247
224
209
202
220
226
234
211
228
234
239
223
212
213
238
203
237
236
203
243
230
214
227
218
219
234
229
238
233
213
249
202
232
204
235
205
246
206
242
224
220
210
227
217
218
248
204
202
230
239
230
231
247
218
214
237
233
222
225
242
204
235
243
248
209
242
250
221
245
242
231
242
209
237
220
205
223
225
247
217
236
230
210
200
210
241
237
232
213
225
202
223
248
243
211
250
248
233
214
232
200
247
208
203
245
236
239
200
230
245
235
209
200
234
201
238
207
212
210
214
219
204
210
206
241
250
209
233
248
208
215
226
227
225
206
206
226
244
211
209
250
201
214
217
237
202
226
242
229
242
241
247
235
217
234
231
220
208
240
200
208
223
247
214
250
224
237
235
248
224
207
220
203
217
241
249
237
225
232
204
205
222
207
223
245
211
204
230
216
241
219
207
206
239
238
211
209
203
219
226
201
236
248
201
237
239
224
247
223
230
213
230
241
232
229
220
212
227
219
236
229
210
224
238
209
217
205
237
215
246
248
250
222
213
217
223
249
242
227
250
250
211
211
249
225
244
226
245
206
245
250
207
226
202
209
225
230
211
221
216
215
211
216
209
202
243
210
211
221
219
238
236
247
221
202
210
244
246
241
224
248
211
231
206
202
230
221
233
219
241
209
212
207
213
203
223
241
206
204
228
204
250
224
227
205
245
211
231
205
247
237
226
222
237
214
222
217
239
229
220
244
235
214
226
210
201
241
208
217
222
213
241
241
224
244
216
232
233
238
202
243
222
245
211
233
226
204
242
237
217
222
248
232
248
234
204
238
248
242
214
247
250
240
201
244
238
229
202
230
249
212
227
200
239
241
200
201
215
211
241
204
230
204
242
227
225
207
247
211
211
234
210
212
245
223
201
225
225
229
213
240
220
214
241
216
247
230
243
216
213
204
232
221
205
201
247
205
226
202
213
200
218
210
225
229
250
215
457
465
447
483
394
425
329
448
416
506
435
413
448
326
394
383
327
478
370
481
394
422
420
353
376
365
462
389
351
419
442
493
429
327
392
399
448
449
419
355
518
467
485
509
361
427
477
355
505
441
404
434
451
450
404
349
404
427
467
424
429
329
466
377
438
446
489
452
343
412
352
459
328
422
444
492
377
378
515
469
323
332
453
456
396
421
403
472
508
462
483
444
353
423
341
508
341
495
413
323
345
400
400
385
444
438
366
397
491
499
451
498
342
412
364
349
405
464
335
472
486
449
365
479
346
513
382
514
435
445
405
345
348
400
427
399
516
429
481
395
474
410
490
499
474
465
401
377
350
356
380
473
436
369
423
471
462
421
425
510
352
469
473
468
409
507
332
516
509
475
364
438
345
359
471
362
378
328
480
352
471
451
510
335
369
428
511
476
485
350
422
406
515
354
427
411
496
354
322
500
427
425
360
434
373
323
431
423
375
332
351
430
362
345
402
468
331
327
416
331
385
325
438
447
352
356
414
433
432
508
481
510
443
374
445
509
420
515
435
445
479
336
451
428
335
365
387
390
367
520
472
493
429
427
360
337
471
360
480
325
478
365
386
473
502
323
436
384
378
330
385
330
398
448
382
343
514
431
475
347
452
367
513
442
486
349
472
350
434
323
390
336
346
373
366
413
431
467
507
506
513
495
397
500
365
330
321
494
385
445
360
386
357
474
454
508
400
502
436
422
345
388
471
513
346
514
354
356
419
458
340
331
419
349
520
489
477
389
463
510
343
360
471
368
430
330
322
408
515
474
348
371
454
367
362
417
484
342
484
336
412
351
383
517
453
483
505
323
362
349
375
496
444
520
379
400
470
329
453
462
399
457
448
420
345
504
493
478
369
351
326
432
362
337
394
321
379
365
428
407
464
468
508
504
486
378
412
457
409
344
383
466
376
472
433
326
366
403
463
448
394
336
433
452
508
385
350
453
480
412
360
492
351
427
452
463
470
490
484
364
439
476
323
489
421
403
463
420
435
385
448
457
511
338
454
450
498
434
378
481
440
507
339
505
442
516
402
475
376
486
408
328
350
364
423
491
439
397
342
359
471
466
468
516
428
382
467
345
500
446
511
348
390
462
392
462
452
502
325
424
516
411
401
419
409
474
456
501
328
503
446
380
333
502
472
371
469
399
438
515
508
408
359
342
328
327
500
493
358
378
380
342
364
506
356
511
451
330
354
469
519
489
330
368
413
419
435
359
330
342
339
340
425
443
370
470
447
436
482
387
446
403
343
392
453
344
455
368
462
443
418
438
339
348
487
331
380
454
328
353
474
335
494
335
501
518
439
439
487
356
455
420
459
322
427
509
449
467
511
490
472
479
414
377
321
330
478
337
504
479
348
474
500
465
380
322
439
511
451
392
451
329
365
492
334
331
425
354
352
371
335
353
448
360
507
387
325
360
507
349
457
484
366
377
458
354
422
490
519
379
506
506
445
510
355
487
347
462
480
384
366
345
457
409
483
425
326
478
351
483
343
337
455
453
337
322
402
339
473
343
479
341
393
480
374
484
489
413
489
418
432
478
490
514
487
487
391
464
468
453
424
345
412
430
478
389
486
354
422
462
448
348
366
493
460
349
516
461
420
455
346
334
453
474
492
320
506
337
512
403
326
378
422
363
388
489
370
336
342
469
413
374
449
517
501
450
437
338
404
379
324
452
477
334
493
380
346
376
398
400
497
381
320
450
514
364
421
383
335
404
415
447
333
362
424
466
400
480
493
478
440
431
462
391
427
454
372
327
358
446
493
398
520
518
393
448
396
410
449
482
450
478
406
465
351
374
392
494
475
492
509
422
507
361
408
486
346
474
489
458
391
394
366
506
473
364
502
448
397
365
449
490
370
344
411
384
419
324
486
473
330
383
428
385
461
432
373
456
502
414
415
451
339
378
345
408
323
464
495
403
369
433
481
414
414
348
421
503
494
393
361
445
493
440
320
511
391
514
381
448
373
337
461
432
459
344
420
515
468
333
417
495
354
482
356
365
438
511
455
499
433
461
332
450
435
483
381
517
443
383
435
413
422
362
325
429
483
471
361
330
342
354
354
400
434
499
513
492
429
330
391
480
340
438
416
350
385
435
336
487
452
355
500
465
419
488
372
401
501
471
397
373
423
389
409
382
505
385
507
496
452
505
379
423
431
370
458
342
433
371
331
424
466
478
320
403
351
380
432
366
421
482
344
445
350
509
467
492
391
519
464
386
354
368
356
477
500
396
412
509
411
341
492
496
356
442
504
410
402
515
486
360
395
423
396
410
376
437
485
492
478
461
394
470
482
413
440
397
359
383
457
506
481
387
347
454
477
423
432
372
389
433
378
434
382
490
465
370
445
461
384
500
383
344
474
412
348
478
476
349
482
463
410
504
395
364
388
394
509
332
349
366
437
410
452
434
468
457
435
347
442
516
407
393
402
436
378
498
517
351
363
341
506
336
384
450
465
421
486
433
354
390
430
321
360
478
472
430
324
429
518
360
426
472
519
395
438
439
393
461
387
369
382
478
453
443
390
340
444
482
488
431
420
372
406
352
324
511
363
365
331
495
368
419
340
454
446
358
406
476
427
365
338
512
501
389
460
444
428
408
425
377
444
477
437
471
340
412
471
329
444
409
476
429
403
454
338
413
494
493
373
450
489
499
443
338
487
334
361
511
432
333
459
341
432
428
339
331
409
465
366
498
469
478
427
450
378
511
353
424
450
335
324
394
484
472
413
488
395
483
395
392
447
357
423
398
485
504
513
502
366
336
372
450
366
363
485
321
519
441
478
500
474
360
362
398
511
381
484
410
510
411
462
327
413
419
423
416
462
432
505
511
333
478
485
361
497
484
341
516
464
351
432
466
468
389
380
320
386
472
434
355
413
384
401
339
325
356
437
353
415
463
368
352
465
504
492
392
437
428
489
361
509
394
403
405
493
486
421
429
519
373
476
354
511
406
518
428
412
469
396
421
358
321
499
459
378
456
357
481
448
428
374
465
508
326
418
472
397
353
464
382
455
427
393
459
333
395
387
385
428
500
460
489
328
330
411
321
433
431
520
408
373
436
498
456
482
456
425
367
508
362
343
428
480
389
351
358
341
482
401
419
424
477
422
350
394
481
368
402
506
436
364
512
350
519
325
411
339
450
331
385
330
340
439
403
389
426
348
472
358
389
496
445
378
326
467
442
413
360
439
498
365
356
365
469
324
401
478
457
439
342
489
322
405
482
461
496
467
385
392
512
407
425
518
335
499
497
500
468
341
386
411
386
403
360
399
487
467
440
493
386
476
496
423
359
478
472
449
508
379
412
416
415
375
463
427
491
497
447
386
469
374
349
485
334
510
506
322
501
390
497
461
320
460
513
485
398
322
339
412
436
328
480
373
459
335
429
385
362
325
504
513
414
505
403
320
431
503
484
485
436
477
472
482
425
364
401
378
431
388
514
394
395
376
428
368
334
390
489
429
455
345
331
397
376
511
471
367
333
350
476
394
479
402
460
406
322
413
392
364
462
435
409
419
511
519
417
468
358
370
480
432
422
446
413
481
428
504
397
445
395
510
435
518
407
415
513
380
515
444
517
446
455
348
427
468
465
484
372
397
443
520
392
448
346
348
408
372
478
513
515
507
447
392
383
439
385
320
454
335
442
413
519
470
441
452
472
434
450
486
461
518
406
417
410
398
417
519
359
412
376
424
507
508
461
403
493
405
411
371
329
338
511
365
440
370
399
332
486
355
422
399
360
390
481
496
331
438
330
357
429
447
406
364
488
451
481
514
520
369
484
447
340
320
453
504
441
424
449
326
359
440
479
481
492
364
375
401
515
362
494
451
491
376
400
432
376
341
471
442
428
481
471
510
514
324
507
323
390
494
460
466
397
498
375
479
360
363
478
333
394
394
362
497
493
497
387
369
335
517
379
330
421
520
398
337
467
335
380
496
387
440
380
480
416
426
360
372
363
439
411
346
427
367
510
394
327
336
370
499
409
486
485
330
454
475
335
389
495
426
479
460
360
517
430
510
395
511
362
409
435
469
336
413
459
433
346
407
381
323
379
328
471
442
449
473
355
373
461
342
415
429
421
472
444
435
410
382
364
513
341
474
382
326
347
460
463
418
369
445
329
345
406
338
373
441
347
406
439
347
512
360
324
431
375
364
378
417
384
345
338
429
383
393
444
349
375
467
414
350
401
411
364
506
371
483
360
449
364
470
364
505
473
396
516
397
423
349
395
359
364
405
490
344
421
337
341
376
326
430
368
440
322
370
326
503
460
410
375
497
416
331
337
437
499
461
468
457
341
500
422
390
329
383
323
449
392
398
362
321
433
392
442
379
385
336
409
468
501
421
384
422
328
458
371
382
370
482
323
428
478
411
325
391
395
375
334
498
374
462
520
337
436
439
437
344
422
330
416
476
358
428
448
358
405
504
374
320
442
484
511
350
332
440
464
399
462
476
515
443
407
416
511
355
435
413
517
369
487
455
454
505
374
504
452
402
443
336
354
431
413
348
448
506
430
491
389
440
423
353
403
500
391
502
440
505
512
436
486
465
444
482
465
430
513
490
445
397
338
473
401
380
400
504
329
450
358
410
458
480
341
447
478
487
479
438
348
480
477
412
360
320
481
327
501
516
511
437
379
432
445
402
480
366
327
443
409
477
493
432
384
363
443
363
487
506
481
503
348
471
495
475
399
396
326
423
483
430
334
511
405
509
466
375
508
447
469
365
465
352
333
396
407
520
476
385
383
441
475
336
477
443
517
324
418
491
441
424
461
416
386
372
380
477
355
481
342
329
464
509
500
476
431
499
497
398
487
342
441
495
481
391
446
494
357
459
427
359
512
320
401
391
520
429
472
382
346
429
348
488
324
388
476
506
382
422
481
489
467
391
371
451
326
416
359
489
476
391
439
405
367
389
321
442
353
462
424
496
342
482
429
442
321
441
351
474
404
455
453
351
456
401
482
371
339
380
337
435
341
409
504
365
406
337
366
402
394
415
378
387
386
439
435
321
369
426
434
453
425
429
402
394
424
503
476
413
430
326
397
441
513
327
321
379
380
438
418
381
510
324
499
389
490
412
338
426
327
364
334
474
370
505
433
507
510
495
394
389
497
432
346
499
353
482
473
498
505
373
349
513
415
498
500
515
495
368
435
489
406
350
501
340
454
371
344
488
333
515
462
446
423
480
378
359
351
454
477
515
421
399
321
363
495
384
390
447
337
352
359
476
488
404
496
335
510
395
404
388
469
458
453
479
396
394
435
335
380
357
427
509
475
376
362
418
499
503
409
342
503
424
486
486
406
383
452
494
491
330
388
438
343
425
329
475
416
490
372
395
470
488
446
392
365
329
493
408
381
507
327
411
427
392
425
450
388
494
427
498
451
483
407
342
486
454
349
489
438
434
491
419
511
390
515
426
448
509
440
428
496
353
351
449
440
446
425
513
504
406
376
502
395
431
398
518
465
438
328
437
486
320
360
370
364
447
434
340
356
339
390
493
496
413
433
507
412
438
361
378
476
376
337
423
366
507
461
484
419
430
342
393
362
501
377
469
421
519
449
372
485
325
385
331
438
434
381
354
480
519
426
332
449
519
376
414
342
377
504
355
427
378
377
387
383
443
404
417
457
369
460
409
390
330
350
326
339
343
490
383
435
520
465
476
481
429
341
401
329
386
380
493
425
346
412
359
389
334
443
500
429
490
341
447
496
421
324
431
494
461
507
360
340
390
503
340
520
469
489
352
459
501
447
441
404
421
358
325
404
364
445
422
434
345
360
459
423
440
519
389
380
441
474
462
508
423
431
366
471
392
357
366
431
366
401
387
465
354
381
482
461
502
397
325
349
393
388
320
473
434
326
436
391
328
354
362
454
352
472
404
500
339
366
331
370
468
494
403
347
434
520
383
473
457
405
444
384
455
466
359
333
412
458
336
449
447
340
504
415
323
354
331
358
469
519
372
363
389
475
503
367
498
446
516
519
384
344
380
421
415
422
494
388
415
484
422
344
452
489
420
346
390
429
454
368
505
419
497
369
349
407
492
433
476
329
473
335
362
358
484
407
478
482
406
451
513
504
359
458
507
485
488
322
390
483
507
517
331
501
441
461
367
469
380
510
321
374
393
367
382
332
394
495
393
331
412
352
459
511
505
404
484
498
489
328
437
442
397
504
392
420
368
384
510
375
481
474
320
516
449
520
347
357
328
378
355
333
446
499
325
444
363
469
436
453
346
348
499
488
500
468
493
455
508
507
325
332
377
408
444
355
487
423
335
367
445
479
498
385
405
488
447
491
466
409
339
494
520
349
392
448
488
398
357
476
504
473
400
516
327
490
328
391
431
352
480
376
397
380
378
430
512
494
495
407
357
341
459
322
325
404
358
502
369
328
439
462
497
353
505
328
331
321
443
481
436
358
450
331
510
505
511
321
324
460
354
505
453
408
485
320
366
367
407
470
361
330
429
504
372
513
366
434
393
496
390
364
495
396
362
468
453
347
324
380
426
363
491
458
405
373
445
347
340
388
347
358
415
417
476
339
392
352
426
320
489
366
449
365
399
421
438
326
432
498
480
404
405
328
465
359
438
342
385
377
354
475
479
444
382
411
405
479
336
477
473
390
332
443
383
447
466
488
383
428
329
418
218
224
236
213
212
228
233
210
226
218
240
216
221
228
228
204
249
219
232
243
249
224
229
230
250
229
207
202
230
250
210
235
204
202
224
201
243
243
207
201
249
213
243
236
207
220
248
212
233
200
232
243
232
241
201
219
237
220
241
218
219
217
247
250
235
245
218
215
203
217
218
203
246
228
219
206
221
219
222
209
219
243
238
242
232
237
223
222
241
250
208
214
204
216
211
237
213
215
213
210
208
214
241
246
214
241
221
207
222
230
223
201
201
239
205
240
210
218
216
227
206
247
220
203
218
249
241
222
210
225
213
250
205
222
243
220
204
234
233
237
220
200
216
213
213
208
249
214
209
208
204
228
216
226
223
224
207
222
221
238
204
208
223
239
244
215
211
247
240
235
222
238
250
235
250
200
221
249
250
229
245
239
232
243
243
226
240
212
235
244
230
219
216
202
230
206
202
245
230
225
250
229
237
241
240
207
214
250
217
206
200
226
224
225
206
201
207
230
233
202
239
212
235
217
219
210
237
222
245
248
246
205
236
218
223
205
229
212
245
218
208
225
202
216
246
231
201
231
214
238
205
238
216
239
200
220
206
219
244
243
241
242
228
248
250
230
202
236
231
230
219
228
231
248
208
245
213
236
211
211
209
216
234
220
216
211
245
220
210
230
217
223
232
220
231
246
220
243
242
222
224
217
248
217
239
235
249
238
239
212
209
230
250
206
247
238
205
212
217
227
210
209
247
203
246
245
221
223
226
224
201
221
206
238
248
218
243
225
239
218
210
214
240
233
241
206
201
243
221
208
249
239
209
235
229
204
223
221
239
233
244
213
205
225
238
230
233
247
224
227
208
203
221
216
234
217
205
231
200
242
220
241
241
231
204
214
246
208
247
248
224
208
206
210
217
211
207
249
224
215
220
223
240
201
236
224
243
202
237
204
229
232
236
210
203
223
226
236
245
247
208
243
223
220
223
204
211
227
229
202
234
215
209
223
203
237
200
200
228
218
211
209
236
249
240
214
220
218
243
233
203
218
225
250
208
234
230
232
248
246
201
247
235
209
224
239
202
248
237
219
235
218
201
249
231
234
228
236
247
246
234
221
208
240
203
214
241
223
229
249
214
216
220
229
222
232
236
214
241
208
246
237
243
234
220
234
206
221
244
201
210
249
237
250
218
206
207
248
232
204
249
204
232
215
239
230
207
217
211
226
200
242
238
202
245
208
211
234
245
239
245
235
233
227
202
229
230
211
245
235
222
232
232
217
222
245
223
207
241
229
248
215
212
236
234
231
215
217
249
234
230
222
234
250
247
223
228
246
234
237
224
220
225
215
240
237
209
206
238
200
201
210
209
237
243
234
247
204
212
223
206
201
244
230
211
219
200
239
248
201
231
224
202
224
200
219
227
241
241
220
236
239
200
226
226
221
244
205
236
229
212
210
237
249
209
218
238
217
222
225
230
243
230
225
237
209
241
212
218
218
237
239
201
223
200
213
208
222
222
212
214
206
225
234
200
230
205
237
242
240
239
242
202
214
205
230
212
220
219
220
245
233
215
249
206
203
247
220
249
226
250
236
208
215
203
230
246
212
248
234
218
209
206
250
209
223
240
224
216
210
224
229
242
231
212
224
218
243
240
218
201
235
232
241
232
239
202
246
215
231
210
216
246
234
220
222
200
214
229
245
202
233
202
200
207
246
234
221
236
200
244
246
240
218
229
210
210
213
218
223
237
242
227
214
213
247
231
234
247
214
214
204
202
221
219
226
208
224
227
212
213
215
214
216
233
224
204
205
225
206
228
201
230
204
221
245
200
216
229
222
214
247
230
215
208
235
245
220
235
231
230
245
214
214
233
242
222
233
228
233
211
225
200
214
205
227
245
240
235
214
222
224
222
218
213
225
221
220
211
215
224
214
249
220
211
213
241
231
203
219
209
206
211
233
209
210
221
224
247
214
227
241
207
213
223
246
212
209
245
206
225
249
234
207
226
232
207
234
248
225
222
235
250
215
220
206
207
218
244
241
225
207
243
243
220
214
246
233
216
246
204
225
241
245
234
242
218
210
204
239
201
208
232
241
235
217
239
244
227
214
204
250
232
208
218
217
246
210
240
230
237
221
203
208
201
232
242
239
221
229
200
211
241
202
236
216
225
226
226
232
233
229
241
208
239
202
236
222
231
205
229
202
200
219
250
210
231
202
235
216
217
228
224
220
223
240
248
222
223
243
227
250
211
228
237
207
233
236
203
224
240
212
216
231
207
247
210
214
220
245
205
206
224
240
228
243
234
225
203
208
216
240
222
228
233
245
235
209
211
245
210
241
229
208
223
241
211
210
224
203
219
244
214
231
248
228
222
235
209
213
217
227
234
241
215
218
250
223
242
236
222
250
242
207
222
200
207
217
246
203
217
200
220
203
208
231
203
214
232
215
205
237
227
242
248
219
229
220
215
245
218
210
223
247
239
240
247
233
210
222
228
201
209
214
244
205
224
220
219
241
205
247
249
247
218
242
225
218
247
215
249
246
231
200
229
212
247
201
202
220
239
249
231
242
243
236
250
228
218
231
230
214
220
202
206
224
240
203
217
207
232
211
207
200
231
247
207
250
214
215
240
233
223
223
250
202
250
241
214
216
237
240
211
214
204
237
216
233
206
227
223
234
200
245
209
245
237
234
223
202
218
250
240
234
235
228
215
225
224
237
215
208
219
203
221
210
219
241
234
219
238
226
201
247
243
214
250
217
210
203
241
214
247
232
240
209
202
216
218
211
227
243
236
208
203
233
228
245
246
234
245
204
232
218
217
236
241
200
250
228
247
233
200
247
205
205
246
225
247
220
231
234
224
220
211
242
227
226
237
213
244
218
210
215
229
211
215
230
248
241
234
200
235
229
245
249
216
242
231
215
203
207
247
220
202
230
240
235
249
202
215
224
232
205
210
242
209
222
221
233
234
218
216
200
200
239
202
237
249
245
238
235
244
248
209
205
223
243
249
204
237
218
217
229
212
219
217
206
233
210
215
233
210
248
234
221
218
203
250
239
228
233
216
222
212
213
233
209
227
223
249
215
240
237
209
218
227
246
217
231
230
227
247
238
233
236
245
233
210
247
210
220
205
224
240
200
231
236
232
250
205
246
200
250
216
212
218
231
228
214
213
217
217
201
241
232
202
236
222
239
217
239
204
231
240
234
208
214
221
211
238
238
241
234
218
247
218
241
215
221
201
212
247
227
215
233
211
222
241
243
234
211
248
219
234
237
233
236
216
208
223
228
213
202
217
229
201
200
219
201
205
232
232
248
207
228
209
237
231
244
222
215
221
224
232
239
248
204
243
205
231
237
203
232
247
231
204
208
239
234
237
232
239
217
201
222
231
229
242
231
222
231
225
218
218
248
248
214
237
219
225
230
209
216
230
219
208
205
223
233
218
226
225
217
205
234
221
240
238
243
244
236
207
206
238
236
208
230
232
207
239
246
204
227
220
209
249
242
210
230
231
223
242
213
248
205
211
206
230
203
234
205
207
214
240
248
242
247
205
237
211
210
244
235
227
224
218
225
215
232
235
241
241
203
240
227
205
219
211
243
241
237
229
228
238
216
224
211
242
214
224
246
216
250
211
249
215
201
240
208
233
227
239
243
228
212
209
222
203
214
200
223
237
248
242
202
220
224
234
220
221
222
214
232
220
216
221
212
245
245
240
233
219
209
249
207
212
204
245
222
226
212
249
234
240
229
215
215
226
250
240
243
232
208
219
205
204
216
243
234
241
209
201
217
235
238
232
204
223
232
225
230
237
227
224
250
228
232
232
213
227
200
230
236
222
243
219
216
203
214
228
211
240
223
240
219
207
206
219
240
204
202
218
249
204
220
244
247
248
204
232
206
249
204
200
221
204
226
224
230
203
215
246
211
235
221
208
250
219
212
213
220
214
219
242
226
217
244
226
225
248
230
227
221
235
208
226
211
232
236
227
235
239
233
234
237
200
248
234
215
225
225
227
240
219
215
208
233
249
242
220
218
246
214
250
235
249
219
209
232
223
239
204
226
218
244
222
208
250
215
216
233
245
225
218
207
232
247
216
211
247
214
229
242
227
244
245
201
209
207
232
234
211
209
235
235
206
224
200
250
208
250
212
250
241
207
220
243
200
205
236
232
231
237
212
243
230
208
202
212
221
250
239
209
247
203
226
210
202
216
249
222
236
226
244
223
228
207
244
202
205
220
224
250
231
220
243
222
246
236
246
236
204
237
241
236
225
244
222
233
228
250
220
217
235
238
218
201
210
243
225
234
211
245
209
240
205
221
225
234
246
211
241
248
200
211
236
222
239
237
242
248
205
209
238
232
222
228
212
224
221
206
250
219
234
241
250
215
211
201
233
224
228
241
245
222
224
226
213
223
232
202
216
217
233
245
208
239
201
229
231
217
203
220
244
248
228
244
246
239
249
209
202
202
238
202
243
232
246
238
206
245
230
203
243
220
215
218
210
246
245
245
201
235
210
213
243
217
243
221
214
242
246
229
243
229
236
207
218
224
240
215
235
236
223
214
225
202
212
221
249
203
217
215
228
246
239
244
248
202
226
202
228
225
219
230
230
207
245
226
250
228
240
232
228
240
218
224
216
217
236
226
224
246
219
219
224
216
226
240
218
220
242
233
207
228
230
219
244
215
204
233
207
249
213
250
232
244
200
244
215
218
219
215
229
231
245
233
238
237
242
205
244
209
217
231
210
239
230
229
239
244
242
229
226
208
214
216
215
232
215
225
225
245
248
240
229
218
206
212
218
246
239
231
230
243
219
206
246
244
217
239
200
202
248
213
234
203
204
246
225
214
205
235
230
205
233
201
249
243
201
220
235
227
241
234
221
218
244
213
210
237
221
241
222
231
219
216
200
233
207
245
228
229
213
215
207
208
223
222
237
246
221
233
210
216
250
207
221
206
209
222
248
232
225
218
209
243
203
208
219
215
204
243
227
224
204
225
204
213
231
232
239
215
244
217
205
245
220
202
214
217
231
232
233
228
220
238
205
213
211
247
237
205
206
217
202
215
217
217
246
203
223
247
208
220
236
202
244
215
225
238
205
201
229
246
230
223
245
229
246
224
232
240
234
249
204
204
235
240
236
220
249
208
208
236
209
212
250
216
207
201
222
245
208
214
217
204
246
210
231
235
214
239
243
227
214
208
213
224
210
250
245
208
221
216
249
210
243
219
227
221
206
225
202
217
233
207
204
200
239
250
208
217
219
248
219
212
208
209
247
214
217
212
202
225
228
213
235
248
233
226
214
223
245
221
215
247
238
200
217
241
242
221
200
202
244
242
239
247
215
224
229
230
209
231
201
216
203
246
225
231
250
235
244
215
247
219
207
232
240
248
244
228
217
248
213
200
205
224
239
225
217
206
250
209
213
225
236
225
201
249
221
239
226
249
203
249
242
211
233
228
208
218
219
241
228
206
250
231
233
210
213
229
215
235
227
200
218
229
217
217
242
248
217
216
245
214
209
200
236
227
201
248
246
227
234
239
216
208
221
202
243
235
245
233
227
212
201
216
216
250
249
238
218
211
205
216
221
246
204
223
233
231
201
245
202
210
233
243
222
215
226
235
246
240
241
234
202
224
203
249
249
239
210
227
235
217
228
229
246
249
236
234
248
215
210
207
247
217
215
230
228
221
227
240
250
240
244
217
247
240
246
247
203
231
212
227
244
226
235
211
239
223
242
208
219
202
224
206
221
202
247
233
233
227
248
203
213
227
205
222
212
244
239
204
243
248
232
207
217
215
222
245
248
200
234
243
212
213
208
243
243
234
221
239
213
207
218
246
204
229
224
213
233
216
207
217
232
231
247
213
245
217
242
217
218
233
246
224
249
238
213
220
222
243
218
202
219
234
216
242
247
212
236
240
237
205
230
244
247
226
245
240
240
223
241
248
206
208
215
214
201
233
236
227
250
233
220
215
212
202
228
225
208
241
244
213
207
244
201
214
211
248
233
210
225
243
232
243
230
225
200
242
236
216
242
218
247
215
242
249
204
208
201
209
247
247
242
225
210
231
224
246
209
237
230
203
242
224
235
206
203
246
242
233
200
213
219
219
214
203
209
231
219
206
234
206
223
228
250
210
249
215
215
223
231
202
221
216
225
204
229
205
218
224
230
204
229
223
236
240
202
221
201
244
226
219
241
221
248
232
213
229
242
208
227
211
241
234
231
232
246
250
245
207
244
246
235
241
228
243
201
241
205
230
221
200
227
247
202
213
220
212
218
239
242
235
225
200
226
245
201
234
245
222
249
205
249
237
204
231
214
210
238
218
224
231
223
248
211
211
208
206
247
234
247
209
236
204
231
208
201
237
219
228
213
218
244
215
232
244
220
203
221
247
201
202
204
209
206
224
237
246
246
202
234
209
217
230
240
222
226
250
213
247
223
207
230
200
203
229
213
218
237
225
226
225
215
206
218
224
221
215
212
242
232
236
207
215
221
214
233
203
213
247
223
213
227
236
233
225
204
219
201
211
245
238
246
220
229
214
222
240
204
217
220
221
225
225
249
229
217
240
224
219
205
225
243
227
207
230
211
222
242
231
220
242
236
211
208
240
208
247
233
208
208
218
223
239
248
202
222
246
221
236
248
217
221
245
231
222
202
238
211
243
211
209
237
244
232
218
211
204
208
232
205
244
214
220
237
211
234
231
235
231
200
239
227
208
207
221
227
205
202
209
246
200
213
230
233
201
231
213
213
233
200
210
224
216
229
221
228
226
202
208
211
208
202
237
246
203
206
213
232
203
224
219
248
242
208
232
240
225
243
234
227
211
231
224
223
217
244
241
238
246
248
204
202
238
221
236
226
207
200
217
227
239
229
223
222
205
224
202
223
222
217
225
230
235
231
205
206
217
213
235
201
226
222
205
243
249
220
213
245
241
229
230
202
209
225
228
235
211
223
226
232
231
213
211
226
226
215
232
202
222
229
249
219
227
225
245
228
209
250
222
237
249
203
220
242
239
207
240
245
210
236
216
247
225
240
224
243
224
203
201
230
224
215
209
246
212
229
249
219
236
235
231
224
210
202
243
229
235
243
222
203
241
205
250
214
231
203
239
207
203
250
228
202
218
217
207
209
238
203
233
234
235
214
236
242
210
209
234
236
243
234
212
246
201
206
209
233
220
206
209
217
210
231
228
202
217
234
221
227
231
243
244
238
205
202
207
245
229
204
228
239
207
229
247
205
225
216
222
204
204
201
221
200
232
210
208
217
242
219
228
241
217
202
248
239
226
243
244
214
208
227
206
240
224
244
217
206
239
235
211
227
213
230
249
227
237
238
210
246
242
235
205
205
220
242
220
234
231
245
230
245
227
217
208
209
233
239
241
244
235
246
212
237
203
203
239
241
213
246
241
208
203
236
244
223
249
208
228
224
246
234
219
223
247
249
211
214
223
203
230
207
228
207
238
239
237
226
231
230
208
215
204
230
213
214
207
230
232
221
212
237
229
229
228
219
234
247
245
250
248
202
229
249
237
222
224
210
230
210
247
202
244
206
221
201
204
246
249
225
202
219
219
215
233
214
235
204
239
219
240
214
241
237
204
214
214
206
223
248
216
204
227
250
230
209
247
221
235
230
248
204
221
241
219
245
217
243
230
206
201
225
246
202
226
226
241
243
248
214
213
226
219
245
246
233
203
213
205
222
245
246
206
213
235
240
221
213
201
248
225
236
220
249
210
213
239
207
231
240
227
218
249
239
238
240
224
242
241
216
201
205
208
202
216
200
208
202
200
217
207
242
241
226
222
220
221
219
216
227
235
229
217
230
220
222
221
231
238
245
200
204
207
210
227
245
233
244
241
237
232
242
201
228
224
202
214
215
204
235
218
222
210
241
250
209
243
225
234
233
205
215
227
203
221
244
243
210
222
228
200
230
245
245
205
241
247
232
217
247
227
241
218
201
213
244
200
200
221
200
222
205
216
220
250
240
217
246
227
225
238
241
246
227
250
239
223
228
234
220
203
240
240
210
231
208
222
220
208
216
221
239
207
222
245
211
233
224
236
209
205
227
250
244
242
209
208
247
211
215
223
238
217
242
208
211
202
236
204
232
248
223
218
247
241
205
204
237
250
207
232
244
213
222
248
248
242
240
205
238
229
230
227
221
229
204
209
221
219
208
231
232
207
235
220
217
227
201
249
238
237
221
221
207
237
228
223
229
225
233
219
205
206
236
204
228
236
213
232
201
223
248
213
213
212
231
207
247
239
244
208
232
205
245
244
249
228
216
205
249
242
243
207
204
218
231
204
216
231
213
202
225
246
236
226
226
221
201
204
240
250
218
212
202
206
204
201
200
242
217
248
213
203
225
250
229
247
204
202
201
241
222
215
232
204
207
220
244
210
244
232
218
205
233
222
244
240
206
204
240
215
233
212
226
233
221
228
250
244
221
231
215
207
249
204
233
241
238
234
237
221
241
209
215
243
210
200
244
211
246
230
235
243
224
213
238
211
203
238
244
204
228
242
241
237
201
222
205
215
236
242
245
234
209
238
214
247
222
240
242
249
246
226
214
246
244
235
246
211
237
242
205
242
244
207
201
242
240
248
220
245
211
218
241
208
237
239
237
249
238
215
202
232
236
233
235
210
211
224
243
245
212
220
223
230
246
215
246
229
224
206
224
237
245
218
207
204
207
237
245
216
213
249
222
208
223
232
250
204
205
210
234
202
223
250
222
233
210
224
216
226
240
207
245
246
204
212
212
205
242
241
210
218
229
239
233
219
227
225
216
225
236
210
243
214
245
243
216
209
205
227
214
236
228
214
206
232
220
210
224
243
208
201
212
242
207
228
229
240
221
248
206
203
222
245
215
210
203
200
215
245
234
238
246
222
201
237
242
205
249
231
238
239
211
249
240
214
207
221
216
238
222
213
213
247
250
225
200
215
246
225
212
227
209
242
237
248
203
223
240
228
226
249
209
213
238
214
202
237
230
230
245
203
244
239
201
233
245
224
232
243
225
207
217
221
218
240
214
226
217
225
235
213
213
205
499
479
415
427
428
366
487
397
424
400
327
458
507
322
438
386
391
342
391
483
459
352
439
360
434
348
323
494
418
369
434
342
447
507
432
342
379
374
509
326
399
400
369
454
435
483
425
505
452
332
401
358
365
517
508
408
345
354
339
351
420
506
408
412
490
393
329
464
479
379
411
380
441
339
470
475
379
363
339
468
519
474
372
396
518
480
508
412
399
432
336
447
441
334
397
398
405
362
492
407
341
414
496
352
334
510
494
458
351
493
370
390
480
460
498
453
335
381
400
408
327
411
352
501
391
499
323
442
389
369
394
371
344
349
445
497
409
483
430
436
361
500
493
467
441
473
331
341
459
420
429
434
520
401
479
379
509
329
509
488
410
419
356
482
463
459
406
480
483
342
448
484
434
409
416
361
512
373
337
403
502
418
510
460
426
504
513
322
469
348
322
348
466
363
347
484
452
398
436
371
466
420
350
515
327
334
504
416
438
493
343
421
472
353
448
364
517
410
470
439
368
435
432
438
461
357
354
495
404
438
350
384
345
422
402
347
481
455
393
406
382
430
336
482
323
365
516
483
389
336
333
487
451
436
505
518
335
444
344
467
365
413
486
514
514
466
405
434
373
383
401
400
398
354
345
477
380
388
511
355
441
341
460
467
402
391
460
370
355
444
394
352
508
520
463
477
436
452
398
352
413
381
369
375
506
519
372
408
437
390
377
496
424
491
482
354
334
498
376
474
514
429
407
330
427
332
467
391
414
406
407
510
432
503
346
388
413
516
462
473
384
350
505
412
379
445
359
453
400
433
448
407
340
448
409
486
493
373
426
464
434
396
412
517
459
335
518
394
330
411
361
462
410
443
389
442
349
350
327
418
436
430
495
461
423
381
374
454
463
342
508
364
357
520
475
412
506
383
406
480
343
406
485
434
423
458
322
497
415
447
344
518
391
512
417
475
383
462
325
409
369
405
460
360
404
426
328
367
331
382
340
438
412
433
500
402
405
479
497
470
368
387
339
459
385
357
468
482
417
412
475
428
500
392
379
436
378
501
470
336
460
461
480
460
444
379
476
401
338
337
382
394
505
517
360
497
395
450
509
429
445
396
433
339
461
500
468
321
426
482
329
339
384
392
410
519
388
492
512
357
457
342
324
479
453
413
409
517
428
353
380
353
514
453
456
453
440
364
361
412
497
450
436
386
425
431
349
367
401
519
518
350
365
476
362
334
321
397
497
391
375
452
515
337
424
325
469
377
490
473
355
387
434
441
450
392
371
444
469
436
482
366
422
421
355
411
416
378
338
439
474
469
492
439
514
320
344
487
474
506
362
411
352
378
416
330
510
473
473
331
484
431
434
411
492
420
418
355
448
336
402
498
325
328
464
368
358
482
360
503
324
405
424
339
450
386
478
402
484
489
372
334
344
443
349
413
426
361
507
506
338
362
430
349
410
324
359
384
495
438
460
394
403
514
467
455
506
487
484
478
338
472
489
338
362
460
356
436
357
404
504
489
492
511
365
351
395
490
347
438
496
513
450
338
450
342
341
494
340
452
485
485
464
387
329
458
377
321
506
380
483
499
436
458
347
334
429
393
339
433
417
371
499
461
459
513
401
343
498
350
371
450
417
432
413
345
369
471
458
501
505
408
449
457
441
323
432
471
336
384
489
345
510
383
324
376
424
486
432
519
446
504
428
356
393
433
401
439
348
486
505
465
503
491
468
387
374
395
362
412
458
429
493
348
399
325
416
397
366
398
395
506
470
403
504
357
485
325
412
328
331
358
427
410
420
442
386
458
389
455
484
463
489
340
403
505
440
468
360
447
340
442
430
402
462
462
337
352
343
442
380
359
356
429
421
334
425
330
437
416
388
387
364
430
415
337
440
364
508
354
332
374
385
520
515
414
463
511
480
450
363
384
360
373
475
476
325
483
457
423
343
495
350
351
479
504
445
331
481
380
360
520
420
374
337
465
476
498
375
458
343
375
334
338
331
452
383
388
333
472
497
405
354
469
336
502
391
364
376
399
329
506
341
402
421
417
354
391
356
418
423
461
330
453
441
447
395
358
413
488
422
449
489
341
384
453
418
448
379
486
489
490
354
411
506
366
322
446
448
345
435
455
447
453
505
414
440
427
497
352
342
337
343
322
400
505
433
496
331
325
509
513
518
478
448
333
382
418
448
493
321
339
399
433
433
489
332
327
496
439
400
412
473
399
384
329
488
394
408
470
355
344
398
488
398
386
464
399
468
483
395
458
479
497
429
487
386
378
470
343
389
351
427
378
334
511
384
475
405
483
383
452
518
450
486
444
500
370
379
468
451
378
336
359
327
517
431
452
337
455
419
480
332
413
504
398
496
480
424
455
411
392
355
454
371
520
434
507
328
360
473
362
361
447
355
499
506
407
327
401
486
432
484
409
411
414
326
397
458
497
423
460
419
450
435
445
506
363
437
354
363
471
438
364
469
332
452
437
506
387
500
500
487
431
393
439
328
404
479
356
455
497
406
349
402
382
486
515
419
411
468
342
418
417
457
393
489
418
488
500
420
454
492
400
469
457
419
394
385
509
519
503
434
408
476
366
438
427
407
493
430
410
426
388
334
496
511
459
391
406
389
332
387
471
410
416
344
446
365
493
448
392
518
417
341
400
514
322
504
387
454
450
402
351
323
456
351
478
451
387
377
517
398
493
451
324
439
333
402
410
457
426
362
320
422
355
494
354
480
367
518
460
453
402
356
513
377
371
401
515
458
427
394
515
329
435
427
347
498
444
398
500
491
482
512
329
513
373
503
342
389
379
329
448
460
406
345
322
436
375
437
451
459
478
426
321
323
384
388
360
417
321
518
413
492
364
347
431
489
436
429
329
490
352
456
351
460
501
414
402
461
358
389
406
483
397
376
443
458
514
490
382
507
426
393
333
480
517
490
382
401
512
500
384
371
487
511
491
458
391
327
469
442
484
346
363
478
335
514
332
404
490
429
508
340
336
396
452
392
389
486
392
355
461
400
411
472
485
437
504
466
485
379
467
326
342
366
419
409
338
325
385
392
439
493
504
484
423
423
320
467
351
444
385
420
511
377
486
461
355
386
440
376
357
322
321
471
349
416
503
429
484
471
493
421
379
480
324
339
447
418
498
377
511
323
459
403
412
418
424
375
413
487
467
335
483
378
508
410
520
342
444
471
344
497
350
427
462
369
398
384
441
334
463
387
518
495
500
380
349
443
344
334
488
372
467
352
340
414
343
407
485
413
321
513
470
512
518
495
492
367
468
423
378
375
385
501
332
320
485
340
473
374
366
452
391
444
411
501
329
453
509
502
483
496
502
320
502
355
476
484
351
490
421
439
366
441
451
328
324
491
448
493
431
411
506
380
481
337
324
324
367
407
326
462
506
409
459
361
506
386
447
342
504
376
370
352
430
490
354
456
434
486
483
434
384
394
449
450
478
388
507
364
496
385
473
418
356
404
342
441
396
371
508
435
449
397
513
484
419
459
339
378
320
397
453
470
515
360
430
494
447
338
416
499
518
369
406
407
464
422
468
415
516
382
457
358
515
382
400
426
459
504
357
383
465
367
446
414
512
399
488
414
474
390
458
461
342
434
364
348
464
389
409
377
456
444
439
478
489
451
483
457
368
442
330
451
367
344
435
326
414
448
473
435
447
519
517
411
512
518
441
423
433
471
411
460
498
502
423
443
498
459
369
380
326
422
323
451
346
405
328
336
470
480
328
350
396
412
365
387
331
341
470
352
442
328
460
377
383
325
418
429
472
394
505
449
406
339
327
463
329
440
382
352
456
443
483
450
383
477
356
416
443
331
449
458
411
333
416
320
402
443
514
355
405
495
514
405
403
481
393
487
496
505
498
358
514
384
360
450
447
429
490
344
493
491
366
332
430
374
407
345
370
509
456
430
358
517
320
374
387
515
390
329
516
491
479
345
400
323
353
449
506
490
370
485
391
471
362
496
438
329
390
371
416
498
384
423
345
419
327
511
493
364
405
331
345
360
487
477
394
469
513
383
355
466
330
335
369
388
354
455
412
435
414
359
411
336
365
413
424
449
466
451
432
470
414
420
451
392
391
401
428
426
346
410
434
346
356
459
483
356
389
499
368
508
357
362
412
410
436
466
515
397
517
470
408
340
505
452
501
402
421
330
320
405
448
497
375
380
517
383
507
447
507
448
324
472
512
400
338
360
392
432
473
452
397
343
388
492
413
428
440
372
321
326
434
417
370
429
386
406
401
421
375
320
340
396
516
345
446
403
415
448
437
381
445
477
413
366
326
465
411
512
330
501
349
359
489
363
331
328
403
330
363
455
420
340
372
498
331
361
516
339
510
472
425
353
469
481
438
519
408
452
417
351
513
410
376
507
440
324
475
394
326
354
366
435
446
507
472
449
502
368
346
507
423
488
461
445
366
514
448
403
487
333
346
515
495
434
389
487
374
491
351
338
495
338
337
406
363
517
499
368
505
510
520
350
423
342
507
362
325
508
338
464
338
328
438
334
466
503
490
434
413
381
509
468
470
432
480
337
449
398
483
419
421
425
480
456
445
459
330
366
426
391
393
432
466
462
327
452
323
465
339
401
333
365
357
493
516
374
334
482
419
424
416
429
519
340
444
367
425
476
467
328
510
452
341
364
470
434
439
329
483
505
515
357
350
477
488
382
450
422
403
394
380
443
431
355
320
474
481
321
353
353
427
471
328
367
461
338
512
367
373
363
403
441
448
511
367
512
464
464
379
397
324
478
342
397
482
445
514
486
395
368
353
473
459
385
407
434
519
453
504
504
321
510
447
428
428
435
479
383
375
497
355
501
403
378
408
453
362
490
437
338
434
349
343
402
416
477
424
375
516
488
485
420
419
413
342
390
346
459
403
365
359
352
370
514
454
472
374
465
487
329
411
451
491
416
469
512
368
477
454
432
412
509
375
454
476
504
491
351
443
461
511
429
429
520
420
451
485
346
515
410
345
497
349
421
387
407
410
401
328
450
381
341
404
440
468
448
500
381
379
499
499
492
482
421
382
358
513
350
460
515
365
455
429
362
402
381
449
462
320
432
470
406
426
502
342
328
444
498
392
489
382
346
436
487
366
346
355
387
384
333
390
339
350
487
428
517
395
329
465
496
485
514
408
462
397
412
441
374
435
469
440
508
520
431
406
406
363
426
461
468
464
380
505
377
409
329
397
413
340
394
435
512
509
397
518
406
443
514
380
457
346
323
330
397
348
409
339
425
511
426
377
365
406
433
509
339
355
379
348
336
496
517
351
372
383
428
474
364
341
497
358
324
386
516
509
509
324
430
433
344
491
395
461
412
511
420
412
420
444
467
360
486
450
427
424
456
421
350
425
470
484
454
326
329
457
338
512
334
389
416
496
504
446
486
368
401
456
349
451
442
329
398
462
389
347
383
382
481
472
426
488
325
347
518
324
479
393
495
439
499
320
418
387
411
517
432
400
324
334
484
326
420
511
365
483
423
449
447
377
458
368
398
325
489
516
478
407
478
469
421
512
462
471
328
515
332
325
401
499
446
447
469
386
388
433
434
433
517
323
339
352
358
388
423
495
378
478
432
465
392
452
337
406
332
463
418
416
395
448
418
323
371
388
457
476
406
477
357
493
367
330
518
476
414
502
398
384
362
387
383
332
398
325
390
428
389
421
373
358
441
472
349
333
441
452
483
383
413
338
367
485
434
487
437
482
436
383
508
465
378
442
404
402
408
357
429
520
453
518
327
520
360
395
466
488
489
330
375
400
470
422
386
460
342
512
436
474
413
469
463
480
414
329
350
364
480
483
480
498
330
444
322
432
367
361
416
359
408
421
480
377
401
347
411
463
471
320
352
347
520
366
508
455
434
335
400
408
500
336
392
380
501
406
419
417
348
388
475
367
386
432
367
398
420
337
390
402
444
489
323
458
470
508
324
441
418
425
385
451
452
361
438
388
423
441
497
378
519
474
509
365
458
507
345
393
459
469
448
415
362
365
396
425
469
369
506
331
386
384
443
369
464
341
335
395
494
507
340
382
488
457
511
412
409
433
463
325
371
387
462
381
389
409
441
471
415
478
515
456
444
383
377
520
486
431
475
494
362
398
476
350
390
499
396
483
414
369
472
473
351
462
441
427
515
421
370
498
398
424
325
504
359
406
324
406
489
457
364
411
362
377
483
492
322
418
388
374
367
371
415
366
474
329
353
433
438
455
455
452
349
376
449
379
462
487
378
384
514
349
332
496
490
488
469
488
497
507
444
445
344
474
489
335
343
492
455
327
323
465
500
373
387
446
380
322
423
432
334
367
322
420
351
350
400
381
411
330
350
382
426
498
419
422
426
359
422
403
360
494
469
490
370
333
410
401
338
472
509
438
380
467
410
356
514
488
403
326
357
404
518
437
374
404
403
466
348
325
361
498
333
501
458
475
421
360
500
334
479
439
464
342
355
432
515
357
428
375
426
332
508
367
320
466
407
415
331
396
447
390
467
375
353
451
366
418
478
453
451
332
497
380
418
381
417
377
334
446
424
512
375
451
390
491
505
492
384
416
341
449
475
445
514
467
352
512
457
370
381
421
425
489
399
324
423
417
464
365
359
373
476
496
410
399
326
334
403
470
499
364
436
503
428
395
496
455
485
499
328
401
414
430
480
328
322
399
513
330
473
412
386
389
326
357
431
505
393
383
448
444
325
380
381
484
378
483
324
482
418
500
394
365
509
466
369
328
520
360
495
338
494
405
415
414
441
506
461
474
411
426
357
422
398
411
510
478
345
479
467
412
349
507
431
496
429
450
469
382
338
330
410
409
404
454
324
323
506
372
449
386
346
488
515
362
500
400
491
391
381
417
478
324
345
427
393
385
483
430
321
432
320
380
383
369
421
441
424
383
507
324
322
353
325
407
428
428
374
386
413
369
429
345
470
468
513
407
405
399
368
367
415
485
394
518
487
353
476
503
444
352
352
334
408
362
369
370
336
446
510
349
334
321
405
472
481
341
485
392
416
387
431
450
321
339
438
381
334
388
449
472
397
328
328
350
394
430
443
435
439
389
334
338
392
491
455
483
482
440
446
387
479
406
424
461
473
461
331
431
510
431
508
396
375
413
449
390
367
491
419
512
321
365
486
453
432
440
321
444
380
423
519
512
456
356
323
509
498
360
438
498
463
334
414
515
420
380
433
428
347
498
458
491
461
375
347
445
494
381
504
377
353
453
333
349
329
429
489
469
444
414
513
326
332
519
432
514
484
350
481
453
386
405
453
370
372
377
357
334
423
368
515
432
447
449
470
503
503
356
342
491
363
352
400
333
356
468
453
335
407
419
377
428
368
419
447
329
335
373
382
389
336
332
433
420
391
364
429
330
401
334
329
364
331
428
458
506
493
491
371
327
340
454
396
413
426
469
351
360
467
447
456
419
357
390
408
343
326
386
321
341
361
493
508
348
479
457
515
359
334
445
481
484
431
486
474
492
356
408
503
436
515
331
504
493
409
328
353
344
364
397
440
384
428
387
416
412
458
338
454
398
384
328
518
377
403
415
340
514
453
432
456
342
356
475
362
405
333
324
450
446
342
516
500
423
334
441
516
437
373
347
490
375
322
397
479
394
407
321
373
436
387
420
375
448
512
381
391
375
513
444
377
411
368
342
459
478
483
357
472
329
493
361
413
403
487
331
332
448
408
385
446
334
508
356
363
479
517
354
481
344
513
407
414
396
367
400
464
338
422
435
444
454
427
396
425
428
439
387
453
352
394
408
414
516
387
460
378
389
360
515
355
457
433
507
420
518
402
365
418
500
422
395
429
510
441
490
354
390
353
399
507
368
427
354
488
441
388
455
445
390
476
421
418
485
434
379
418
422
461
339
323
367
483
372
510
395
325
343
496
451
489
463
499
418
506
480
436
459
322
397
405
364
449
519
434
440
360
427
477
412
410
380
454
432
357
511
351
508
405
501
494
515
322
371
432
366
381
341
396
498
388
437
413
342
437
481
475
430
500
501
340
474
364
462
348
426
400
475
355
426
412
491
396
457
483
330
426
467
381
340
347
359
445
497
361
471
400
486
333
397
433
482
399
421
429
439
483
330
380
320
466
441
342
518
345
349
431
380
437
438
379
393
494
389
462
423
461
333
332
340
355
356
371
369
515
381
455
451
509
483
371
370
330
358
519
396
501
449
402
340
404
488
329
345
366
378
411
364
452
519
477
477
396
466
337
519
489
446
411
375
486
472
355
409
409
504
350
347
440
373
342
469
383
431
401
501
480
457
485
467
361
342
473
357
385
443
376
346
327
477
324
369
515
437
404
478
497
497
443
438
489
394
393
386
414
349
321
502
513
413
401
448
445
412
444
397
323
416
420
517
355
513
343
417
468
410
372
445
487
486
505
473
497
323
392
419
425
490
463
323
437
449
439
391
478
449
420
346
338
370
477
508
330
434
507
505
326
404
422
515
495
342
502
441
422
406
357
411
364
473
455
469
325
427
460
510
431
451
495
338
464
426
419
461
440
489
443
361
513
350
459
469
490
366
515
508
421
465
341
444
431
414
326
328
403
382
407
491
489
461
370
402
485
371
356
449
368
462
325
422
375
373
343
504
468
461
390
362
396
444
519
385
370
424
479
335
483
343
446
403
357
434
489
484
509
467
501
335
338
415
356
408
417
428
366
437
385
407
440
364
501
364
444
340
323
373
436
344
442
512
377
389
371
502
448
384
344
406
514
453
467
368
455
329
341
516
407
411
400
516
350
491
499
370
343
386
345
414
379
398
384
498
394
467
373
435
403
366
411
353
408
419
402
498
427
508
373
358
351
378
505
471
520
487
477
436
376
505
470
444
357
371
442
471
362
516
355
514
409
362
406
435
418
422
429
330
489
462
506
414
379
475
373
357
364
361
377
374
329
398
451
410
480
456
406
358
342
379
326
484
343
357
504
408
380
349
393
356
370
374
423
341
384
470
507
436
510
443
517
491
330
361
395
505
387
512
365
368
482
492
479
425
368
478
459
324
483
375
503
330
374
369
500
454
353
365
329
435
342
479
329
505
500
373
520
514
502
371
405
503
514
478
490
462
375
399
392
335
325
502
500
398
516
510
371
483
517
465
446
447
344
384
507
453
516
457
455
440
415
355
470
350
355
378
468
426
474
413
384
341
497
402
353
456
360
372
383
471
378
496
344
405
443
353
446
419
369
503
376
497
340
439
445
515
374
440
437
465
505
360
349
363
462
422
475
392
405
484
514
379
404
495
508
501
396
508
455
341
431
410
520
362
412
433
336
373
508
491
367
357
455
325
414
480
420
382
404
357
402
481
320
320
390
451
373
425
437
455
368
394
463
400
483
407
349
365
432
381
338
474
336
420
488
350
481
484
469
433
423
514
364
488
520
360
499
419
452
518
407
442
357
357
389
382
469
342
465
328
509
491
488
419
343
367
331
398
395
391
492
420
434
371
384
420
378
498
461
427
447
333
448
520
413
445
357
404
395
327
340
470
413
321
350
323
455
472
436
400
498
379
501
494
515
446
323
446
392
502
354
357
424
461
431
441
471
488
364
451
408
457
340
357
449
502
354
466
445
372
479
344
476
477
502
486
342
509
458
478
332
436
354
482
390
415
448
431
354
361
474
432
520
455
399
487
433
506
416
337
375
479
498
449
355
485
414
374
347
400
512
482
323
390
493
412
371
477
336
337
361
323
392
508
483
496
346
457
356
361
413
347
423
486
514
431
494
344
519
423
475
348
381
404
439
348
504
352
447
414
368
352
321
453
442
408
401
335
503
490
364
404
356
351
431
471
441
231
201
228
241
205
231
247
220
243
210
202
225
228
224
220
217
243
249
212
200
229
212
210
219
228
227
209
249
200
248
221
210
233
236
211
221
236
244
239
224
216
225
225
210
235
239
227
233
237
203
213
246
230
246
207
212
219
245
204
211
219
224
215
239
234
214
234
220
218
245
246
244
200
242
248
234
236
222
207
227
249
231
201
245
217
212
204
241
205
238
237
206
213
203
200
222
205
247
233
238
200
250
214
234
216
241
224
218
250
235
200
204
250
248
248
232
234
203
233
214
214
221
230
204
213
215
236
220
205
224
203
220
208
200
217
205
232
232
210
222
230
234
248
238
234
221
207
201
230
250
218
235
225
205
208
250
241
228
225
235
241
250
243
201
243
208
244
243
235
207
217
235
220
233
234
239
240
219
219
215
219
239
245
250
224
227
237
240
218
237
205
236
205
210
219
202
225
241
237
203
210
240
223
243
206
247
216
239
241
232
241
222
224
204
230
226
231
235
212
219
244
239
211
202
225
218
224
249
249
222
209
217
239
225
214
208
204
247
249
243
220
221
218
222
223
221
218
219
240
205
222
231
200
205
214
221
212
230
242
235
228
219
226
205
216
232
205
235
202
204
237
249
238
216
240
219
226
227
219
208
229
235
239
242
230
240
236
241
204
223
205
222
232
236
236
205
241
208
217
200
238
249
232
249
234
220
222
201
226
247
250
206
236
238
204
241
240
240
247
242
233
228
250
245
242
208
249
244
245
205
207
226
218
225
218
208
200
205
202
220
248
241
210
201
225
200
215
204
249
218
244
213
249
245
216
229
236
200
241
232
217
230
208
238
246
211
204
204
233
220
242
234
221
239
239
234
245
208
203
207
227
223
239
210
230
215
240
250
204
214
224
219
208
241
240
239
243
246
239
249
209
238
211
222
243
218
206
225
209
237
230
237
210
218
222
202
231
230
200
219
242
248
248
234
224
214
212
248
214
240
225
245
213
238
235
212
220
211
214
216
210
230
230
210
212
219
215
203
246
213
225
219
212
227
209
214
204
217
250
228
213
208
215
234
221
212
220
206
202
221
244
238
232
205
230
233
217
230
225
234
201
243
210
206
205
208
230
248
239
217
225
226
213
228
201
214
200
215
213
213
214
205
233
205
250
241
246
209
243
218
232
221
240
228
202
221
228
200
209
203
232
250
217
229
234
217
204
219
248
250
250
212
231
219
236
232
202
207
241
215
201
239
206
231
240
213
231
238
211
229
213
226
203
227
236
209
202
244
227
231
244
225
223
244
211
210
234
208
225
244
226
222
217
242
244
239
201
201
235
220
240
235
209
234
219
218
216
232
218
206
234
208
242
212
206
234
230
238
223
230
201
246
242
215
237
209
210
228
204
244
210
247
214
228
246
219
210
212
222
230
245
208
232
219
250
205
211
246
213
246
231
213
238
221
228
204
219
226
217
228
226
224
206
208
231
223
228
221
227
241
201
213
244
242
210
226
244
228
219
208
207
215
246
239
219
242
228
234
219
249
238
238
224
220
229
237
203
218
220
200
206
235
206
250
223
213
236
207
208
225
242
209
214
241
205
226
239
230
236
236
204
214
212
226
239
224
245
220
201
246
242
213
220
217
230
225
210
248
247
214
224
243
217
202
200
240
210
241
248
214
222
228
212
223
203
228
217
238
210
227
219
211
213
208
214
232
236
202
214
238
228
229
210
223
231
212
218
229
228
233
211
205
200
238
244
203
222
214
233
215
208
250
202
223
219
231
227
237
206
238
233
222
202
206
218
211
231
232
221
242
203
206
217
233
226
210
216
210
239
229
218
246
202
220
219
244
205
215
226
244
208
241
226
206
210
206
218
225
220
249
246
213
249
247
217
249
216
226
231
249
226
229
232
229
202
202
216
207
209
215
250
210
227
220
236
222
222
220
206
213
234
239
219
246
213
223
246
205
242
225
203
206
233
215
203
231
230
206
229
221
220
201
210
207
210
245
225
214
247
212
214
206
250
225
213
227
226
234
245
237
245
238
232
245
241
220
240
220
228
226
206
244
213
234
212
247
226
218
231
249
219
248
239
201
203
228
217
224
232
221
211
249
235
204
222
212
202
229
210
234
235
224
207
210
202
240
247
223
232
224
213
201
237
218
238
232
222
208
209
210
231
200
213
200
243
245
206
222
234
235
243
210
229
220
210
248
239
211
234
238
216
221
200
241
246
200
205
210
227
202
228
209
249
213
218
211
250
240
222
229
219
205
227
240
222
223
207
241
215
206
241
236
213
218
223
211
228
242
248
201
208
206
229
204
213
200
239
248
235
248
223
215
214
208
220
238
211
211
249
201
230
223
214
200
221
228
243
243
242
219
213
239
248
236
233
214
205
236
200
233
228
248
214
232
241
248
244
207
203
242
244
240
239
250
225
235
203
214
201
207
205
233
216
250
230
200
243
225
215
239
247
224
232
223
210
219
231
231
205
232
224
224
234
228
236
242
244
228
247
200
211
223
218
228
200
222
238
248
212
230
202
249
233
228
215
249
243
206
228
249
234
249
237
203
200
217
250
244
234
231
242
200
243
242
214
211
234
236
224
220
237
209
207
247
249
232
219
233
218
247
226
211
215
202
239
236
242
244
226
244
223
243
206
222
223
244
240
207
228
203
226
212
209
231
221
216
219
232
215
202
227
203
210
225
218
217
234
209
236
211
235
243
243
209
200
230
237
231
210
236
239
226
234
207
203
205
205
210
202
222
211
206
202
219
200
221
248
204
226
221
203
215
250
239
243
230
206
233
241
243
201
217
231
215
214
224
224
215
240
242
237
226
235
221
223
240
240
249
232
203
205
222
248
243
230
245
231
224
234
213
244
244
246
233
235
223
220
232
239
207
228
241
215
225
206
215
250
218
200
250
243
234
240
213
220
213
215
218
211
210
232
201
213
245
220
220
216
216
238
215
238
220
248
237
218
243
201
218
201
249
227
249
249
239
212
241
220
220
200
211
209
242
206
209
219
210
238
202
233
233
210
242
216
208
219
219
220
236
245
213
246
207
243
215
224
235
229
236
241
217
229
247
245
234
217
201
247
204
246
223
205
209
248
237
247
223
214
219
231
230
217
208
245
230
224
202
242
220
223
230
224
200
214
217
245
216
204
236
207
248
210
207
231
236
244
241
232
221
247
248
242
201
230
226
244
200
221
202
246
208
218
226
236
238
246
217
239
236
248
216
234
207
247
244
200
214
232
212
222
222
248
245
244
243
245
242
220
246
223
202
214
205
222
228
228
217
209
210
246
250
227
229
207
233
200
217
245
214
213
227
234
219
213
207
236
249
229
234
218
242
241
210
245
204
232
234
243
215
215
214
240
223
216
205
211
219
205
233
203
227
207
206
209
222
229
218
200
219
219
220
203
210
234
203
202
229
236
240
233
247
208
220
234
227
206
208
223
238
243
212
249
208
246
233
230
247
210
249
247
228
226
242
242
240
209
202
201
216
225
205
222
245
220
250
234
244
210
223
227
201
242
227
203
201
237
214
222
231
228
237
243
236
221
218
224
217
214
208
242
228
200
229
225
200
245
204
233
216
219
224
219
245
229
241
245
235
231
226
232
215
227
237
247
235
212
224
206
237
213
221
229
216
233
238
219
213
213
216
202
204
213
217
209
232
245
211
230
248
225
219
205
232
247
211
222
248
205
234
225
243
208
201
228
226
226
230
221
228
242
201
233
219
213
213
233
214
215
205
241
234
217
215
201
211
235
208
245
213
225
212
236
224
220
201
222
233
209
212
208
219
217
211
248
230
221
242
247
218
207
237
225
226
227
224
244
212
230
250
238
206
231
227
237
240
247
246
205
248
202
248
230
249
223
234
216
250
206
235
245
243
243
237
208
214
248
206
227
224
210
246
233
236
228
202
221
230
239
238
208
249
211
203
212
217
220
249
215
226
207
214
247
242
227
219
216
205
205
241
233
206
249
242
237
230
233
202
234
226
241
204
206
206
248
229
244
217
209
225
207
228
204
234
250
235
222
214
244
245
224
225
210
242
206
249
202
231
235
223
217
219
237
246
208
220
205
200
214
249
216
200
204
238
232
240
250
206
248
214
245
201
203
206
205
235
213
228
209
244
235
213
219
212
223
249
207
212
207
238
204
213
241
212
214
250
209
244
213
207
202
232
215
217
202
238
210
218
241
206
238
213
228
238
241
245
244
211
205
206
211
230
236
227
215
220
227
235
240
236
203
214
220
233
203
242
237
218
212
230
222
224
232
233
212
235
242
234
205
245
231
228
210
249
211
227
229
233
209
236
202
210
240
223
241
229
245
238
244
234
235
227
228
242
239
203
249
248
235
235
248
216
234
229
220
240
240
231
218
242
233
230
210
213
214
235
240
234
229
240
204
235
207
242
218
224
224
245
216
247
244
240
225
248
235
227
233
215
221
205
223
245
216
242
211
234
234
223
204
217
233
210
226
207
249
248
201
230
225
246
245
204
225
203
212
226
214
216
204
213
244
250
215
248
229
224
211
241
228
215
213
243
246
229
249
242
225
250
220
239
223
231
219
228
242
207
226
250
205
222
241
234
223
227
201
247
200
221
207
201
202
236
209
227
201
219
200
206
232
228
215
203
228
216
206
229
219
208
242
225
238
224
243
232
233
240
247
202
219
217
220
240
203
211
235
234
204
220
220
200
246
232
243
212
237
236
236
250
210
248
233
213
233
231
217
239
226
209
246
245
217
246
238
217
238
212
230
216
242
240
224
247
220
232
249
205
202
231
224
213
206
216
226
246
229
213
248
206
218
210
242
203
236
210
211
212
250
231
218
216
210
249
227
246
234
215
216
249
201
231
225
201
250
237
224
208
219
241
242
205
241
249
219
205
212
210
206
205
200
250
227
237
235
239
223
203
229
218
247
212
208
231
207
219
242
249
229
235
244
236
228
233
204
239
216
210
213
209
210
243
209
213
204
225
219
220
244
248
200
203
216
212
248
230
225
231
209
250
249
205
238
218
205
239
210
218
207
234
215
234
220
219
244
220
244
201
242
200
239
214
205
221
238
220
207
212
238
247
208
241
239
204
246
202
247
202
215
220
221
205
212
234
229
218
244
200
239
248
235
216
245
223
246
242
226
219
245
222
213
226
243
232
249
222
230
231
202
209
226
235
208
242
246
229
208
205
205
200
246
238
210
210
206
249
216
248
237
231
233
226
218
226
238
245
244
203
223
232
231
222
246
219
232
206
204
239
225
218
243
232
238
246
240
236
243
231
235
238
221
230
203
246
238
244
241
228
248
212
230
247
233
202
248
226
205
209
221
222
230
208
250
213
236
219
229
218
208
205
208
212
247
230
228
232
217
213
238
226
250
231
219
223
211
213
202
209
231
241
205
208
220
217
202
207
249
249
205
207
222
200
230
228
202
243
239
204
209
207
202
231
236
244
217
239
208
250
206
241
202
246
202
228
205
218
242
246
223
229
246
238
221
222
212
229
230
201
248
201
232
201
246
364
367
343
359
469
409
325
439
336
445
487
439
467
439
437
351
331
399
477
387
445
397
324
341
414
378
338
485
355
465
450
431
461
390
445
494
380
467
366
492
426
418
417
434
359
453
369
428
471
457
487
412
497
410
406
418
402
424
368
414
467
505
359
450
453
387
384
447
446
473
504
336
406
390
440
323
472
460
400
426
447
403
428
345
470
518
378
353
406
520
368
345
369
376
518
471
388
508
459
435
377
384
372
327
416
329
367
321
364
346
384
389
500
388
520
406
356
495
422
341
336
386
504
426
425
323
499
333
468
414
445
441
463
344
396
461
336
326
350
396
469
436
443
420
343
464
491
346
438
347
325
427
484
403
452
329
359
379
425
509
446
505
445
519
483
353
363
457
398
444
494
387
364
395
473
519
435
382
518
512
393
438
520
423
453
517
375
334
331
511
409
502
338
468
413
326
478
383
433
497
419
429
397
428
410
504
398
383
491
338
403
371
329
465
462
361
410
428
448
368
337
354
369
465
340
482
394
359
344
501
356
462
498
503
419
342
415
375
439
320
355
459
372
339
346
370
448
401
329
422
457
399
498
401
457
501
412
444
390
359
373
490
375
494
384
456
469
464
460
352
418
515
466
502
517
510
517
507
461
409
392
513
350
505
374
331
350
320
369
402
380
332
432
392
436
381
460
483
425
331
407
447
389
519
516
400
504
375
458
371
399
402
455
491
415
376
377
494
372
452
336
506
331
338
427
328
435
387
440
518
425
493
515
405
499
343
464
354
384
326
517
361
398
474
399
382
453
508
343
435
353
493
360
466
405
483
518
400
424
353
492
452
431
444
437
469
417
425
502
337
462
373
390
339
329
520
459
511
381
515
514
480
437
515
390
334
348
494
505
469
504
325
372
466
424
428
379
414
361
383
507
436
364
343
414
421
486
342
389
469
484
441
475
449
478
473
409
490
400
441
473
466
320
431
478
483
368
418
491
428
385
519
456
354
330
366
341
377
503
472
495
450
337
404
353
490
422
353
338
496
364
389
360
383
453
511
516
490
408
506
509
472
401
492
327
511
436
475
485
450
415
506
359
379
340
354
426
438
340
434
340
459
452
505
324
486
505
355
493
483
380
375
342
377
330
391
462
344
452
390
440
391
445
512
388
357
364
349
325
394
442
327
345
368
444
433
499
513
484
352
323
375
511
440
411
429
439
344
460
360
326
434
340
510
425
409
344
415
352
378
517
334
436
442
477
331
324
486
427
452
343
434
444
336
327
405
514
336
381
451
492
441
460
365
385
448
409
456
351
465
503
499
473
377
377
429
450
336
480
402
506
444
351
486
514
383
412
448
461
431
401
423
442
390
350
500
437
456
517
513
439
520
339
487
465
440
512
336
470
365
462
464
445
363
323
400
460
512
359
370
390
411
380
440
517
400
426
497
363
401
505
370
456
361
423
434
455
408
450
502
503
336
388
484
436
491
444
351
417
430
325
327
332
361
343
364
484
496
412
391
436
485
440
502
476
373
346
420
349
434
349
464
345
345
436
355
396
442
335
512
403
326
496
469
517
365
473
469
329
452
420
432
369
474
437
472
520
373
468
325
461
496
518
503
370
429
479
320
462
351
327
434
395
490
477
508
484
400
406
424
396
495
477
364
485
455
346
377
370
510
434
372
377
449
372
442
513
336
470
447
411
464
423
382
492
324
369
410
433
465
415
456
381
465
329
432
494
454
515
394
507
409
391
454
435
482
329
494
493
473
470
328
340
471
504
320
366
503
410
454
367
398
363
348
479
322
390
410
414
516
491
349
426
491
433
492
411
508
499
462
427
341
367
390
356
358
348
361
327
321
440
357
390
377
334
383
324
417
346
510
518
410
409
360
339
421
328
435
360
367
495
432
467
368
335
419
490
360
478
514
346
449
451
337
338
355
450
513
431
489
373
321
389
446
409
391
452
398
358
485
320
421
519
324
382
320
404
352
462
410
367
387
501
460
506
427
370
487
455
469
380
439
510
423
380
359
338
475
369
370
361
464
365
492
407
334
428
407
497
486
427
446
338
360
498
384
333
473
388
323
442
519
461
490
475
324
324
509
349
512
491
432
344
350
430
351
484
430
446
477
389
341
370
329
466
341
443
473
394
402
370
421
341
492
404
404
366
436
396
402
510
321
370
462
509
321
379
519
397
393
403
341
438
509
371
358
408
348
450
489
385
509
484
505
354
510
419
346
437
517
370
419
323
335
519
377
381
506
345
485
351
322
371
404
326
488
391
337
412
429
448
516
400
413
451
443
498
440
476
454
397
493
393
424
516
378
480
441
370
440
464
453
326
466
478
509
431
363
356
404
442
454
372
429
435
389
517
485
496
496
338
497
469
419
347
371
515
450
493
328
370
342
329
367
345
418
366
495
352
380
477
356
419
504
408
507
347
422
494
402
432
414
395
360
443
399
465
350
358
344
369
448
493
484
496
397
516
363
467
474
423
397
359
486
503
365
516
379
368
423
426
355
394
434
338
499
495
397
507
479
347
414
324
377
395
483
398
407
385
419
324
511
474
385
401
518
520
378
459
333
408
329
476
448
435
444
342
421
356
320
324
474
421
377
511
492
440
442
469
440
517
520
402
430
432
519
335
395
490
403
465
457
362
466
423
366
425
435
391
351
498
383
495
432
477
421
408
469
345
408
326
433
419
364
472
420
426
403
454
433
403
424
438
471
482
435
350
408
519
323
503
358
360
394
334
385
415
493
468
430
375
331
507
444
408
402
339
468
517
344
477
358
484
423
353
472
418
418
379
485
412
424
502
324
394
322
384
360
483
388
414
359
362
441
468
418
320
375
519
442
342
509
454
374
417
350
356
504
346
364
496
377
519
399
396
426
366
447
387
473
481
382
496
363
467
468
388
404
352
504
468
402
442
366
469
355
505
359
441
388
514
431
433
460
431
409
446
504
353
423
517
364
330
399
495
399
489
394
335
420
506
325
387
407
434
490
363
369
333
386
332
380
460
462
428
320
406
431
333
393
464
384
459
333
351
335
347
498
492
392
382
364
460
434
433
459
375
473
422
387
329
498
454
345
519
477
505
412
433
328
430
498
443
371
453
455
394
460
403
514
493
486
443
426
502
516
385
479
382
357
374
408
518
382
388
455
335
439
467
339
421
353
519
473
411
384
468
392
387
479
356
359
412
414
352
346
322
432
382
432
378
488
459
374
372
506
384
497
421
485
474
479
427
489
402
351
329
414
448
457
490
519
520
364
490
408
417
418
435
463
459
485
347
363
403
511
320
467
354
514
419
489
425
344
504
466
476
327
450
407
497
392
360
479
515
430
410
519
365
346
502
333
459
399
474
372
416
397
434
517
461
505
462
333
471
520
477
386
483
433
446
497
373
325
324
502
502
353
391
516
410
444
331
357
392
470
484
379
449
513
378
471
499
399
337
415
450
398
453
516
333
328
422
320
379
484
413
506
380
392
488
330
366
486
440
410
469
397
469
485
410
367
402
492
320
453
443
410
329
388
405
425
458
476
464
465
514
477
503
451
332
355
403
325
434
404
326
422
431
500
321
345
461
355
325
414
402
506
455
520
339
470
387
360
372
484
406
330
453
446
471
405
482
335
422
348
371
384
472
357
356
463
393
511
459
498
375
434
501
471
333
431
504
519
472
509
380
433
443
335
470
428
404
490
494
358
345
325
505
504
338
447
364
484
363
423
327
397
519
401
510
331
443
405
511
492
323
437
385
322
413
482
513
397
373
491
447
329
346
483
411
382
358
515
342
439
395
442
328
495
442
517
444
367
504
377
493
518
448
436
338
447
323
369
477
501
363
387
494
457
382
401
397
410
508
369
520
412
436
366
464
379
377
384
337
345
515
389
483
448
366
485
450
495
396
465
340
339
464
447
338
453
478
412
498
344
328
476
472
386
409
439
326
505
426
424
510
431
456
384
334
324
471
414
334
480
502
418
333
437
520
442
411
474
512
419
415
432
390
439
416
449
410
452
377
409
432
484
444
420
414
329
475
503
358
346
365
487
473
439
386
350
442
484
453
440
422
454
395
354
434
380
384
512
478
331
424
483
343
409
500
490
331
505
360
333
495
485
423
408
499
419
494
327
326
325
502
485
321
325
321
347
323
421
340
443
382
422
482
353
488
323
415
470
382
467
520
461
348
321
496
493
354
416
321
396
333
325
484
491
329
339
413
339
518
405
431
462
437
502
426
411
421
407
404
332
322
480
356
425
365
408
321
381
456
322
474
507
374
443
362
455
407
411
384
415
351
482
323
500
368
345
333
447
400
332
405
356
519
373
479
327
412
333
336
456
350
460
348
402
364
387
391
337
369
509
504
399
343
478
472
323
519
471
514
493
326
464
451
500
348
517
394
361
403
466
369
332
488
508
414
350
323
348
468
391
446
430
378
474
506
377
386
367
506
482
326
363
463
350
354
408
421
367
482
389
450
460
482
411
370
495
420
490
404
434
447
378
467
416
372
498
436
393
369
489
512
445
445
502
518
432
418
477
442
439
321
348
398
470
411
418
392
385
417
398
405
482
457
509
497
340
508
475
408
501
451
377
378
363
399
339
458
402
400
396
324
443
469
400
381
329
362
408
498
326
480
372
370
389
425
475
399
447
405
519
493
402
355
485
336
382
420
444
392
421
413
356
356
445
416
352
366
488
440
407
486
441
331
327
425
410
495
504
347
500
439
414
331
356
454
360
391
343
457
482
419
386
470
329
412
506
406
385
514
370
342
425
478
378
512
466
442
516
419
457
409
345
405
382
343
451
456
362
433
368
404
483
513
414
467
364
422
325
497
337
426
431
394
489
339
509
412
399
444
435
334
444
385
427
490
484
424
378
333
517
517
347
500
461
408
367
470
408
435
427
404
407
418
438
380
363
459
386
345
460
491
349
515
443
372
360
447
430
436
450
330
502
410
401
373
380
435
400
328
491
430
397
510
358
474
504
431
339
330
344
435
355
455
516
352
371
425
376
388
482
392
427
419
444
503
397
325
490
348
342
347
338
341
408
350
390
369
489
402
397
451
512
336
506
371
402
476
324
441
401
480
361
326
485
372
475
505
443
459
445
354
412
486
494
464
501
361
369
337
513
453
404
460
468
478
491
435
397
338
414
502
474
442
490
406
438
494
346
437
485
431
350
433
459
413
467
478
504
509
413
398
426
483
429
503
410
495
514
472
377
345
412
485
348
512
344
486
407
520
374
463
482
415
495
511
434
391
503
405
406
426
347
378
395
449
341
381
367
413
330
353
407
354
513
425
468
366
451
505
389
412
380
478
427
335
493
480
401
419
418
489
467
481
459
402
403
350
375
382
470
390
357
436
492
456
438
355
390
444
330
516
327
386
456
320
458
398
435
409
466
449
452
446
434
360
323
415
403
397
431
438
467
459
421
495
464
446
512
343
484
384
432
421
328
379
436
502
512
413
387
361
442
462
350
496
396
323
379
329
346
490
393
421
505
462
504
486
519
405
481
458
464
468
384
481
377
395
389
507
354
350
495
499
351
373
506
416
390
431
378
458
405
384
436
368
449
352
381
444
343
332
457
328
357
324
372
323
360
449
416
407
473
488
345
342
398
338
375
320
451
436
425
362
481
469
488
480
516
487
394
365
486
439
448
438
358
333
430
498
325
482
372
354
388
453
378
422
475
497
363
468
509
406
452
399
346
481
340
518
400
474
323
330
516
390
465
461
361
499
366
459
354
429
386
430
371
341
405
329
405
515
483
487
431
457
332
472
377
425
420
362
364
320
443
396
439
407
419
328
383
369
402
396
469
457
514
426
436
443
478
466
408
354
320
334
413
509
417
479
473
339
342
371
365
341
429
394
436
467
444
391
411
326
345
413
404
452
482
431
387
486
470
485
454
462
438
374
411
320
426
331
356
360
385
505
505
347
345
390
518
469
505
512
347
372
418
480
419
432
368
400
497
439
398
384
384
517
485
335
381
331
355
451
370
438
353
341
359
467
389
350
402
442
435
501
421
331
481
341
361
406
479
382
377
440
418
398
336
403
332
440
448
435
385
395
505
500
347
420
434
385
454
477
399
370
465
388
453
357
354
460
474
358
495
472
438
476
498
379
422
447
423
461
337
414
411
416
513
356
327
520
499
370
412
432
428
512
415
484
433
348
390
451
367
481
432
427
493
384
423
382
459
370
451
351
340
509
369
436
360
469
440
509
346
415
360
500
390
381
343
420
452
471
341
501
375
428
467
512
492
464
436
495
469
414
449
403
338
337
444
368
372
450
332
342
339
412
334
481
422
431
407
440
398
491
369
346
366
424
518
448
363
460
386
415
362
326
354
478
357
355
509
398
402
428
329
476
514
360
493
417
449
394
366
470
508
464
418
419
404
336
453
446
370
346
337
423
354
321
390
513
387
322
405
457
499
343
501
421
484
333
456
410
432
470
362
328
427
333
367
399
410
509
395
346
388
443
476
457
407
499
519
403
429
347
507
413
456
515
438
371
410
494
429
415
355
483
390
370
380
332
400
453
419
508
509
439
439
429
520
476
358
494
359
460
404
499
516
451
451
482
480
429
346
464
475
427
456
327
490
381
352
453
349
363
392
370
328
338
496
430
439
427
375
476
439
441
396
440
452
322
465
462
334
484
417
392
366
493
452
332
381
490
520
463
512
345
421
332
476
495
504
520
427
361
492
434
391
362
353
381
466
377
399
500
406
407
427
383
395
468
407
470
420
489
351
339
396
467
388
346
468
356
359
429
372
339
376
513
350
472
425
506
400
421
367
364
377
447
331
512
456
497
396
323
346
373
462
451
325
386
520
424
353
469
364
327
336
486
330
483
490
471
449
462
373
512
487
348
331
377
407
406
391
341
401
364
357
436
380
360
486
409
401
336
501
423
332
517
346
451
421
358
453
383
436
382
461
360
343
366
387
364
482
422
454
328
370
479
321
485
360
320
370
362
422
424
467
393
324
430
417
352
381
352
337
426
502
363
351
493
356
392
472
422
503
374
488
496
447
444
363
409
427
394
426
372
488
420
508
426
337
413
357
329
410
433
408
380
490
328
498
408
518
510
411
443
423
361
326
510
412
478
391
425
503
415
396
379
422
484
420
464
517
449
455
335
487
360
323
515
348
350
395
390
331
402
455
370
377
458
351
484
455
518
446
415
418
424
356
445
375
340
435
419
326
514
382
428
327
478
490
506
493
351
499
378
377
342
467
439
474
489
478
461
499
381
346
501
461
346
358
344
419
498
437
490
493
335
345
360
413
435
424
404
379
466
426
335
371
333
451
458
473
425
343
451
509
405
404
507
497
494
357
410
459
448
430
520
350
430
346
367
505
513
502
519
408
385
347
472
406
445
493
467
382
363
330
440
352
366
326
407
443
407
457
352
429
511
435
453
471
479
390
348
336
380
354
374
337
362
404
420
483
448
341
485
347
472
436
335
395
379
399
323
405
376
327
389
450
358
386
332
438
502
405
345
391
407
460
346
484
444
419
323
474
358
503
322
345
326
324
501
348
377
408
333
363
497
445
395
325
477
351
389
502
414
461
322
451
453
378
472
375
364
440
356
488
459
472
448
483
512
339
422
449
321
479
452
484
456
363
361
495
520
404
431
490
469
442
442
490
516
482
434
393
375
323
475
497
341
473
463
496
455
329
456
395
387
468
467
369
358
444
379
332
384
379
368
390
352
427
429
332
453
329
323
423
376
390
342
472
381
502
480
500
334
398
369
513
387
415
389
335
372
419
480
499
345
412
495
388
399
421
348
356
419
340
472
435
386
382
441
497
473
467
510
497
469
514
404
373
469
348
368
485
376
424
402
385
449
476
448
435
368
491
464
468
472
452
414
426
465
392
350
422
400
378
402
381
422
389
440
403
342
405
469
345
424
457
362
418
364
400
323
513
487
358
355
460
390
385
472
498
325
393
410
395
376
495
450
401
404
380
324
434
388
345
509
467
496
450
502
500
409
376
434
329
453
491
474
349
516
444
520
336
399
481
367
447
353
463
339
419
375
342
353
497
450
438
410
471
389
329
439
413
519
465
401
321
461
455
452
402
408
467
516
438
383
378
488
494
410
520
466
378
501
517
327
463
446
345
517
370
489
482
453
359
493
371
507
474
327
514
357
326
424
470
517
324
502
403
409
396
516
329
500
466
409
517
343
422
478
469
466
336
360
512
514
411
439
326
375
349
351
389
441
358
398
383
361
468
395
435
365
437
409
437
513
492
349
502
473
408
497
444
486
431
348
448
495
405
492
497
356
448
518
468
436
321
415
436
488
497
519
508
489
452
409
514
510
400
508
343
377
467
471
407
442
498
482
352
439
388
326
440
504
459
430
474
459
420
422
482
414
409
472
448
496
381
445
358
418
454
458
330
397
417
467
355
405
405
386
471
502
505
352
339
334
504
397
326
440
361
386
423
506
480
492
336
397
324
464
391
475
504
439
326
495
401
374
321
427
513
409
384
449
502
346
487
408
364
496
327
372
411
491
325
509
506
324
468
333
469
504
362
439
326
363
348
456
387
496
503
486
425
395
411
482
362
371
347
415
411
384
474
443
320
429
385
415
515
456
483
501
515
503
499
437
353
488
362
404
354
332
450
484
480
480
349
414
453
332
519
445
460
392
353
369
352
435
376
501
449
472
400
337
327
418
509
386
404
380
347
323
482
433
509
367
519
426
426
480
361
364
415
418
475
462
369
478
368
407
463
488
367
386
416
453
441
430
435
408
325
395
519
441
467
490
377
503
489
439
485
396
443
413
416
434
414
471
488
431
508
435
434
331
422
440
359
331
325
513
461
358
337
392
328
416
352
499
457
372
386
470
332
396
355
491
368
347
506
448
425
452
442
447
353
385
399
518
463
461
373
384
513
407
413
516
322
342
387
513
326
371
475
441
371
325
455
335
513
352
426
326
352
349
371
473
440
339
497
490
333
388
387
470
423
433
387
465
423
513
332
363
358
432
495
517
339
363
481
489
469
444
359
388
491
430
326
335
349
386
448
471
401
517
486
355
480
414
498
381
517
380
405
470
456
448
399
498
495
490
396
368
379
342
499
444
326
420
435
388
347
351
399
501
508
410
474
397
493
484
435
368
426
350
431
326
436
472
433
509
443
445
374
479
429
442
490
358
459
476
389
493
434
321
474
495
423
500
466
467
398
335
497
483
375
460
371
321
327
412
483
404
321
477
393
502
416
425
363
455
479
392
360
447
451
520
488
367
357
441
480
466
423
445
498
514
347
330
355
475
471
359
327
373
428
484
513
327
443
448
457
323
423
360
390
342
396
381
417
418
451
380
489
362
491
382
466
466
483
426
500
377
380
511
505
415
387
392
517
320
467
337
429
455
460
427
512
479
373
383
444
406
452
472
436
356
442
349
369
351
368
426
428
336
457
516
425
355
437
476
499
472
472
324
508
371
506
334
348
355
397
472
422
367
426
443
357
363
441
407
463
328
373
342
422
367
369
429
412
340
338
426
500
437
441
371
487
443
513
331
455
421
326
440
468
432
362
322
477
471
497
474
467
336
467
419
431
509
475
384
382
419
503
395
434
458
453
343
355
498
498
505
368
501
513
349
415
341
450
516
399
481
421
413
326
343
489
419
409
467
369
520
448
402
350
348
334
381
491
380
327
513
488
437
518
328
424
472
500
492
449
331
375
354
351
448
488
341
350
337
507
344
321
324
371
511
437
490
427
444
410
347
442
457
507
331
382
411
479
452
505
504
495
369
377
451
363
413
367
488
439
414
501
344
436
444
433
452
351
499
371
414
369
399
477
509
428
408
363
444
464
349
492
356
440
504
382
479
496
427
331
504
504
410
519
352
456
352
349
384
391
335
386
508
433
421
337
428
420
332
406
360
403
354
336
489
324
375
469
423
461
511
472
430
387
442
403
462
385
327
365
505
406
406
386
393
428
424
388
501
511
349
428
432
518
330
501
335
392
482
482
495
374
322
439
518
451
379
429
407
459
454
386
335
419
504
461
330
470
481
425
391
484
456
455
454
486
330
364
413
428
325
347
411
369
440
471
393
487
346
345
348
379
322
384
327
516
456
507
404
498
507
445
414
356
434
362
376
489
337
387
398
451
415
414
437
323
354
384
499
475
386
336
322
451
459
456
358
459
443
504
429
428
427
386
416
436
461
320
327
359
382
335
405
517
466
387
413
429
418
460
464
435
485
347
429
430
395
391
453
429
430
501
508
466
407
334
426
399
390
498
333
373
384
383
506
430
357
350
449
520
404
436
503
507
455
479
493
374
426
446
400
378
367
338
357
489
501
498
515
412
408
417
419
434
422
332
497
326
342
320
342
392
361
348
429
391
376
504
414
360
358
335
441
519
404
484
444
379
468
330
373
416
453
418
513
348
373
362
360
450
362
491
371
390
440
482
366
415
500
344
487
442
390
369
494
325
418
349
326
339
413
447
403
355
370
331
489
358
483
335
426
400
510
414
514
472
410
361
362
354
358
378
409
384
334
416
415
518
411
328
459
399
389
479
373
372
427
494
451
455
404
490
365
439
401
518
333
343
450
410
403
378
491
501
513
340
375
450
439
352
475
368
418
408
377
460
332
341
503
340
513
395
422
389
350
509
499
357
451
389
374
348
432
507
416
364
381
345
516
339
504
363
412
448
474
323
324
366
403
427
459
329
464
459
341
512
341
502
338
362
369
401
438
457
466
495
332
380
441
455
412
410
406
390
490
446
334
473
364
333
421
470
369
493
486
454
408
437
481
354
456
360
500
505
379
474
468
414
509
497
389
362
396
346
447
465
386
478
493
323
490
327
503
406
331
476
403
415
350
380
320
441
423
441
384
349
484
468
368
375
503
382
443
347
432
479
349
443
479
360
494
472
463
490
364
412
393
447
334
394
450
519
415
431
383
364
513
436
439
396
440
344
322
492
428
503
465
496
366
376
324
339
403
387
375
335
323
380
356
452
428
348
486
473
222
220
232
223
239
244
238
239
250
204
216
203
235
201
230
243
208
217
226
246
232
211
231
241
230
223
222
216
200
221
238
224
225
240
226
200
241
217
248
222
215
235
228
244
242
205
204
232
217
241
245
228
216
226
217
213
206
242
215
248
246
221
203
213
218
248
242
249
240
211
235
228
236
219
213
245
249
246
204
237
249
233
228
244
243
211
203
228
218
246
232
235
244
231
231
237
236
221
200
243
233
235
213
214
220
214
245
202
224
243
247
204
214
215
224
238
215
221
213
213
222
217
216
235
226
236
250
235
217
221
205
247
243
206
217
220
214
205
230
247
216
223
205
244
237
218
202
246
203
210
214
239
219
201
248
217
204
242
222
250
223
239
204
228
225
209
200
226
232
237
214
212
238
222
242
226
210
201
232
205
203
217
239
201
221
220
236
207
224
243
224
236
214
211
244
242
231
229
230
249
245
206
239
250
247
235
211
227
205
236
220
223
219
231
243
216
205
217
242
226
224
215
239
203
216
224
203
240
248
208
211
248
224
242
227
225
211
225
223
200
219
245
247
206
212
239
243
228
228
250
209
249
221
224
233
211
231
222
228
238
211
204
216
210
241
212
249
235
232
239
206
246
201
211
240
239
241
211
207
233
209
212
231
238
234
234
247
221
200
245
207
247
230
237
248
245
214
222
208
246
244
219
204
224
213
247
221
201
219
234
238
242
236
246
228
228
201
243
210
201
227
242
206
242
230
236
200
213
203
241
218
236
225
233
227
202
248
245
243
211
223
236
224
238
247
201
226
222
232
240
209
239
209
234
222
249
211
244
207
238
206
240
210
245
241
211
242
245
233
248
249
234
225
212
239
237
202
238
226
222
218
234
225
208
219
234
209
202
200
246
245
202
216
243
243
245
234
217
242
249
211
204
213
232
216
217
208
224
249
244
231
247
211
227
235
243
241
239
239
224
234
245
206
224
207
203
219
250
235
243
226
211
215
234
245
239
236
225
218
250
212
209
204
206
238
224
206
210
224
222
245
248
242
249
238
220
244
249
250
242
240
232
212
244
206
206
235
207
208
240
228
237
250
209
211
243
223
222
242
219
208
234
228
217
242
214
212
225
207
224
244
215
232
248
206
202
218
233
222
209
249
245
212
241
219
200
224
217
236
216
216
237
219
228
237
204
205
248
241
243
237
234
205
210
249
239
203
228
243
220
229
225
213
203
239
228
206
217
203
226
234
209
219
224
227
229
236
246
204
247
200
239
213
202
209
206
241
250
231
232
229
234
233
236
223
226
204
213
243
244
249
208
234
243
212
242
247
215
235
209
207
250
217
203
241
205
220
227
226
221
210
248
243
206
219
227
213
206
250
202
246
240
217
201
236
202
214
220
223
201
214
217
213
209
204
233
209
200
202
205
239
229
216
219
230
220
211
240
224
203
203
225
216
226
248
224
212
215
231
225
208
235
217
233
250
221
215
241
240
231
242
245
215
222
209
228
211
240
206
238
218
250
246
234
227
205
216
220
238
206
217
213
229
238
207
235
238
221
233
229
205
242
235
226
211
247
211
229
219
200
248
201
214
239
237
243
209
236
227
217
201
240
213
210
213
213
231
230
226
242
205
238
233
231
222
244
200
240
244
247
204
208
243
204
222
230
244
226
220
233
246
241
237
224
241
224
238
228
221
227
207
239
207
208
239
237
223
218
201
211
207
232
238
205
223
250
229
227
211
245
250
216
221
212
235
224
203
233
232
232
238
203
213
224
230
204
236
203
228
246
241
225
212
241
213
221
222
206
243
213
226
240
211
200
211
208
222
209
225
212
230
247
219
205
209
247
216
237
205
208
213
214
216
236
231
231
208
208
245
209
228
208
200
214
243
246
205
209
229
239
231
204
230
226
218
238
217
226
229
228
215
200
215
235
225
209
217
214
203
246
239
238
220
212
205
214
218
224
241
249
212
209
246
208
218
207
231
241
228
210
214
229
226
248
222
243
236
214
242
230
242
202
243
226
245
219
241
231
201
231
234
206
250
233
201
210
238
233
204
205
248
213
248
223
213
214
227
207
211
250
244
241
229
207
219
203
216
216
202
211
229
205
221
230
242
230
230
206
212
235
236
204
237
201
243
239
241
226
230
245
210
247
245
206
239
243
242
249
239
205
202
218
203
249
209
222
229
207
242
243
219
247
215
232
224
204
204
241
239
217
239
205
200
235
216
226
232
212
215
239
203
215
218
222
231
222
204
204
240
243
211
203
246
229
208
207
222
236
214
236
236
217
204
246
203
249
248
211
245
208
221
218
236
214
228
231
236
250
206
227
241
215
228
206
233
234
231
247
219
200
233
206
200
210
204
201
239
248
244
200
228
205
248
214
204
240
226
219
217
247
202
202
228
232
202
228
236
248
211
235
232
243
216
208
202
217
206
210
204
215
231
231
202
250
200
216
219
226
244
212
212
220
236
230
232
229
213
213
205
220
248
230
200
212
239
218
219
226
227
248
245
210
210
221
238
232
216
201
207
219
232
211
249
216
235
233
234
221
234
226
219
215
207
212
222
209
216
249
201
237
203
227
208
220
224
222
221
247
235
209
207
200
249
216
208
242
250
246
215
250
248
230
214
225
229
204
232
205
204
243
243
237
237
221
206
226
211
222
231
213
226
207
231
212
200
200
248
244
229
247
206
230
249
243
250
236
243
232
212
240
248
250
205
247
211
221
213
238
211
216
221
216
243
217
208
224
248
233
235
213
246
242
207
211
221
205
245
233
250
244
233
243
205
208
246
201
247
211
225
246
228
235
205
219
213
204
220
224
235
219
221
222
213
220
238
235
245
222
243
218
240
213
245
211
227
223
204
219
246
209
214
209
217
214
212
232
232
216
207
221
207
244
244
230
207
200
207
230
214
209
229
237
242
223
219
209
233
234
236
231
226
228
215
219
229
248
237
224
233
232
248
230
234
237
247
225
201
208
243
245
213
205
244
200
245
234
228
221
208
233
237
235
200
248
241
225
230
225
204
219
243
215
209
238
238
207
210
241
250
223
231
241
207
222
204
203
245
222
241
202
243
206
211
221
210
201
214
224
232
236
244
201
218
231
202
226
235
231
235
249
245
242
244
245
239
242
204
209
210
202
207
235
203
208
205
225
237
243
214
200
220
230
243
212
212
232
244
236
222
236
224
235
217
200
241
241
243
205
203
226
212
234
215
236
244
204
234
212
242
203
223
200
240
217
231
211
214
215
200
243
237
249
216
246
236
235
212
235
203
222
210
230
231
230
200
237
231
207
248
227
202
246
237
228
203
228
233
240
232
225
236
244
208
236
210
244
221
215
228
207
248
238
203
227
207
205
235
243
233
208
222
227
239
230
200
226
219
236
239
233
245
217
211
228
229
225
250
211
218
205
214
239
250
205
207
220
208
240
250
244
224
240
234
240
228
247
226
209
250
240
219
212
220
205
203
242
222
249
214
238
250
243
250
209
236
218
227
248
218
206
200
250
245
213
233
249
203
243
218
232
246
234
221
219
204
240
228
203
226
200
201
226
229
242
218
225
241
238
201
245
229
204
246
226
210
203
204
211
235
205
208
248
224
215
241
203
219
212
222
240
228
205
250
237
212
241
248
210
237
212
233
241
235
215
246
210
200
227
250
217
225
207
240
214
224
225
211
237
221
249
214
236
235
204
231
227
248
229
224
233
249
240
204
206
241
212
223
200
215
241
234
204
249
212
239
214
219
226
222
247
233
208
224
207
249
227
225
250
245
239
201
215
212
223
231
244
236
217
240
243
220
216
249
248
250
202
213
243
213
222
214
233
232
208
204
250
200
210
236
244
222
213
237
232
212
217
228
237
218
241
242
235
201
204
248
229
214
224
214
233
204
208
220
250
228
216
230
243
242
221
235
245
239
218
230
240
229
221
200
211
250
207
216
203
237
248
219
240
249
218
244
231
217
205
226
218
232
210
239
242
213
230
227
228
234
208
206
228
249
208
206
244
201
221
218
240
233
212
203
245
225
246
201
206
245
217
227
236
220
234
236
227
230
215
215
226
204
210
237
241
231
231
225
205
229
226
238
234
215
221
226
227
248
201
214
209
218
210
225
216
214
249
206
204
240
236
211
227
210
225
214
219
245
209
230
239
221
241
225
231
200
222
247
222
250
200
240
213
236
239
204
243
231
250
209
220
218
245
202
220
219
239
248
201
225
245
201
208
223
219
218
224
207
242
237
206
236
220
229
207
231
204
247
210
229
234
212
202
245
211
205
204
227
243
224
210
203
202
234
218
230
216
204
206
230
219
227
245
244
220
226
223
215
250
220
202
237
224
208
246
234
218
226
211
225
236
218
223
217
225
227
250
213
221
223
247
232
224
247
249
207
242
216
237
226
218
211
206
240
206
211
235
206
212
248
246
209
219
206
229
204
203
244
210
238
246
233
221
240
210
239
249
223
209
211
228
233
243
200
221
243
243
246
247
230
226
227
239
214
241
231
249
211
203
231
214
230
241
200
233
219
223
223
212
228
214
210
240
214
206
217
240
219
215
211
245
204
235
232
220
219
232
233
234
207
220
227
241
202
234
224
202
213
246
228
238
210
245
223
223
221
228
201
206
237
209
217
240
243
237
239
226
216
203
221
238
236
219
245
200
218
242
249
217
202
249
211
242
219
204
245
208
215
217
200
203
238
245
242
225
247
234
212
200
219
247
229
235
202
216
223
211
234
211
225
243
219
201
250
244
212
201
244
227
237
214
222
205
205
216
204
203
226
243
248
210
216
200
208
234
247
211
243
218
244
211
232
201
226
238
221
223
239
244
218
218
202
240
246
240
203
247
226
240
240
204
233
205
224
223
209
221
249
232
207
238
243
248
238
244
243
211
204
220
240
240
225
244
207
231
242
242
228
241
243
223
202
200
231
236
235
226
232
223
247
242
207
211
223
228
209
218
222
228
245
241
245
200
228
215
230
214
227
237
210
216
208
211
214
215
210
215
231
244
247
218
241
204
236
211
208
230
200
226
200
240
211
218
245
222
207
226
242
216
220
221
201
233
203
211
234
206
205
222
234
238
200
214
203
223
227
211
244
220
244
247
205
220
228
220
220
242
222
234
246
212
236
222
215
232
210
236
247
249
220
221
226
209
215
246
207
237
250
247
213
243
220
237
205
201
234
220
248
207
237
226
242
228
242
225
247
202
209
222
228
230
206
217
227
245
238
212
202
201
200
229
226
243
237
244
218
239
203
200
226
242
219
216
202
238
209
206
250
213
201
231
225
227
240
230
228
229
221
248
241
220
200
211
227
204
246
246
241
242
239
222
243
210
227
212
220
245
212
237
247
215
201
205
233
226
222
232
231
235
218
232
201
205
220
245
209
227
203
225
231
205
224
239
230
204
247
226
210
246
245
213
235
234
220
211
240
233
202
202
210
202
241
232
234
223
222
230
201
212
205
212
218
227
207
211
209
206
243
220
250
211
210
213
214
217
211
233
223
224
206
250
211
225
202
212
226
214
244
235
227
242
220
206
204
213
208
243
202
212
206
231
235
225
237
227
202
237
246
203
230
204
248
242
234
225
204
237
245
224
244
232
213
218
200
249
236
208
211
209
207
200
245
249
248
208
246
230
221
220
222
243
235
213
232
231
244
232
231
239
229
211
236
202
228
209
207
246
201
213
236
238
212
210
217
220
206
210
237
221
200
229
214
204
212
216
216
249
228
229
229
238
248
208
243
241
206
230
202
249
201
217
209
208
225
249
211
219
235
204
201
217
225
241
201
250
211
215
212
232
224
202
229
202
232
220
227
214
217
226
248
223
208
250
228
217
224
218
244
203
242
227
223
239
226
244
231
235
216
210
238
245
211
231
234
220
236
245
229
232
212
207
231
209
227
229
208
231
211
213
221
246
205
243
226
234
238
215
222
230
230
225
216
240
215
228
209
228
217
200
222
243
211
240
224
220
213
235
211
241
241
249
205
247
234
211
245
206
247
247
244
240
227
242
209
240
238
206
216
204
211
217
206
214
208
247
243
202
209
244
227
228
209
246
212
228
229
226
217
222
214
235
237
216
208
206
206
244
200
209
236
247
233
241
241
244
246
209
203
213
240
247
232
247
211
211
240
227
209
248
214
205
238
201
217
221
233
244
226
221
224
223
201
231
248
239
217
248
201
213
245
232
247
227
215
226
206
206
227
201
204
244
223
220
205
220
211
249
240
215
210
248
211
231
220
239
248
215
218
235
211
224
240
215
213
216
233
247
232
213
248
230
236
248
200
245
220
222
249
208
200
242
246
229
240
210
203
216
240
221
221
211
224
216
224
215
226
214
231
237
201
233
234
226
248
221
217
200
241
215
204
206
222
233
201
249
218
242
245
242
239
215
207
210
203
245
213
206
226
239
228
216
246
232
225
249
214
202
246
250
241
226
226
225
217
224
201
210
245
224
247
232
208
200
222
211
204
226
216
232
250
210
250
241
242
249
235
247
211
228
231
222
239
232
220
218
246
227
206
225
229
220
248
207
245
224
213
206
249
210
228
211
224
245
220
204
230
200
214
210
226
250
241
219
241
218
230
248
250
224
237
234
242
228
227
222
239
223
239
209
200
214
230
240
216
229
229
210
230
218
227
243
235
249
223
206
204
224
204
231
211
223
249
222
233
238
207
247
205
208
213
228
213
221
211
220
231
204
239
241
209
238
201
246
205
232
227
250
250
236
208
234
247
227
228
250
250
200
205
244
218
200
218
241
206
233
225
212
207
235
202
212
249
242
219
202
225
220
248
226
226
223
250
213
208
200
242
247
215
233
238
225
233
223
225
230
213
228
246
201
221
207
214
225
200
231
206
249
210
236
214
210
241
247
212
220
216
237
228
225
246
226
200
247
240
216
239
214
201
214
250
244
230
216
233
207
202
226
206
210
245
242
230
241
235
202
233
209
249
203
221
200
217
221
217
215
212
223
242
227
218
207
235
236
208
230
211
230
245
222
236
208
225
231
218
200
217
224
240
237
211
247
206
213
202
239
224
225
228
241
245
233
216
241
205
219
241
243
216
245
232
216
223
208
203
206
206
231
239
243
209
227
224
203
200
205
231
227
242
237
235
207
236
216
245
213
249
221
205
204
235
222
237
226
246
234
242
249
241
240
227
216
223
242
247
246
201
223
212
228
209
239
224
221
231
234
246
206
248
213
226
245
203
203
218
250
210
221
212
242
233
217
248
238
239
206
232
241
241
223
224
227
212
244
238
236
205
221
221
234
221
234
202
218
200
205
246
236
201
244
209
212
217
237
233
204
242
225
219
226
227
205
245
216
208
224
234
241
242
201
229
224
238
245
240
216
238
220
232
205
226
202
236
229
211
250
245
229
239
221
247
226
222
225
230
230
234
225
222
215
246
230
248
209
239
205
208
204
234
231
231
201
200
208
245
245
241
238
245
207
226
207
214
250
235
233
225
206
234
203
245
243
244
241
221
200
207
210
222
204
240
240
204
219
227
202
234
209
239
227
218
213
226
206
231
221
217
244
200
223
237
232
234
205
202
200
245
229
249
243
249
248
224
246
223
242
225
225
221
242
214
216
202
233
225
229
242
221
206
226
233
247
241
234
210
202
233
224
214
200
220
207
245
220
207
213
210
244
243
224
223
215
217
216
201
244
231
228
218
204
210
207
235
240
210
212
216
210
233
234
230
234
209
241
239
235
235
248
230
242
224
224
241
246
218
204
218
215
226
204
223
216
207
218
249
209
238
229
207
210
250
236
246
243
226
249
221
246
237
207
231
203
239
224
238
235
245
210
238
202
249
244
212
213
201
201
200
203
216
206
229
206
248
221
249
225
237
218
224
206
246
220
209
228
205
201
240
224
224
243
220
207
209
237
219
238
239
241
230
229
225
221
231
239
249
227
231
248
210
203
215
230
238
238
218
239
212
215
225
212
236
234
212
238
221
209
238
216
239
220
242
223
231
238
215
240
234
226
242
231
239
242
236
238
229
223
230
223
229
219
248
234
246
230
235
228
232
204
204
238
233
209
224
235
245
244
217
233
201
221
208
218
209
248
212
236
238
220
224
203
213
224
214
247
223
242
202
246
249
231
244
202
215
235
220
247
250
200
228
218
232
248
240
203
233
225
223
231
230
238
207
237
235
248
223
211
244
206
246
243
217
234
233
210
234
241
212
225
207
205
247
213
221
208
239
204
224
239
214
247
242
236
229
244
224
206
237
226
218
211
220
250
209
230
219
236
233
213
235
205
214
212
242
248
249
235
238
219
209
235
245
209
246
226
235
210
202
225
232
227
239
213
236
222
228
200
223
221
241
202
203
220
203
240
232
210
238
236
232
245
243
236
223
200
219
202
230
230
223
215
217
222
225
201
229
218
208
238
214
204
214
250
245
201
204
237
238
234
226
218
235
241
239
237
234
241
201
209
222
238
241
218
250
238
206
220
230
211
219
247
235
217
245
215
215
248
244
238
234
200
232
222
238
244
250
205
227
232
249
244
208
204
230
237
240
229
213
209
244
230
207
242
213
218
227
214
228
230
206
200
250
234
205
234
216
208
227
208
215
229
220
213
221
204
205
216
212
249
223
222
229
231
220
235
223
218
235
220
211
201
208
208
211
249
243
227
210
250
232
208
218
200
248
203
202
222
222
238
232
224
218
240
241
207
240
221
242
219
213
233
224
216
236
227
242
219
241
213
203
208
228
245
215
220
228
213
250
245
206
229
248
207
248
220
217
250
228
206
221
214
201
240
216
216
247
203
249
240
221
202
206
245
223
238
241
215
203
231
218
233
221
241
231
246
250
203
215
214
228
233
233
212
221
214
225
246
200
219
241
213
205
230
206
229
242
216
230
227
239
216
228
216
211
244
205
229
233
238
203
225
201
225
207
241
224
232
238
249
217
238
243
236
222
209
246
238
226
225
250
224
212
222
240
219
230
213
211
210
236
243
232
233
206
228
217
219
225
247
226
236
207
202
227
247
208
246
202
220
213
232
219
205
250
241
242
220
241
235
248
226
249
245
244
248
218
244
231
219
243
242
224
202
227
202
249
206
247
249
215
241
217
212
243
205
201
248
217
206
219
223
242
211
215
249
246
218
206
233
230
244
240
237
235
209
209
247
201
202
243
214
207
228
216
235
206
238
237
238
244
213
233
210
227
221
248
225
242
205
202
244
210
242
205
216
221
200
200
222
221
235
242
240
216
244
209
220
234
217
204
211
224
241
207
249
221
243
216
224
209
217
215
250
211
237
236
218
209
249
233
218
212
235
239
224
214
226
217
230
244
246
237
209
222
219
225
233
205
214
229
215
214
200
247
200
225
249
250
219
244
225
214
203
249
211
213
245
212
239
216
208
224
202
220
237
235
212
216
213
246
237
216
204
211
211
222
222
224
228
237
230
206
208
205
221
243
204
201
241
202
212
221
216
218
240
234
215
244
244
234
200
223
235
222
243
205
224
230
249
201
228
243
207
243
200
204
236
242
243
232
229
234
225
200
229
230
222
202
207
212
248
228
239
239
224
205
217
246
216
216
226
219
222
217
208
250
234
250
205
245
230
250
226
237
244
219
250
234
239
224
230
241
235
226
214
230
243
201
216
229
232
247
229
238
227
223
207
214
225
231
223
218
216
233
225
216
222
231
229
227
229
204
250
249
247
204
244
229
212
209
240
240
242
217
200
220
226
201
232
246
208
219
250
235
217
242
202
219
228
228
239
225
212
242
237
206
230
205
213
216
246
244
211
202
237
240
238
234
244
228
207
208
231
201
243
233
220
242
208
212
214
216
240
211
210
203
209
245
228
215
200
236
232
216
242
205
204
241
248
218
227
208
250
218
234
235
229
226
218
227
234
221
246
246
227
231
213
239
249
248
227
249
226
205
239
200
216
207
241
219
220
224
223
248
219
246
239
229
200
205
245
203
217
250
221
221
212
200
246
240
241
212
237
238
204
218
248
208
207
206
229
214
225
220
209
245
212
229
247
231
235
202
222
209
246
222
202
205
216
221
225
219
237
247
222
232
206
229
205
216
207
200
247
230
200
222
233
212
230
242
201
208
219
205
235
200
247
227
212
218
225
242
243
226
203
212
231
246
218
246
201
233
243
224
212
201
212
213
243
216
241
203
229
227
237
216
233
207
201
431
372
517
467
401
367
428
341
484
512
396
436
449
395
376
412
451
488
335
376
508
411
463
443
510
441
358
330
375
412
342
381
409
361
442
362
397
418
349
412
410
484
442
402
459
419
493
350
390
510
395
340
505
450
501
438
458
520
387
504
514
500
458
467
505
324
391
450
434
413
389
329
375
407
509
321
417
350
520
475
371
373
418
366
323
384
421
448
492
475
356
413
445
479
357
320
320
448
366
374
398
346
340
359
367
359
407
467
443
384
505
379
492
394
500
325
420
514
387
443
389
520
379
516
385
395
353
488
423
362
459
462
360
427
378
508
447
450
412
403
425
362
446
404
453
453
332
499
496
471
484
430
397
477
351
390
520
405
405
502
510
510
392
396
416
376
427
488
404
452
420
385
494
488
338
332
356
407
437
465
477
332
333
482
361
445
372
367
419
499
502
511
334
376
443
415
358
395
437
492
372
427
377
347
484
336
496
368
414
324
519
379
489
335
351
334
444
366
443
518
359
393
329
348
474
468
448
490
369
499
369
497
444
416
467
416
420
469
477
482
367
322
389
450
473
346
355
480
340
325
337
520
480
482
513
477
494
488
340
327
401
364
340
369
354
482
361
421
349
438
442
390
474
433
366
383
435
335
366
470
478
458
454
389
492
494
488
338
414
417
468
508
420
349
427
358
347
517
437
474
494
443
409
347
495
514
474
446
437
457
361
321
515
445
434
345
480
361
504
519
428
496
339
435
488
376
382
443
369
394
349
347
343
437
340
425
356
439
383
398
334
326
365
491
430
407
417
479
502
509
348
468
509
453
509
332
359
377
406
453
351
446
473
369
375
323
380
453
458
344
457
423
336
513
502
328
358
333
459
411
326
486
356
350
477
390
383
505
322
468
331
405
408
375
503
320
520
512
326
393
405
441
518
495
325
422
427
515
504
321
433
353
431
321
395
376
506
366
322
379
344
371
366
411
430
449
468
401
488
457
450
487
342
486
388
444
498
349
478
436
520
497
503
360
428
337
378
479
336
378
459
478
467
479
448
503
442
375
413
339
507
516
492
323
357
424
497
399
507
369
347
326
404
486
324
335
500
320
405
478
479
502
405
364
506
404
450
321
459
410
435
427
414
325
369
434
384
435
396
482
386
449
374
402
414
479
419
471
320
451
432
469
373
320
492
465
500
476
411
433
400
503
436
447
407
411
505
415
382
354
472
480
374
491
369
517
348
445
322
497
482
451
473
416
342
472
491
329
464
482
509
453
401
359
438
327
404
457
463
413
512
446
439
376
509
359
493
408
339
479
460
465
401
435
473
420
395
379
406
403
441
336
509
393
397
459
516
385
359
358
360
355
484
350
388
499
330
431
477
466
477
356
497
393
494
324
415
377
429
494
320
388
360
363
507
383
441
331
381
498
392
446
434
379
456
484
425
325
413
375
401
388
436
374
515
387
320
367
402
520
333
384
446
479
337
396
344
493
442
485
342
415
464
324
332
458
409
461
402
372
390
420
452
406
481
394
411
430
450
383
372
457
435
378
324
324
446
340
377
446
398
347
515
397
376
447
519
389
415
375
345
323
413
484
349
360
430
470
425
396
347
393
332
387
347
405
456
516
362
411
503
379
394
412
356
344
467
499
492
358
432
500
374
400
412
352
495
432
344
381
437
432
479
490
483
407
519
487
404
359
441
476
448
388
393
495
502
455
467
366
367
380
444
488
366
321
373
420
494
378
376
349
449
514
439
340
511
351
378
388
335
467
472
427
323
477
441
389
323
520
367
472
336
468
484
505
414
452
487
321
401
481
393
517
329
420
399
472
365
477
323
453
341
432
450
507
372
388
373
441
344
348
490
480
424
511
391
358
331
443
349
436
385
488
414
342
445
488
324
349
461
475
324
510
389
327
487
365
348
390
329
465
472
484
472
483
432
451
357
402
345
462
387
473
515
477
414
378
413
467
513
379
413
380
351
460
509
438
439
465
380
340
515
336
483
490
505
503
379
359
511
445
388
416
497
335
419
455
495
505
371
324
403
460
338
352
478
484
404
357
420
474
371
464
323
425
337
390
427
370
473
457
323
332
480
352
435
516
374
383
428
385
339
445
456
454
455
517
406
334
452
332
331
352
333
449
368
447
391
321
488
427
381
394
380
382
511
470
345
364
499
343
358
458
437
422
504
363
489
363
519
391
381
464
430
431
506
361
508
513
378
386
350
343
492
466
402
392
404
398
426
498
390
418
432
467
443
505
417
417
426
512
398
407
479
349
512
482
354
432
485
343
451
328
475
322
409
446
383
353
397
488
329
371
361
470
434
347
322
477
403
370
479
439
378
515
484
398
481
374
513
503
366
386
492
503
385
511
396
397
399
386
381
371
366
447
372
435
402
401
375
402
411
412
447
464
512
324
409
475
441
384
454
448
441
346
376
514
519
497
457
453
354
377
325
480
432
425
513
362
448
410
418
344
468
434
435
347
411
387
444
469
415
331
393
464
368
461
508
509
460
370
458
330
364
444
508
388
481
419
476
467
407
461
437
500
476
362
372
406
378
487
342
493
339
421
383
372
486
347
458
382
456
418
439
409
383
351
321
461
392
396
484
381
444
397
464
517
343
393
343
333
380
409
487
510
440
468
337
494
469
498
480
382
517
472
419
492
400
499
496
474
320
510
357
323
336
428
332
419
520
346
503
333
377
487
388
385
427
466
342
393
343
433
418
490
492
506
393
383
440
365
339
345
331
401
387
456
468
323
406
364
518
322
469
323
351
367
464
518
427
349
398
486
516
416
450
488
393
428
360
500
385
425
403
487
342
334
495
515
391
514
383
515
440
377
448
336
330
416
401
499
328
344
352
321
434
422
423
507
337
424
411
394
400
519
405
357
379
511
447
433
511
470
373
335
493
497
328
348
511
378
496
498
520
412
362
422
380
461
470
417
380
497
481
520
520
444
337
354
348
362
365
428
432
396
505
457
502
499
366
403
427
438
435
424
490
388
492
508
349
468
369
489
425
349
420
349
497
456
374
394
472
420
434
487
323
499
401
470
368
320
331
368
329
483
489
372
412
350
344
469
391
387
438
499
477
326
437
440
368
336
417
478
336
370
498
517
502
518
441
325
376
346
405
430
395
464
512
436
508
500
388
426
503
374
519
413
519
340
338
452
471
466
445
360
511
428
368
440
481
485
433
378
389
365
381
371
404
512
449
406
430
358
394
342
482
452
446
411
372
358
456
406
379
324
395
341
416
504
470
407
495
495
323
371
498
366
365
395
398
448
396
345
476
484
438
368
478
369
358
330
399
374
326
411
445
338
347
363
479
483
432
403
422
355
475
429
355
372
441
425
403
458
320
337
432
349
507
487
505
425
341
364
327
344
495
464
357
358
397
387
380
401
333
367
352
444
325
433
322
400
418
348
336
346
435
469
434
489
367
400
451
444
363
321
360
500
421
474
504
335
379
468
381
387
491
368
391
398
366
503
491
469
510
396
426
517
431
328
520
519
401
409
354
359
497
392
328
480
324
419
404
372
372
507
352
337
394
482
362
415
348
472
466
379
488
408
466
431
414
402
338
407
428
333
420
357
327
476
511
495
466
512
440
479
365
363
431
372
439
373
398
428
363
353
433
343
462
483
428
435
502
473
361
434
518
432
355
372
401
511
348
446
373
409
415
348
350
335
379
419
406
394
325
392
451
366
435
484
448
423
472
425
419
366
493
495
335
407
398
346
508
423
442
391
410
374
357
442
476
349
416
374
443
472
442
460
380
437
425
436
501
455
502
322
364
466
329
435
517
459
461
439
503
326
423
461
430
337
449
343
324
372
353
499
479
364
382
401
507
472
436
465
333
349
419
444
365
407
434
397
434
380
519
353
321
434
516
414
475
406
398
465
457
480
362
332
408
519
338
362
503
351
428
340
519
514
480
477
503
395
394
436
493
496
514
405
371
426
435
453
463
372
497
383
481
500
383
453
496
382
403
384
365
341
441
427
406
435
446
451
338
361
396
444
467
392
454
417
473
483
404
427
471
473
416
371
475
513
471
395
454
471
323
350
502
436
492
321
431
403
491
470
394
482
342
454
410
446
423
352
475
465
370
490
398
398
477
512
351
472
485
518
344
346
388
388
330
457
463
322
391
471
390
479
396
337
322
399
464
383
443
421
325
418
493
447
388
449
426
505
368
335
512
336
400
394
358
361
369
490
389
336
458
501
434
351
519
442
492
444
386
503
497
432
460
471
374
467
416
494
480
357
377
418
485
342
366
409
338
359
394
375
345
513
469
351
410
358
485
505
444
381
332
320
340
410
496
403
457
416
345
476
413
323
373
398
381
393
419
388
499
328
516
491
515
429
383
400
364
356
482
411
436
394
350
473
444
363
450
363
429
368
451
365
385
464
331
403
480
346
456
377
476
455
345
486
421
490
439
350
431
512
517
496
424
337
427
451
415
415
357
457
486
489
349
372
497
514
497
448
476
404
448
472
381
478
472
447
492
432
515
324
390
485
448
325
436
386
407
493
439
486
360
331
344
433
361
390
387
325
507
351
369
354
435
329
337
418
375
333
424
454
388
506
346
461
407
425
463
340
512
502
322
492
408
376
380
482
420
463
467
508
417
498
418
322
515
329
470
429
511
335
444
380
461
493
483
435
489
420
334
417
468
474
490
385
520
479
503
484
514
326
381
396
416
388
392
323
383
448
478
413
462
499
365
467
422
421
387
343
384
364
465
385
450
355
485
323
453
499
358
385
478
471
324
420
384
384
410
477
322
324
412
463
382
477
334
387
324
346
450
505
489
390
329
487
486
403
328
472
502
379
324
369
368
485
468
350
401
386
375
506
432
506
331
421
351
345
481
455
461
328
446
397
498
336
467
361
404
428
432
384
487
345
374
334
389
516
344
342
491
458
385
414
458
419
463
454
358
404
507
385
499
448
321
506
371
360
359
496
418
500
512
326
427
489
340
323
390
362
410
361
514
482
451
399
421
375
393
354
464
378
376
333
353
511
375
400
499
417
333
430
339
519
359
517
408
420
497
502
380
384
341
504
504
370
331
484
344
510
466
409
485
460
447
430
388
385
394
384
376
423
500
349
484
503
477
360
325
380
333
430
361
492
368
395
496
498
433
383
519
342
506
380
355
461
449
488
441
388
484
478
482
349
356
364
502
458
496
465
382
414
358
389
363
454
451
392
504
437
423
350
375
378
452
372
460
491
457
512
379
488
447
363
465
482
379
337
449
347
424
383
404
337
387
452
416
392
480
409
333
430
456
452
450
435
414
451
396
504
362
421
391
369
461
474
486
423
429
402
396
491
480
387
518
486
509
396
518
483
376
442
497
401
467
514
347
500
444
445
459
468
486
435
386
510
358
389
471
361
397
466
362
325
496
385
336
402
345
428
382
449
465
322
468
503
476
464
447
367
478
508
354
505
389
412
499
513
448
428
409
470
418
416
442
395
360
458
364
396
381
389
342
365
395
423
329
517
510
484
514
414
484
461
383
356
480
507
498
369
344
344
476
434
415
505
513
443
382
385
410
402
440
375
482
394
488
336
420
425
435
509
500
341
449
341
354
411
414
435
490
403
435
421
440
509
414
489
327
487
445
451
362
506
478
439
366
444
378
407
369
444
359
436
496
415
410
483
418
515
390
441
494
410
407
422
345
498
400
346
493
350
428
385
434
421
328
507
507
352
334
486
478
372
389
483
378
417
467
461
384
338
396
393
444
484
513
332
341
468
329
354
332
423
472
329
461
384
512
322
323
340
473
388
499
404
364
507
507
345
458
454
450
386
393
418
423
366
342
415
472
329
440
432
379
428
459
393
368
348
343
413
491
501
449
430
497
466
494
472
464
334
453
433
424
452
403
417
476
409
339
506
512
511
519
405
465
420
439
490
398
440
362
331
435
342
496
411
472
400
365
371
445
459
466
364
453
320
380
370
492
493
416
466
331
491
464
383
323
488
469
454
352
379
405
508
458
437
486
378
408
384
410
457
393
416
482
482
338
516
445
322
483
359
368
383
391
328
408
404
406
388
448
386
493
400
447
346
365
507
493
429
332
396
396
471
488
392
499
384
377
497
448
362
416
409
493
477
363
401
481
500
503
438
418
494
510
436
396
374
324
519
322
461
350
515
516
478
465
359
402
446
371
498
435
477
402
457
443
397
397
489
336
518
474
428
509
497
347
512
450
326
326
326
453
350
344
412
409
460
508
349
330
453
466
465
412
401
334
354
493
486
499
371
474
372
391
458
397
330
352
395
451
493
369
458
385
475
350
335
482
455
510
412
384
503
515
391
347
390
433
514
395
375
460
410
413
352
340
384
409
520
468
454
515
454
455
407
399
471
436
331
355
461
501
403
387
483
365
345
428
395
339
458
343
504
354
353
468
352
383
488
496
392
409
430
401
518
359
425
436
432
424
504
464
380
368
500
419
456
329
349
351
454
418
320
469
362
427
380
430
413
321
366
342
420
337
511
355
400
501
456
374
450
355
520
432
484
520
351
413
430
363
347
375
486
512
467
457
365
450
449
395
487
438
479
498
449
458
418
445
365
499
477
378
329
344
500
502
466
493
410
329
332
391
479
400
505
491
518
342
499
328
505
448
515
321
381
502
398
416
505
370
447
472
436
504
464
487
503
388
360
323
442
332
470
334
338
505
434
424
392
516
440
422
380
339
368
431
405
473
410
475
455
466
379
477
387
364
424
506
345
385
509
395
461
352
493
337
497
330
340
483
462
373
414
406
407
332
364
491
429
489
412
438
401
425
322
345
331
412
411
487
367
346
436
497
409
443
442
395
494
498
473
460
513
468
358
411
476
327
392
321
444
391
480
497
388
323
438
343
444
375
373
520
479
427
519
321
402
429
456
480
405
386
410
393
420
402
335
348
395
463
404
505
511
326
367
432
464
500
404
396
422
407
333
422
461
336
326
370
418
453
504
321
387
489
425
435
392
486
398
509
466
444
382
381
461
351
329
338
457
353
392
331
407
355
388
512
490
509
399
436
506
453
483
432
473
387
403
376
515
469
403
401
339
397
460
441
494
443
320
400
483
440
426
330
328
373
505
428
366
488
339
408
430
496
395
438
414
498
325
486
414
344
383
365
496
403
372
333
360
411
429
337
496
379
403
455
480
518
501
484
371
423
355
506
400
338
479
452
477
379
361
432
334
489
355
426
412
403
511
332
398
514
341
460
458
376
404
482
459
430
371
327
376
388
457
363
371
399
423
459
516
429
366
428
320
403
500
413
443
337
455
410
503
488
341
493
507
387
503
411
494
455
341
336
431
499
505
467
481
398
397
436
415
479
350
518
364
500
368
482
394
351
466
474
342
367
438
499
347
460
325
379
380
499
468
511
447
359
474
334
420
367
500
443
464
329
445
468
520
501
516
497
458
391
494
513
477
424
430
482
435
466
457
450
507
514
476
509
519
417
401
440
422
328
422
339
327
394
341
467
517
513
513
464
340
415
409
345
397
502
399
387
482
353
493
414
441
486
384
480
394
331
361
496
452
330
446
320
369
415
479
324
354
322
373
325
455
438
443
394
389
510
484
430
412
501
346
354
506
336
364
379
515
508
375
463
507
419
495
496
423
502
356
374
485
376
325
457
504
395
449
448
456
368
342
366
435
485
491
481
362
331
400
401
520
496
486
332
408
402
414
368
343
445
386
429
332
517
336
427
324
497
432
453
517
365
442
349
363
345
363
429
384
510
471
374
373
397
382
482
320
410
468
513
482
336
380
491
503
359
438
502
480
392
488
500
370
511
431
480
410
372
406
374
443
360
335
431
441
505
334
443
407
498
511
460
475
379
322
417
471
381
352
421
357
426
367
480
471
499
446
484
321
489
362
462
324
477
244
247
240
237
228
214
239
209
200
233
223
224
227
239
246
245
233
204
228
236
240
217
238
243
221
233
228
242
240
250
241
216
205
248
238
212
229
241
241
228
207
246
244
218
204
239
207
207
250
249
238
223
211
247
222
240
205
220
210
219
250
247
245
238
223
203
203
234
218
238
242
219
210
214
204
217
209
234
242
215
244
217
219
209
207
207
249
236
209
210
226
241
246
210
219
245
243
211
229
214
223
228
244
216
230
221
212
216
249
226
213
242
227
232
224
201
249
205
214
246
237
222
217
212
238
210
229
250
218
215
234
215
227
201
229
200
205
210
237
223
205
210
242
216
201
202
222
225
227
220
203
246
217
247
223
243
212
244
215
244
250
244
235
234
250
212
232
246
244
236
202
221
234
237
234
224
229
223
208
205
232
208
214
235
233
250
211
213
217
231
215
206
201
211
220
213
204
225
212
240
248
249
240
229
219
202
239
230
208
209
211
217
250
205
211
223
234
224
209
243
235
204
232
229
201
249
214
204
233
237
225
223
227
213
216
211
227
236
209
235
221
240
239
228
230
235
232
225
247
250
249
219
209
241
237
222
226
234
243
217
224
218
237
214
210
241
217
218
205
210
212
203
214
225
236
200
230
216
250
237
201
227
204
201
226
212
207
208
243
225
224
208
217
244
210
222
230
230
213
201
223
226
206
231
246
205
217
225
224
222
233
250
249
248
233
247
234
227
215
241
231
249
230
205
236
207
229
222
207
243
231
204
205
225
206
247
244
235
216
232
243
221
220
206
219
212
203
229
249
218
206
200
215
243
217
215
248
220
237
221
207
239
201
211
232
249
243
246
210
213
207
230
222
218
212
229
247
204
246
202
228
223
227
232
226
244
237
219
221
214
238
229
223
225
219
206
212
246
246
215
225
227
201
205
212
246
223
220
214
246
218
237
221
204
211
225
226
238
243
204
221
210
234
226
221
208
249
235
223
231
207
226
208
244
210
225
245
238
233
240
215
201
209
226
221
217
203
230
231
211
212
209
250
216
217
210
203
218
241
242
240
217
246
243
201
214
202
234
237
250
222
235
202
240
231
237
238
244
230
205
205
246
202
247
213
230
200
215
219
228
236
228
244
224
209
242
250
224
237
201
226
211
233
242
207
227
208
229
248
213
236
224
222
230
250
222
225
212
228
233
200
247
228
245
205
232
200
234
221
211
239
227
212
230
203
207
229
243
204
200
242
235
245
218
247
217
211
234
232
207
208
202
245
212
232
232
236
210
228
233
237
222
247
217
241
219
247
210
204
203
206
224
204
243
235
203
238
232
239
207
212
250
211
240
220
206
239
243
232
231
226
214
241
209
230
232
240
235
234
206
238
243
246
201
204
247
213
217
222
210
222
248
215
212
225
221
224
217
211
226
237
211
219
237
234
240
203
215
216
207
207
226
204
211
234
248
225
239
250
212
235
201
222
242
237
223
248
240
231
244
226
235
247
249
207
233
249
217
236
205
237
232
200
225
230
221
204
207
207
248
223
213
209
243
244
233
243
236
237
244
223
235
208
243
234
248
212
242
236
213
232
248
221
233
202
248
238
226
247
208
229
240
214
206
208
228
243
249
250
212
248
208
206
218
204
217
245
246
211
250
234
250
232
213
211
233
211
239
236
244
223
214
217
231
211
237
250
223
204
222
247
208
202
209
244
224
229
250
227
240
205
232
218
227
235
202
212
219
210
241
219
230
248
218
231
224
226
219
233
217
208
212
217
202
223
213
238
239
201
233
248
239
239
200
220
207
213
242
228
222
224
226
243
201
224
245
225
208
231
231
231
237
208
249
212
217
245
204
211
208
245
211
250
234
238
201
250
248
232
247
218
236
249
229
204
243
229
228
202
229
237
211
250
206
226
230
250
250
240
250
240
248
216
219
235
230
230
221
220
231
229
207
228
224
226
212
233
212
245
201
206
200
201
229
238
222
235
210
223
205
234
200
244
250
236
205
237
208
233
237
225
228
221
209
217
219
222
240
223
238
213
222
245
241
214
246
240
211
209
243
228
218
247
207
204
238
206
249
210
214
230
203
240
207
204
206
203
240
234
208
212
200
216
201
206
239
220
231
219
240
236
243
203
207
249
249
220
216
224
242
241
239
206
217
218
222
228
216
234
240
229
202
224
237
205
217
212
204
217
221
224
234
244
201
215
237
223
220
218
200
210
203
223
228
225
204
234
245
236
237
227
203
207
213
224
210
208
211
204
223
248
222
202
206
243
247
223
238
221
208
213
206
233
220
209
245
242
238
200
209
227
206
234
232
200
215
227
219
220
242
222
234
204
215
206
243
235
228
250
241
244
214
206
205
220
236
221
246
229
212
207
244
246
215
246
208
237
241
207
225
217
201
214
231
208
234
250
236
232
223
202
235
232
248
247
234
200
243
209
217
218
219
204
218
232
233
202
249
223
242
246
221
223
227
240
249
211
207
202
217
214
225
247
246
232
224
203
239
243
204
233
205
225
223
233
228
222
205
219
245
221
207
221
216
209
215
210
243
233
228
232
204
212
215
232
237
247
212
240
214
209
250
200
248
244
243
212
215
225
217
206
237
208
239
236
213
243
246
230
223
225
224
222
221
242
250
223
201
221
205
215
216
208
220
238
201
219
216
230
231
209
246
248
246
237
226
247
227
235
211
245
237
225
217
224
205
235
203
211
238
243
217
203
240
208
221
242
250
222
205
249
210
242
232
208
222
228
211
201
214
204
238
202
241
206
233
215
227
205
232
241
228
217
207
234
236
222
221
232
201
218
244
203
238
202
250
231
235
213
230
248
206
209
246
206
247
222
209
215
204
215
236
231
207
241
249
243
229
205
231
224
223
247
229
236
215
232
202
215
220
230
234
204
248
200
242
248
228
217
226
238
233
238
214
215
208
219
228
202
205
208
231
210
213
217
246
212
237
210
211
202
231
229
225
207
230
225
248
201
202
237
226
246
201
203
209
232
202
213
218
247
204
202
206
221
208
209
239
222
210
231
216
204
215
200
237
213
220
211
206
247
223
231
220
236
224
246
229
250
209
249
225
245
202
247
223
249
200
222
247
240
200
238
222
226
214
206
232
227
200
212
248
202
248
242
250
221
202
223
214
241
226
205
232
224
243
248
218
211
222
227
232
201
208
241
217
237
228
248
245
217
226
216
210
222
218
202
234
250
246
246
230
208
236
204
202
218
245
210
236
219
235
245
240
225
218
250
245
219
240
222
248
200
203
237
208
210
213
243
230
221
245
225
206
218
202
209
225
204
207
238
234
204
216
215
241
205
246
205
206
223
212
228
250
219
226
226
234
210
241
241
221
207
209
230
205
205
246
208
238
232
235
211
231
239
219
211
244
221
217
202
230
238
241
230
225
229
217
230
241
223
227
200
223
225
229
242
231
236
225
216
249
246
236
205
214
235
230
228
243
204
248
235
244
217
232
239
208
211
243
203
216
220
241
212
213
248
201
213
244
220
235
220
210
216
244
200
218
245
233
250
244
219
212
242
208
213
209
215
200
202
236
243
228
207
225
221
234
249
233
227
239
208
213
230
217
237
215
208
232
226
212
215
209
244
211
216
234
249
221
233
205
230
228
239
215
219
202
226
239
246
227
235
240
202
218
243
231
244
218
223
201
203
241
234
246
242
236
243
230
220
229
207
228
203
219
241
222
228
221
210
240
216
203
222
246
236
229
237
228
242
200
230
203
244
206
205
204
203
212
248
220
233
246
223
217
239
222
228
206
210
219
230
226
225
226
248
218
219
224
206
218
215
226
238
241
204
200
232
224
246
223
227
226
227
200
217
229
230
218
248
237
235
232
204
250
234
235
210
233
247
247
226
226
201
234
230
221
248
215
246
217
223
245
242
234
206
232
213
206
229
232
211
224
200
245
202
240
220
211
226
233
222
217
231
209
224
225
205
234
202
207
215
238
214
204
210
246
205
236
213
232
231
220
225
202
201
234
237
238
223
226
245
226
200
223
249
234
210
244
236
228
208
221
226
228
201
215
220
225
234
236
210
223
213
201
214
250
213
231
215
223
228
222
224
219
214
227
225
223
248
226
220
221
249
219
215
218
219
234
209
208
215
214
246
238
223
210
202
219
229
227
228
216
204
219
238
203
248
241
201
230
223
207
228
203
249
211
228
201
205
250
226
243
201
233
221
242
232
230
227
219
200
219
211
236
232
216
219
213
220
231
211
214
226
244
213
225
248
232
200
219
250
243
250
246
226
223
212
249
231
230
248
207
219
202
219
206
246
240
229
237
242
236
222
213
202
236
242
203
240
241
241
215
230
249
237
234
211
207
223
249
242
230
207
217
236
206
228
242
238
249
201
216
248
207
233
244
240
221
243
218
249
248
218
249
234
248
238
219
216
223
248
239
222
223
236
243
214
244
224
221
235
203
239
212
212
227
235
223
237
221
220
213
212
216
244
212
249
201
211
241
240
223
230
211
208
228
215
227
222
232
217
239
241
241
215
247
242
214
250
223
231
226
240
226
218
211
206
225
234
248
206
200
231
225
217
202
209
234
225
216
212
208
246
202
234
221
220
239
241
206
236
239
222
238
200
221
245
247
234
250
215
237
213
228
214
224
220
210
230
217
209
211
215
207
200
225
221
223
226
247
210
238
201
218
241
203
206
236
216
237
228
248
209
225
219
227
243
218
225
236
247
218
218
215
242
215
246
216
223
208
225
250
220
236
226
235
220
250
228
230
200
217
201
206
218
219
200
221
215
223
211
217
244
243
221
223
222
208
231
244
222
250
232
242
242
215
241
238
238
215
228
230
229
239
241
244
237
243
237
241
224
234
223
250
219
221
201
239
214
241
248
248
239
212
224
228
244
220
204
224
202
226
209
228
232
221
216
244
221
211
204
223
238
240
240
213
235
238
237
201
238
249
208
214
238
220
244
241
211
236
217
245
225
204
230
235
241
216
248
248
223
243
229
211
246
240
230
232
226
232
243
219
209
242
217
213
225
204
226
217
223
243
219
223
223
210
235
230
238
205
216
238
237
239
214
239
231
244
234
235
210
203
204
217
200
203
206
214
221
208
224
231
247
227
233
208
231
246
205
246
221
220
202
238
235
202
249
236
208
212
246
228
236
250
241
200
246
212
226
245
243
245
215
238
247
200
221
228
242
246
248
213
244
234
228
235
246
237
215
228
244
214
206
247
243
203
208
203
250
202
221
246
241
248
238
236
241
250
201
205
225
250
235
234
236
231
220
203
216
218
215
223
232
221
214
240
200
200
239
218
249
250
227
206
228
214
240
234
232
227
227
221
219
211
226
223
205
245
200
208
239
223
231
246
234
218
201
231
227
232
215
226
240
241
213
206
202
223
230
229
226
242
241
230
247
221
221
235
200
233
226
241
217
203
201
207
250
209
230
219
233
211
234
222
210
220
247
248
215
240
226
248
243
217
209
238
250
208
213
240
249
207
207
200
249
238
233
203
223
204
218
250
249
243
229
214
205
249
247
219
210
221
210
226
210
225
238
209
207
206
203
220
200
232
225
210
217
207
219
217
232
248
201
203
227
242
230
213
246
209
229
211
207
215
232
216
210
211
200
206
238
205
243
205
208
235
218
235
226
228
241
248
240
220
214
211
213
236
233
244
246
226
211
237
233
201
217
213
204
242
206
202
238
236
227
220
234
244
235
222
242
226
226
203
221
222
205
222
246
222
209
204
237
207
214
212
239
210
203
218
234
204
217
225
204
218
202
223
236
205
241
204
236
223
217
214
215
222
201
207
210
221
200
215
227
224
205
215
226
243
219
226
224
218
239
232
200
210
243
208
216
242
224
225
226
234
226
227
215
224
234
246
208
248
220
223
205
244
215
240
205
236
235
215
217
223
204
219
218
212
247
220
244
242
228
216
245
233
236
211
215
225
207
236
235
216
227
214
221
212
245
201
209
223
214
210
231
240
234
238
242
231
243
213
213
243
206
235
238
231
205
213
217
232
233
224
214
226
217
206
216
206
243
205
241
235
218
215
201
220
245
229
236
249
224
240
230
244
235
244
233
211
208
216
222
200
231
249
204
249
230
207
202
224
229
219
202
226
240
222
243
230
225
247
225
218
244
215
232
212
238
207
238
213
203
232
206
208
245
207
245
214
206
218
215
245
237
218
235
237
237
245
220
237
214
206
231
249
202
237
210
249
233
232
240
217
219
221
202
246
224
217
247
215
240
214
248
236
218
223
238
240
218
248
243
237
250
219
247
239
236
222
219
236
201
233
234
233
208
244
222
247
226
216
219
250
245
207
246
222
231
207
246
211
204
200
219
213
236
211
220
246
234
210
206
231
211
240
218
235
236
212
202
209
202
237
226
225
216
242
220
203
232
214
238
219
223
235
250
224
242
230
200
231
236
226
211
216
241
219
228
203
240
208
226
204
207
223
240
220
205
231
219
235
225
205
208
234
220
238
217
234
213
245
219
223
216
236
234
205
200
232
236
232
236
210
205
203
244
211
205
218
225
241
207
229
217
216
212
203
210
211
236
244
212
200
207
216
212
240
244
230
233
245
212
226
204
226
248
238
250
240
234
245
216
234
247
225
234
230
229
204
217
401
339
459
322
514
400
322
335
520
423
520
494
345
438
496
412
404
447
361
369
375
422
461
384
358
355
520
345
429
353
443
374
445
509
364
368
401
390
357
358
416
324
458
372
444
444
363
370
485
390
400
420
326
404
497
474
495
519
496
401
370
426
512
519
469
353
378
452
460
483
385
340
383
465
372
328
460
512
413
339
395
443
476
439
475
466
519
381
423
365
489
393
472
430
464
452
378
445
420
439
500
404
498
410
358
451
512
503
371
411
400
460
346
367
513
449
351
423
342
418
473
353
468
463
336
483
432
427
395
402
505
352
480
481
340
424
349
518
496
396
355
485
490
503
514
404
477
478
410
408
499
449
415
489
351
460
493
429
517
475
423
512
393
455
347
496
503
510
363
463
358
388
519
385
347
482
419
424
406
337
478
428
401
514
427
459
376
344
360
495
368
444
337
440
461
395
346
520
372
408
395
398
500
414
352
424
509
452
320
382
406
493
322
511
516
370
425
340
491
423
353
369
519
479
397
360
429
380
460
359
417
391
471
359
374
479
341
366
483
350
411
453
391
349
327
476
495
322
506
379
392
430
487
387
388
470
474
333
518
368
463
433
491
374
391
328
442
340
475
437
422
426
435
424
389
338
383
503
513
496
518
453
499
384
411
337
345
435
459
492
513
324
322
408
344
504
380
519
505
328
510
361
429
373
442
469
392
322
338
470
365
416
477
492
357
402
511
431
397
332
490
428
403
354
347
422
375
341
493
470
503
475
460
384
380
435
482
373
422
443
470
336
423
485
474
447
333
430
427
486
325
499
450
499
383
395
433
414
485
320
356
457
446
331
464
415
433
473
329
397
339
440
507
403
344
497
473
407
396
383
394
325
454
367
385
366
424
499
423
384
363
506
395
463
414
413
334
449
462
407
442
437
320
413
323
406
497
465
447
416
429
460
448
447
412
421
453
470
462
456
447
421
341
463
479
353
483
512
498
470
459
364
456
419
375
354
341
402
335
433
509
439
484
350
449
444
485
463
480
475
399
363
332
504
465
343
346
332
518
434
497
423
328
353
365
457
433
481
351
376
337
346
328
426
469
381
436
408
352
429
357
457
337
398
446
417
336
329
417
336
348
379
498
378
342
345
488
325
473
426
483
392
503
460
449
479
325
352
428
434
419
367
493
514
506
370
402
401
332
478
320
461
514
425
358
454
433
485
457
453
414
334
455
323
350
453
380
516
330
507
372
347
381
408
397
455
427
332
459
459
487
394
363
333
484
453
395
434
406
349
362
388
412
474
476
367
385
338
448
434
354
446
383
442
334
506
330
384
486
477
375
348
396
499
364
362
494
390
462
402
340
399
510
320
359
442
464
445
359
517
423
425
380
425
472
438
421
459
488
492
431
482
407
328
346
516
329
434
372
336
382
460
394
515
431
391
381
341
371
379
509
483
398
486
487
343
480
496
515
366
486
453
322
399
463
397
460
360
342
331
418
407
344
518
467
431
514
495
457
352
434
370
377
431
499
479
389
372
349
407
448
405
491
382
420
393
352
331
460
355
450
412
478
364
340
365
459
511
426
478
474
472
472
435
320
347
391
400
393
370
334
390
471
491
503
489
368
360
393
516
513
432
506
446
418
407
376
470
480
508
520
378
451
501
409
449
396
469
380
480
359
482
516
412
413
370
425
446
367
514
358
324
327
365
511
466
451
459
377
405
419
479
324
458
361
496
453
457
433
420
342
506
329
336
451
406
370
434
397
407
494
490
334
493
496
456
467
334
355
458
506
499
404
375
520
378
411
477
491
382
437
465
456
369
513
426
372
380
390
520
404
437
405
423
469
444
481
480
324
414
444
446
332
418
426
490
492
472
473
486
492
407
378
440
424
435
431
424
381
467
338
482
403
485
396
341
430
451
495
486
441
360
341
465
368
372
400
331
434
356
423
512
379
341
462
355
475
346
437
391
326
406
519
506
378
333
388
433
350
455
329
324
484
362
491
390
445
457
393
455
320
333
387
468
358
425
329
369
370
480
472
328
341
429
461
383
465
480
420
376
341
372
429
516
347
462
328
385
511
408
445
322
420
446
387
422
366
422
450
437
443
506
357
503
462
417
472
333
392
444
423
499
436
406
408
341
362
370
446
435
475
450
390
410
497
363
390
347
371
476
481
430
431
348
480
374
394
320
507
343
353
416
342
451
504
441
365
490
421
408
454
400
418
509
486
457
386
373
377
414
399
382
431
330
450
433
504
461
378
346
336
388
350
373
453
444
395
452
445
366
441
446
393
509
398
462
493
403
470
505
392
401
511
510
338
452
404
450
425
331
442
402
360
434
445
385
515
322
350
341
439
462
446
419
349
506
370
409
349
322
518
452
471
507
402
384
343
417
495
358
507
450
394
471
396
369
406
349
417
340
505
336
340
430
438
493
357
346
509
376
357
348
334
387
505
475
354
336
484
334
364
385
509
452
329
432
367
511
503
353
377
519
340
474
337
327
438
347
516
456
392
438
463
378
421
375
328
365
513
396
337
322
380
334
442
352
503
514
383
395
397
520
512
362
493
336
507
514
357
420
486
519
333
383
494
392
334
515
441
350
462
412
434
473
516
442
473
465
419
348
493
394
382
334
476
362
407
383
398
410
350
516
356
486
430
386
442
493
427
341
401
345
329
462
459
480
365
469
498
475
401
403
499
514
361
450
366
397
388
424
422
320
493
468
489
474
458
483
461
447
368
456
364
471
436
488
381
444
454
467
420
338
364
517
441
516
390
428
446
420
363
344
469
362
388
378
377
374
434
343
492
465
456
367
334
449
374
328
379
345
334
417
348
389
424
354
384
427
447
448
486
512
482
429
443
509
454
396
344
448
371
353
422
324
410
402
360
327
434
369
480
402
486
391
495
451
457
380
486
422
365
464
514
400
423
419
475
385
384
336
496
440
405
495
513
436
346
486
347
496
360
392
501
378
481
445
344
486
498
346
360
434
501
331
402
449
504
483
339
438
344
432
364
379
413
327
410
345
347
339
365
516
400
394
357
444
321
320
428
423
385
486
473
449
460
367
397
423
434
365
461
401
490
371
513
390
454
381
378
332
448
445
418
356
385
453
366
381
493
447
514
439
400
486
433
376
409
384
440
516
417
504
377
381
363
381
424
393
446
435
459
353
427
379
411
343
407
414
378
333
471
436
396
466
448
360
520
398
497
373
383
451
519
366
331
396
475
434
500
327
373
370
517
512
470
366
483
350
473
477
337
411
464
332
520
387
383
407
502
503
407
497
342
401
461
361
326
488
357
506
350
343
325
505
394
493
519
351
379
364
508
344
482
335
351
462
487
439
334
506
339
386
376
474
406
329
389
471
363
371
496
354
393
481
519
494
515
417
505
380
348
396
386
431
376
492
457
424
496
420
412
506
390
347
443
441
514
395
320
346
327
423
445
507
482
467
446
479
340
402
478
516
420
508
406
328
321
366
518
392
432
374
424
407
377
348
506
403
501
390
510
494
377
455
366
508
508
491
511
340
476
457
450
354
414
337
502
428
353
446
337
409
426
483
418
425
334
364
466
399
416
478
348
452
517
364
500
428
479
507
491
346
485
520
341
427
380
390
486
357
370
354
444
379
358
361
338
401
450
508
335
461
352
472
482
479
472
435
355
445
510
409
437
418
342
487
351
453
413
326
342
421
452
340
466
367
400
340
354
351
434
330
518
400
443
465
358
369
415
356
446
415
356
389
450
329
458
492
420
372
401
320
347
507
395
415
375
339
486
488
457
355
504
460
511
473
377
395
494
329
421
495
432
436
499
460
332
326
483
457
511
344
356
513
378
334
451
438
398
505
375
359
374
332
517
408
336
428
338
419
324
345
438
483
464
339
374
368
443
487
431
460
505
462
369
331
519
388
431
390
337
365
351
404
505
516
390
465
383
385
348
460
421
394
434
465
483
427
508
367
404
490
493
372
345
382
347
510
385
382
456
466
361
497
453
393
370
351
465
370
430
490
341
375
442
357
356
402
517
439
341
434
517
383
362
350
497
486
336
419
367
357
480
339
411
504
342
447
338
510
346
507
486
459
395
495
398
371
323
492
439
510
464
391
333
456
401
364
368
490
358
355
370
468
453
498
425
398
365
390
417
362
503
487
406
340
337
323
356
339
474
341
375
413
432
478
339
464
320
322
335
489
401
388
333
390
515
510
420
498
339
465
358
420
437
356
374
378
362
426
455
321
497
510
516
394
357
476
335
455
348
478
433
462
413
353
353
384
421
448
451
414
379
506
493
493
453
482
516
477
473
461
505
435
422
404
374
387
416
326
375
348
463
341
450
397
349
473
419
467
349
405
375
439
370
426
322
508
415
414
372
378
430
359
509
494
446
486
364
465
382
465
425
320
467
469
385
381
385
362
468
386
453
470
343
486
407
379
495
353
394
438
461
442
382
499
511
399
509
444
461
387
496
334
454
382
324
455
366
466
413
511
443
471
471
426
443
379
438
418
330
468
496
343
390
328
448
469
469
418
361
368
334
474
331
475
408
375
335
360
425
390
366
457
474
516
349
481
371
487
432
480
334
518
393
429
465
442
330
437
353
321
436
446
370
475
417
438
365
402
328
483
432
336
484
481
460
402
327
515
412
512
342
426
466
424
432
434
345
377
332
502
414
404
352
452
456
468
505
431
422
428
338
419
392
333
486
396
325
348
365
442
392
478
498
454
381
509
441
453
399
322
460
350
389
461
429
472
509
501
430
328
513
467
400
422
399
455
399
505
333
498
445
368
335
512
334
412
399
355
465
472
453
517
371
398
518
506
432
357
423
413
384
370
350
486
335
491
452
356
496
356
411
494
321
395
402
482
361
392
377
493
455
489
435
465
362
387
496
387
325
422
399
459
420
329
473
497
345
414
373
356
328
413
488
472
335
365
476
434
517
517
413
477
481
514
376
354
451
367
446
500
363
368
450
343
470
403
388
368
451
444
450
367
426
327
400
516
430
323
434
368
402
360
462
505
445
450
393
487
450
380
520
343
380
452
487
372
349
340
331
475
445
472
470
408
387
470
352
511
334
401
418
484
364
465
325
430
328
342
487
398
384
483
416
375
320
484
383
463
475
384
431
454
475
332
430
469
491
419
350
414
336
420
482
398
400
385
409
359
485
372
367
459
449
419
440
514
376
510
415
519
361
346
520
518
409
370
392
416
396
410
485
385
393
383
445
492
511
437
440
443
509
364
344
353
360
384
364
432
356
486
431
463
438
505
519
516
468
419
462
491
364
332
438
414
364
414
424
380
325
412
374
450
459
441
504
387
501
486
495
405
361
429
504
487
345
382
464
499
394
354
511
397
468
345
397
475
435
447
368
404
485
407
396
496
511
484
383
434
402
445
481
398
394
362
400
508
345
492
446
489
339
508
328
443
470
492
486
370
326
415
421
449
334
517
513
492
456
498
447
350
377
503
323
348
329
338
396
337
469
417
455
393
483
349
363
511
497
475
350
403
424
430
385
384
326
435
391
356
480
483
359
486
337
454
450
455
417
402
450
322
417
366
484
387
480
391
438
331
476
388
518
489
508
320
368
439
340
383
345
339
340
352
345
358
408
346
513
501
332
434
321
477
463
346
377
379
476
496
364
450
518
410
507
340
347
356
432
431
452
430
511
320
429
417
417
424
383
455
415
429
330
339
356
502
501
322
360
394
363
365
329
330
360
391
414
503
346
482
415
393
381
349
457
359
373
509
472
516
370
467
514
417
388
359
409
342
334
447
394
352
348
486
377
355
518
519
397
355
506
436
465
403
334
419
468
472
427
322
414
324
439
401
391
440
389
479
337
478
385
465
364
454
357
346
462
423
331
466
337
365
484
332
444
459
466
453
334
517
504
451
401
450
442
477
464
337
464
507
427
354
325
499
455
358
363
469
399
479
476
471
349
351
324
326
491
409
401
431
417
448
342
382
508
441
501
425
451
470
470
361
494
449
325
405
396
382
443
458
496
351
370
455
519
358
382
436
411
421
518
504
487
379
472
345
512
509
414
397
383
327
415
367
422
327
345
362
355
430
354
416
510
420
497
458
434
341
418
408
469
464
490
397
417
422
501
362
507
477
376
364
422
482
379
362
413
477
372
326
445
443
354
379
503
484
323
427
453
354
444
487
407
326
392
403
366
327
368
454
334
507
420
469
420
388
487
413
435
494
462
475
372
341
520
456
476
519
474
465
362
454
426
472
423
399
468
406
461
350
507
454
434
414
422
508
490
371
459
341
380
388
423
510
470
426
325
354
380
383
369
381
413
401
503
482
419
386
503
496
509
479
518
362
427
499
428
327
414
428
333
470
518
342
355
456
349
426
472
405
329
461
452
410
459
490
451
362
512
493
516
377
473
323
473
479
403
473
341
396
367
355
458
356
357
394
433
518
398
452
406
466
479
352
340
420
368
462
371
444
463
331
507
411
326
379
362
361
403
354
388
336
324
393
395
519
414
466
334
475
399
401
459
330
503
504
360
399
488
450
320
345
368
510
419
396
412
340
422
512
402
510
388
491
333
346
415
390
322
423
383
396
333
321
324
518
446
334
411
329
426
519
457
426
376
337
510
438
480
449
516
503
328
352
502
338
472
467
436
456
459
426
517
484
471
514
393
512
520
502
506
385
496
519
400
482
350
506
329
509
342
336
337
413
448
499
389
454
323
423
458
440
470
512
322
489
377
501
384
383
474
370
346
425
374
394
433
404
474
402
322
446
345
500
375
363
325
331
494
363
483
373
400
408
338
372
365
510
427
439
441
419
511
407
377
350
467
411
481
511
396
487
378
334
412
428
489
518
501
463
381
389
334
323
515
422
479
409
411
509
515
443
357
368
424
334
363
461
445
428
380
403
363
451
447
431
454
356
452
417
345
411
510
452
509
450
426
420
505
334
401
410
434
398
482
358
434
470
463
436
486
339
370
449
403
443
416
431
498
471
512
496
383
475
405
399
352
344
330
336
334
349
430
375
507
343
347
329
398
514
357
348
386
520
482
377
429
485
504
364
441
345
356
374
344
420
463
344
498
332
376
401
515
421
361
344
415
489
374
323
360
367
435
456
424
482
345
508
412
488
451
489
411
477
455
425
475
364
512
345
427
509
507
389
475
381
506
518
402
500
410
511
383
515
435
438
349
385
392
445
468
364
490
411
460
347
402
332
486
382
450
476
439
346
426
381
370
379
382
352
515
322
432
409
468
326
436
399
474
419
328
407
357
405
408
517
464
496
488
415
409
495
338
489
371
334
443
387
486
356
445
336
362
326
492
442
404
324
516
367
385
372
507
356
454
330
490
507
455
407
520
339
439
381
378
336
511
470
418
331
383
520
491
397
378
329
370
443
407
426
392
413
460
437
412
375
327
420
501
459
405
361
371
508
485
341
438
320
218
246
249
224
210
228
230
231
239
235
249
216
210
202
207
230
218
246
221
216
235
215
215
230
247
223
238
228
236
242
206
234
222
205
203
248
229
250
220
239
208
247
220
210
236
247
215
235
211
209
246
222
225
247
238
242
224
248
245
205
243
200
205
250
201
248
240
229
231
213
232
228
242
207
217
248
225
215
232
249
243
235
248
237
246
212
217
200
204
235
236
222
242
237
215
211
233
233
213
242
244
212
240
245
239
246
226
200
221
243
235
241
230
234
238
202
218
204
212
247
227
200
229
219
232
235
244
231
209
215
201
221
245
222
204
222
226
219
230
218
202
200
245
249
203
225
208
237
234
202
235
233
203
231
243
242
246
225
228
228
211
221
222
246
244
236
205
228
238
218
205
243
208
244
226
210
227
207
232
249
247
243
240
250
202
225
233
226
236
220
218
233
232
213
229
206
213
230
207
205
236
231
204
220
237
234
239
218
249
230
241
240
242
214
246
220
242
242
232
242
206
229
246
246
214
235
229
245
245
203
239
223
212
244
232
238
246
224
242
240
211
239
249
216
236
241
202
217
246
219
210
247
249
205
232
211
246
245
230
221
249
248
241
213
231
214
216
232
212
213
239
226
233
243
220
217
207
237
232
201
218
225
240
226
237
220
229
228
246
208
238
232
218
204
208
227
241
246
244
235
210
233
218
216
248
236
230
229
208
229
234
221
246
207
249
205
203
244
229
240
225
216
234
212
220
239
240
229
215
227
240
230
222
241
211
209
248
212
230
232
206
231
245
247
206
248
234
224
208
212
233
220
226
232
250
223
233
202
237
200
213
216
237
250
227
206
245
221
207
233
217
245
208
245
219
234
239
241
214
226
203
238
233
208
217
250
246
211
243
228
235
212
202
227
219
234
211
220
238
217
232
238
240
241
236
204
229
249
213
202
240
236
216
239
234
242
240
247
217
235
220
246
234
231
245
205
246
230
217
212
214
207
237
240
217
245
210
219
237
217
239
203
238
209
211
249
207
233
239
211
223
205
249
201
212
247
241
207
204
247
231
231
242
207
211
205
229
250
217
246
243
244
231
206
223
216
241
236
237
204
212
247
222
231
220
202
239
226
225
235
250
214
232
207
202
246
248
200
224
208
229
202
250
228
200
225
242
216
219
209
202
209
211
209
208
247
214
234
214
248
210
216
209
237
246
214
246
230
219
216
206
230
220
204
229
217
212
250
225
203
222
211
224
210
201
207
219
237
217
231
220
232
229
202
236
249
240
226
226
244
241
237
201
218
214
236
206
243
214
200
234
207
224
238
223
229
223
240
227
207
222
223
212
203
210
239
225
226
229
226
239
239
226
216
245
239
228
233
218
236
234
236
233
248
216
205
236
212
211
206
226
249
223
203
202
221
247
203
247
241
239
239
243
222
240
216
206
241
203
238
221
228
229
238
206
212
238
214
201
208
203
237
202
211
241
205
238
245
247
224
200
248
228
221
217
206
227
232
241
243
247
216
212
211
236
244
230
248
232
233
230
202
213
236
201
210
243
240
232
221
231
204
205
218
213
205
219
200
203
230
213
227
230
212
210
225
240
243
236
211
248
235
214
240
248
215
219
241
233
201
202
221
207
229
218
229
247
240
246
226
250
218
210
203
233
246
249
230
221
204
203
219
240
227
245
230
230
233
203
213
228
238
212
235
220
244
201
238
213
225
212
237
221
230
204
200
202
203
241
237
250
232
246
237
236
201
247
247
246
232
250
237
247
248
211
208
232
239
206
236
225
202
229
219
207
224
207
211
220
230
225
221
229
223
201
220
230
214
201
202
248
237
226
235
229
227
232
216
243
200
226
228
239
225
234
248
230
239
203
247
207
236
249
244
234
249
219
244
237
208
202
235
228
235
250
244
230
200
243
200
202
213
232
240
234
208
236
242
201
210
240
212
204
218
201
225
233
244
212
225
235
205
203
217
250
227
219
246
233
211
219
221
206
203
245
247
210
226
214
209
208
202
201
215
208
208
248
234
247
216
223
228
211
225
200
232
206
244
209
245
242
231
231
226
232
229
249
228
218
222
218
233
204
225
244
232
209
214
231
202
239
213
202
219
218
200
203
202
226
240
241
240
201
201
250
221
239
239
249
233
216
213
206
222
202
236
207
217
249
250
244
230
228
242
238
203
215
218
221
220
202
236
226
218
202
220
206
226
206
210
250
230
201
207
235
237
200
205
215
228
235
214
231
237
225
205
234
236
240
245
206
237
220
225
239
233
229
205
240
220
211
247
215
218
223
240
210
219
202
240
230
222
241
216
226
232
211
232
212
211
219
218
217
246
230
233
244
211
240
211
210
242
216
230
235
219
245
223
213
231
232
248
219
235
206
238
224
208
209
245
218
233
230
248
234
246
218
226
239
221
238
244
248
200
249
212
218
228
235
241
213
215
211
234
222
234
215
246
241
203
227
211
210
207
207
238
250
211
232
207
244
213
225
247
201
222
214
209
247
250
235
201
236
244
204
239
237
208
218
249
247
231
243
222
218
221
219
220
237
237
240
240
241
225
220
225
248
208
209
233
200
223
234
246
233
235
207
232
225
232
215
239
226
230
243
219
229
212
214
243
210
249
229
202
242
235
239
230
214
246
205
201
221
220
211
201
240
215
222
219
212
250
240
221
203
241
242
232
216
228
220
241
245
241
239
219
215
206
231
231
221
209
236
240
226
213
238
200
213
245
203
217
243
211
203
244
220
219
205
249
228
233
233
232
243
219
248
201
220
249
215
226
217
200
240
206
247
247
209
246
245
231
247
227
210
212
220
206
209
222
245
218
202
213
200
248
219
226
205
242
243
250
209
220
245
208
248
207
236
243
221
226
235
219
213
230
207
202
230
235
235
216
222
225
238
224
238
228
226
206
220
212
234
227
217
210
212
216
247
241
242
218
229
221
229
217
227
218
200
246
212
231
239
231
208
235
203
246
200
221
238
229
203
246
246
220
234
234
215
247
250
206
241
234
235
249
246
238
208
230
214
230
247
232
225
249
234
233
229
204
238
220
216
224
206
244
203
225
250
233
212
248
236
239
230
204
246
225
227
210
226
229
227
232
211
248
225
207
204
222
213
201
240
210
210
230
238
244
213
203
209
234
230
235
244
207
241
213
246
219
234
209
243
241
219
220
208
236
248
224
216
211
207
200
205
205
236
220
238
236
216
229
216
230
245
205
217
240
237
222
232
247
223
220
249
205
235
222
242
229
245
215
216
225
231
211
229
206
228
200
226
216
249
203
211
216
245
211
222
218
223
221
213
208
247
207
217
234
244
223
233
244
249
212
232
240
242
220
215
206
226
230
216
217
226
221
225
222
217
248
220
221
243
235
208
234
227
235
216
231
246
235
209
250
210
241
237
245
202
244
208
204
216
242
207
240
203
245
234
247
244
232
214
250
250
243
245
237
200
214
226
231
228
201
209
241
207
233
201
244
249
243
244
248
229
234
223
223
214
226
207
218
215
244
222
223
245
202
208
235
234
244
232
241
226
228
249
220
244
218
223
212
226
234
249
239
246
236
247
240
239
229
216
229
237
227
221
243
222
210
230
237
218
209
227
222
228
245
219
206
234
226
240
250
233
205
238
227
226
223
208
221
211
232
202
223
224
211
229
226
224
220
212
223
211
205
238
209
200
211
214
205
221
216
226
223
226
237
205
236
220
203
210
211
223
206
234
205
238
246
248
242
247
249
215
214
213
202
204
238
207
225
238
215
228
225
240
249
238
221
231
243
209
203
237
234
211
245
201
231
214
240
220
231
221
232
247
207
250
242
247
211
203
202
217
250
217
204
241
233
201
215
226
232
227
248
231
205
234
242
242
238
203
226
225
240
215
233
248
227
227
216
224
225
215
238
242
235
240
238
249
212
218
238
225
244
250
245
215
208
210
232
237
216
205
210
240
200
241
231
212
218
210
229
234
237
207
208
224
250
238
247
220
225
230
231
222
244
242
238
218
240
232
218
240
217
220
231
207
211
214
227
207
207
220
200
232
233
222
230
217
211
238
237
232
200
230
214
212
245
240
239
247
224
232
237
216
245
236
211
227
231
233
232
242
202
238
238
210
220
239
240
234
225
221
206
214
214
236
247
239
246
208
221
219
221
213
250
216
214
209
225
226
223
212
229
247
204
246
227
228
249
207
249
233
206
210
227
247
231
244
239
228
219
247
223
222
247
229
225
222
226
213
224
250
249
245
212
218
222
245
213
248
219
244
227
245
227
213
210
215
235
202
224
208
226
238
246
233
216
240
242
220
247
223
204
231
249
228
244
205
242
234
222
221
201
208
230
243
220
249
217
214
205
215
224
207
221
212
247
243
229
248
225
211
208
223
242
215
201
208
228
214
242
213
223
215
224
213
203
206
241
205
206
243
228
230
246
214
231
223
232
235
220
226
242
240
214
241
231
203
222
212
218
215
223
222
217
246
208
246
241
234
210
226
208
226
243
218
234
247
240
228
228
243
200
237
229
227
222
243
224
249
215
204
232
231
210
240
203
245
230
238
208
233
215
221
242
249
215
236
224
203
207
222
239
206
227
240
216
220
214
225
250
208
238
228
201
250
232
206
223
200
235
206
202
249
213
226
225
211
214
249
219
202
244
215
214
223
227
208
220
229
211
237
203
213
219
219
204
245
234
229
216
228
236
219
226
218
248
214
237
209
204
218
202
217
231
217
211
249
221
220
231
247
226
203
241
224
241
238
239
214
216
227
244
226
212
214
243
201
242
237
212
202
211
221
226
213
213
215
223
244
217
226
217
206
241
233
250
223
247
237
216
232
227
222
208
245
223
241
206
231
226
220
249
227
243
229
242
233
214
231
243
245
236
219
223
229
245
243
219
203
216
204
227
242
232
216
207
209
207
244
209
200
221
235
212
212
202
234
200
212
247
205
215
237
219
230
209
207
236
228
240
233
217
216
212
211
243
226
210
244
220
215
216
222
228
244
236
229
242
245
245
239
249
249
238
213
221
227
242
245
234
214
200
219
216
238
214
238
240
244
250
250
225
227
210
232
202
219
242
243
206
206
206
211
213
229
221
219
213
215
240
243
208
205
213
205
227
215
218
248
211
236
204
240
241
216
248
206
201
249
227
205
215
224
234
240
222
248
203
235
249
235
203
214
214
228
240
235
238
206
219
239
207
221
201
200
218
238
235
225
229
206
204
247
236
204
217
247
217
225
207
238
222
243
200
238
227
227
222
245
246
208
236
209
236
248
234
206
216
214
230
229
221
200
201
226
241
248
222
235
200
204
203
237
218
217
202
228
229
218
207
237
207
224
220
226
224
216
240
242
202
229
241
217
246
234
216
220
240
212
250
233
208
240
237
221
236
233
209
210
237
238
204
224
239
250
210
210
218
244
213
228
222
220
228
214
209
249
228
235
239
234
244
225
204
242
212
242
245
228
223
211
223
209
216
222
204
247
211
239
234
219
211
243
226
233
204
206
223
209
250
207
227
205
236
218
218
249
243
212
219
207
237
240
241
220
247
203
207
247
240
232
212
214
249
213
237
210
238
218
211
235
222
234
241
243
237
241
234
220
232
232
205
205
239
215
246
214
237
240
202
225
226
230
244
218
242
242
223
209
246
234
227
229
213
207
201
221
203
248
229
205
213
231
218
224
247
234
200
208
218
228
247
244
200
222
215
213
208
206
242
231
200
238
245
207
200
239
238
203
216
214
229
244
210
238
214
224
215
214
217
215
209
215
229
236
236
219
243
201
226
247
201
231
248
219
212
244
224
232
248
226
228
209
241
200
245
225
229
212
238
210
215
211
246
225
219
229
202
211
214
212
207
214
215
212
212
228
213
217
227
222
229
229
219
228
202
248
216
218
231
212
215
213
217
246
223
232
227
246
234
202
243
222
226
203
202
201
238
234
224
207
240
234
248
231
230
210
214
248
235
212
219
234
219
203
203
212
235
217
231
230
247
220
207
219
217
204
217
235
245
248
223
225
205
238
214
237
239
242
202
235
220
203
220
220
221
234
238
240
216
217
247
235
220
226
218
214
220
236
250
223
245
220
230
236
241
249
237
209
238
236
221
202
233
225
235
240
242
226
247
224
210
235
217
235
242
235
238
245
234
241
249
202
222
216
232
231
216
220
226
247
233
202
216
229
214
222
227
219
224
230
241
247
239
211
213
247
225
231
203
243
240
250
201
223
247
205
211
217
235
234
230
201
248
231
218
216
244
211
207
239
209
243
206
208
221
213
227
249
200
211
208
233
200
202
247
229
204
220
231
215
234
201
210
236
214
240
200
246
249
201
226
238
232
240
218
241
247
238
243
244
227
211
248
234
234
204
209
244
213
234
230
233
246
202
238
228
225
232
242
240
234
244
248
243
224
246
208
216
248
246
250
230
222
229
221
245
245
202
207
243
249
229
222
213
215
221
222
231
230
236
205
237
213
204
201
222
226
237
235
232
222
217
222
226
220
228
250
235
213
217
210
200
238
238
206
203
205
221
234
226
249
231
222
237
203
233
244
200
207
214
222
240
238
215
208
232
248
213
211
245
206
240
217
208
208
246
248
217
225
227
241
224
216
204
235
249
214
225
240
209
203
222
205
206
232
217
224
201
217
222
220
235
228
213
218
208
200
242
230
248
203
234
232
223
204
216
230
231
230
221
214
227
234
202
201
224
209
234
229
225
228
200
245
250
238
238
242
228
202
233
202
206
231
229
235
224
228
204
231
222
245
208
245
246
247
236
226
224
233
234
239
233
201
246
238
209
206
241
235
231
205
209
218
220
248
218
240
216
238
209
213
228
249
213
220
229
246
213
212
225
218
244
246
232
248
244
240
230
224
207
216
218
207
247
220
219
250
208
230
212
214
204
200
200
200
205
245
230
202
209
235
201
221
203
220
250
220
213
245
205
237
241
250
242
204
246
216
203
246
201
225
231
214
232
202
200
214
205
205
238
215
220
228
210
247
238
250
206
200
222
205
243
214
219
221
224
238
231
206
220
201
212
219
204
240
205
218
206
204
237
216
243
213
243
232
217
228
242
203
214
250
240
236
227
220
245
235
212
206
226
245
206
205
202
207
236
202
210
206
224
214
201
244
208
225
230
216
206
242
249
242
207
228
230
220
222
211
232
213
213
219
236
207
204
240
219
219
223
213
222
203
242
214
206
208
245
215
246
201
211
246
225
246
235
248
210
250
225
245
235
242
236
233
208
237
225
204
210
233
217
204
205
238
247
221
232
222
209
221
246
232
233
210
211
241
245
208
224
213
200
235
201
214
221
245
225
230
207
226
203
209
219
227
242
218
202
241
203
228
230
224
201
249
225
218
240
248
229
237
228
241
250
245
227
202
226
236
232
221
250
250
238
233
205
224
202
240
241
241
231
221
208
224
237
213
242
221
233
220
231
201
225
227
207
226
220
200
213
246
234
227
243
241
234
232
203
244
243
203
213
210
228
222
228
247
217
232
237
235
222
238
219
213
224
207
227
217
216
215
231
250
237
250
213
214
211
212
235
232
210
228
209
203
246
209
229
227
216
206
211
210
222
233
224
209
229
214
208
224
219
231
217
242
208
229
229
247
224
244
239
204
240
217
233
247
208
231
221
236
228
234
246
223
224
203
205
221
236
230
200
243
203
204
218
214
228
241
237
204
243
215
211
250
202
226
248
201
223
217
216
243
226
204
225
250
248
207
216
202
246
233
216
204
239
250
240
231
231
236
212
241
228
227
202
227
215
237
250
222
209
205
239
206
207
234
213
234
242
214
232
247
212
206
245
209
249
226
250
216
226
246
238
213
202
202
205
250
209
248
241
212
204
239
239
206
222
235
226
214
228
213
204
245
244
237
210
248
219
226
248
243
222
217
202
250
240
231
244
244
206
247
226
228
213
224
207
234
213
245
210
222
212
240
242
206
202
232
216
250
237
237
233
227
203
204
218
226
225
210
211
231
202
220
210
231
207
244
215
244
225
232
232
234
227
244
201
234
208
230
244
239
213
247
241
242
224
242
241
250
233
241
233
219
217
217
227
214
247
221
232
204
211
244
203
245
240
209
208
207
220
247
208
233
245
207
228
229
242
248
231
204
228
206
225
224
241
202
226
201
227
246
248
236
245
215
207
228
231
215
221
208
219
241
222
219
232
213
220
245
247
238
217
220
228
211
229
202
223
248
208
242
243
244
213
249
250
220
204
207
247
246
247
241
223
250
238
231
241
237
217
218
231
218
230
235
250
218
242
212
220
248
214
208
230
244
244
219
210
250
212
219
233
243
239
230
220
225
221
204
226
202
229
218
232
234
228
228
210
219
223
202
244
232
229
213
204
210
238
212
226
248
249
242
238
233
241
233
240
238
212
249
240
249
248
216
239
231
230
200
207
225
223
249
231
229
228
228
248
211
208
244
217
209
210
202
248
223
250
203
241
243
206
225
246
249
223
224
216
237
233
220
238
238
237
228
207
245
201
216
209
241
206
220
205
218
206
218
217
242
239
202
211
206
205
207
245
219
232
235
225
238
239
241
245
246
201
206
249
248
227
230
200
224
228
207
216
250
210
248
206
201
240
223
218
246
235
248
200
241
235
230
233
229
217
216
250
201
229
200
217
214
219
211
209
223
243
235
238
229
201
240
239
207
241
249
229
200
210
211
214
210
240
250
222
222
228
209
207
221
244
215
205
239
204
211
237
203
228
200
219
212
232
209
238
239
205
221
215
229
240
208
238
217
202
224
232
211
246
218
233
214
236
210
223
247
216
213
242
250
203
213
248
249
210
239
238
218
209
219
239
249
202
213
209
211
203
209
207
223
233
224
200
238
232
225
209
221
226
217
242
217
214
207
228
207
235
211
222
239
239
212
203
227
219
226
217
203
217
206
227
216
208
239
248
232
237
243
203
240
209
244
226
206
225
248
210
218
235
232
238
228
217
212
244
208
235
226
201
208
223
240
207
247
236
237
221
200
224
226
208
217
228
234
233
230
249
208
207
228
228
245
207
210
233
250
212
242
207
243
247
241
247
222
223
206
237
220
224
229
232
238
249
216
246
249
232
216
225
212
202
236
246
231
248
213
250
234
246
210
230
246
213
211
211
238
246
202
249
241
242
216
248
201
202
234
237
246
216
216
225
222
219
228
203
224
208
226
202
229
206
241
227
249
222
239
242
234
226
232
209
205
233
220
249
210
202
201
229
243
237
217
207
242
221
240
248
213
212
220
236
206
230
215
243
202
208
219
232
248
215
225
208
237
218
201
211
237
210
224
232
219
238
228
205
219
234
217
212
237
229
248
206
214
247
242
247
214
223
216
245
222
236
212
211
218
215
241
225
200
237
220
209
205
211
239
204
237
243
228
224
213
239
230
238
246
205
220
242
248
242
226
214
237
240
226
231
223
213
210
248
208
202
231
231
246
203
212
239
225
236
225
237
238
228
224
205
201
202
219
250
250
246
238
238
246
215
232
200
220
242
202
211
225
205
232
220
243
239
226
244
211
230
208
246
237
210
226
249
228
239
201
206
236
217
249
224
232
230
249
235
221
244
225
233
201
225
236
206
214
221
249
232
200
235
215
250
245
249
203
216
226
224
208
246
225
231
248
241
222
248
238
249
200
205
212
213
216
229
248
201
227
207
248
223
232
227
232
228
238
203
242
242
228
213
240
222
209
201
228
239
239
236
212
236
234
218
247
243
217
246
214
244
237
226
201
227
200
215
235
203
211
201
244
216
221
221
247
210
244
235
216
238
237
218
217
206
204
243
247
227
241
212
250
231
236
247
207
222
250
210
228
201
242
213
217
229
203
232
221
213
207
213
210
211
211
239
200
235
207
219
225
210
230
244
223
240
240
244
242
216
225
238
211
224
215
206
212
200
215
247
241
232
222
223
234
218
203
231
235
245
227
216
224
201
218
244
240
205
208
211
245
211
208
213
248
209
243
211
231
201
216
201
220
203
220
228
243
230
233
217
220
247
250
202
207
243
223
215
242
246
200
223
219
232
209
222
220
239
217
233
206
228
241
212
214
209
203
226
225
248
209
233
224
240
231
216
220
206
234
220
205
236
247
244
200
224
235
218
238
208
232
250
225
226
207
230
223
207
238
232
238
219
204
247
202
227
228
221
238
216
239
227
247
210
221
210
215
215
240
208
243
234
212
239
221
247
203
234
224
220
250
244
201
233
246
215
240
228
232
240
205
209
244
214
230
216
211
207
238
207
212
246
204
234
236
236
247
242
204
248
242
234
206
209
208
239
207
237
221
241
233
204
213
233
203
209
245
209
211
226
204
200
233
236
217
217
224
212
203
218
229
234
212
221
215
245
239
212
209
249
231
249
249
200
245
204
222
209
212
207
238
206
240
206
227
229
214
241
232
206
231
223
231
216
226
208
221
238
220
244
230
212
237
200
232
228
249
202
238
218
230
217
219
219
247
250
208
233
241
213
245
232
230
234
216
203
209
234
204
202
243
213
222
225
205
212
230
243
222
202
231
229
222
213
208
202
222
220
213
245
247
200
221
231
214
245
206
216
243
246
222
211
237
200
241
238
222
241
217
201
214
211
242
249
230
232
246
236
233
242
237
238
204
241
219
241
230
227
222
240
229
208
233
208
212
221
247
229
223
206
215
244
206
249
204
208
207
231
214
204
242
232
205
250
238
232
212
247
248
220
217
235
218
207
222
224
237
206
235
238
222
205
209
224
221
212
247
204
204
211
226
238
243
223
222
206
208
246
219
245
221
202
203
217
230
219
243
224
247
202
240
218
215
230
247
238
211
224
206
241
209
245
246
219
246
201
223
245
243
235
202
204
249
240
226
247
238
232
239
230
221
218
240
210
241
202
233
215
244
240
212
246
225
202
227
226
201
208
214
232
205
215
218
228
222
240
236
217
225
220
204
226
218
238
209
231
245
233
222
232
244
225
202
207
233
204
230
204
244
203
213
205
244
235
248
217
230
241
233
218
224
211
211
239
244
237
222
207
235
228
232
225
237
233
213
204
213
248
206
229
249
246
223
225
237
245
248
235
250
249
225
212
228
247
225
201
214
233
203
227
235
213
244
241
238
202
203
234
200
209
238
203
217
210
239
205
245
208
236
244
212
233
246
218
219
206
246
241
225
219
211
234
222
213
237
209
205
424
367
389
355
374
412
516
416
415
484
347
384
377
469
480
458
439
439
404
506
520
455
406
413
448
474
427
385
504
506
496
340
506
516
429
327
448
368
465
518
477
383
322
365
484
347
450
425
360
443
413
370
335
354
350
446
458
396
366
402
340
365
328
396
353
483
493
433
360
458
322
385
468
487
509
461
360
343
460
367
396
488
432
339
448
428
374
493
394
506
358
362
431
520
436
520
401
417
439
434
354
439
411
410
413
323
509
431
441
441
436
407
355
499
379
344
416
423
332
431
401
351
336
421
438
381
334
328
502
348
444
489
331
440
437
380
323
450
328
348
380
323
505
326
390
386
362
334
413
347
494
481
404
455
390
465
347
393
323
477
495
457
502
476
491
402
418
422
375
380
320
510
432
360
425
433
379
501
452
504
415
371
414
436
326
383
484
416
383
381
514
387
444
336
433
404
387
327
354
491
348
388
333
517
514
511
422
450
465
485
331
408
375
476
496
398
371
368
448
516
512
437
508
436
452
371
432
472
476
411
347
342
420
366
505
340
500
408
374
369
403
508
487
358
447
373
485
504
363
430
474
407
346
498
411
346
435
415
352
518
463
428
458
493
509
503
455
505
348
377
348
421
379
363
412
403
476
324
493
460
420
490
425
392
485
361
494
331
435
427
491
368
406
366
322
459
421
507
431
350
506
520
442
412
514
436
359
331
500
329
511
414
367
346
454
494
454
342
373
441
442
360
358
384
415
398
449
488
461
465
449
321
395
481
371
377
404
383
405
374
420
358
447
379
397
334
485
338
387
473
405
415
396
514
398
391
446
462
473
367
472
492
378
334
339
503
418
350
353
441
358
418
375
411
504
508
465
403
455
346
406
435
400
393
403
378
393
362
362
472
347
330
509
407
488
511
507
384
517
505
423
493
389
327
333
467
339
411
377
321
471
393
382
440
489
469
384
399
362
500
374
344
338
486
388
509
372
501
350
443
413
348
334
463
341
517
495
408
352
425
370
454
468
372
459
448
417
411
332
439
414
449
499
401
453
340
363
478
450
371
414
487
347
403
344
415
377
434
413
490
414
478
380
469
388
333
404
367
395
327
411
446
419
370
502
484
431
398
382
374
488
327
486
370
367
433
461
386
449
359
517
484
518
503
405
511
418
479
415
463
462
342
501
478
346
390
407
406
512
410
420
463
488
500
519
476
371
354
488
475
449
495
357
461
424
499
352
405
487
374
514
381
419
419
440
337
331
321
493
505
466
491
344
436
518
377
445
432
417
348
513
506
392
476
462
405
484
387
436
334
418
518
333
440
374
394
320
353
488
394
496
439
455
437
502
362
394
336
358
437
420
458
518
458
429
428
398
415
393
326
355
389
363
384
508
334
348
413
472
475
511
419
461
382
400
417
441
333
353
482
495
439
370
426
340
412
439
445
459
429
382
358
474
390
468
321
494
502
405
417
348
520
378
412
344
463
442
460
456
337
491
429
473
370
430
381
401
470
394
408
502
452
343
514
327
343
427
467
344
364
329
337
509
477
487
487
365
501
490
414
468
426
372
386
343
469
454
358
331
435
422
429
350
396
424
413
335
458
427
471
428
422
490
397
448
414
437
479
358
489
324
512
372
414
425
506
440
380
443
365
423
516
378
332
374
320
331
468
345
452
322
396
482
473
495
403
418
397
403
373
324
475
448
391
428
322
395
503
338
479
416
442
326
449
511
412
455
395
337
420
468
365
398
513
419
336
480
363
461
353
356
520
488
430
517
487
510
500
481
365
423
322
518
352
415
385
451
432
391
407
349
443
407
467
420
425
374
407
448
337
417
406
417
498
443
330
433
421
357
337
348
329
511
436
494
383
455
447
384
446
398
488
430
477
380
370
370
445
449
509
335
457
453
395
513
419
465
515
426
464
434
418
452
478
379
462
452
517
393
455
402
410
430
442
386
474
425
383
366
446
439
420
422
340
466
328
415
388
353
404
430
349
378
352
348
382
448
507
342
412
337
470
482
419
457
492
405
484
451
424
423
463
372
364
385
467
407
511
334
443
346
461
354
450
473
449
473
443
429
443
420
412
469
403
393
385
517
368
504
388
329
520
344
421
476
472
337
498
476
352
390
400
513
397
510
368
401
484
441
438
516
513
379
511
439
350
400
333
512
380
491
385
481
425
504
518
345
436
400
517
338
518
439
438
418
421
358
430
425
336
323
367
394
329
421
336
506
484
518
450
388
420
374
520
488
465
356
373
458
464
431
402
374
391
482
384
419
497
492
397
448
330
502
444
401
444
387
507
396
374
320
390
461
396
390
362
471
404
400
340
371
464
420
377
475
433
427
333
371
478
517
330
445
503
332
400
342
347
436
399
507
467
322
340
365
414
378
439
483
389
353
387
479
371
396
395
393
364
429
427
435
412
474
378
436
514
356
479
516
440
330
428
346
395
334
341
457
372
379
400
361
364
492
427
502
420
453
337
336
480
339
509
328
515
418
351
425
436
356
336
445
495
409
508
449
489
403
518
439
408
422
500
509
514
445
429
520
397
483
365
456
391
483
445
481
416
472
388
474
444
512
491
360
427
436
513
483
472
335
408
441
367
435
509
374
326
456
429
411
341
332
428
390
409
484
471
493
384
355
350
502
476
459
426
500
517
476
518
440
514
493
516
366
414
507
339
320
342
354
516
418
431
463
464
491
492
386
497
383
457
423
355
466
394
390
439
350
427
388
444
409
359
325
351
501
519
408
509
380
506
384
368
423
516
436
324
515
390
512
348
504
358
439
498
368
424
462
350
465
387
416
488
384
464
430
396
384
433
470
352
356
414
351
468
506
478
454
380
445
406
362
358
387
476
504
497
490
438
441
349
462
465
328
392
361
416
438
464
389
498
371
434
518
326
469
360
355
448
422
501
323
403
419
346
407
520
467
442
454
464
507
409
356
356
514
509
410
455
384
321
478
440
434
362
368
455
383
400
362
444
414
426
418
372
370
405
484
390
351
461
422
397
500
483
477
357
476
511
345
327
360
472
399
440
325
441
484
473
391
339
426
471
369
347
451
353
504
515
440
483
506
434
511
484
421
419
405
463
380
483
413
447
338
335
372
399
420
426
461
354
383
497
476
337
486
390
357
518
466
415
352
342
364
387
341
353
474
365
406
344
356
463
483
384
483
348
460
325
518
481
482
435
337
368
371
483
442
404
358
442
436
421
520
518
444
471
417
377
514
479
381
402
441
372
455
410
438
458
325
471
421
377
450
447
330
432
414
480
519
351
364
462
328
324
506
404
447
328
330
376
432
334
461
449
393
491
421
428
500
488
486
330
473
440
330
327
459
334
327
487
403
507
491
451
494
451
459
340
446
344
443
448
411
391
373
364
434
363
487
349
508
344
441
449
342
402
425
508
372
467
515
433
438
503
359
437
456
404
408
448
480
432
501
355
403
446
497
439
515
464
355
461
482
499
500
489
385
389
490
466
513
432
473
401
402
440
506
444
405
408
329
465
427
356
474
475
328
453
391
430
519
434
421
341
473
506
391
350
396
520
337
464
420
497
387
339
389
439
372
416
514
445
347
382
496
489
423
505
402
336
465
459
320
428
515
462
455
451
409
363
330
439
497
505
399
439
486
376
468
358
361
474
413
433
347
518
386
499
452
494
434
503
419
478
451
440
325
490
493
388
402
471
422
366
488
464
393
421
520
465
388
358
376
399
499
456
480
344
422
486
377
370
450
460
479
518
459
325
358
372
341
444
346
437
377
472
415
394
373
419
358
324
417
471
365
506
439
329
370
460
405
339
432
493
338
384
493
361
422
515
427
333
518
323
403
501
505
414
328
461
486
520
508
518
382
325
505
427
468
373
477
409
484
436
354
507
470
331
388
395
472
421
333
439
518
480
325
402
424
472
496
492
463
327
385
369
326
331
440
505
324
362
450
437
353
376
389
366
441
470
428
388
452
479
377
428
393
331
435
355
465
325
390
362
342
391
337
473
382
350
512
438
431
488
338
361
516
503
384
515
340
431
376
453
499
493
453
470
381
452
459
334
440
480
350
443
501
484
499
395
411
497
393
330
471
404
403
519
467
453
500
432
391
500
372
473
453
408
330
328
388
495
376
369
510
444
402
434
396
409
441
358
449
368
358
404
498
376
320
476
397
451
363
439
363
321
355
320
343
389
374
458
331
350
435
455
372
349
441
466
419
507
480
423
476
398
413
452
350
360
499
321
324
384
331
415
410
332
407
391
453
325
436
498
482
488
475
352
444
329
441
326
467
486
455
405
443
498
457
369
446
351
377
416
436
507
402
481
387
482
435
327
354
492
400
510
464
421
412
322
365
427
371
362
408
359
375
387
518
520
361
466
329
344
348
331
353
395
491
388
427
505
378
455
382
442
441
511
360
422
498
400
497
520
484
405
330
503
392
412
491
403
426
355
349
424
455
339
324
422
437
323
407
500
453
464
417
396
438
391
322
497
472
333
391
430
358
323
381
361
328
430
449
446
393
484
346
470
363
346
481
426
494
327
475
407
474
447
419
372
355
337
433
358
345
331
508
393
477
497
387
445
337
369
361
414
409
478
363
376
362
321
409
464
394
518
460
480
510
391
459
353
371
487
423
429
436
326
495
507
347
515
414
357
474
411
380
367
477
482
515
505
329
374
511
497
390
434
451
371
370
417
355
453
331
381
400
321
419
428
476
502
362
351
458
413
488
345
355
373
359
323
334
493
341
433
360
510
480
382
399
357
325
324
364
420
345
416
375
400
444
412
497
387
403
363
432
502
438
323
515
448
434
509
478
341
484
401
406
429
451
359
444
422
397
391
364
482
458
326
447
435
410
439
424
514
377
411
327
480
370
491
456
327
382
496
357
465
411
340
421
453
368
416
417
484
452
320
506
481
516
419
336
426
400
408
415
516
357
458
422
408
417
425
356
512
442
458
329
422
463
365
489
392
372
354
362
486
351
346
343
358
407
352
337
518
394
499
376
468
401
443
413
424
516
397
443
498
440
516
359
350
467
465
503
425
469
420
439
520
505
434
339
321
452
500
508
339
371
436
449
330
370
320
400
355
347
335
482
431
391
357
500
385
359
347
342
504
441
320
487
520
487
442
506
504
356
413
378
338
347
405
339
343
431
338
338
418
495
373
472
400
474
489
385
442
341
398
409
482
441
388
478
439
400
327
354
322
420
330
356
329
358
432
366
470
456
376
394
360
459
440
469
440
419
462
449
416
342
371
343
392
510
479
480
496
508
367
496
373
415
472
343
340
517
366
458
488
455
470
321
433
467
385
407
489
384
486
401
408
484
488
406
395
478
505
350
500
509
359
342
515
358
328
447
336
323
425
515
427
413
450
338
514
422
458
398
499
438
520
429
365
441
320
487
476
437
454
404
501
329
505
461
448
413
453
460
470
452
350
424
461
399
413
327
352
447
353
331
451
325
486
461
391
350
435
471
463
453
404
403
472
419
465
379
341
479
481
482
472
433
518
439
380
383
514
381
373
372
376
355
327
496
386
502
430
384
516
390
501
390
463
516
502
350
396
389
331
460
508
458
371
462
508
355
439
481
330
428
450
372
418
504
326
463
424
382
365
400
349
386
382
431
451
410
334
371
466
412
490
376
496
459
394
411
437
511
472
402
406
452
429
339
345
455
450
330
372
324
343
517
448
347
346
359
473
506
517
482
384
454
506
504
487
482
500
517
446
327
485
427
467
332
382
399
362
438
425
341
515
435
511
364
420
514
380
484
472
519
433
491
333
371
331
401
502
339
395
408
347
426
518
433
458
495
415
387
479
471
501
450
379
346
480
461
337
354
386
483
320
461
456
401
353
330
407
418
332
366
486
375
479
482
327
405
360
321
490
494
350
393
475
516
329
448
351
416
451
517
409
478
456
324
441
341
520
430
430
344
328
475
402
326
472
407
407
495
380
467
507
376
428
384
497
419
517
363
474
454
395
492
368
387
490
388
419
506
442
363
413
435
377
520
470
371
473
378
454
462
512
350
462
349
379
424
463
398
435
518
502
366
403
404
409
364
519
494
347
346
343
341
448
331
428
356
394
515
478
326
337
516
371
338
455
328
515
339
416
510
425
345
396
492
500
423
352
394
459
500
458
385
466
509
385
504
357
324
349
360
421
431
515
435
367
512
418
460
340
495
506
412
501
443
476
412
508
383
323
345
377
407
349
462
501
374
334
439
477
515
476
324
479
332
442
394
478
518
353
406
467
415
494
515
509
415
400
486
486
350
466
427
503
510
351
358
400
477
382
354
389
353
483
327
422
487
340
414
420
361
343
508
393
407
320
362
516
358
465
347
478
374
489
490
482
365
407
415
321
321
365
358
379
390
365
423
493
497
346
420
326
380
509
459
337
508
426
322
334
395
473
484
496
494
461
443
361
395
343
366
379
397
380
378
408
487
415
466
471
380
477
425
362
457
498
510
357
387
366
417
466
440
368
492
403
438
424
365
470
504
361
515
456
467
439
390
340
364
501
323
367
520
324
415
407
366
372
327
361
424
446
354
442
469
452
502
396
517
402
372
474
368
345
383
354
440
410
368
371
454
452
360
413
495
321
421
513
458
425
335
357
387
493
351
476
470
448
483
435
467
443
386
429
519
466
407
362
414
456
483
395
452
449
429
466
449
427
480
385
433
339
514
395
492
498
465
367
499
509
370
506
481
447
366
367
363
490
388
416
504
356
470
367
482
466
332
466
439
384
338
395
441
334
376
441
455
402
505
465
463
329
470
350
392
375
324
418
517
482
410
461
330
484
397
456
355
433
385
414
362
462
352
508
330
406
460
356
381
388
358
430
513
437
488
327
400
353
419
366
430
417
449
378
460
409
352
345
403
343
354
394
430
402
514
438
472
392
437
400
402
429
501
412
508
388
434
473
343
397
475
405
459
334
452
397
397
459
428
368
436
374
446
465
357
503
437
435
477
495
443
484
384
438
510
325
446
407
397
508
415
492
436
459
397
453
416
477
421
399
483
401
488
462
371
354
451
469
515
383
447
421
381
510
399
424
324
384
516
372
409
499
329
332
392
517
487
377
322
324
384
484
339
430
389
339
507
418
414
440
487
332
511
433
432
353
362
403
454
491
456
487
513
399
326
475
381
427
498
514
384
480
405
471
469
481
421
471
336
401
355
482
329
406
395
518
397
329
475
458
324
331
342
510
325
454
431
503
333
452
342
327
441
443
321
448
358
324
344
408
492
462
457
413
455
370
390
507
451
460
351
459
338
426
487
366
366
485
393
495
424
340
448
516
417
407
381
387
413
492
512
386
360
351
447
392
479
449
337
430
470
465
432
382
362
438
408
416
410
390
348
459
371
454
517
460
483
400
500
453
341
365
464
447
460
513
491
392
505
338
368
413
418
414
337
490
482
429
409
505
367
420
391
325
455
413
499
504
323
467
359
487
327
482
496
498
320
418
519
327
426
520
365
452
369
445
470
506
334
388
341
519
496
465
424
404
462
349
449
359
366
463
417
505
490
356
465
398
325
438
443
380
434
375
423
489
432
344
386
402
454
343
361
380
470
381
483
340
464
322
447
435
360
500
407
408
514
324
466
338
332
399
347
520
411
498
479
417
402
504
480
333
505
400
381
390
351
518
417
447
325
496
347
493
514
439
452
419
337
354
449
434
331
369
320
372
513
358
500
486
481
371
486
486
513
519
360
510
508
434
508
435
479
385
403
479
390
444
370
423
402
421
506
320
341
383
462
445
343
459
435
474
367
491
491
366
347
361
441
398
323
421
342
359
447
497
362
487
357
475
391
335
452
458
395
467
496
495
327
433
376
355
372
325
461
334
511
456
501
433
474
328
384
510
472
421
519
405
383
483
399
452
361
333
358
416
491
329
463
370
512
336
456
456
366
356
390
473
486
514
505
439
436
518
430
435
376
492
480
320
485
425
323
403
419
348
337
350
516
379
511
508
448
325
497
441
412
457
406
437
387
387
413
333
500
381
438
339
513
376
353
429
503
443
488
479
504
435
345
470
450
428
499
347
462
345
322
415
350
330
401
418
482
421
406
392
325
351
330
327
372
513
374
493
443
354
420
360
379
396
462
356
474
410
416
412
489
322
447
373
466
324
434
406
478
377
470
474
468
476
405
512
519
458
339
512
335
346
460
327
449
436
404
501
487
329
407
432
439
373
440
348
354
392
390
427
513
506
497
401
410
469
497
461
488
403
398
394
326
398
340
418
484
365
337
462
462
357
376
503
335
506
342
433
404
455
346
508
327
467
456
434
396
353
506
335
515
221
202
242
212
211
206
223
250
215
235
246
240
213
221
241
244
245
215
228
246
226
210
207
248
230
214
231
214
206
221
245
246
231
202
205
238
204
209
209
246
250
247
228
248
232
249
218
201
225
250
243
222
241
219
201
241
206
214
244
205
211
245
241
222
246
235
217
222
204
235
207
223
205
230
215
227
211
245
216
236
217
217
246
217
233
200
215
221
243
204
245
233
234
223
244
237
245
250
203
247
243
238
225
203
249
209
221
234
223
228
233
240
215
208
241
239
220
230
221
237
244
213
203
215
218
230
216
235
230
216
228
215
247
218
227
227
221
246
237
206
236
241
221
234
207
226
235
235
240
216
240
219
216
239
244
216
244
212
206
218
206
206
219
242
229
221
200
245
224
220
239
202
240
250
245
235
208
240
224
206
244
237
229
207
244
235
209
204
207
206
238
201
245
212
233
233
216
250
208
215
232
205
235
215
239
217
209
207
235
226
234
243
233
204
209
221
241
209
233
245
240
230
221
209
246
223
232
209
210
219
246
210
217
230
239
220
209
228
222
201
244
208
240
220
209
239
231
225
234
202
224
211
230
217
228
212
223
238
219
210
200
204
236
247
237
209
220
205
206
230
225
248
222
228
200
237
210
250
250
229
222
243
230
201
209
214
238
224
226
223
229
231
228
234
203
200
225
231
207
224
249
213
222
203
208
201
213
205
250
225
224
223
234
224
245
201
203
225
250
218
204
247
201
206
246
245
215
245
219
219
228
219
238
229
233
222
226
223
239
204
233
205
249
225
223
231
238
249
209
206
213
227
226
204
226
229
240
228
211
231
220
203
213
240
228
236
200
210
204
238
220
239
224
201
227
211
232
204
211
224
219
215
226
213
249
235
247
211
240
238
245
231
241
235
217
249
225
249
237
238
222
201
217
242
222
214
212
237
213
236
247
238
222
214
249
222
223
215
201
238
244
209
204
227
210
210
214
228
218
211
229
239
236
242
240
221
214
223
230
213
202
201
202
200
240
244
238
204
234
201
209
210
230
221
243
244
209
217
243
224
236
238
235
207
233
202
226
210
250
206
200
201
221
245
213
203
236
224
249
222
208
219
230
231
233
217
241
241
222
237
232
220
214
241
238
223
237
241
234
234
249
201
216
213
228
204
230
245
216
222
226
229
244
234
201
200
213
216
203
210
241
225
235
238
211
223
237
228
225
238
234
248
224
221
216
247
201
222
234
233
209
201
244
202
207
211
206
210
204
214
220
227
231
216
238
223
201
250
223
221
217
223
214
228
204
238
246
237
224
228
225
237
244
203
205
220
224
234
232
225
242
245
216
229
232
230
219
241
236
243
225
206
241
229
238
229
217
225
204
216
221
214
208
245
242
248
218
204
236
215
212
224
205
236
240
228
244
235
244
220
238
236
201
221
212
224
210
216
202
205
217
208
224
249
221
232
223
207
204
202
203
214
215
246
204
214
230
228
241
238
205
208
222
201
210
225
210
225
200
241
212
200
230
236
239
236
219
201
247
233
211
202
203
243
235
235
225
247
235
240
201
220
202
209
204
239
227
202
207
246
222
222
244
250
211
242
242
217
247
248
202
241
235
246
243
209
229
218
241
244
208
235
219
238
214
249
222
239
209
208
205
220
243
209
245
243
208
234
205
206
242
224
234
240
238
221
237
225
215
230
234
226
215
200
224
235
230
222
207
250
213
239
203
210
203
213
215
235
245
214
221
205
227
206
223
239
230
205
216
216
229
248
237
234
240
224
233
222
211
201
216
250
207
222
205
239
243
209
208
214
230
239
205
231
233
213
202
239
228
236
244
234
227
201
210
213
241
203
243
249
226
220
210
222
235
249
207
212
225
238
243
231
220
218
234
201
211
215
223
217
245
230
225
238
220
208
228
235
248
221
201
234
244
240
218
240
227
231
235
214
235
227
215
230
250
208
246
223
227
231
230
239
205
208
245
203
222
244
240
229
229
217
215
247
228
202
227
242
238
200
228
210
243
215
231
247
246
223
215
227
214
217
202
232
229
246
237
209
213
207
204
227
212
241
237
235
210
204
226
229
228
233
202
232
231
211
211
250
243
225
206
247
212
235
227
225
247
223
232
212
240
250
208
231
214
211
244
216
219
216
237
226
226
208
208
218
229
241
205
202
250
238
228
241
200
212
208
242
224
200
215
235
204
216
227
227
226
203
220
211
235
217
237
203
235
203
243
204
202
225
219
223
242
206
244
222
217
216
240
203
241
230
209
219
213
211
238
204
239
218
224
239
225
250
221
230
214
222
209
232
200
241
214
231
233
209
208
244
219
241
236
202
216
231
248
201
220
248
246
227
221
206
220
229
229
225
213
224
206
221
224
220
208
200
226
222
249
237
206
215
247
226
220
220
235
225
239
201
248
238
218
200
206
217
206
218
204
207
212
237
249
236
203
211
236
230
232
207
225
228
219
242
226
247
208
248
248
246
208
219
235
228
206
244
214
208
244
202
222
208
235
215
244
248
222
206
227
237
230
224
237
246
223
225
229
204
241
220
238
228
244
213
233
217
222
212
232
211
202
206
210
238
217
244
245
245
247
243
244
210
250
214
248
234
205
220
223
222
210
215
208
213
227
230
228
232
202
218
248
214
235
213
239
232
250
240
249
237
243
245
237
214
245
202
222
219
228
233
222
210
246
230
202
250
216
205
213
216
238
232
204
220
211
219
218
221
232
249
202
206
208
233
214
222
219
210
230
235
238
240
204
205
230
244
232
223
239
238
240
243
243
227
219
213
238
217
244
241
242
200
224
233
209
217
209
229
235
227
207
223
243
207
241
243
234
225
234
209
236
217
213
236
238
234
206
250
214
203
222
214
223
245
227
217
207
211
204
241
226
233
216
203
228
249
225
219
232
237
230
211
241
223
215
206
247
217
239
234
213
245
201
202
218
203
214
218
245
212
238
223
227
240
239
225
211
240
226
212
226
233
243
236
213
246
213
243
250
248
236
243
209
213
230
221
210
242
230
214
226
208
248
228
222
202
240
203
238
243
209
224
212
242
247
213
201
214
249
218
218
235
245
218
230
230
215
234
214
240
221
215
200
233
211
249
238
244
235
225
243
237
212
220
226
232
214
200
244
240
221
243
241
201
238
241
250
211
219
201
231
232
215
231
240
219
229
237
238
211
214
201
205
211
211
224
204
209
229
202
209
214
235
249
207
245
219
239
204
214
244
214
219
216
231
202
248
236
201
246
249
215
237
248
211
216
210
214
230
213
243
205
243
233
206
225
246
207
211
244
236
238
217
204
236
236
221
215
213
226
231
221
250
221
205
233
215
241
210
233
204
230
249
203
241
209
235
238
224
219
224
209
249
219
230
244
241
232
240
235
219
233
208
239
213
230
218
205
234
212
211
236
227
228
222
204
234
203
234
217
246
246
234
231
220
248
226
239
245
214
209
222
243
246
224
211
209
210
250
246
241
243
230
235
208
203
206
216
223
232
208
235
205
202
249
242
221
211
204
243
248
205
224
209
215
217
202
224
233
241
202
230
236
239
250
240
243
205
213
227
223
244
211
247
231
208
229
217
231
239
236
218
225
231
225
247
220
212
247
230
223
232
242
209
248
221
226
223
249
247
218
245
216
233
217
231
220
228
234
215
218
232
226
204
218
202
201
230
205
221
235
209
239
211
207
248
213
226
207
246
232
208
248
211
225
233
234
208
237
249
222
207
221
233
211
222
210
217
230
205
231
214
232
233
211
229
220
220
229
242
241
245
201
217
206
236
234
232
225
209
200
250
236
225
230
235
228
227
249
247
233
240
250
238
221
237
207
235
227
246
238
249
232
203
203
221
230
243
221
242
223
208
228
236
234
234
227
209
221
229
248
222
212
248
210
213
206
235
205
225
237
216
214
231
249
245
204
211
246
212
218
231
206
218
232
200
230
212
248
246
240
204
234
230
205
242
236
212
208
234
240
232
241
216
231
202
250
203
227
243
234
249
228
245
232
227
216
217
212
207
202
228
232
207
247
224
240
232
226
247
225
216
224
205
231
204
222
237
207
213
229
228
248
204
221
244
215
230
249
230
245
248
210
236
246
220
219
242
215
244
210
250
247
224
204
200
250
205
231
215
231
205
201
230
213
201
241
214
218
221
207
239
237
240
244
225
231
220
215
239
233
202
224
232
230
235
201
244
210
235
233
241
210
201
206
248
214
202
213
203
227
230
210
200
202
232
223
228
250
200
216
240
242
246
210
248
224
216
231
232
204
219
232
212
235
234
242
232
239
245
213
239
241
247
236
239
249
227
232
221
205
249
247
212
223
247
222
232
204
245
228
219
245
211
247
200
200
213
220
217
235
238
233
229
248
211
207
243
234
205
208
227
215
200
240
219
212
220
200
236
245
203
215
249
232
238
209
242
209
224
237
202
219
242
241
234
245
202
216
208
238
216
200
208
223
235
221
200
224
236
221
247
240
246
241
208
226
208
202
206
212
214
241
235
209
202
232
215
242
202
231
237
239
244
249
208
249
240
241
239
247
235
248
229
205
212
207
200
218
209
223
205
230
226
200
235
248
234
200
227
246
215
225
226
230
226
212
217
207
219
205
221
220
219
206
239
224
239
228
212
226
241
245
235
244
225
225
248
222
249
206
244
227
221
237
225
211
231
219
245
247
250
226
235
204
226
239
224
209
242
221
249
226
250
208
215
209
236
242
217
219
225
225
249
201
220
205
226
219
243
212
218
225
219
209
243
226
232
223
244
231
216
230
241
200
219
250
211
217
250
223
205
232
240
236
232
246
245
200
240
210
213
215
232
245
227
207
233
217
227
224
238
227
248
236
221
218
223
239
211
249
223
230
210
204
235
203
232
231
207
217
247
239
210
222
227
221
232
203
230
241
225
245
202
238
226
233
221
223
234
212
235
235
203
236
238
214
236
201
206
241
223
228
223
226
235
230
245
201
215
233
248
226
208
247
249
231
222
245
208
208
205
226
236
233
213
220
234
211
214
238
244
230
239
207
213
229
218
227
239
204
220
240
241
240
204
202
210
202
225
207
247
212
222
211
224
226
205
206
225
207
239
210
238
243
210
239
214
232
231
213
205
232
247
223
235
245
243
243
217
210
213
221
203
247
230
205
238
246
229
236
230
222
214
216
220
224
212
212
247
201
241
233
227
210
233
204
210
221
229
250
240
246
234
210
249
249
237
248
203
219
248
220
214
240
210
225
206
208
247
213
241
221
227
240
206
236
236
212
248
220
236
215
217
249
241
204
243
237
236
213
232
206
214
212
244
236
235
226
232
218
212
220
235
214
250
219
213
200
227
200
238
234
216
226
222
219
223
243
233
214
203
207
216
222
240
233
219
244
206
229
246
244
243
222
213
219
221
227
206
212
207
250
234
250
221
245
242
248
209
248
204
207
248
237
218
217
213
234
246
247
237
236
214
218
208
243
204
227
212
202
228
240
222
240
202
237
219
228
210
243
210
237
239
248
227
236
216
238
248
227
209
222
233
218
220
229
232
235
250
201
236
221
200
204
231
208
228
204
206
224
222
245
202
220
207
240
243
236
202
236
203
215
222
201
228
204
239
216
201
232
200
234
236
232
214
209
214
237
244
236
248
245
225
241
206
224
213
219
208
206
249
223
230
236
218
245
213
224
235
234
216
226
239
226
224
250
249
247
235
214
228
240
241
233
250
224
215
247
230
228
241
249
225
218
215
202
242
238
204
247
234
223
229
215
202
212
237
212
207
248
220
236
237
210
235
212
230
242
248
208
231
227
221
217
204
224
204
209
216
228
215
222
223
202
226
232
204
212
231
216
204
227
250
248
236
201
206
232
203
219
235
242
217
247
234
200
250
223
225
245
227
228
234
228
245
216
249
227
238
216
244
239
225
244
245
224
238
237
218
236
210
221
232
203
234
207
229
215
235
249
202
248
238
219
225
220
243
201
233
218
247
205
230
223
241
222
215
234
217
250
236
205
235
240
235
235
238
220
235
250
201
217
211
234
213
206
231
245
209
235
235
204
207
233
203
236
229
246
218
216
215
224
250
208
214
220
241
238
236
243
209
232
248
203
247
207
211
215
208
223
229
201
223
243
250
201
232
224
210
240
210
232
202
228
238
216
211
235
216
225
228
229
227
208
221
219
242
230
202
228
200
229
218
244
219
211
243
220
220
245
207
245
202
203
216
229
203
245
218
224
237
206
248
211
206
246
205
245
243
223
202
238
206
235
200
206
244
243
239
244
230
233
233
202
245
218
237
249
224
230
234
208
240
211
213
241
220
204
208
214
208
244
240
201
205
247
244
236
231
240
215
248
229
205
224
241
240
231
207
227
205
238
207
218
220
213
229
235
212
206
236
216
225
227
206
230
203
215
227
223
239
206
245
209
245
245
218
245
200
201
215
227
202
215
247
218
234
239
236
229
209
210
247
216
207
229
202
217
241
209
236
235
221
248
233
246
220
239
212
215
246
231
222
215
207
201
228
228
215
234
216
207
214
232
245
211
224
200
250
223
209
213
247
204
213
249
223
220
231
249
246
230
218
229
201
225
213
202
216
206
212
240
242
222
231
236
231
214
239
221
236
216
245
236
248
213
239
201
209
237
222
231
210
233
218
213
202
248
245
249
203
212
239
250
238
238
235
249
208
234
235
217
250
204
219
243
247
232
227
218
237
244
239
244
220
223
244
234
246
227
211
246
224
207
216
243
222
201
246
235
226
226
240
244
215
226
209
205
213
230
249
202
249
246
243
226
221
206
249
234
220
248
202
237
226
219
226
241
209
216
243
248
204
216
220
225
227
209
202
248
216
246
245
216
235
217
206
213
215
239
201
204
238
247
211
245
217
216
247
202
237
215
211
228
218
227
205
234
204
224
229
201
236
211
213
234
204
239
237
208
205
210
238
203
237
205
240
212
232
212
215
241
234
240
227
212
241
241
210
226
200
230
204
243
244
210
222
209
217
203
232
246
217
221
215
248
221
234
213
245
233
217
219
217
214
243
205
242
221
222
233
239
243
232
218
232
225
201
203
230
226
206
210
230
206
226
246
213
217
231
234
222
237
241
225
215
207
245
227
219
244
225
201
202
243
223
249
243
229
243
220
239
210
232
205
209
204
211
229
215
202
222
230
244
234
204
209
227
241
244
210
200
249
211
226
205
210
243
205
233
231
228
241
240
202
207
203
221
233
200
249
233
245
240
200
238
219
206
233
247
211
245
214
241
233
202
240
228
231
204
248
211
216
207
243
223
216
223
245
201
205
213
247
233
230
230
229
232
201
225
246
241
201
231
224
203
236
243
231
231
200
249
210
224
213
246
241
224
224
213
227
242
220
227
250
225
247
214
248
238
243
241
223
208
200
246
208
219
240
220
207
207
219
247
219
207
250
228
247
225
219
235
211
232
215
221
217
216
216
238
244
214
206
240
240
218
227
239
226
250
218
249
202
221
204
239
247
206
235
211
228
215
239
221
212
225
246
242
246
201
231
202
207
238
205
213
209
210
212
229
226
203
225
236
216
202
227
229
235
218
240
205
223
247
231
224
237
222
240
227
234
205
223
248
232
232
212
203
245
243
220
232
207
230
240
208
249
206
215
208
247
226
201
236
210
248
225
205
235
212
207
213
227
205
213
247
204
239
221
220
212
210
216
225
211
234
229
249
211
234
244
229
248
247
231
214
204
229
232
207
248
220
227
207
237
201
206
235
222
224
211
242
219
209
222
229
201
238
225
218
239
207
229
242
212
206
238
230
203
203
238
248
247
241
230
229
206
229
223
213
220
245
205
203
212
221
205
231
238
244
232
211
201
241
212
209
228
200
208
226
243
239
202
210
234
231
223
244
242
210
209
242
206
237
213
207
227
237
248
210
244
200
249
223
212
238
231
220
211
232
213
240
226
235
238
217
244
212
248
229
234
229
245
214
231
247
225
228
236
208
217
228
231
203
217
248
220
225
242
219
209
226
200
201
232
229
203
221
209
204
212
221
208
237
215
206
209
224
221
206
213
244
210
248
217
233
238
218
216
234
214
231
245
212
232
227
231
220
234
249
211
246
227
216
236
236
202
221
232
204
220
243
204
240
233
232
215
240
210
200
224
247
202
246
228
202
223
248
243
234
217
216
239
223
242
241
213
224
210
232
230
247
232
237
212
246
203
221
203
218
214
221
232
223
228
238
246
206
225
222
213
222
220
232
247
232
213
238
217
208
220
200
232
241
235
213
228
213
232
200
212
238
218
212
239
202
229
228
233
241
247
246
232
227
244
205
219
250
246
200
222
231
221
248
234
225
246
200
217
250
232
217
238
230
205
237
230
242
232
237
239
245
225
238
233
236
202
246
219
244
213
233
240
223
245
241
225
214
232
222
243
227
211
246
205
224
220
242
247
240
226
217
223
218
200
201
219
221
228
229
211
233
207
220
226
236
211
238
203
213
211
236
221
207
204
208
200
235
243
214
247
231
206
235
202
247
242
238
228
228
230
220
240
213
209
245
233
225
242
222
216
250
210
243
239
214
225
250
204
234
248
224
219
219
211
209
205
233
233
231
207
237
245
229
212
242
221
214
230
222
238
220
241
208
218
237
200
249
234
235
204
240
220
201
239
250
246
237
241
202
228
238
207
202
230
200
220
225
221
236
240
250
204
210
207
244
208
250
217
200
211
223
242
201
238
224
239
240
206
240
229
231
218
200
219
223
211
237
201
202
244
200
200
200
209
235
234
208
228
246
221
225
237
250
250
235
250
213
242
238
205
221
205
227
224
235
224
228
228
225
239
200
214
239
213
237
240
236
236
215
207
202
250
205
200
228
224
241
226
217
226
240
214
226
229
225
238
246
235
230
234
209
218
229
215
238
241
228
223
237
220
243
209
216
203
206
248
235
205
205
233
200
235
233
233
209
233
207
222
218
226
235
245
227
235
237
222
205
247
213
237
229
218
221
248
224
249
208
229
218
223
207
243
225
244
238
205
230
218
232
222
231
236
223
213
202
229
246
224
219
226
243
216
221
243
236
227
220
247
230
208
237
222
211
205
204
218
249
205
228
204
240
234
220
224
237
228
249
233
250
241
222
211
248
220
203
210
238
245
244
219
243
205
214
208
204
230
232
235
433
415
484
512
406
366
386
334
427
442
327
418
340
502
342
390
350
444
453
494
382
505
355
517
390
460
459
418
352
431
503
348
395
494
411
323
444
509
484
454
412
342
374
385
469
371
417
484
335
442
412
474
329
503
429
489
427
479
366
383
386
393
332
364
421
443
347
408
327
411
364
481
482
327
427
418
391
449
478
419
466
508
432
485
349
474
463
477
327
323
434
417
492
370
427
336
495
465
335
441
390
398
361
448
339
392
338
437
438
401
507
512
421
330
327
368
424
426
401
423
520
331
467
520
348
432
451
331
347
485
362
336
466
323
464
358
432
490
383
457
460
469
347
415
468
516
352
509
414
442
385
367
410
391
408
423
450
388
500
409
420
355
488
327
336
493
466
465
498
391
355
351
380
465
515
513
430
380
459
437
495
513
489
414
499
499
359
472
417
369
488
386
451
345
476
352
338
378
481
478
324
383
491
499
415
341
345
332
397
488
370
360
381
360
384
424
368
357
492
429
494
393
502
469
488
487
489
389
482
486
341
360
451
387
457
322
517
507
375
419
449
361
492
354
409
494
362
476
422
409
482
508
428
425
477
459
369
450
493
353
385
427
366
496
333
507
409
453
376
346
507
425
388
434
428
376
514
499
325
444
511
468
482
323
520
429
337
342
427
481
370
489
417
422
459
394
399
449
406
336
452
352
349
457
334
427
388
384
458
376
429
390
449
380
357
464
371
519
367
446
411
472
398
420
351
376
376
475
421
380
506
467
413
353
449
389
370
417
500
483
507
346
404
443
421
429
520
438
344
435
384
321
380
340
483
349
488
428
485
438
372
445
460
363
503
453
343
338
506
381
509
477
410
357
375
470
480
480
474
343
518
489
454
406
427
487
402
518
479
470
328
405
407
328
448
424
363
321
512
505
488
378
443
498
369
472
465
438
426
414
454
354
460
322
452
407
457
463
469
406
320
398
484
406
477
482
350
471
393
389
486
417
338
411
503
436
375
339
431
489
345
346
480
484
398
483
518
363
403
426
338
508
511
332
432
485
407
332
518
419
454
457
519
502
327
425
371
501
470
355
449
427
516
394
458
470
401
320
456
380
455
396
445
331
407
357
369
396
321
466
476
445
515
441
512
504
380
381
354
437
434
411
484
432
418
419
441
379
459
399
329
334
510
401
479
481
363
338
425
323
476
490
479
377
343
394
495
328
516
377
382
462
449
320
442
392
382
477
481
335
425
475
353
321
346
474
396
516
507
419
477
491
335
416
351
427
442
364
367
343
320
487
447
366
328
495
423
447
476
486
457
520
414
494
371
404
519
389
363
440
453
326
371
344
418
334
368
502
371
425
499
492
464
387
450
433
437
389
444
462
323
507
385
443
451
360
392
457
369
353
488
516
406
419
490
323
469
393
330
456
369
390
375
514
329
324
334
470
412
402
427
410
385
390
499
441
427
458
460
323
424
378
488
407
493
389
424
360
413
376
385
323
471
405
471
398
399
407
430
357
338
494
443
334
451
381
470
338
465
512
322
405
490
366
335
407
443
406
339
508
387
494
430
435
402
475
508
472
405
427
378
364
416
455
428
414
399
500
397
388
385
495
495
368
442
325
455
435
395
419
352
355
445
351
361
370
395
360
438
323
482
431
327
381
330
452
358
416
370
373
339
435
335
365
518
339
469
391
435
465
447
395
352
473
344
505
320
347
515
470
426
376
334
401
449
511
426
516
484
404
457
444
505
341
511
419
358
406
451
484
443
385
441
420
477
332
505
377
323
393
458
413
386
380
406
494
329
489
419
407
392
371
512
327
497
449
397
506
461
417
396
373
413
385
335
434
430
471
507
520
385
498
321
453
334
464
518
487
485
502
475
382
359
489
359
403
361
350
408
416
484
433
414
329
378
418
462
430
368
473
345
432
385
458
433
369
491
402
400
333
495
392
413
478
496
330
389
503
490
342
486
435
393
520
489
323
332
342
325
333
419
443
444
370
330
503
359
320
342
493
454
377
517
459
391
448
425
356
346
373
378
391
448
512
487
361
452
367
379
444
381
503
464
456
407
384
444
400
418
518
412
448
347
518
512
388
506
472
349
473
506
496
329
431
499
349
427
448
345
414
416
337
512
355
463
392
436
517
518
405
379
494
339
397
442
446
406
494
369
465
414
356
391
380
430
473
494
456
355
437
334
382
405
489
423
412
338
396
449
499
385
388
510
391
456
355
414
477
414
475
370
460
346
405
332
510
357
349
407
376
465
443
518
449
376
425
499
472
352
478
337
454
453
346
458
336
387
401
389
497
392
386
393
383
348
494
510
365
465
416
356
471
505
400
480
365
321
417
474
456
493
486
499
393
512
353
492
440
390
419
390
461
462
483
323
516
406
416
395
498
395
389
386
483
389
505
446
340
415
444
405
326
399
416
452
427
395
447
414
332
368
403
385
513
405
516
476
491
468
481
326
431
473
341
450
506
345
474
323
448
430
429
322
380
454
405
463
461
426
334
339
472
428
374
349
395
436
464
392
520
328
438
476
364
484
487
509
382
409
488
502
350
480
415
372
467
412
398
327
361
515
359
343
436
503
512
438
383
339
411
366
321
381
362
457
348
366
368
369
410
361
506
336
448
405
455
445
420
440
499
346
459
428
425
379
447
376
345
461
462
440
404
498
466
381
420
322
476
505
436
397
421
419
400
496
493
435
345
490
384
346
513
511
358
327
325
462
419
321
406
425
428
439
364
460
426
422
490
453
428
325
430
418
421
454
377
477
430
496
323
414
438
428
452
338
505
424
443
468
442
438
354
323
331
372
332
355
493
433
467
328
342
501
351
490
460
326
364
501
350
344
405
431
368
351
493
358
395
338
498
361
344
507
348
451
394
349
454
329
402
475
370
356
399
454
444
414
352
344
423
479
425
444
489
420
442
499
392
408
342
349
360
428
326
438
399
507
467
403
357
329
421
413
438
367
355
518
354
472
482
434
395
335
451
520
504
405
423
350
412
419
495
335
323
434
394
344
465
475
413
477
376
464
341
502
519
473
362
451
408
447
458
341
413
325
419
508
368
344
502
484
448
468
406
455
389
451
446
502
382
503
384
368
456
408
450
472
508
343
485
402
516
368
505
490
443
404
358
479
393
419
448
360
508
371
405
419
448
400
414
486
487
494
468
462
504
469
435
396
376
345
390
490
494
500
502
422
399
325
345
355
498
509
491
325
466
340
416
456
393
511
320
501
416
400
480
322
481
334
328
359
444
454
499
418
412
493
460
447
487
511
330
461
369
349
373
444
349
430
440
419
366
404
468
377
508
491
325
470
437
386
340
341
496
359
401
516
361
385
392
421
468
345
347
410
490
430
327
505
503
449
371
485
344
387
411
413
427
408
463
364
427
403
473
520
341
366
387
467
344
368
479
487
505
328
427
370
397
381
323
360
487
513
336
494
452
424
457
443
444
400
328
485
484
368
321
328
326
437
392
500
387
345
324
390
368
368
348
476
419
437
492
479
362
510
414
324
411
460
442
340
483
451
413
407
464
371
463
489
424
407
453
430
373
358
352
407
344
429
443
412
392
355
475
438
398
512
372
479
335
387
498
446
473
427
506
425
396
418
333
342
330
365
333
409
500
510
447
357
336
457
488
503
505
501
341
429
515
342
399
484
391
353
333
341
376
474
486
378
472
328
385
463
455
506
461
370
407
502
336
367
368
482
348
357
518
484
489
452
509
342
340
458
460
508
366
492
366
384
386
466
517
494
487
411
394
475
427
491
480
367
373
467
345
479
416
384
466
328
502
323
358
345
383
350
470
453
509
479
374
459
443
472
457
328
452
477
463
514
404
392
366
422
389
500
401
412
492
511
489
424
453
472
514
394
347
388
331
326
508
411
399
393
383
474
337
322
514
461
410
382
477
412
375
356
372
410
411
345
508
409
335
420
411
494
360
326
472
398
485
433
398
424
429
356
436
517
460
390
424
492
429
328
431
517
445
445
352
335
392
420
361
345
501
410
385
410
425
495
515
391
351
470
397
500
418
344
337
461
431
477
351
339
371
348
369
474
325
407
411
489
462
465
326
322
337
487
382
370
501
454
384
362
505
442
368
481
346
326
358
508
339
402
401
352
486
329
329
424
447
474
509
438
393
463
372
399
454
409
449
453
468
439
447
360
392
371
375
363
365
418
424
391
483
418
387
503
327
496
374
470
497
457
519
377
473
456
519
355
325
329
426
482
331
459
518
422
320
404
507
415
330
443
409
347
519
347
472
499
380
378
437
450
480
332
445
400
400
504
348
481
354
482
384
478
452
380
462
473
349
351
339
337
426
324
520
457
386
345
412
507
353
342
346
381
489
369
497
505
356
478
502
363
386
484
331
471
399
419
444
398
397
436
372
400
422
413
463
353
484
485
474
394
497
434
346
450
461
421
330
408
499
517
430
444
323
451
445
508
343
334
433
422
502
516
451
513
376
349
335
416
363
514
396
422
429
393
400
460
441
320
364
344
377
513
329
379
403
424
321
516
476
381
401
365
444
518
457
427
365
356
515
323
232
222
212
239
221
209
238
206
249
241
249
235
204
221
212
250
229
243
241
245
244
216
208
228
240
215
231
216
215
244
221
238
239
243
210
228
226
203
241
231
221
242
219
210
237
224
237
219
231
213
237
225
245
248
224
216
249
200
240
229
248
246
207
220
239
228
219
214
243
242
231
201
218
207
205
244
244
205
212
227
219
245
213
210
204
208
211
221
241
210
215
216
208
216
239
243
204
213
202
217
217
232
214
244
236
229
223
234
217
210
224
220
246
215
216
200
239
200
217
246
201
239
243
227
207
228
224
250
200
224
208
211
210
207
210
236
224
214
220
217
229
207
241
242
229
220
241
227
243
221
218
219
220
218
229
234
245
213
228
231
244
210
247
236
208
204
201
219
244
216
202
226
240
245
206
215
215
207
233
223
205
210
222
230
200
220
211
211
244
228
241
206
232
219
243
216
246
217
221
203
210
226
220
249
227
216
227
232
207
239
226
226
217
206
218
227
230
226
223
214
203
229
200
235
234
221
240
231
249
231
230
211
211
244
249
239
216
204
214
225
222
231
248
248
236
243
210
242
245
217
238
210
213
249
223
207
210
219
208
237
206
230
206
215
224
241
223
249
207
202
247
236
215
241
213
232
223
240
207
205
228
225
202
218
237
232
217
227
233
211
201
216
225
233
238
237
225
250
221
201
229
222
200
230
243
209
213
227
240
245
236
218
205
202
217
228
212
204
205
223
247
218
210
243
212
209
234
238
248
223
215
205
224
227
237
228
207
242
239
218
230
240
214
211
200
232
250
221
223
207
204
234
226
205
205
200
219
241
244
200
206
243
213
217
232
247
227
201
241
211
229
232
243
250
230
228
228
230
238
247
219
215
237
246
217
249
216
204
219
242
239
225
229
220
237
200
226
245
226
244
202
210
222
218
222
242
246
236
210
209
216
226
205
238
206
249
210
223
215
218
235
228
200
217
244
205
231
216
227
248
204
209
235
202
236
207
202
245
233
219
227
246
219
217
250
244
218
201
244
232
215
238
232
212
207
238
202
230
221
222
219
247
241
235
207
230
202
220
227
200
246
214
204
220
232
225
214
207
249
210
207
206
201
243
238
201
208
222
215
209
222
240
215
210
213
248
225
242
229
202
242
241
205
221
249
237
207
248
236
201
207
242
238
247
217
232
221
227
242
241
211
206
248
248
203
248
217
248
219
248
215
237
244
206
238
223
244
235
219
223
210
223
222
202
206
240
219
206
226
215
201
214
216
203
215
238
217
207
240
202
204
248
242
233
226
220
221
229
211
229
249
207
203
227
242
230
248
211
231
241
218
200
201
237
209
239
236
244
232
249
225
218
241
243
248
239
202
221
247
228
209
204
203
210
248
205
210
217
239
234
241
219
230
250
220
246
214
219
215
234
244
203
201
240
245
234
223
205
231
202
212
225
228
218
234
202
204
220
212
202
236
240
248
214
222
248
205
222
250
224
219
237
219
206
209
241
221
212
246
235
211
235
216
243
215
250
220
204
203
222
212
246
238
245
211
211
219
213
244
200
239
244
227
235
243
242
225
209
221
233
227
241
240
201
230
245
204
235
250
242
233
239
242
218
239
220
232
202
234
204
212
212
225
203
245
230
213
235
212
248
228
206
208
222
204
237
228
238
245
222
215
233
232
240
202
202
225
237
249
208
242
238
246
232
227
239
237
238
236
234
232
247
236
249
210
234
245
225
200
208
231
215
209
201
222
247
223
229
210
248
217
231
221
205
207
232
242
247
237
226
211
236
222
244
205
223
237
231
220
234
211
242
214
236
206
232
204
220
249
204
227
215
216
236
242
243
209
250
248
228
203
249
230
232
205
241
200
242
206
243
202
227
246
231
214
249
222
207
249
220
215
245
215
241
234
233
244
223
224
227
248
233
211
212
250
242
201
245
210
207
237
226
216
240
209
236
236
207
204
200
223
214
230
230
230
202
204
213
238
208
203
237
237
249
202
205
214
213
238
220
206
245
209
234
230
212
230
211
230
236
210
250
217
235
211
236
237
220
246
247
230
227
243
249
219
215
200
202
203
203
238
249
225
209
232
224
209
200
215
212
221
206
234
206
204
213
239
213
208
236
242
210
204
240
210
209
209
233
247
228
240
209
235
239
239
205
212
232
248
204
241
209
248
204
242
241
249
234
227
218
207
236
240
229
240
235
220
220
200
218
229
249
240
200
246
243
214
217
228
231
201
248
246
239
213
235
216
203
223
238
220
242
240
202
212
214
208
221
230
243
228
215
248
209
244
225
227
215
208
248
203
205
229
216
225
242
240
223
204
238
202
202
231
239
202
249
219
217
202
244
206
236
205
239
224
249
205
216
235
233
248
231
237
218
213
209
238
201
246
205
226
200
214
245
203
207
248
201
236
217
203
241
201
241
233
205
230
228
221
238
234
215
229
247
214
206
212
221
232
201
250
207
205
208
234
222
217
247
238
230
236
232
242
208
210
245
221
229
208
248
243
202
205
237
242
209
234
228
238
231
213
232
237
219
218
216
228
233
233
225
226
243
217
223
209
239
223
229
220
212
221
221
219
200
215
226
217
202
207
212
244
247
234
215
209
201
211
223
224
212
226
247
247
203
223
220
231
213
227
233
212
214
221
233
213
204
221
201
250
227
240
205
241
244
211
209
239
200
242
210
242
238
238
215
225
216
214
247
216
241
232
208
208
243
230
216
236
228
247
222
250
206
210
230
240
202
209
247
244
211
227
231
221
243
227
227
239
203
210
229
249
237
243
243
225
210
224
225
204
228
241
213
209
237
213
248
208
227
217
231
246
239
226
201
205
220
218
209
234
234
203
210
249
241
235
239
207
247
201
238
229
213
232
207
226
245
240
228
221
209
231
221
231
204
204
236
212
212
208
230
221
235
245
231
201
242
223
221
248
227
234
227
238
207
211
201
250
238
202
243
248
211
227
223
205
211
244
237
242
232
213
248
203
235
204
203
210
228
205
225
245
229
234
227
233
248
246
214
249
212
200
228
247
247
226
214
216
207
204
240
205
228
214
214
238
216
247
209
239
221
233
227
222
203
214
208
237
208
209
230
204
227
221
235
233
227
221
226
235
208
246
217
249
232
219
223
246
215
213
239
207
203
225
218
223
228
246
238
247
231
202
213
234
221
217
221
225
212
206
241
207
216
249
204
233
217
223
237
206
249
215
226
216
227
210
240
227
221
248
222
226
233
215
244
225
204
211
229
239
225
237
216
221
202
246
211
217
245
241
239
213
218
211
231
210
221
239
238
235
242
248
242
248
227
216
243
237
228
228
250
236
211
245
200
231
230
239
232
247
221
228
208
248
228
246
240
221
208
248
204
248
249
216
242
236
238
226
220
208
233
208
208
246
206
205
225
205
225
215
216
246
216
205
242
217
228
239
236
213
241
241
235
204
243
205
210
210
206
206
238
228
212
248
207
236
203
240
211
213
225
249
239
237
220
223
232
226
248
201
240
221
244
206
204
219
248
235
244
214
246
239
236
250
213
216
236
217
238
214
232
242
232
204
229
219
231
222
217
242
250
241
244
205
230
240
201
241
221
200
213
233
223
215
219
250
230
226
214
239
200
203
240
246
200
231
248
215
211
220
200
201
249
217
223
233
225
234
214
208
203
243
210
217
232
222
219
202
201
211
207
215
238
226
216
215
216
202
201
210
203
233
204
246
237
248
204
246
209
228
219
249
203
250
233
223
237
232
234
205
234
226
226
230
230
240
245
232
242
220
228
214
227
202
217
230
210
231
217
230
249
215
244
201
215
202
221
207
247
218
233
227
247
203
238
238
206
209
207
245
230
242
248
223
240
211
215
246
210
241
207
248
212
241
239
210
217
203
224
206
229
223
235
208
246
212
246
217
220
244
249
245
200
201
223
243
219
226
236
247
211
201
222
247
212
230
221
242
242
250
223
209
239
249
222
234
249
226
229
225
201
244
235
233
239
250
231
207
238
249
227
228
226
220
220
212
248
210
230
237
244
207
223
229
218
237
229
231
231
201
223
202
249
245
242
225
249
204
202
242
243
207
218
211
210
230
218
227
220
236
223
229
206
234
201
247
214
204
248
240
203
212
215
231
225
233
235
212
210
237
218
234
206
218
242
216
227
225
210
201
239
208
207
239
215
209
238
200
234
203
225
237
210
207
250
243
242
243
242
232
220
233
223
225
204
244
233
201
242
238
218
242
238
244
228
226
227
229
216
206
250
213
205
229
230
248
224
221
218
205
233
205
200
240
248
226
237
223
220
200
226
222
215
241
233
246
245
213
214
210
223
213
216
200
215
250
200
201
227
217
235
209
209
236
250
243
203
232
204
238
229
245
214
225
218
219
241
240
228
219
208
236
242
242
210
243
244
225
224
232
232
204
208
236
201
203
205
221
219
250
231
219
221
240
220
237
202
222
223
246
250
204
229
210
205
216
232
213
212
246
211
202
241
244
210
220
224
243
230
240
216
221
204
224
247
250
210
236
210
230
204
239
247
229
209
206
232
222
205
232
244
232
244
246
207
241
239
205
218
246
234
221
230
206
205
205
205
203
209
200
230
243
244
210
228
228
238
243
249
228
240
211
217
205
245
247
201
236
246
236
231
236
237
217
221
241
221
234
202
249
230
206
243
204
210
230
238
217
226
206
225
221
242
229
201
222
209
221
213
217
204
241
240
233
201
224
226
202
214
209
209
214
249
250
243
203
209
230
245
214
228
235
216
247
210
228
246
224
208
235
249
234
208
247
205
232
228
241
229
231
242
217
213
222
200
217
249
207
208
237
239
208
247
232
221
235
212
240
247
217
247
202
207
236
249
238
247
219
216
221
223
216
241
235
208
246
209
204
243
230
244
232
247
249
248
205
246
245
236
245
233
223
233
247
204
218
200
200
222
210
221
248
241
236
201
208
243
250
204
226
217
209
202
225
211
207
215
230
202
229
246
246
236
233
248
226
204
232
230
205
232
214
250
215
222
250
225
240
234
209
237
207
203
207
233
213
212
207
206
237
228
200
207
204
244
225
237
224
246
235
212
226
220
210
214
249
201
242
236
238
214
218
233
237
210
230
204
203
204
234
230
203
223
244
224
221
232
227
230
214
222
225
206
232
211
237
220
221
218
203
249
244
246
212
225
221
223
243
243
243
212
201
217
237
217
201
241
219
222
227
235
221
213
219
248
248
237
245
249
209
228
227
247
220
220
243
246
241
247
201
228
214
232
228
246
221
209
205
249
213
237
206
233
225
247
243
250
246
239
225
250
203
225
200
225
246
239
206
243
221
200
210
231
235
224
203
234
247
247
235
246
237
211
208
249
226
201
205
201
225
214
237
238
218
243
236
239
218
244
210
214
201
231
241
210
202
225
224
205
208
244
217
250
218
209
212
216
229
222
218
206
208
212
211
209
247
203
217
221
217
223
235
240
207
209
201
231
215
224
205
230
211
203
233
226
237
232
250
239
245
228
244
216
231
219
242
224
205
201
241
230
244
237
234
220
208
221
202
242
215
221
211
206
220
231
209
205
201
210
235
243
249
230
222
223
249
228
215
235
200
216
221
210
205
223
239
209
213
226
208
200
228
244
232
201
209
231
250
221
237
202
224
213
218
212
242
248
205
239
202
243
243
231
234
219
241
250
214
235
218
229
217
222
231
230
205
247
218
212
244
219
236
229
243
236
247
232
245
205
210
220
227
238
240
247
238
230
221
219
224
216
225
218
234
214
217
228
238
227
229
212
243
247
227
201
250
222
212
203
221
235
236
231
205
239
232
242
247
235
244
221
227
229
204
218
231
232
228
209
217
224
236
246
247
228
209
220
208
205
226
248
247
201
202
201
222
211
247
219
230
247
222
208
226
236
208
217
240
209
220
247
203
216
209
243
241
213
215
217
226
245
200
228
225
224
209
217
223
218
242
216
227
220
222
224
249
240
232
216
201
247
222
240
232
200
237
207
231
239
225
242
248
217
235
204
250
243
210
219
224
247
204
223
200
230
240
234
211
224
214
241
221
202
217
218
222
230
210
220
207
211
243
235
220
203
240
200
205
209
227
239
208
235
202
221
204
239
206
243
209
223
220
205
231
201
223
221
249
235
218
239
217
200
224
229
210
201
201
202
226
222
204
207
236
234
249
203
204
201
230
231
212
224
212
221
212
206
200
210
239
208
236
230
225
216
217
240
214
214
239
233
250
239
214
237
224
246
237
208
223
224
216
225
250
202
226
220
248
237
207
204
218
237
240
210
211
229
218
221
203
215
226
203
201
220
244
225
240
237
220
218
246
247
230
225
211
212
238
200
202
237
221
222
217
213
219
201
248
235
203
244
232
211
227
214
202
239
231
202
227
236
213
250
220
250
226
227
217
234
202
248
223
229
243
248
242
211
201
247
244
214
202
217
200
235
230
208
229
216
217
230
211
230
204
240
225
230
227
207
210
229
219
217
229
234
244
227
244
217
232
202
243
227
228
229
220
207
232
250
226
218
213
238
206
218
217
219
200
211
201
207
233
248
214
217
248
200
218
244
229
222
221
237
237
234
227
250
248
207
234
206
210
235
214
248
242
215
219
231
222
214
202
225
234
203
225
235
226
235
226
217
205
228
231
210
235
205
214
234
217
209
208
231
217
247
223
248
206
239
216
212
220
214
233
225
225
217
229
209
203
207
210
233
227
205
221
246
224
250
223
246
233
231
221
244
230
216
200
234
231
244
246
227
207
239
233
249
207
226
240
248
236
233
219
228
210
221
234
239
232
204
202
238
219
242
233
215
200
222
226
233
231
217
239
249
231
218
233
201
209
247
234
210
233
214
223
219
219
241
215
213
234
231
209
214
238
216
227
208
235
247
227
234
223
220
226
230
236
204
203
213
249
241
218
218
247
242
202
225
227
223
200
230
236
239
216
227
236
246
244
206
234
243
230
226
224
240
235
221
250
205
202
202
233
249
200
208
248
223
214
246
218
200
237
246
201
240
204
223
239
208
237
208
237
245
245
203
217
213
207
223
224
215
243
231
208
244
246
248
231
209
226
242
214
209
245
238
204
206
250
226
247
215
219
242
239
202
227
246
211
210
213
213
209
222
226
243
246
244
244
207
203
205
231
247
222
241
211
207
230
216
222
245
247
207
244
200
228
231
247
209
235
244
203
206
201
244
250
248
249
243
238
221
229
223
203
225
225
220
232
206
220
216
219
222
240
217
237
216
241
208
214
238
249
207
238
240
224
205
213
230
229
227
230
243
232
246
238
240
225
205
200
204
245
227
250
224
221
228
232
200
220
223
200
237
222
213
223
247
231
217
240
209
248
223
207
221
229
214
246
240
250
227
226
247
246
249
215
206
234
231
209
209
244
211
203
202
224
246
231
223
250
206
215
249
204
202
216
200
248
238
248
212
209
234
229
207
248
215
200
234
221
210
242
225
244
243
227
248
203
227
223
227
244
218
208
213
238
242
231
234
250
219
243
248
229
234
225
223
229
245
211
240
230
204
208
215
228
206
203
243
213
225
230
218
209
215
227
202
227
242
248
224
214
213
213
200
244
203
200
247
225
229
235
205
211
214
224
218
232
229
214
233
243
207
219
208
247
206
246
209
226
201
222
249
245
204
228
203
215
226
221
218
243
211
236
230
247
216
212
207
212
235
240
201
223
201
204
234
216
215
236
204
205
201
234
221
221
249
239
215
208
219
232
225
215
242
247
249
221
219
213
227
230
228
217
231
215
234
232
215
247
210
205
239
245
213
240
227
245
233
203
216
220
244
220
233
206
216
213
237
203
235
215
237
243
215
201
230
216
221
225
216
241
246
244
205
233
249
235
203
231
213
236
207
215
200
207
202
211
242
218
220
213
230
242
243
213
240
206
213
230
242
233
238
245
234
208
220
203
231
200
214
244
230
244
212
208
210
245
239
209
231
250
234
224
222
242
229
211
209
248
228
205
209
240
206
219
217
201
228
218
235
229
215
222
207
203
208
239
203
227
222
210
209
229
227
233
213
232
212
238
228
250
221
234
224
200
203
203
210
203
207
209
247
221
225
236
240
225
210
242
247
239
237
223
244
212
202
208
233
216
223
211
242
217
232
244
211
236
213
203
242
241
229
205
215
228
202
250
248
241
230
220
223
219
200
201
228
217
236
213
246
241
241
217
205
229
234
202
246
208
214
241
223
230
234
206
223
218
209
238
246
221
240
231
209
231
204
236
232
200
230
244
224
214
204
245
226
248
218
241
249
202
206
242
211
244
217
219
207
237
228
219
249
240
242
223
225
231
219
236
243
222
239
234
206
246
246
240
247
213
249
234
202
240
210
247
250
215
204
225
243
215
234
235
247
201
210
242
223
206
211
226
245
217
242
240
220
221
205
240
227
222
244
518
481
416
374
479
351
379
499
476
518
480
338
330
429
465
474
380
362
410
331
498
336
355
460
503
458
329
334
367
408
492
401
519
342
357
388
435
323
386
520
433
412
396
509
398
388
508
336
476
329
351
453
329
476
465
375
388
379
328
460
366
501
475
406
430
471
422
464
325
378
386
488
510
480
441
514
475
395
412
517
395
509
398
402
424
404
350
364
376
359
391
445
390
381
345
361
485
409
378
471
412
390
414
378
472
345
434
486
422
447
347
412
441
366
501
376
339
395
470
348
328
426
484
491
415
410
428
359
425
431
400
349
341
390
359
451
432
399
464
465
329
340
518
346
500
480
380
407
383
476
339
369
389
373
347
455
376
364
344
439
423
442
421
334
359
506
337
432
372
484
425
443
412
380
414
505
463
345
514
395
350
342
465
365
515
401
453
410
334
475
360
476
519
512
417
432
430
441
438
483
391
408
433
380
401
324
513
475
489
382
414
503
472
508
514
414
443
341
495
349
348
364
323
467
450
390
429
511
464
413
482
381
397
366
409
323
406
439
519
392
507
379
460
431
342
387
456
434
370
341
449
402
495
412
386
412
451
462
365
344
453
383
450
337
379
426
476
453
344
457
359
499
415
443
477
409
356
519
443
497
519
497
339
490
445
421
515
330
492
420
412
423
367
427
518
379
520
474
380
330
431
494
477
445
471
477
374
509
427
366
406
410
456
385
457
454
338
422
424
432
436
486
353
464
504
473
418
462
390
385
434
482
378
459
357
408
467
323
469
427
368
413
390
396
364
352
479
514
464
374
411
466
491
495
456
337
400
463
512
401
338
392
365
419
425
383
325
411
517
432
472
447
501
334
356
505
511
448
415
445
381
499
409
480
324
439
320
347
447
388
427
489
352
427
504
456
408
337
415
449
458
489
370
407
425
411
329
361
506
510
484
451
513
363
388
410
474
359
486
425
471
345
461
369
468
427
368
457
321
418
451
417
320
328
410
458
420
327
500
454
472
358
418
341
518
450
328
421
475
506
358
424
464
362
454
452
411
500
387
437
518
424
426
353
426
448
425
325
406
348
380
459
506
327
358
456
433
476
340
482
379
446
343
484
378
361
370
342
475
348
478
490
393
450
421
476
329
360
326
512
385
443
519
397
388
513
369
455
503
387
406
493
495
481
448
443
472
371
508
502
482
324
450
413
370
374
320
483
506
348
426
342
344
381
403
438
497
352
499
394
424
467
423
452
457
433
385
323
324
390
356
422
339
427
430
474
410
456
437
509
481
507
432
416
438
327
490
473
411
380
505
368
480
365
410
516
485
413
406
352
494
392
440
491
466
327
349
358
323
383
516
431
448
488
467
497
329
459
408
501
423
511
478
396
387
437
420
346
365
427
330
369
499
486
509
362
425
450
348
421
511
331
400
485
387
378
367
401
468
428
448
472
340
486
430
466
434
452
417
471
407
513
348
518
447
369
408
372
322
425
417
511
503
412
338
489
414
439
454
487
471
406
473
444
443
519
382
477
381
371
359
352
446
349
481
467
424
480
409
504
459
341
328
504
381
496
385
515
334
469
375
376
339
360
362
456
384
491
464
386
452
341
392
440
453
422
407
372
345
498
356
506
507
431
365
358
345
470
456
327
478
383
385
396
381
320
481
504
345
396
413
509
489
498
400
383
451
386
500
411
409
439
375
357
478
345
449
376
408
515
324
514
337
372
431
390
420
332
427
491
484
445
494
473
445
396
477
355
484
349
475
367
510
361
410
431
474
419
446
339
448
471
420
336
489
512
437
446
461
383
463
423
481
503
353
468
346
398
434
516
387
404
454
430
366
445
355
360
332
473
388
401
479
378
366
323
413
465
490
509
435
385
514
487
343
401
506
508
385
339
397
413
427
465
495
494
393
444
429
501
392
502
321
355
431
497
424
481
502
483
419
397
508
472
457
519
448
327
499
484
487
492
387
434
371
324
368
331
499
321
438
392
513
360
506
351
405
350
379
346
363
494
489
356
519
496
431
354
436
336
463
335
506
520
428
499
392
403
475
358
421
442
476
425
415
422
357
447
370
416
372
465
516
447
380
473
426
402
429
324
455
446
391
355
444
323
350
436
348
416
443
369
440
396
479
349
472
495
336
408
507
471
484
447
422
386
425
416
441
393
511
375
456
343
451
517
456
429
519
475
393
489
514
477
485
497
397
435
372
505
421
483
328
433
359
412
373
333
444
494
460
421
406
390
328
440
478
332
518
518
506
402
470
442
378
412
409
399
336
487
330
343
493
435
355
376
488
458
410
459
331
392
492
330
437
432
396
326
443
337
484
442
437
336
381
518
431
331
363
438
362
500
423
424
341
455
514
377
469
409
383
448
491
470
432
364
473
390
448
328
471
353
409
446
382
479
391
328
325
483
485
447
471
371
374
354
339
410
383
434
437
355
413
508
324
492
426
480
408
347
482
466
414
325
464
360
323
419
352
451
466
334
340
388
324
511
363
477
436
346
386
324
375
507
389
431
413
362
444
478
479
349
434
358
481
398
406
456
512
323
423
337
432
406
380
423
455
446
380
463
468
517
504
483
379
395
409
440
461
459
476
333
493
346
368
391
480
395
350
323
355
429
401
323
342
362
396
381
433
481
507
481
344
356
444
418
365
489
464
436
325
452
398
452
457
332
454
466
354
458
393
359
399
464
351
355
514
469
341
431
448
506
395
366
443
351
391
444
336
408
467
436
509
380
468
467
462
368
351
371
492
483
386
381
476
480
399
463
440
445
456
342
416
500
321
369
484
435
453
410
474
400
515
411
494
471
472
417
363
340
488
339
475
359
516
441
461
361
518
448
382
494
351
352
484
441
433
402
461
342
483
337
499
363
355
462
329
498
514
517
327
454
390
463
347
466
327
479
487
492
431
425
425
470
453
430
473
459
328
413
508
384
457
509
467
489
389
348
371
350
407
400
416
372
358
456
431
509
361
421
370
399
462
472
488
427
351
476
415
340
428
505
513
433
379
415
517
389
514
452
320
333
401
419
492
331
342
322
407
328
429
508
498
460
494
385
457
354
354
492
479
382
421
494
478
423
434
446
360
358
362
496
456
378
416
450
407
353
418
320
393
493
503
484
368
477
379
349
474
439
517
425
432
450
359
504
369
322
519
403
323
458
436
398
327
384
508
366
517
430
460
431
385
402
494
458
398
425
459
400
391
371
448
332
403
323
482
448
408
461
479
496
483
488
421
481
343
421
396
517
322
367
461
323
454
445
398
421
485
364
333
361
440
326
508
369
479
407
479
353
320
477
361
362
402
487
515
459
359
367
420
365
445
391
353
431
493
407
480
447
331
417
393
324
357
441
340
497
490
426
381
518
509
484
388
322
359
359
419
493
464
504
508
347
475
410
481
361
330
376
516
387
475
424
345
347
479
450
372
475
344
380
507
413
438
343
432
406
378
345
454
518
424
491
420
371
497
403
461
479
445
364
381
354
386
402
453
447
493
390
422
407
346
443
520
367
399
358
415
321
353
500
489
434
465
357
415
349
401
449
506
415
481
363
456
409
365
341
427
466
409
356
363
485
410
365
442
346
485
333
375
482
470
379
485
324
472
422
481
421
464
342
434
453
385
470
457
517
355
497
375
379
441
516
494
423
356
320
495
361
385
493
482
489
375
383
520
383
465
476
440
355
517
396
437
393
381
502
449
471
412
321
345
425
439
437
322
503
361
458
326
479
505
369
484
515
346
397
406
477
454
338
477
492
380
330
488
484
469
374
332
388
442
497
444
474
360
417
450
506
488
347
327
454
345
409
507
393
451
500
453
360
415
339
327
512
492
400
354
392
464
374
457
355
479
448
484
322
374
484
423
395
362
378
432
468
510
436
425
515
462
516
323
480
341
468
403
357
496
455
458
487
409
387
361
464
448
362
464
433
503
437
431
352
332
459
500
391
326
387
491
518
456
485
326
474
477
343
421
471
479
492
331
460
325
377
492
340
364
495
376
390
504
366
326
449
438
511
399
392
388
455
387
448
484
473
462
415
509
461
516
477
467
442
477
514
487
326
497
364
409
370
346
400
441
416
487
485
391
363
405
480
514
509
476
456
406
358
345
407
510
348
359
350
515
344
517
431
336
513
496
377
505
320
399
415
489
416
401
400
481
405
352
493
474
362
388
517
503
500
437
363
328
513
421
321
410
357
353
366
371
403
329
335
352
429
409
500
476
463
350
459
334
322
511
414
446
475
451
381
464
483
404
439
326
435
423
507
472
455
369
518
422
340
432
507
331
352
478
514
469
323
505
363
403
346
511
487
475
453
398
455
437
404
435
503
426
356
391
438
411
360
428
519
503
494
486
352
508
351
388
448
439
331
474
429
363
347
437
512
362
328
484
413
411
326
483
461
449
474
454
364
384
474
422
516
352
394
392
359
495
450
351
369
374
404
423
340
420
478
478
336
369
339
518
434
413
472
415
412
506
361
433
405
410
470
376
407
394
445
335
350
489
348
513
371
420
413
484
429
448
411
392
325
495
442
408
417
480
443
345
416
341
513
433
417
379
357
339
476
444
512
459
455
497
421
459
333
514
367
385
373
428
441
330
433
511
469
426
432
452
475
363
386
326
351
323
467
383
496
335
429
483
484
422
502
337
321
439
389
402
395
336
367
415
416
324
349
332
520
376
394
393
365
454
497
497
417
420
428
323
330
351
483
326
373
439
370
341
358
476
494
457
454
424
423
408
433
379
346
494
404
390
518
370
343
364
416
502
324
507
519
499
334
438
454
460
483
441
419
471
388
502
511
358
323
451
379
453
328
386
454
498
459
323
402
374
407
450
503
388
383
459
513
428
463
443
447
471
506
508
519
339
430
426
495
494
437
360
354
337
367
487
482
387
420
380
492
393
455
335
330
353
503
353
509
433
472
410
349
447
451
343
412
502
496
429
490
465
387
389
447
429
328
408
472
332
374
491
325
419
483
390
419
481
505
337
510
375
348
409
416
475
349
458
437
388
488
344
430
454
480
350
487
358
501
349
451
431
357
510
398
377
377
324
452
335
373
329
457
494
401
482
419
348
430
345
362
417
518
410
398
419
407
461
379
375
463
389
354
345
338
421
469
471
430
451
398
410
406
375
435
446
413
370
387
374
335
471
346
398
440
410
394
380
413
487
453
422
327
343
510
435
344
472
336
353
435
516
365
464
360
338
478
510
458
359
503
455
452
502
457
415
504
386
356
483
442
434
352
423
322
346
385
480
329
453
403
370
512
443
511
520
492
455
390
420
474
352
394
350
327
397
361
346
480
389
345
321
418
518
376
383
481
331
350
502
326
508
453
321
373
352
441
410
448
359
474
486
509
512
487
371
361
391
384
466
491
501
428
473
408
361
520
463
472
480
507
380
496
342
430
457
459
339
404
416
349
329
427
331
361
378
346
361
324
343
324
484
431
441
380
341
375
432
355
360
443
479
417
407
360
518
476
370
355
421
483
364
371
411
434
467
407
464
481
497
352
417
399
469
380
405
430
426
406
364
425
362
396
344
465
439
379
433
510
495
496
362
327
424
473
391
337
490
359
369
436
483
325
434
444
357
357
482
377
483
479
402
363
462
429
342
468
494
470
348
478
445
448
397
331
449
417
374
501
511
416
515
503
369
514
464
340
340
426
442
401
471
414
440
485
492
513
492
358
488
354
448
395
500
417
391
515
371
396
494
347
514
502
515
459
459
511
475
347
447
430
373
343
443
406
385
358
372
326
358
320
474
467
338
346
491
393
501
431
454
490
374
397
434
383
502
382
482
387
427
467
397
488
375
333
464
344
466
332
424
439
372
354
514
479
343
387
383
475
370
439
474
488
444
324
328
438
448
343
369
480
381
351
458
411
507
331
424
458
450
460
450
342
353
389
403
483
475
459
352
421
474
457
433
436
328
366
358
439
391
369
345
344
493
508
514
491
441
421
487
410
328
371
331
428
495
470
333
404
517
444
360
438
445
466
387
357
409
449
419
353
344
393
457
356
323
336
388
348
366
415
379
404
401
336
440
373
513
349
407
461
415
436
333
443
358
359
459
436
357
472
378
499
324
463
329
467
390
418
337
406
460
514
509
352
465
493
412
516
404
457
481
405
390
508
321
509
392
482
419
479
330
450
459
461
515
447
364
354
430
339
342
481
341
376
333
496
477
399
346
383
513
510
376
363
516
440
377
395
394
519
344
352
452
366
437
381
479
495
455
343
502
507
368
436
461
390
405
487
354
408
362
426
468
361
506
410
347
444
359
348
379
428
357
374
498
394
333
445
329
493
444
455
405
359
375
411
510
360
463
337
404
367
371
391
415
342
471
339
334
501
402
349
329
463
375
398
515
414
366
493
439
330
455
332
335
416
399
515
519
390
400
408
489
339
423
348
431
434
434
512
331
341
517
471
477
348
357
454
447
405
346
430
397
403
516
399
408
371
330
386
481
436
436
427
368
394
358
373
325
434
344
410
332
343
501
438
389
442
354
514
501
486
490
416
381
484
346
435
414
422
517
425
503
356
509
403
490
478
435
416
477
459
449
419
464
373
338
448
387
452
498
480
407
375
519
347
353
426
349
340
396
354
507
442
448
426
367
453
341
500
361
331
460
340
515
458
497
486
504
490
361
379
407
450
480
456
332
418
326
438
411
372
367
345
473
371
389
498
398
435
455
498
356
403
450
347
320
340
368
377
448
324
480
434
334
436
469
353
414
378
465
390
454
459
430
386
376
462
512
339
437
400
380
471
412
418
478
464
366
487
423
393
356
472
439
466
408
427
358
369
506
368
494
337
398
340
501
321
459
370
332
405
366
486
453
388
389
337
401
387
359
517
462
338
424
346
451
465
487
457
463
488
372
452
347
327
329
493
337
396
474
344
407
382
515
334
331
473
359
325
331
432
404
338
512
397
356
407
385
385
405
447
464
370
439
421
325
381
326
519
462
386
348
350
358
485
371
358
335
449
328
518
382
509
479
475
404
445
394
406
334
435
421
427
399
489
354
456
493
350
485
327
396
427
437
439
346
362
408
427
447
475
418
342
365
449
467
378
474
431
352
445
498
488
420
468
340
490
437
353
477
394
511
486
333
475
501
465
455
506
329
346
414
490
363
397
462
414
368
337
464
498
343
393
427
366
505
440
473
396
498
360
416
346
510
398
428
419
375
437
374
371
513
412
469
437
329
415
441
501
517
381
505
370
409
345
395
387
454
446
461
397
341
427
407
493
493
412
475
430
426
471
493
404
381
512
346
505
494
435
402
470
431
351
495
335
486
411
382
338
415
415
374
465
343
509
399
436
323
408
398
401
383
380
440
474
429
442
322
354
387
325
417
381
424
497
361
441
382
478
367
362
357
485
444
368
510
401
491
428
491
504
387
427
516
515
392
508
411
330
391
398
513
398
446
503
385
473
421
377
490
510
411
320
421
382
375
510
412
513
467
489
470
404
487
488
333
483
422
403
495
416
322
475
469
433
396
471
329
464
465
389
455
329
376
473
515
452
345
510
353
419
395
336
406
511
487
506
482
433
365
414
431
394
411
327
398
339
466
423
371
418
497
469
429
322
497
373
518
379
361
513
407
416
361
457
338
471
468
356
467
360
426
381
423
513
391
420
492
328
426
488
459
493
352
516
338
432
333
393
484
357
449
347
340
445
362
344
446
349
390
368
412
520
510
387
481
481
507
362
419
426
331
447
434
376
412
346
483
375
322
356
333
457
393
347
516
370
335
467
337
431
498
415
457
476
385
394
411
489
391
473
367
343
328
447
456
358
500
413
439
447
478
451
411
386
378
333
361
375
454
505
407
391
360
443
484
348
426
518
442
481
451
499
351
438
484
341
503
385
424
365
411
499
513
453
384
501
515
460
334
419
504
425
488
512
327
502
331
398
384
378
501
494
365
324
482
433
421
329
376
359
405
330
428
457
329
331
445
457
369
358
451
353
368
372
472
454
424
502
393
361
340
490
354
495
386
489
460
428
421
323
445
472
395
333
484
459
380
407
509
516
335
413
401
350
511
490
423
325
512
483
354
470
487
473
465
440
400
338
426
466
472
468
338
334
433
488
382
484
390
348
321
434
504
475
486
401
406
514
416
364
387
400
500
372
337
514
506
380
494
438
488
492
402
479
427
344
394
417
422
401
349
420
352
418
372
500
441
407
362
348
358
408
345
474
427
492
376
486
393
389
387
423
449
422
448
494
451
494
423
511
485
459
472
368
509
353
406
342
479
361
460
512
386
431
379
367
424
481
366
425
430
329
411
457
367
500
409
437
440
363
361
450
361
450
376
461
371
399
447
361
472
460
363
463
412
322
451
465
397
466
465
367
503
404
407
321
467
463
339
496
383
516
460
422
438
357
324
357
414
513
454
379
348
456
511
346
426
377
494
377
469
342
345
488
464
440
324
328
431
499
424
514
435
414
435
409
414
380
391
392
442
387
409
368
331
448
323
376
354
477
385
512
328
452
412
400
398
355
327
354
339
458
342
391
419
350
356
503
486
447
385
483
354
321
349
323
393
504
438
429
377
388
354
359
445
464
341
416
377
363
518
391
346
414
415
462
426
443
438
507
506
494
503
402
391
492
410
321
504
475
472
480
401
399
357
393
438
340
503
352
405
400
353
386
401
373
448
513
454
391
398
357
458
397
436
480
489
519
402
464
384
496
494
401
439
473
337
342
411
503
455
508
450
355
384
482
356
378
391
490
446
358
381
336
416
511
460
358
433
438
393
456
467
422
489
446
388
433
507
322
341
431
438
338
513
464
396
450
518
474
507
350
468
354
350
447
514
405
375
384
514
499
427
375
411
398
433
451
385
432
408
497
433
475
469
340
328
399
352
436
335
358
459
389
430
345
331
388
440
423
431
410
373
482
449
365
356
324
447
471
441
487
498
331
469
382
447
447
473
390
460
330
440
442
394
517
457
372
384
335
509
427
502
371
417
346
407
477
404
348
369
333
355
398
365
498
492
442
512
324
430
379
475
361
407
505
356
421
495
338
481
325
500
515
445
322
466
329
379
382
378
354
412
429
369
500
520
407
376
360
451
431
474
404
382
516
482
501
392
464
472
454
351
344
520
330
360
461
355
344
359
441
357
430
478
463
494
428
409
395
420
387
378
478
418
427
322
518
374
462
435
423
392
510
491
370
335
339
488
452
447
419
477
428
447
426
512
345
370
474
461
396
340
421
344
356
416
483
337
506
408
456
435
519
380
349
385
422
482
350
449
336
328
335
475
425
416
449
370
455
465
514
458
452
387
477
423
408
439
376
457
404
409
387
514
325
320
471
392
507
491
357
477
350
369
366
365
518
428
399
517
474
392
512
482
324
503
480
387
470
453
496
513
340
480
400
366
331
332
433
505
428
440
417
494
472
379
499
409
457
332
330
334
349
420
506
390
488
506
366
402
406
468
428
446
471
464
384
340
376
450
334
451
442
477
499
429
427
406
321
452
432
350
515
477
390
511
419
463
473
324
415
411
371
446
446
432
436
364
375
459
384
389
499
388
324
411
383
328
426
500
489
349
342
479
423
375
325
485
346
488
442
497
331
339
404
322
484
406
384
332
403
370
331
358
438
490
332
436
471
457
515
461
495
495
501
375
370
481
351
374
324
455
518
419
471
338
454
385
342
454
328
365
400
396
510
470
415
356
334
511
434
393
446
501
337
482
422
474
465
326
394
352
469
500
393
469
505
450
495
481
385
352
357
383
444
452
362
483
385
385
424
376
444
468
516
447
332
427
449
377
478
416
511
351
454
348
388
326
379
411
358
514
462
427
341
506
363
417
330
355
343
513
362
336
485
392
432
396
369
375
509
373
519
478
500
497
454
415
397
359
424
326
517
323
369
359
442
506
433
328
466
377
342
412
399
465
489
481
490
424
419
354
408
341
423
405
402
498
324
504
380
417
491
485
482
369
443
460
358
373
425
474
402
358
321
408
473
427
363
415
473
494
380
480
517
371
411
457
474
441
354
451
335
335
351
439
399
376
388
337
486
405
504
453
445
345
455
410
492
486
384
452
423
355
431
451
329
375
339
493
381
337
496
490
383
349
471
333
511
343
334
398
508
389
428
348
473
503
358
506
439
416
440
472
482
509
469
388
422
466
440
374
372
390
377
445
369
465
495
345
466
373
336
371
499
381
493
360
450
419
419
464
364
506
482
517
496
510
357
329
428
373
344
399
482
498
336
345
426
392
406
420
400
346
450
374
413
425
430
390
356
418
435
366
396
413
328
434
403
327
350
504
372
383
343
491
502
434
484
475
518
440
348
469
459
430
394
465
332
503
351
508
225
207
212
237
211
203
200
232
243
211
237
205
234
229
226
232
240
200
203
230
240
228
212
223
211
211
222
202
245
247
210
243
245
223
244
205
249
201
238
219
217
222
234
207
202
216
208
238
250
219
249
216
216
250
247
216
214
247
200
231
239
227
239
245
237
226
229
243
229
224
212
235
250
244
230
245
200
222
249
221
242
239
249
233
215
212
201
240
237
233
224
231
222
222
237
246
243
213
241
239
218
213
241
226
232
243
204
212
213
218
236
219
212
210
240
202
244
250
217
221
214
230
250
232
234
234
233
211
216
215
215
213
244
250
245
242
245
216
234
221
216
248
214
217
222
234
203
225
221
206
203
203
230
247
209
231
239
215
220
225
240
210
231
238
236
245
200
232
240
224
247
202
250
207
241
204
200
219
249
201
231
244
218
211
226
232
207
222
243
211
206
200
225
249
244
230
242
237
221
215
226
212
215
233
234
226
230
221
215
249
243
225
209
246
232
208
241
238
205
240
224
234
238
204
236
248
245
242
225
246
200
201
215
213
215
223
213
248
207
217
207
223
239
223
215
206
211
203
228
239
218
226
249
220
213
212
202
213
204
226
205
232
219
207
236
245
203
219
208
227
215
205
216
246
248
230
219
217
214
221
202
200
222
216
226
216
243
209
217
249
209
225
215
227
232
236
246
228
242
220
240
244
233
232
211
245
229
212
205
233
206
217
242
214
247
244
249
242
233
207
204
237
206
206
220
228
240
209
246
205
231
211
221
214
210
202
223
235
207
226
239
213
214
212
241
220
232
243
226
215
201
238
237
242
242
250
235
222
226
228
213
209
220
201
201
207
221
241
228
241
205
226
230
247
224
249
250
221
219
223
216
205
204
246
247
225
216
229
219
202
224
203
232
246
209
218
209
237
214
219
204
241
223
236
244
240
212
233
209
245
227
207
213
211
213
247
201
244
250
250
250
230
219
241
226
207
204
243
238
240
243
246
220
236
242
241
214
230
211
232
201
238
220
226
234
207
207
239
236
226
215
222
229
221
212
248
217
208
215
237
223
219
249
209
218
219
243
242
213
248
214
202
242
234
233
246
243
206
214
206
242
233
208
249
228
248
244
245
242
216
223
229
219
230
211
240
204
226
203
203
241
213
248
250
207
212
206
223
220
211
236
249
232
202
209
223
206
217
248
219
211
201
229
247
215
214
212
208
218
230
232
225
233
204
216
249
249
243
210
233
214
222
233
203
208
222
208
233
234
245
249
215
231
247
238
230
237
232
232
230
234
220
203
221
244
200
250
234
248
200
234
210
227
246
239
222
234
238
245
234
216
222
240
210
221
215
247
215
238
226
238
213
243
244
243
222
201
218
232
210
206
228
201
243
219
210
230
206
211
242
212
249
228
232
212
231
240
202
230
203
233
200
240
240
237
239
246
247
202
221
207
211
225
226
235
227
221
217
230
233
229
219
203
245
208
211
238
232
246
204
216
249
223
206
224
202
206
205
226
231
242
218
241
242
243
200
219
203
212
239
218
232
224
203
218
220
231
206
246
207
245
212
213
229
223
247
235
242
208
212
213
212
221
234
205
221
223
208
212
205
228
201
222
202
220
207
235
207
208
202
237
225
225
202
215
210
241
236
211
235
244
221
209
248
247
221
201
246
235
243
233
234
242
208
240
218
205
219
201
208
210
250
242
234
222
247
238
201
220
250
240
241
248
218
203
224
212
222
200
245
216
210
246
223
246
218
245
203
237
228
211
244
202
233
202
225
200
206
212
215
236
235
223
225
222
218
247
217
231
214
244
223
239
246
219
249
232
208
224
211
204
228
245
212
248
213
222
241
243
234
236
228
215
212
209
232
202
243
230
209
216
218
250
235
236
201
206
220
250
200
217
244
202
209
249
230
222
245
243
235
200
234
243
200
203
230
206
211
219
209
209
231
235
219
239
240
219
242
234
226
205
221
249
247
210
201
213
219
223
231
242
230
230
240
217
208
241
215
214
233
218
230
242
219
249
246
226
237
221
245
223
212
250
242
201
229
250
233
250
219
240
205
202
231
215
246
229
242
215
205
239
241
222
224
200
212
214
234
203
236
244
225
227
249
201
231
240
247
240
233
223
218
217
212
202
228
219
250
202
243
235
242
205
215
202
231
213
220
222
213
239
226
202
248
231
247
204
201
243
216
232
208
209
238
211
201
212
218
213
235
241
207
206
231
222
220
248
236
235
204
209
230
213
212
248
205
205
240
206
223
218
219
237
232
232
238
229
248
220
227
245
233
226
227
223
234
211
244
209
215
228
207
216
228
205
221
233
214
231
247
214
209
205
209
201
214
224
223
240
219
202
228
233
246
233
237
235
224
233
248
248
245
205
241
221
214
238
222
246
232
201
213
218
236
213
237
245
201
242
218
246
237
247
223
217
236
213
219
244
207
243
243
235
236
204
228
211
213
239
202
236
203
248
240
226
240
225
224
203
234
207
200
228
232
212
208
216
242
242
232
234
244
232
219
246
201
214
248
214
209
221
221
231
214
206
220
234
208
220
203
234
241
228
217
245
203
202
227
228
238
242
230
210
223
246
229
220
221
218
214
212
239
229
246
201
245
249
206
210
226
214
247
248
233
215
242
230
241
217
210
230
243
209
226
213
235
220
249
203
230
219
228
212
205
202
247
224
231
249
215
222
203
250
218
248
214
231
216
202
244
216
236
205
230
205
219
236
215
228
239
235
235
241
242
230
230
246
247
243
208
249
227
207
243
220
241
236
208
216
201
243
246
250
215
240
204
240
235
240
241
240
242
219
231
250
223
233
248
207
229
211
243
212
239
232
221
202
202
237
241
243
241
233
221
236
227
211
206
219
249
226
224
218
222
215
250
220
250
213
234
205
219
210
239
233
236
215
216
244
214
220
204
238
234
240
228
237
231
244
238
218
210
234
207
241
246
209
221
249
236
223
206
237
211
201
210
208
248
202
227
205
207
216
226
217
250
210
205
207
226
209
209
214
250
210
231
208
203
234
247
212
236
243
211
210
236
230
210
250
238
245
214
213
211
224
248
246
221
233
235
239
239
209
235
247
241
211
229
220
217
218
222
247
205
207
226
240
247
236
241
225
232
224
229
218
223
219
235
219
200
243
206
229
233
248
229
232
200
209
213
219
249
230
205
223
239
223
247
208
231
234
217
224
248
227
241
210
226
231
250
226
229
214
245
246
221
250
245
206
227
238
249
206
209
208
241
241
242
231
229
216
204
221
204
241
207
246
248
213
225
235
215
214
246
212
246
214
226
215
214
234
218
201
211
213
203
209
208
249
250
244
225
210
211
209
246
238
213
201
247
212
220
221
231
232
219
228
218
202
246
210
211
204
226
213
209
250
244
213
221
230
213
203
232
230
231
211
232
234
226
247
229
244
223
227
209
217
208
205
235
231
207
236
235
203
221
243
218
245
200
246
226
210
203
208
228
222
243
215
205
207
230
236
231
229
205
250
243
246
244
204
248
222
235
217
241
220
222
237
245
200
221
240
204
211
222
245
209
246
244
201
249
235
250
201
222
230
215
211
235
207
201
241
229
231
210
219
226
225
224
230
242
232
239
214
201
203
226
228
227
245
223
224
237
245
237
201
240
226
229
241
239
247
242
221
250
218
210
205
200
220
248
203
218
218
201
229
200
225
222
224
249
206
201
240
211
250
226
245
238
226
228
232
240
220
202
245
243
200
239
206
243
244
248
233
201
250
227
224
204
246
218
243
236
218
235
245
249
200
205
209
206
236
234
233
243
227
228
216
224
210
221
217
221
210
244
207
224
227
222
225
236
209
209
245
226
234
216
241
228
245
247
246
207
236
233
228
215
231
218
205
221
224
237
213
240
204
227
215
204
234
246
203
200
215
238
202
246
237
225
231
219
219
242
245
210
235
234
210
213
203
200
241
235
217
233
200
235
248
249
224
214
240
225
220
209
243
211
235
245
240
210
237
229
214
216
211
207
213
250
228
217
224
224
246
238
229
236
219
213
231
202
207
202
243
231
208
243
233
246
224
215
227
225
213
223
238
212
214
234
240
214
231
241
248
209
215
231
246
239
219
219
246
217
230
214
229
204
215
202
203
250
227
206
241
232
249
228
223
244
225
227
226
223
248
213
242
209
209
231
206
243
211
245
224
217
240
211
217
231
220
227
242
225
235
244
228
244
200
240
250
215
248
205
233
220
225
249
201
208
237
217
229
238
212
241
228
244
219
239
212
224
225
223
246
229
217
207
209
212
246
233
213
248
207
209
215
238
221
219
217
232
223
214
242
220
219
225
201
247
230
225
234
240
249
224
225
215
215
222
232
242
244
222
226
236
229
244
239
218
236
209
225
213
227
209
222
205
222
238
223
201
208
240
213
206
224
205
234
233
247
221
225
211
215
237
235
241
222
231
215
209
216
235
241
229
220
222
229
215
224
219
212
236
247
222
228
249
215
223
221
247
236
241
228
247
250
212
239
236
211
241
209
220
228
207
200
211
227
242
207
240
207
234
223
224
248
237
202
203
245
218
224
248
249
235
233
211
232
223
210
242
224
226
235
213
201
215
247
205
237
239
239
224
246
223
234
238
217
249
207
219
238
218
234
232
234
231
249
212
214
203
212
242
238
241
247
209
242
234
218
231
227
244
221
215
237
248
225
227
207
203
249
232
230
244
233
200
226
218
216
205
204
243
212
200
248
211
233
214
244
244
219
207
230
227
212
211
245
212
204
215
225
229
239
243
208
201
205
218
208
213
209
241
242
214
219
200
239
239
243
225
213
223
239
217
208
246
201
240
247
225
222
212
203
236
230
229
248
227
238
218
207
249
235
200
219
203
231
249
250
239
239
200
247
241
248
200
205
243
249
209
226
245
231
214
204
218
222
226
211
228
242
234
219
222
215
237
244
240
214
230
220
221
241
205
244
232
244
240
204
204
229
231
238
237
208
246
223
202
214
247
206
225
229
230
205
215
239
219
221
239
244
232
204
215
218
205
205
228
211
231
201
207
237
226
223
215
232
233
203
248
242
241
239
225
249
212
211
243
208
212
220
240
240
209
222
221
219
205
204
205
239
231
229
218
230
246
224
219
233
250
232
219
230
250
200
210
224
206
246
206
246
212
216
205
223
229
239
240
228
209
231
247
231
236
228
231
250
232
239
223
208
202
212
235
203
247
225
218
213
222
227
224
219
231
218
221
204
247
218
205
208
203
246
231
235
249
204
236
211
207
241
238
214
245
220
215
245
245
223
206
208
211
205
232
235
227
220
220
236
245
208
234
221
214
247
208
208
223
210
248
244
235
246
240
228
218
242
201
249
224
219
229
212
249
248
226
221
225
232
222
220
225
213
215
212
233
210
235
245
234
224
215
250
241
234
214
235
200
218
228
239
242
218
234
233
220
230
217
222
207
219
241
244
237
200
220
213
239
248
229
219
244
244
224
214
221
239
236
229
217
238
214
223
242
238
239
226
244
241
223
220
223
219
227
248
212
228
233
218
223
210
222
225
241
220
216
237
210
207
204
222
247
202
217
228
221
229
206
250
210
216
236
236
220
208
239
215
230
225
238
250
230
237
211
243
205
203
212
207
244
218
242
242
211
224
216
211
248
242
222
231
217
211
237
225
211
236
240
243
221
212
220
200
248
226
217
232
246
212
249
234
200
239
206
222
233
204
234
247
230
244
217
213
246
206
250
250
222
242
250
241
250
218
236
236
218
218
224
233
235
230
218
237
237
209
207
210
229
249
229
214
246
236
227
233
224
216
203
222
220
200
207
237
203
241
244
246
225
217
234
232
219
210
250
225
234
224
235
245
249
226
217
232
214
227
217
209
248
242
248
207
223
202
200
224
222
211
220
216
245
200
218
221
227
227
239
234
230
236
225
221
242
221
201
221
206
229
215
243
243
200
218
205
220
205
212
205
224
238
248
218
229
239
208
216
225
232
248
240
243
209
236
231
200
209
249
221
203
230
214
246
225
217
200
235
239
245
204
243
201
213
242
241
226
221
240
221
223
240
250
201
227
220
206
239
239
245
220
200
230
217
234
223
226
223
237
219
228
222
203
202
241
211
222
220
205
212
232
222
203
239
201
217
247
234
225
231
248
218
218
222
226
231
221
234
205
217
212
228
217
227
219
224
202
240
203
235
248
243
242
214
245
209
250
204
211
222
213
250
214
211
218
207
212
239
244
203
240
234
240
249
210
229
203
215
215
213
208
225
240
205
241
241
205
213
224
236
242
212
241
206
206
216
236
227
212
239
210
203
220
242
233
232
203
213
208
216
216
238
210
250
236
215
202
249
237
217
237
208
210
229
250
203
236
227
234
241
201
240
224
234
228
235
217
247
250
226
228
219
211
243
232
220
216
216
245
245
242
215
213
249
236
210
244
227
203
216
238
239
242
217
200
241
234
249
205
234
206
222
239
206
207
202
235
222
219
205
229
212
236
229
240
230
242
201
204
203
213
218
218
233
230
219
243
219
239
244
217
242
242
222
249
240
212
238
249
232
221
235
248
208
201
240
234
220
201
238
207
233
223
242
204
226
212
225
224
215
212
215
235
212
247
237
247
225
213
213
239
234
235
250
236
211
226
245
209
244
232
207
229
230
207
215
238
250
249
230
200
230
206
219
226
200
224
214
210
221
234
214
232
250
211
224
216
209
243
213
240
224
227
240
231
215
216
237
238
239
225
206
228
232
236
201
201
240
239
247
210
230
208
237
245
214
202
245
236
213
223
234
239
243
205
204
245
216
212
201
225
242
227
213
230
229
204
240
247
246
228
245
201
200
230
225
240
220
236
213
241
222
217
217
217
221
250
225
219
221
210
248
239
223
210
213
231
222
237
217
212
215
202
239
241
244
213
202
217
209
220
240
208
212
240
226
208
230
221
229
233
241
246
211
209
227
228
210
207
244
221
235
221
235
250
206
230
211
213
209
236
207
212
239
208
209
230
239
241
214
202
223
203
245
209
239
245
250
209
213
203
204
222
223
234
238
228
232
220
204
247
214
235
221
221
211
225
206
210
230
201
221
214
223
203
209
227
232
232
209
242
234
221
224
230
229
219
242
245
242
212
200
206
244
243
219
240
207
234
212
200
214
209
244
205
221
238
244
242
213
221
216
232
225
218
240
245
215
226
244
202
228
240
214
249
220
242
240
240
247
209
228
215
210
239
221
222
237
250
241
226
245
246
222
245
224
207
233
246
215
224
241
229
240
209
243
245
220
204
236
232
245
245
222
229
216
213
202
223
208
202
244
217
244
209
213
223
231
221
232
242
231
236
247
215
235
214
226
215
205
245
245
225
202
222
208
218
249
223
213
247
213
226
207
227
244
209
236
227
223
213
246
232
204
209
205
237
215
203
216
216
212
221
248
249
247
222
205
201
230
206
216
250
230
246
245
214
200
211
241
215
209
208
242
200
203
201
238
219
205
234
233
242
202
223
202
242
230
206
243
204
230
216
200
206
205
244
205
243
209
203
237
239
247
225
219
223
215
233
234
236
224
221
207
201
200
205
219
215
242
245
221
216
208
236
206
247
215
243
231
230
224
247
210
228
229
223
228
245
203
226
208
249
245
247
238
240
223
238
203
231
219
213
222
207
239
221
208
219
249
209
242
239
238
217
223
223
227
234
207
220
238
210
228
250
228
221
226
225
214
202
241
237
201
227
203
203
208
203
218
245
245
202
224
227
216
244
221
208
221
210
221
249
224
248
221
217
242
246
209
241
250
230
243
240
206
236
233
232
241
247
233
244
242
231
236
214
207
242
223
207
210
231
219
249
228
239
235
210
222
234
221
236
246
231
232
236
220
219
238
236
207
229
229
219
216
217
225
239
221
220
205
245
212
228
205
233
220
200
236
248
234
235
214
233
212
215
227
223
216
219
224
218
208
203
209
213
228
250
243
206
244
249
223
247
224
239
245
239
244
206
215
237
237
209
228
220
238
218
250
227
236
204
243
209
231
203
243
204
224
248
226
241
207
206
239
239
228
244
200
214
201
218
249
212
204
234
205
222
239
250
215
235
248
235
225
204
242
200
229
224
214
229
247
241
219
226
227
225
231
240
230
227
222
234
241
230
202
242
231
241
225
230
208
215
218
246
248
223
201
241
204
202
240
245
225
236
235
211
248
215
222
202
236
244
234
215
233
246
211
231
222
207
244
230
209
244
232
200
221
225
237
206
233
206
221
223
218
246
209
212
201
239
233
243
208
220
224
248
233
218
242
210
217
243
217
241
205
237
209
214
239
218
233
213
207
212
200
219
244
237
226
212
235
229
209
241
217
212
217
249
208
249
217
246
239
203
217
227
237
210
211
218
210
240
238
214
200
248
232
231
250
237
209
249
241
237
242
207
216
206
236
228
244
203
218
212
228
204
250
202
245
244
221
223
227
217
241
218
245
234
226
223
204
246
244
205
244
205
213
215
236
209
230
231
222
214
206
225
204
229
227
222
201
238
248
231
241
217
248
206
229
227
207
206
246
226
246
200
224
211
240
216
217
214
211
224
207
231
244
244
227
224
202
250
227
202
211
249
208
233
246
225
238
246
202
236
209
219
223
207
228
244
212
225
205
206
217
218
236
242
205
240
200
245
245
203
232
221
247
249
228
227
211
212
230
226
250
214
218
238
205
217
223
229
218
212
222
231
244
213
209
241
237
215
234
242
217
208
217
222
221
221
214
214
227
235
240
203
204
204
212
211
242
225
227
217
216
235
201
211
222
223
239
229
241
245
245
250
231
211
238
200
205
246
210
208
220
235
228
222
249
208
224
232
242
223
243
212
224
212
228
200
225
200
248
224
221
202
236
210
249
241
238
239
211
210
213
221
235
233
204
210
215
245
228
200
211
212
217
211
231
207
237
211
237
218
248
222
236
239
235
208
207
203
202
250
246
218
223
230
232
243
242
244
241
229
217
206
207
213
245
250
236
227
227
228
222
248
220
219
218
246
232
204
224
235
232
207
241
204
223
229
233
212
228
220
245
245
215
248
233
227
232
214
203
234
217
239
219
217
205
217
212
234
243
212
247
233
203
218
249
248
246
242
208
239
244
223
243
214
244
237
204
226
224
221
244
217
208
242
200
228
216
250
209
233
229
228
231
242
214
218
213
206
245
219
222
220
232
221
204
249
234
233
232
233
223
215
238
238
202
205
210
211
226
202
208
205
249
216
211
224
208
211
200
246
211
222
202
238
228
235
239
209
240
215
228
233
243
248
245
223
206
210
241
222
223
233
243
249
203
210
210
229
223
233
240
207
222
246
244
207
218
231
241
229
204
226
247
209
218
236
206
211
246
222
213
236
227
249
225
223
237
212
231
249
239
239
244
230
239
248
205
247
239
218
233
243
236
221
202
248
221
248
207
204
234
216
249
210
201
235
204
209
206
207
237
226
210
210
208
234
230
213
246
222
207
241
224
370
408
439
389
353
339
373
355
503
481
443
323
367
495
371
424
370
500
517
400
360
437
480
433
342
447
461
391
398
454
348
485
476
470
490
448
418
446
513
502
334
343
436
375
518
515
410
496
516
503
494
379
373
350
504
399
393
457
370
322
323
473
405
503
364
482
421
393
470
320
479
473
493
340
327
496
326
361
379
323
339
480
495
443
350
322
458
416
324
488
425
366
418
394
474
472
362
356
426
483
439
517
428
346
418
511
385
489
402
406
423
351
455
467
472
474
499
413
353
428
409
377
384
495
434
415
516
486
438
389
489
425
351
356
340
386
414
510
399
511
417
431
401
381
360
430
492
326
482
515
481
459
331
476
518
365
333
508
328
417
320
395
324
457
396
480
383
494
383
359
324
506
381
326
467
344
377
322
387
486
484
432
388
467
508
505
358
464
322
446
326
507
423
517
500
517
515
388
452
403
486
351
435
380
342
423
350
336
466
477
362
391
393
422
459
454
433
434
453
483
338
365
376
376
448
376
481
346
459
498
389
387
431
478
391
321
320
357
361
493
381
404
431
395
390
439
369
508
478
450
455
420
471
324
382
407
402
512
464
437
489
479
396
359
487
467
451
411
418
466
349
396
350
338
499
483
397
354
358
336
513
490
367
424
435
402
367
502
448
349
424
453
520
517
357
433
427
397
465
429
460
520
384
428
352
375
485
380
445
384
426
389
337
370
383
404
372
406
463
350
405
456
405
409
365
451
471
429
446
371
454
349
423
477
435
381
353
364
389
471
495
379
433
327
482
325
324
385
414
355
441
335
444
485
478
513
440
439
334
337
405
355
476
440
477
335
333
433
354
344
389
407
322
432
395
470
413
448
471
430
467
374
399
494
479
396
382
509
443
345
333
436
503
339
320
334
423
349
325
484
399
430
396
373
364
494
368
393
516
482
345
406
356
370
349
409
401
431
393
458
362
361
346
352
476
516
441
476
355
496
405
484
479
446
476
343
427
358
323
514
478
323
491
516
452
468
399
422
515
393
320
452
453
341
495
436
470
510
427
320
449
455
447
496
459
453
340
498
401
406
483
412
348
426
395
376
490
520
391
410
409
398
482
358
486
477
409
382
398
402
399
520
381
442
469
396
353
434
454
426
396
468
374
445
353
351
462
416
488
434
336
341
488
427
510
466
430
435
343
454
362
393
451
360
437
455
430
495
464
363
401
445
476
338
505
455
482
388
332
510
456
479
452
353
330
494
424
353
495
483
503
362
366
501
518
380
383
465
325
406
420
387
424
398
364
374
406
408
476
360
501
487
384
390
348
491
412
370
458
508
459
332
320
492
393
461
430
498
387
481
360
490
440
340
325
422
455
431
344
483
401
352
375
381
349
372
365
329
459
374
378
465
361
461
500
387
363
414
457
363
500
408
514
438
476
375
489
350
438
387
406
492
366
377
442
346
433
494
457
358
406
469
419
405
477
360
456
436
325
483
481
475
482
321
497
433
350
416
455
323
432
364
442
500
416
463
471
472
412
325
432
497
393
364
361
515
405
360
517
461
363
439
501
415
350
392
434
404
516
340
435
388
384
419
495
471
329
471
371
456
514
379
387
416
468
341
419
354
390
328
328
449
441
375
337
405
514
424
501
397
403
381
360
515
473
396
476
423
447
496
341
382
390
331
450
452
418
428
334
400
412
499
421
407
463
398
447
474
375
495
482
406
502
393
378
393
432
497
385
502
395
346
519
409
358
356
511
468
468
488
358
481
502
418
475
396
419
479
498
351
431
357
478
407
418
411
388
343
322
355
375
365
491
342
427
504
408
383
363
508
404
465
510
343
476
477
401
338
359
337
457
476
432
344
397
405
331
410
466
415
483
491
507
339
492
412
465
340
329
322
395
454
455
404
464
467
456
365
320
409
480
375
433
473
442
338
384
440
510
405
479
497
372
454
453
380
335
347
352
352
400
413
369
475
516
356
463
496
392
399
505
445
407
439
329
443
409
383
480
348
433
459
495
513
492
358
392
360
415
455
412
388
406
484
469
472
367
473
464
334
387
329
369
396
439
488
410
433
384
424
488
489
380
431
382
332
498
456
452
514
446
371
354
371
508
447
333
471
436
333
457
453
518
366
480
438
325
440
322
460
450
332
454
467
361
427
494
417
501
443
383
399
472
426
462
424
392
342
396
413
362
457
520
450
344
450
406
324
422
428
477
517
401
509
506
332
325
391
350
322
497
362
399
477
509
410
365
386
385
475
478
484
347
354
388
388
344
471
440
511
369
322
497
383
436
325
359
322
408
360
511
348
440
340
333
402
431
345
415
397
328
495
518
404
460
407
322
431
411
438
513
408
347
469
359
416
442
340
488
373
403
393
333
496
400
360
471
379
339
321
514
481
427
476
372
445
478
493
432
346
385
460
480
461
417
403
369
501
394
507
500
382
381
373
476
506
398
329
490
337
485
412
373
436
518
490
397
517
489
482
399
373
503
361
345
411
470
518
419
373
460
448
328
488
519
437
341
415
391
379
430
516
405
324
492
382
495
515
344
372
365
439
461
347
371
363
463
475
423
353
330
409
450
384
448
396
390
416
462
454
436
358
327
320
329
479
511
515
417
356
493
438
511
334
437
438
468
406
423
467
430
509
331
335
485
325
428
434
512
416
420
395
487
463
414
433
502
507
428
508
467
443
448
368
477
369
470
404
361
428
467
426
372
513
370
503
406
455
377
339
397
403
467
445
385
502
397
504
353
394
455
485
341
335
325
507
344
356
512
451
508
492
485
502
426
461
363
330
402
340
324
329
368
327
432
398
483
356
393
489
508
339
372
327
397
366
345
388
491
467
468
407
466
518
443
432
358
479
371
422
379
383
489
516
328
506
361
427
395
373
343
373
335
501
482
514
426
432
322
501
505
334
339
412
500
457
500
431
342
337
475
343
497
391
436
434
488
444
413
333
509
450
338
440
434
412
403
485
485
326
455
417
396
417
428
363
432
377
388
379
364
353
362
421
349
447
467
327
450
460
433
488
397
454
422
417
463
446
472
442
355
422
518
403
458
376
480
475
496
445
348
358
490
482
378
363
407
440
411
499
361
405
426
476
402
338
453
383
349
428
484
381
460
391
454
352
505
507
401
353
388
457
325
404
469
454
382
440
518
498
333
405
406
382
415
494
327
334
394
394
506
363
329
448
453
427
514
321
387
439
358
478
520
471
412
492
463
403
410
493
496
392
452
480
422
462
442
490
435
495
516
464
411
459
391
479
375
358
451
414
467
337
397
401
511
397
357
344
351
433
510
497
437
378
375
447
516
349
360
455
418
516
520
476
357
405
415
325
481
352
360
414
421
377
501
399
389
428
375
325
408
331
416
363
425
360
440
358
444
392
420
420
414
505
484
443
461
363
454
355
472
325
372
455
461
357
419
402
339
433
418
498
467
467
457
435
496
505
377
378
441
495
487
391
400
477
423
446
335
347
437
481
511
332
443
497
473
503
378
465
441
432
391
327
499
337
399
372
507
467
477
382
518
321
410
347
433
509
368
378
333
323
401
379
342
416
399
438
486
497
519
369
468
402
347
341
432
501
369
439
465
365
372
414
507
409
479
472
412
401
518
361
396
400
411
430
394
391
380
339
395
503
413
323
474
502
461
493
331
406
375
374
351
426
440
456
476
461
414
349
444
466
456
472
426
485
378
497
473
476
431
425
325
421
460
336
489
373
378
419
423
358
443
411
362
323
351
344
390
511
458
453
327
367
493
382
361
382
478
472
458
419
444
496
446
426
405
487
502
324
519
412
480
431
504
439
340
485
399
513
340
407
456
332
390
426
462
371
480
363
417
376
431
322
404
328
469
347
345
477
505
381
429
436
442
416
354
508
377
493
333
322
372
375
465
498
396
502
410
501
454
364
437
513
353
506
480
329
362
427
458
424
473
470
493
397
411
468
413
473
505
366
501
327
328
352
424
365
401
411
327
445
379
519
381
473
380
365
421
427
441
470
357
385
402
426
360
472
429
487
348
441
406
516
358
470
498
332
497
387
338
344
473
503
407
414
439
359
423
387
499
366
359
374
432
427
443
324
413
475
366
400
354
399
368
341
347
511
420
358
417
441
345
513
444
357
406
481
509
347
500
436
501
494
353
401
358
471
483
489
404
449
359
370
397
394
452
409
326
397
402
362
466
512
518
380
392
420
320
361
440
373
326
360
478
346
475
423
497
485
374
480
393
437
503
467
409
403
504
454
416
406
391
446
353
432
357
350
331
366
361
400
482
353
464
477
333
480
415
420
457
460
467
503
343
371
437
407
459
396
387
375
365
431
500
421
368
512
506
372
382
413
492
426
476
387
483
507
323
447
490
396
353
470
332
447
420
508
499
406
411
341
451
406
467
446
403
389
498
375
362
498
481
380
448
349
448
487
496
501
449
471
500
445
330
369
448
393
405
468
507
407
515
459
374
369
450
356
429
421
509
492
331
420
353
454
353
502
442
337
518
320
499
467
406
485
370
335
409
364
506
474
520
359
333
458
495
512
322
331
517
382
397
360
424
360
413
425
467
344
509
443
472
450
502
352
383
350
373
483
419
427
428
352
324
382
402
480
409
430
389
424
423
366
350
387
474
476
478
430
325
361
435
447
386
466
462
369
486
498
477
381
496
391
403
372
347
483
380
471
513
412
516
467
503
460
429
377
505
378
447
325
423
479
422
391
491
337
515
433
341
364
389
447
407
422
325
349
348
444
323
358
412
330
424
415
477
368
463
453
378
519
513
404
480
366
411
341
493
335
464
343
356
445
469
328
327
389
335
395
478
380
355
363
476
500
336
357
479
484
463
441
480
331
426
352
348
464
361
462
511
426
487
435
505
369
462
375
520
427
324
323
434
513
410
364
348
331
439
323
339
354
397
351
383
396
440
442
416
443
459
354
485
519
520
472
322
459
487
450
337
438
483
507
518
497
425
392
470
457
504
419
350
495
435
459
470
412
467
375
333
389
497
340
344
393
514
446
487
515
380
416
356
455
461
483
345
440
451
483
395
401
481
447
413
404
459
323
457
330
461
398
400
373
374
364
455
342
376
414
450
448
390
376
323
346
437
519
507
463
512
409
374
361
443
457
469
321
434
378
340
411
412
483
320
491
476
332
418
341
419
333
513
344
377
335
431
383
338
429
481
446
335
466
482
451
351
491
515
439
455
348
500
430
464
417
416
342
461
332
455
471
357
352
451
505
462
357
373
341
420
435
448
424
333
391
506
395
378
346
449
355
498
485
406
361
350
465
464
482
331
332
441
332
502
375
321
488
334
458
408
520
351
442
456
517
352
439
389
330
500
338
353
330
498
485
354
518
497
495
383
402
480
459
323
511
361
351
389
421
459
383
513
452
456
503
344
357
369
485
323
473
437
434
501
438
380
420
346
501
396
358
352
397
389
461
492
375
439
440
421
511
391
374
496
322
414
503
355
408
413
434
459
330
334
379
513
465
373
463
488
424
452
355
378
349
477
448
427
337
326
327
348
327
337
424
351
476
364
376
362
471
429
415
399
332
367
450
424
358
419
358
345
340
334
347
387
402
445
413
513
436
409
497
512
484
479
509
514
390
516
347
489
329
423
426
322
408
398
400
509
324
419
397
422
389
419
391
376
410
460
336
361
483
407
482
407
388
486
326
358
489
514
401
339
352
339
458
341
333
413
429
463
417
376
394
430
501
325
489
482
413
352
368
366
396
327
327
421
352
454
399
409
462
320
377
471
467
477
483
482
419
401
343
444
433
320
454
390
375
496
406
353
344
442
339
465
430
412
445
427
407
369
481
433
381
436
500
323
490
438
414
398
374
464
498
424
448
485
350
379
358
422
341
464
371
475
362
363
343
485
353
502
483
403
390
395
327
445
474
502
439
361
428
465
510
371
422
390
356
512
389
499
450
513
384
350
406
399
500
397
375
353
486
413
349
386
339
451
351
452
375
356
497
389
463
504
516
401
375
464
405
411
387
445
405
455
510
353
450
345
324
338
403
458
421
386
514
408
390
448
406
440
444
418
402
320
421
482
327
463
398
320
426
498
388
402
421
370
465
396
370
443
355
483
403
467
383
475
479
345
459
366
460
467
482
434
454
501
463
501
470
470
380
474
464
330
435
382
518
370
500
492
348
346
323
451
500
381
412
417
465
371
341
417
430
337
456
404
327
486
441
503
439
432
329
461
512
481
485
442
445
340
427
403
418
346
321
356
419
480
457
503
445
492
396
380
448
366
447
422
416
510
377
320
405
356
359
342
430
508
431
445
446
490
338
383
320
493
432
342
423
324
396
371
324
506
444
348
394
460
358
364
381
465
389
343
364
519
323
354
424
354
371
500
489
373
391
463
496
393
331
334
402
355
365
415
503
455
421
415
419
490
468
335
424
485
501
426
506
481
370
474
364
454
373
493
506
327
457
361
502
484
491
458
453
494
470
518
429
387
405
517
373
492
446
410
424
398
355
515
424
346
500
485
410
459
441
353
457
480
434
412
416
378
336
335
459
493
412
404
426
462
342
363
434
400
461
382
337
479
410
417
402
351
430
414
421
330
434
408
491
321
331
401
356
471
356
380
507
335
338
467
472
320
444
429
340
361
348
358
473
321
338
485
340
387
425
412
478
499
429
464
437
411
511
413
394
385
377
478
456
339
466
356
392
500
392
383
417
379
478
414
322
356
514
396
454
479
429
503
343
380
490
435
494
327
444
457
433
375
387
473
342
506
369
399
514
512
408
479
410
442
475
490
421
496
391
350
364
427
406
328
325
373
426
352
498
514
443
386
430
513
363
478
396
469
346
379
328
456
429
473
370
329
488
349
508
474
431
455
511
411
351
371
380
356
411
465
439
421
396
455
382
482
361
344
324
454
405
497
414
511
354
321
434
355
423
428
423
502
366
480
406
457
442
363
429
416
394
511
506
489
372
467
359
518
510
463
474
520
366
341
322
357
446
343
510
489
464
347
450
332
415
409
365
418
365
520
455
376
464
400
429
373
394
455
443
387
398
413
354
368
445
342
368
517
444
460
414
349
506
369
445
488
382
405
476
369
391
516
508
356
357
507
405
418
470
415
520
424
445
452
433
342
443
328
389
386
396
413
457
456
387
456
413
335
404
362
438
354
365
440
404
433
324
371
410
423
393
464
482
461
492
447
360
332
428
324
509
486
346
494
380
376
329
385
471
389
448
439
501
517
503
385
480
480
438
366
406
350
411
498
425
345
429
497
441
371
416
503
409
446
483
411
345
387
517
461
458
458
328
518
364
518
442
466
378
464
407
419
333
329
350
327
355
375
410
354
506
446
390
516
372
362
357
473
324
442
496
432
479
508
402
346
334
440
409
477
453
363
479
406
339
453
467
421
350
359
379
379
474
443
431
389
370
444
505
495
489
492
411
507
399
485
324
511
441
333
497
376
350
444
356
491
399
369
348
417
372
391
404
446
506
456
325
450
375
519
482
428
451
517
459
324
473
448
467
332
449
447
433
462
461
516
401
490
421
519
500
440
437
458
412
481
413
338
437
409
377
439
368
324
360
504
376
476
469
508
322
453
396
447
384
465
494
482
396
442
396
411
323
495
485
406
383
456
401
404
362
377
456
402
375
453
441
451
451
372
381
327
406
492
372
368
398
501
372
235
241
218
211
206
213
232
240
202
245
203
205
205
231
250
231
205
250
204
230
203
216
249
207
213
250
210
210
201
207
250
200
205
236
228
204
224
218
221
209
233
202
216
212
239
214
210
213
217
244
239
213
231
201
224
225
220
220
250
249
240
243
210
245
229
219
245
220
206
213
218
203
233
209
210
230
216
246
246
228
234
214
239
238
239
221
232
226
241
222
229
218
225
245
223
249
214
220
236
212
249
225
248
207
226
220
233
231
200
215
216
229
235
214
234
237
213
237
203
232
237
242
221
210
248
205
210
217
232
237
223
233
201
236
226
202
214
228
232
212
246
206
236
243
206
247
246
210
200
217
206
214
247
208
205
230
226
249
222
230
217
235
223
216
235
217
230
210
227
204
207
202
249
215
203
227
248
230
201
242
204
233
237
200
229
231
236
221
245
229
233
206
202
243
244
203
219
232
201
244
209
227
222
218
218
219
241
249
202
241
217
213
231
246
206
243
237
234
217
213
202
207
200
249
207
236
249
220
213
244
237
226
207
238
227
217
222
226
227
247
237
226
246
219
241
220
240
248
238
248
218
228
211
225
225
230
202
219
248
237
230
225
234
250
207
231
221
229
227
233
210
221
222
202
234
203
241
201
202
212
247
226
250
215
204
202
227
216
239
200
202
212
236
249
236
201
205
219
207
225
239
213
227
218
210
216
207
238
239
248
231
222
223
223
220
210
243
204
219
228
202
238
211
219
239
242
245
228
246
232
245
222
243
202
237
218
240
244
209
226
241
221
243
229
232
242
231
234
207
247
202
207
224
200
206
229
220
239
210
239
205
232
207
200
209
202
222
240
237
228
214
211
226
212
227
216
225
215
211
209
211
226
227
237
218
205
212
225
239
215
201
203
245
229
244
225
207
225
200
217
217
231
223
240
201
224
217
250
231
214
230
220
250
230
229
221
232
238
212
205
227
214
204
213
217
218
225
240
206
229
203
233
211
218
210
238
204
239
215
205
239
237
245
207
220
238
212
213
250
206
222
208
233
210
222
230
210
214
233
205
232
205
244
215
243
240
228
233
225
214
244
216
245
222
225
238
210
224
242
244
221
228
226
234
211
219
250
204
220
207
215
242
242
221
243
230
225
243
201
207
247
246
208
219
242
222
212
241
247
242
223
245
201
240
244
229
224
212
234
207
235
221
242
214
200
239
231
208
210
222
246
216
215
206
240
218
216
246
236
201
213
239
210
203
250
203
214
200
221
207
204
225
204
205
233
218
226
247
200
239
216
213
219
229
227
218
232
250
225
217
203
213
240
222
202
236
219
201
231
248
205
235
204
202
213
224
248
239
234
214
234
248
245
219
215
243
208
239
222
237
217
250
237
250
221
242
214
244
223
234
240
229
205
236
216
214
220
236
236
233
230
232
241
226
230
229
200
201
200
202
214
230
213
209
220
229
245
226
236
230
238
225
220
218
229
204
241
238
223
201
247
207
201
203
231
204
240
242
243
240
239
218
246
221
240
227
223
219
216
222
203
238
220
234
233
206
223
216
218
206
214
238
236
226
230
219
235
212
210
241
221
202
245
250
215
206
233
235
244
237
242
222
218
235
234
231
238
250
243
225
236
216
240
245
222
205
225
234
229
244
227
221
216
243
229
213
234
244
226
218
210
209
241
200
209
229
221
208
212
211
223
219
212
233
219
226
220
244
212
200
209
220
238
204
205
219
232
245
247
206
238
237
243
231
208
246
216
204
239
233
241
202
217
200
230
200
248
210
224
216
207
235
221
226
224
226
223
217
211
239
235
238
216
246
240
241
240
236
222
204
221
240
224
208
205
240
223
208
215
247
237
248
203
235
208
208
241
226
225
205
230
235
246
220
200
213
227
230
245
225
200
201
224
222
239
220
219
213
246
203
244
242
206
202
216
225
201
244
212
229
221
203
241
243
210
221
221
217
213
231
235
213
211
200
201
219
215
208
243
238
241
240
245
250
205
231
211
218
213
202
221
223
224
245
235
202
206
208
245
219
216
211
222
234
243
250
231
210
245
210
227
210
203
247
209
205
242
207
227
245
235
232
226
206
244
222
249
246
234
215
229
221
240
219
208
218
218
233
204
227
220
226
205
244
245
230
231
235
211
217
218
219
211
225
225
245
229
248
239
249
211
246
221
246
233
210
247
206
211
224
242
203
213
239
218
241
202
248
231
231
216
248
223
208
235
244
220
221
209
235
217
239
239
207
241
249
230
202
213
213
237
224
213
250
241
206
245
209
230
247
202
210
208
215
233
234
202
228
208
240
208
226
200
208
230
214
235
234
228
240
248
229
206
219
245
201
204
222
220
233
200
211
206
207
238
205
224
249
213
226
243
231
242
238
224
243
230
235
243
223
231
224
215
219
217
215
244
223
223
240
229
248
244
210
205
202
224
200
225
203
206
245
244
232
246
230
244
248
236
212
202
222
246
221
200
240
244
202
247
244
201
233
236
243
250
202
226
208
221
231
221
229
230
234
240
214
244
235
250
218
221
232
249
205
235
220
250
211
239
229
233
232
226
206
216
207
224
235
211
221
222
209
239
215
236
205
223
238
240
206
247
210
244
209
221
240
231
249
228
234
222
219
250
216
248
239
233
216
242
205
224
201
248
249
246
203
228
234
242
212
244
217
215
228
204
229
241
219
222
245
220
235
222
225
219
222
203
247
226
237
248
219
243
216
249
214
210
228
236
201
202
248
214
247
226
207
238
217
207
249
229
204
239
229
226
239
249
206
219
210
230
207
233
204
210
215
245
221
218
240
214
215
234
241
242
250
224
245
205
208
247
215
234
209
214
212
240
245
223
210
219
226
201
201
208
202
219
248
206
249
225
235
245
242
243
203
228
244
240
227
223
232
212
248
213
236
237
227
228
235
223
205
200
250
201
218
227
209
247
232
239
216
250
218
241
208
250
250
220
238
234
223
238
246
242
202
207
243
224
223
219
233
232
233
213
213
217
216
202
222
218
234
238
218
244
232
226
224
216
250
250
216
206
232
213
243
216
249
242
234
225
246
229
231
244
218
200
212
248
236
210
245
234
242
233
240
206
238
244
220
232
243
220
224
218
215
218
225
214
212
234
213
245
221
212
244
250
245
201
205
227
241
245
203
213
234
212
245
223
233
237
233
239
218
230
228
248
211
222
211
230
248
249
222
204
219
224
214
207
207
207
223
241
213
223
213
224
200
236
234
227
210
212
228
240
202
243
250
222
236
240
218
208
209
249
207
228
207
238
248
217
202
209
228
215
229
213
201
244
203
219
234
232
210
250
248
204
219
237
234
221
238
213
218
212
208
212
246
233
213
226
240
202
242
223
214
202
207
207
228
227
220
221
222
216
223
215
223
220
222
238
206
208
239
246
213
247
217
239
238
250
203
239
205
221
232
205
212
227
236
204
237
238
223
222
210
201
246
230
229
216
210
219
200
218
208
206
208
222
228
210
249
244
242
250
212
228
225
226
247
216
206
244
208
230
239
241
225
230
245
207
213
200
214
244
236
232
246
211
230
213
245
212
234
249
242
233
234
231
215
224
235
232
234
243
218
202
207
212
226
240
202
225
210
226
205
224
249
219
241
234
217
228
225
227
207
216
244
246
201
232
229
248
236
218
205
203
222
244
226
229
239
211
233
220
234
225
236
240
225
217
229
213
211
216
224
219
211
206
222
240
212
245
202
235
213
220
225
220
216
202
203
248
248
239
246
231
227
202
202
229
234
249
245
237
236
223
249
243
237
201
208
244
234
205
215
246
220
221
216
206
201
231
234
249
216
250
245
202
213
214
233
245
237
250
237
248
204
202
227
213
202
250
243
240
224
214
236
206
231
226
247
222
203
217
211
249
235
222
249
208
242
214
201
244
248
242
214
239
221
224
227
230
236
212
220
205
248
241
208
215
241
239
209
233
243
220
248
234
206
217
232
202
217
205
222
230
246
239
209
202
208
238
208
205
236
215
220
236
215
225
219
209
213
235
228
225
234
200
239
221
216
224
200
220
236
231
230
227
215
241
234
250
222
219
239
205
239
233
246
200
221
240
221
206
220
201
236
215
235
245
222
246
219
237
246
217
229
229
207
241
232
221
236
222
248
233
213
215
232
218
202
231
219
235
210
218
225
226
222
211
202
208
214
217
200
244
228
240
202
221
241
230
231
247
228
226
208
207
201
239
241
245
236
221
244
203
218
241
215
221
205
219
224
241
238
235
235
225
241
215
230
213
244
239
250
214
247
245
208
207
240
234
218
200
207
224
217
244
224
232
203
235
209
230
230
242
230
219
244
211
235
211
221
236
247
225
221
201
212
239
203
211
223
243
216
203
231
225
226
206
236
246
222
211
219
217
226
203
211
227
203
231
213
223
247
219
214
233
241
202
223
218
241
235
249
244
210
238
220
225
219
244
239
231
241
236
238
250
240
211
216
235
220
234
216
233
208
201
215
213
215
232
227
224
200
221
212
218
205
223
249
234
235
222
223
208
224
243
216
209
233
224
206
201
212
211
200
205
215
234
239
216
211
208
221
211
246
240
241
215
221
229
220
239
228
200
212
239
239
220
239
231
205
221
246
227
229
244
237
201
240
211
213
210
249
216
201
213
238
228
213
231
221
214
201
217
220
210
205
218
205
231
214
210
209
225
233
216
230
236
250
248
238
246
229
233
205
213
209
211
205
228
233
236
247
239
215
219
221
218
248
216
219
235
208
216
210
214
221
240
201
210
250
230
211
203
206
245
241
241
224
211
225
202
227
219
221
239
248
224
232
237
211
239
238
223
217
229
212
240
223
244
230
219
206
216
216
222
242
228
226
213
223
246
234
229
222
227
217
222
208
236
220
230
227
212
247
228
228
243
214
227
244
213
244
202
245
233
214
223
201
206
217
204
218
228
228
240
235
240
200
228
218
204
215
235
250
236
208
224
248
223
226
214
237
236
202
219
226
235
243
249
247
222
241
234
233
224
246
231
249
205
224
230
214
219
235
225
237
217
223
200
216
239
248
244
233
207
212
207
229
206
222
230
202
208
248
210
229
213
209
227
235
204
208
250
207
210
233
245
223
212
214
250
215
239
244
243
235
250
213
230
218
224
220
244
209
226
243
219
248
242
246
215
243
213
249
223
216
215
224
233
211
229
201
209
236
230
210
235
215
220
213
235
209
226
220
226
215
220
225
213
208
220
203
248
250
213
221
245
243
247
203
218
238
244
232
211
237
200
216
209
214
224
250
215
224
249
217
234
230
208
243
208
213
211
237
203
206
243
232
241
202
220
222
206
226
243
241
236
201
246
236
230
201
201
242
222
237
208
203
229
220
245
228
220
238
212
243
242
249
238
201
250
229
213
235
210
215
209
224
231
216
217
219
213
243
240
249
243
246
216
224
210
211
216
216
216
202
228
215
249
221
200
221
250
249
215
218
221
226
205
232
202
231
240
203
240
211
211
246
202
227
232
226
228
210
239
228
225
205
209
219
219
250
206
228
200
207
220
249
228
205
235
218
244
201
207
213
220
218
236
200
200
215
207
222
237
234
206
237
219
208
215
247
205
218
227
243
202
220
218
216
221
232
214
242
222
242
203
206
244
220
241
249
221
243
228
230
204
206
222
212
223
239
233
225
232
224
230
249
245
218
210
203
204
216
234
205
245
228
244
203
248
225
205
240
247
207
250
226
245
237
204
209
224
241
250
246
225
218
242
216
223
250
209
225
229
227
240
249
208
206
207
235
250
239
239
232
212
200
243
238
247
249
245
238
232
244
211
221
228
210
230
220
250
244
221
228
214
208
245
229
232
217
212
232
211
215
203
239
214
224
244
240
207
203
223
212
240
233
248
221
240
244
202
241
225
241
240
234
230
209
207
229
241
217
221
202
239
227
243
217
236
215
216
211
207
207
226
239
217
202
244
225
234
234
214
220
231
229
216
237
214
218
204
220
216
201
227
201
216
229
202
209
248
244
234
214
218
235
213
248
238
250
200
494
346
456
494
418
323
394
400
440
362
476
500
343
453
411
341
325
429
321
330
453
519
390
367
467
496
476
431
477
324
353
481
370
466
495
418
511
327
504
374
336
371
395
423
348
445
380
326
508
448
458
431
350
328
429
493
342
391
464
383
474
429
490
489
462
442
350
355
494
382
514
488
477
487
483
511
355
326
343
412
474
447
368
370
442
499
328
423
442
488
350
476
351
493
474
379
484
431
362
493
512
501
448
502
377
432
388
396
343
455
336
508
401
359
323
353
480
330
399
448
345
469
456
477
382
488
396
320
360
488
399
370
465
490
398
517
382
472
326
494
365
400
340
467
384
380
431
471
326
466
514
364
476
376
326
326
349
335
347
363
427
345
462
453
415
500
323
501
518
388
339
383
332
391
359
332
332
516
471
412
385
363
412
472
412
457
410
402
420
498
431
346
466
349
430
397
329
443
486
469
401
488
414
503
403
494
465
391
371
344
408
344
324
359
509
344
331
403
400
339
328
396
426
456
446
342
333
391
364
405
352
446
489
500
370
465
400
390
442
410
454
400
470
424
404
392
508
384
347
398
350
360
351
356
488
443
393
460
403
351
465
432
428
472
390
507
355
391
320
385
441
389
471
415
348
327
337
402
488
349
372
405
375
458
351
431
436
364
367
374
416
440
373
505
347
499
460
460
363
519
439
412
324
440
326
392
365
467
466
494
438
511
430
503
322
489
454
497
495
363
419
450
458
333
497
344
509
330
360
392
450
368
349
414
333
479
454
431
368
514
411
332
409
338
344
383
513
321
347
432
461
426
400
448
382
365
379
454
407
449
407
447
431
389
495
386
441
454
460
335
379
422
339
394
377
370
472
477
477
484
363
517
478
389
409
390
336
471
491
486
515
383
376
413
329
416
441
431
474
383
397
471
484
398
513
454
358
446
468
446
490
385
482
463
387
509
392
325
484
508
463
403
516
470
501
334
444
354
483
478
331
424
519
461
519
425
491
476
346
490
392
462
462
321
471
470
389
389
519
347
449
421
499
410
423
406
476
510
472
472
354
423
408
453
417
330
499
435
373
493
448
446
496
447
378
408
342
509
370
424
416
381
504
396
425
331
365
486
452
423
464
320
512
518
373
382
437
432
499
479
401
391
341
421
405
394
433
403
498
324
451
492
391
503
321
492
371
461
450
390
342
323
519
470
469
345
452
383
322
327
364
506
335
323
331
327
328
506
479
448
336
332
451
413
348
433
432
371
334
352
438
504
516
473
509
416
419
334
513
398
347
395
432
480
455
392
331
376
418
465
363
355
514
373
409
369
440
328
442
365
479
384
461
430
348
395
511
349
347
416
459
507
471
401
438
508
423
500
384
385
347
370
475
467
448
457
392
380
327
325
399
320
323
471
441
401
368
506
507
355
377
413
370
480
325
441
423
509
430
470
469
423
446
353
483
347
435
372
395
487
469
339
377
444
351
440
347
469
508
373
487
369
370
475
406
343
341
492
324
441
459
499
390
374
455
460
390
357
363
391
329
350
463
427
413
375
518
460
520
389
490
373
482
415
500
352
352
374
390
338
480
476
511
508
507
342
332
366
369
364
477
476
359
357
475
389
348
405
425
488
414
358
388
429
340
445
481
454
385
360
373
467
356
421
466
388
494
520
434
358
469
324
453
436
426
435
464
495
479
423
504
503
322
472
509
427
490
419
422
399
324
440
475
519
490
394
454
348
436
398
341
494
453
355
517
494
413
322
350
393
468
465
352
329
322
389
494
489
492
335
438
507
359
402
511
321
457
449
408
444
467
346
416
427
358
483
371
341
501
511
477
448
508
481
381
485
381
481
361
507
425
391
383
479
404
478
399
430
352
447
324
420
429
324
401
473
386
377
424
460
475
479
408
409
344
359
377
516
508
473
350
333
323
353
440
461
485
477
415
387
351
438
362
432
435
520
355
477
360
414
464
331
408
457
435
405
457
326
411
363
503
369
514
496
383
411
434
456
508
325
472
403
428
380
341
427
347
517
422
471
374
469
450
511
498
480
508
428
445
336
371
414
402
439
360
403
427
482
352
417
343
453
488
501
402
417
340
459
465
392
433
399
446
342
340
390
488
416
476
483
421
402
388
487
477
514
344
482
489
448
341
441
363
514
332
479
400
455
334
407
366
492
413
470
369
370
483
327
388
394
506
482
419
461
333
391
470
402
416
462
509
355
402
429
381
477
352
339
445
333
483
332
420
375
402
473
375
462
509
410
376
402
412
507
443
323
518
387
342
330
345
330
338
339
420
370
441
336
377
344
450
458
414
341
404
510
379
329
429
470
415
339
353
329
359
461
392
427
399
357
507
481
480
389
366
355
437
427
321
447
459
368
399
321
505
379
476
513
363
514
392
391
322
501
326
336
325
388
480
501
357
379
517
512
422
379
352
496
416
395
485
329
386
392
486
481
407
386
420
506
411
396
378
352
516
496
502
366
397
441
366
395
465
520
501
385
373
416
372
511
341
320
484
501
488
444
478
488
518
332
491
518
340
356
414
324
394
367
396
332
363
508
341
325
426
469
341
363
422
382
488
511
461
433
519
320
460
427
498
508
350
412
473
336
353
485
497
419
376
490
462
503
451
333
378
376
473
452
408
518
480
386
466
323
419
450
360
416
476
493
376
405
347
476
402
328
479
484
406
461
358
442
389
403
353
516
428
370
366
332
335
511
518
427
321
336
379
431
406
429
429
452
469
514
448
409
494
439
476
471
361
408
415
454
359
370
452
434
484
493
363
431
492
432
458
375
367
444
438
413
516
424
503
388
505
320
333
507
378
472
497
376
445
381
518
484
476
476
382
347
343
445
480
503
362
416
350
410
335
471
320
344
326
440
471
350
340
435
494
398
413
448
362
393
350
344
489
365
357
349
439
494
491
389
482
322
513
358
420
322
449
415
385
495
393
435
335
451
450
475
471
507
429
440
354
474
413
350
429
340
353
471
481
341
466
376
515
422
462
513
390
325
424
357
491
472
415
384
335
393
460
388
456
516
465
335
460
421
413
483
474
511
514
461
423
450
465
366
356
443
449
441
425
425
518
383
386
410
382
474
444
405
438
384
382
323
486
480
437
494
499
320
472
321
491
444
325
481
476
436
422
397
496
391
457
462
507
444
356
513
512
383
388
351
417
413
366
498
438
349
388
384
349
432
505
418
493
407
374
468
490
472
381
427
368
433
325
396
362
359
337
418
450
432
365
351
467
338
490
420
440
496
446
323
501
459
515
484
370
435
405
340
505
346
376
332
395
409
505
423
506
465
454
325
473
454
416
326
413
473
384
387
453
427
368
460
507
375
330
398
348
486
518
397
497
501
515
506
463
511
339
482
362
456
502
386
439
334
502
350
496
403
357
487
347
361
504
410
516
479
453
431
451
342
493
398
442
385
451
515
335
458
320
345
490
420
419
408
502
482
492
485
380
468
417
348
491
514
506
333
435
415
381
450
413
461
486
491
401
519
494
507
499
500
372
398
412
474
358
326
471
508
505
415
452
342
491
457
490
402
425
378
362
484
455
321
338
393
486
362
355
461
412
359
466
389
477
395
474
379
424
436
481
496
453
417
369
462
348
445
493
345
393
409
452
425
440
375
450
449
392
330
506
338
456
503
477
406
358
470
451
467
379
390
516
473
345
477
497
405
403
396
506
377
394
396
492
432
420
448
473
339
508
504
472
348
326
481
347
465
508
461
334
393
372
463
428
421
497
396
447
321
337
481
365
397
420
492
377
512
440
511
373
361
461
328
411
510
423
389
510
419
416
492
364
452
408
376
427
345
435
499
404
463
441
399
325
340
412
415
342
453
454
366
474
409
423
360
476
438
374
510
363
504
494
472
442
368
367
437
355
328
481
361
355
464
428
504
404
439
447
377
428
348
468
321
424
373
323
475
397
375
404
357
357
370
510
346
390
346
403
398
333
445
458
413
454
472
474
444
330
446
348
465
320
333
450
348
401
324
458
394
463
492
483
384
486
357
505
472
344
353
387
373
496
458
390
402
338
326
366
320
323
405
445
408
471
463
325
403
361
435
378
510
359
489
406
342
372
511
429
336
340
507
394
474
395
375
371
420
386
443
444
372
407
381
360
516
384
365
390
443
377
328
494
418
365
473
467
351
354
383
460
459
327
491
369
450
393
498
369
414
475
338
434
474
407
383
443
438
392
437
512
349
368
468
452
453
510
392
503
429
416
391
379
381
438
386
451
362
376
461
364
340
320
420
334
365
437
455
326
349
493
452
348
347
473
377
469
482
480
378
433
426
420
341
499
436
375
475
362
401
351
481
510
463
378
410
497
487
365
453
389
412
378
475
410
484
366
452
343
397
341
460
376
320
432
419
382
418
510
505
518
481
322
394
483
442
379
481
396
348
375
396
335
347
422
332
422
445
356
343
385
372
363
384
400
419
351
398
416
421
448
382
440
339
346
490
458
412
458
336
510
361
401
449
479
355
461
383
446
448
393
391
357
413
404
450
463
470
481
463
492
430
349
427
352
366
461
452
416
367
335
492
330
344
460
475
497
333
336
412
406
353
347
330
442
475
495
511
427
424
351
395
511
429
326
454
374
426
505
428
480
363
440
358
487
397
352
329
487
383
324
507
352
411
447
386
420
469
395
375
366
471
339
328
322
420
387
509
338
515
452
420
388
338
467
375
348
348
322
422
401
487
480
414
448
383
396
453
421
344
390
392
403
364
386
375
436
404
411
447
424
413
338
397
439
355
404
390
489
469
479
512
472
360
419
333
493
486
440
414
343
407
459
376
378
320
413
349
441
413
423
501
450
322
460
481
375
456
370
346
332
462
419
476
413
418
418
383
355
467
416
329
488
500
438
365
509
512
382
433
430
474
390
347
386
496
399
448
341
435
333
459
363
517
427
516
331
384
446
358
407
455
460
381
512
340
402
321
369
382
510
479
415
356
326
417
433
397
337
514
376
429
493
355
513
340
366
428
401
348
362
360
515
388
380
482
353
414
344
365
426
355
376
410
496
462
416
494
508
372
338
330
336
429
375
402
408
400
447
421
387
325
402
414
466
517
353
382
473
510
520
354
332
519
429
506
431
493
444
416
453
377
517
408
498
502
422
446
456
349
344
441
352
360
433
366
329
435
432
454
405
331
489
337
326
443
339
322
347
363
346
364
509
477
484
517
487
487
362
488
434
411
480
393
510
382
333
460
382
338
469
418
346
446
331
463
448
336
505
425
419
442
469
397
447
411
469
491
401
403
494
325
418
342
515
325
490
359
354
498
419
409
510
441
340
344
498
458
353
329
449
433
369
434
496
327
425
364
428
482
394
432
500
383
409
508
400
359
325
345
404
382
493
425
452
384
396
455
439
360
504
342
321
380
498
497
480
401
397
510
321
458
514
456
509
497
358
388
392
378
397
341
453
336
473
450
425
376
519
320
424
424
388
440
442
347
386
390
503
354
504
462
430
448
494
478
411
450
342
397
425
412
429
430
327
463
446
346
423
370
459
460
384
375
485
412
340
454
421
475
383
483
459
397
341
434
352
395
507
505
419
375
390
336
519
435
415
471
325
520
471
442
478
412
493
347
458
445
510
420
349
474
410
390
419
485
475
391
405
504
455
441
400
498
437
461
504
462
511
355
459
382
396
415
339
507
327
507
423
470
330
438
399
446
477
389
505
486
478
327
511
455
365
490
357
515
419
337
362
445
421
481
443
454
372
326
356
362
461
518
370
499
473
369
484
475
449
444
396
362
454
462
352
447
391
517
325
446
416
506
511
438
513
476
383
325
376
379
371
328
488
491
350
335
420
500
472
408
367
507
333
507
471
410
350
413
352
512
505
465
501
353
418
512
372
482
517
519
514
513
335
433
485
424
357
334
361
411
492
371
346
391
448
377
399
361
493
351
473
420
364
431
384
471
487
438
406
405
478
348
510
384
432
384
394
379
485
477
411
322
348
483
406
511
488
507
472
454
368
499
341
332
378
467
449
322
488
386
499
385
474
487
320
510
337
435
454
392
477
436
400
496
378
434
442
430
378
517
487
394
406
337
440
367
473
433
518
501
359
455
365
506
406
433
403
357
379
442
396
381
404
380
496
404
364
377
438
492
383
505
322
431
368
363
492
358
407
340
356
456
479
515
517
373
402
476
462
412
390
386
337
431
330
353
326
420
336
383
412
460
442
437
348
418
451
425
432
343
414
323
363
414
471
437
508
498
488
417
451
489
494
393
394
422
454
435
504
417
341
447
407
480
458
364
400
479
491
369
393
499
422
391
346
403
360
385
407
327
431
442
354
364
402
517
389
394
495
346
395
390
490
368
361
415
320
491
446
516
429
375
362
475
436
388
477
433
460
441
348
498
362
493
425
510
334
515
328
403
352
321
440
434
420
332
430
341
372
422
324
370
471
429
464
336
356
438
441
376
433
440
501
478
329
393
491
390
352
495
471
504
513
432
519
503
503
407
378
470
512
513
363
376
468
343
451
447
400
497
515
506
417
499
421
327
420
427
482
371
464
501
426
385
420
321
357
413
345
350
482
333
486
389
379
410
388
468
477
509
513
490
333
337
507
446
427
413
518
464
520
433
493
415
482
483
402
398
453
388
351
381
347
397
326
477
504
390
509
443
377
398
331
351
393
413
347
397
355
322
440
443
475
496
425
508
469
330
461
386
370
495
371
505
440
376
378
404
390
376
498
344
382
505
490
502
484
407
395
482
380
398
338
349
445
457
458
398
456
456
466
379
509
416
359
408
378
442
406
355
503
455
414
423
387
520
322
383
363
468
436
517
326
413
347
406
388
334
438
359
470
507
361
364
449
419
427
505
444
476
406
405
474
388
359
334
352
472
366
375
465
425
370
433
440
364
489
453
338
520
494
447
467
362
478
440
515
512
444
407
448
410
494
398
457
445
332
510
466
519
354
422
438
390
448
490
405
364
325
387
423
341
509
461
461
400
406
503
464
393
342
444
469
425
397
413
491
484
341
374
434
384
359
387
430
424
484
454
363
449
320
402
509
393
344
379
455
373
325
331
349
438
420
447
401
421
372
421
358
340
376
454
378
395
383
323
495
390
416
463
431
379
347
425
503
357
396
436
392
503
447
344
401
330
489
449
360
408
377
427
365
452
426
425
419
477
487
520
392
327
494
393
377
361
401
364
386
460
506
359
400
331
509
498
335
333
327
339
517
464
418
458
400
378
467
404
412
482
481
359
476
414
511
328
339
463
464
454
442
458
498
413
401
495
440
456
383
501
332
435
476
464
400
331
471
334
336
388
370
440
342
360
510
343
462
473
351
398
379
442
324
515
385
447
325
449
416
356
392
325
514
457
386
477
409
323
381
501
435
325
341
390
347
421
470
499
459
415
461
402
511
400
472
510
441
438
485
509
346
501
406
338
500
324
449
475
490
517
520
494
416
491
366
377
385
458
390
383
406
390
513
431
426
362
456
380
433
461
450
364
396
481
507
490
427
506
504
329
355
343
393
480
342
444
450
483
329
386
334
349
336
341
418
502
467
335
482
349
391
485
338
387
441
488
391
421
401
431
412
403
398
463
374
333
436
335
405
475
345
348
457
438
519
328
338
352
430
444
417
488
325
403
359
372
507
454
411
334
429
467
470
480
379
337
347
397
403
501
466
341
353
344
499
415
363
333
406
494
394
343
426
513
324
441
511
469
338
427
494
398
478
352
474
401
372
433
411
436
495
354
419
434
380
388
373
367
350
375
508
484
507
368
332
415
468
495
441
351
364
379
427
393
412
496
406
481
325
375
433
389
435
463
460
460
469
489
473
442
416
504
362
446
367
450
437
484
507
449
364
477
478
447
477
400
347
379
425
428
390
482
460
418
349
329
509
468
362
498
333
453
400
463
355
500
519
417
361
494
460
426
479
320
467
357
520
479
437
483
432
504
364
342
428
352
455
350
407
495
361
322
462
425
405
389
418
394
334
466
454
405
337
413
503
372
420
328
451
439
475
411
439
330
399
379
390
437
396
331
481
455
457
475
415
409
321
414
509
456
464
467
360
421
368
518
356
492
519
419
467
501
379
486
358
332
474
361
324
465
450
381
362
479
471
520
506
382
508
361
400
481
479
338
416
400
412
413
511
476
513
343
470
493
396
344
400
388
327
438
474
371
472
363
454
411
485
365
446
517
342
350
514
344
320
456
504
340
369
446
433
448
478
383
441
447
433
511
338
506
372
384
517
363
459
370
389
447
373
355
323
488
422
337
503
408
501
325
468
508
486
442
454
343
510
469
445
483
459
461
484
365
500
363
404
456
411
365
328
326
377
498
425
505
444
417
392
395
356
452
467
436
396
377
323
377
405
361
498
325
488
518
482
382
324
495
500
444
356
493
465
376
478
348
321
468
425
411
414
353
404
517
368
329
411
492
395
357
361
347
417
327
327
489
406
385
371
406
372
484
420
444
461
352
359
379
418
408
506
518
501
400
352
494
379
329
504
469
344
422
336
386
334
519
360
332
487
467
448
471
337
463
363
363
440
484
332
359
362
405
498
395
417
397
406
383
377
338
429
513
519
332
511
475
493
454
495
320
431
404
468
489
468
520
414
448
461
364
435
457
459
430
510
411
508
502
487
384
378
401
345
433
420
386
412
352
456
450
341
423
426
496
393
410
336
359
463
429
507
345
349
462
352
367
415
373
335
511
494
478
445
352
426
483
418
383
504
491
497
518
513
496
341
362
396
386
434
421
512
418
393
431
493
436
512
368
458
474
378
479
380
455
487
518
462
356
352
463
417
410
407
420
453
336
504
334
429
323
329
335
327
416
343
518
332
419
434
431
492
469
414
515
363
453
460
371
408
384
402
502
515
436
430
344
430
445
327
383
463
517
486
484
500
396
393
343
366
320
500
507
406
470
325
467
359
488
445
419
429
491
457
368
487
332
514
492
320
503
418
446
343
331
432
502
360
448
353
478
478
321
345
336
395
372
439
337
451
393
476
419
377
450
504
350
382
471
444
326
345
399
478
496
353
408
441
435
502
495
401
466
413
353
394
365
454
439
474
373
475
353
508
330
376
451
407
488
325
437
339
350
508
442
339
357
455
481
504
432
403
373
484
376
378
443
393
489
372
431
489
499
444
502
479
508
483
415
411
517
360
407
481
332
475
504
444
364
477
360
368
399
516
331
450
490
505
380
519
367
504
490
481
414
439
455
407
469
458
474
437
438
386
477
352
417
464
349
454
405
490
323
473
485
348
402
392
399
394
506
433
382
483
409
336
345
491
463
388
508
420
440
500
329
472
452
417
383
325
508
358
430
424
483
391
477
462
376
320
352
426
470
410
360
473
416
379
356
372
496
473
480
497
500
518
391
360
490
405
333
478
475
512
428
371
501
475
434
320
364
338
495
490
409
366
483
502
396
371
458
334
401
504
435
511
439
494
386
443
462
330
338
337
453
419
471
435
438
507
205
232
204
209
226
250
248
207
235
203
200
205
205
212
200
207
209
225
213
219
232
203
201
201
228
207
232
220
207
217
239
244
209
202
249
205
238
227
247
230
239
201
201
238
248
224
204
211
222
236
244
210
245
214
250
244
209
215
215
210
220
214
221
212
240
212
214
221
222
207
216
220
209
220
231
215
221
244
237
209
246
240
218
225
206
233
205
204
236
203
205
235
215
249
212
234
205
207
232
213
224
209
204
213
234
217
227
223
219
214
224
245
219
203
220
225
222
235
247
237
226
220
217
214
226
219
213
204
233
232
238
208
244
216
226
201
216
229
248
225
213
230
206
225
235
249
215
216
223
245
247
229
217
241
227
216
242
208
202
205
202
207
231
233
227
239
215
241
246
250
231
217
207
230
225
244
205
200
250
202
226
212
209
237
247
250
221
212
229
232
223
218
225
241
243
205
208
244
227
212
221
240
204
242
249
248
203
208
228
229
202
226
245
229
235
242
212
211
245
228
238
225
242
233
221
229
219
216
206
203
212
220
242
236
200
219
207
200
216
226
206
223
249
205
204
250
242
223
236
239
239
233
234
227
228
201
237
208
220
211
234
208
224
209
216
208
221
213
242
250
232
227
217
215
217
232
243
214
225
243
244
246
234
232
250
240
212
229
220
230
221
250
208
248
222
226
244
243
214
210
208
235
214
244
243
240
248
216
229
235
244
222
211
242
236
248
228
240
241
223
227
204
240
224
217
238
205
229
223
205
243
223
223
227
204
204
238
209
236
250
244
214
221
246
205
239
234
200
234
223
200
222
240
246
213
222
242
238
222
203
209
225
240
214
202
225
227
201
242
240
247
200
238
217
222
238
215
209
203
234
218
217
224
226
216
210
201
244
244
211
228
237
218
203
238
229
246
229
233
230
201
201
232
242
219
200
242
243
228
212
242
203
243
206
235
225
225
212
211
201
239
227
226
224
235
200
204
250
235
230
242
250
241
200
224
228
213
233
203
223
225
208
230
220
203
246
226
219
237
209
226
218
250
207
231
249
238
200
200
226
215
245
243
214
213
219
242
204
242
204
235
219
245
231
218
210
250
217
228
218
203
207
209
218
225
215
208
203
239
218
226
235
245
223
222
231
244
224
203
250
236
242
233
245
209
209
208
212
222
222
205
248
216
242
201
245
217
209
240
209
221
218
232
240
206
203
223
206
244
238
212
209
221
237
230
241
228
229
223
209
205
243
203
232
223
231
229
201
243
245
249
247
234
245
222
224
204
236
234
219
207
234
207
206
221
237
225
225
208
222
222
243
211
212
210
247
212
228
229
215
203
213
240
235
231
220
227
204
234
250
206
217
229
213
247
204
243
224
241
249
220
237
203
205
219
205
229
217
242
236
225
249
226
228
222
201
201
249
205
220
248
218
204
202
230
206
234
249
217
250
220
240
220
218
217
219
220
239
235
223
240
210
234
233
220
248
237
202
250
216
224
221
230
201
205
248
207
206
219
243
240
212
228
209
200
216
215
221
201
238
250
221
227
222
215
229
217
200
205
220
215
220
250
207
244
245
234
228
213
205
243
224
224
241
205
248
223
206
224
234
203
246
214
217
239
221
227
229
225
243
230
201
222
221
228
222
201
238
201
223
209
208
214
221
222
246
220
226
232
206
226
209
239
243
212
213
210
225
226
213
208
241
225
219
233
247
230
221
216
209
220
201
201
200
201
212
207
248
232
248
222
240
215
244
221
232
218
207
214
228
248
229
242
240
225
240
239
246
218
215
249
200
225
211
225
219
220
247
209
204
234
245
214
242
227
213
219
213
211
225
221
228
211
238
210
209
237
204
240
244
223
242
233
200
206
225
234
232
233
230
203
236
241
228
208
206
216
200
249
226
204
225
220
240
244
240
234
221
249
205
207
244
239
237
205
211
232
239
240
212
204
236
249
223
235
236
220
212
247
246
246
250
224
214
229
209
237
224
237
202
223
201
215
214
232
207
204
227
217
201
228
249
242
223
242
209
227
232
222
200
223
213
241
201
234
250
204
249
223
206
243
205
250
210
229
238
218
207
223
215
211
230
234
231
203
224
210
242
219
232
238
245
245
236
225
241
242
243
244
246
207
205
215
237
242
234
250
224
203
213
215
210
220
210
211
240
208
208
221
249
200
219
220
219
231
243
244
221
225
215
239
217
245
202
248
245
247
214
235
208
219
225
224
211
233
205
232
239
232
222
239
231
234
225
211
249
247
244
217
223
224
206
219
216
216
208
200
208
216
218
218
220
213
244
211
220
226
203
219
223
225
234
212
209
210
219
201
249
215
250
204
237
240
235
248
203
213
229
236
203
224
230
222
229
248
204
243
231
221
234
243
247
203
238
243
237
203
239
202
211
220
222
239
247
212
242
208
249
237
243
226
238
237
231
207
240
247
206
242
205
208
217
241
249
224
204
250
249
244
203
217
230
237
230
226
246
202
201
248
245
203
218
208
244
210
216
228
215
220
238
250
232
205
246
239
235
213
247
204
244
232
242
247
204
247
216
223
223
222
248
217
209
227
241
235
201
242
243
209
248
220
222
234
218
243
229
228
246
232
226
247
234
237
233
228
226
218
223
250
230
212
246
244
215
243
246
206
244
214
238
202
230
250
242
224
240
209
242
217
239
240
228
205
250
243
205
219
219
215
241
235
226
221
212
213
210
243
242
238
235
207
224
230
230
249
231
224
202
245
208
209
213
228
202
248
234
216
208
202
247
218
232
209
222
207
202
229
220
250
244
208
216
217
246
245
239
206
232
218
228
219
200
238
229
240
223
228
249
246
229
232
208
226
241
248
231
207
236
216
239
200
242
205
245
244
233
248
244
233
213
217
212
211
211
200
209
218
210
232
240
219
212
217
212
204
227
223
210
216
232
244
222
200
226
243
220
219
208
217
204
223
208
216
250
202
221
220
244
241
202
244
242
234
211
237
237
225
228
216
224
226
223
227
200
227
210
220
235
219
215
206
249
238
205
209
209
230
217
211
249
228
236
229
217
243
248
235
213
229
248
232
215
206
243
238
243
235
218
218
239
220
244
216
229
202
242
209
202
245
222
248
225
219
244
220
206
246
213
213
205
243
210
244
234
234
246
224
238
237
209
227
224
242
234
216
217
214
244
232
245
204
237
226
230
239
208
240
242
234
209
222
230
234
217
233
229
222
203
240
203
233
239
232
250
204
220
247
212
247
201
221
221
232
213
224
215
210
234
201
220
246
217
208
220
244
212
243
200
202
223
207
210
217
220
246
236
200
222
206
233
245
208
234
241
224
237
211
201
216
231
200
212
250
216
242
212
211
234
204
240
249
207
236
213
232
243
208
249
232
224
209
206
229
217
243
237
217
216
241
229
221
232
209
213
245
225
204
201
227
215
209
215
224
223
230
222
246
224
240
207
231
230
214
235
225
207
221
241
205
211
212
217
213
201
204
248
231
246
250
210
201
227
226
221
234
217
225
224
215
248
242
202
233
248
211
209
226
207
222
226
245
245
222
216
225
239
224
238
201
231
203
237
211
245
230
211
249
247
235
247
211
217
238
237
221
241
250
202
249
232
246
225
249
241
229
222
209
248
201
214
229
226
208
212
211
206
240
250
245
217
233
230
223
208
202
234
222
245
216
235
207
222
210
207
207
208
232
219
244
220
204
205
225
209
210
235
201
245
210
208
227
250
243
211
218
227
241
235
214
228
245
243
250
232
231
220
242
227
218
246
248
242
250
239
213
210
243
243
205
206
211
211
221
248
233
234
247
228
215
240
248
202
216
218
207
231
238
233
230
216
224
246
200
210
205
238
212
224
248
236
207
203
226
244
216
242
203
233
247
244
201
201
201
239
237
232
247
209
204
212
225
243
207
216
245
223
210
242
241
228
241
212
203
224
225
223
225
218
248
212
201
227
202
215
213
217
218
247
249
237
249
217
213
235
241
218
213
228
210
224
245
250
228
203
226
217
234
208
201
213
225
249
219
248
202
250
213
206
201
242
232
248
232
235
215
202
215
228
230
250
209
238
221
225
224
225
242
223
211
231
227
228
202
215
215
211
201
228
202
248
208
203
226
246
216
218
206
227
233
206
214
243
214
231
207
223
208
225
247
224
212
232
221
224
234
230
221
224
218
213
220
225
220
223
247
249
211
243
227
221
222
211
224
206
220
240
249
200
205
219
230
213
201
218
247
219
220
223
209
231
216
233
202
230
247
213
222
218
238
205
238
231
232
242
226
247
237
224
250
201
225
210
243
234
237
210
222
245
214
229
232
208
202
210
220
249
232
236
230
227
249
247
211
200
204
213
244
246
234
212
210
235
230
208
250
214
216
220
225
211
239
230
249
215
202
212
220
217
246
243
200
226
240
225
200
208
244
234
248
239
248
237
218
225
236
237
220
225
203
233
223
232
236
234
210
237
224
215
220
209
210
202
212
233
208
247
215
227
246
209
237
236
236
245
224
241
215
241
225
249
237
213
250
239
207
215
238
209
205
228
221
209
249
242
205
247
233
208
247
231
227
250
217
235
244
208
227
240
212
208
243
233
222
241
209
209
203
220
207
203
201
202
210
218
202
200
200
226
232
222
204
218
203
212
248
206
211
238
238
225
228
222
205
244
204
245
224
246
202
242
231
227
228
242
201
230
229
225
223
200
202
223
206
220
226
216
207
211
204
213
207
217
249
208
245
213
223
245
233
226
247
249
241
250
212
216
214
225
220
246
233
222
226
211
216
233
237
206
223
217
231
243
230
206
218
237
204
209
202
239
242
242
210
234
243
203
212
208
244
214
250
200
247
210
233
246
224
249
215
211
205
229
243
239
237
247
221
228
240
242
241
220
217
228
207
206
226
204
213
219
245
241
212
234
227
202
213
210
241
205
210
215
211
214
247
234
244
211
202
242
217
228
246
204
229
233
225
241
246
228
242
215
201
231
247
246
214
366
457
503
473
321
451
357
420
471
440
379
343
517
504
420
443
398
374
401
518
330
341
394
520
338
424
399
496
483
381
509
419
351
499
485
485
321
347
326
376
423
425
445
329
378
444
499
418
373
478
507
445
353
399
461
401
413
385
356
397
380
491
433
511
414
346
419
483
411
429
515
350
344
430
509
423
399
361
491
393
348
517
397
391
472
408
328
472
348
458
396
436
434
442
417
471
455
349
343
386
364
479
496
373
337
493
462
336
446
488
386
480
344
343
465
499
348
386
335
515
447
476
373
494
483
467
321
349
405
512
391
367
381
409
518
507
485
420
365
422
378
385
493
509
388
381
401
519
422
406
401
340
492
390
334
354
480
425
513
413
400
430
352
340
461
364
320
379
423
445
516
493
345
520
362
366
334
422
505
439
336
444
446
494
434
444
517
380
350
484
494
345
467
514
362
380
392
323
494
392
368
423
510
405
518
448
360
471
358
381
337
486
518
459
369
466
335
455
322
429
483
328
471
503
351
420
400
326
421
507
458
323
363
401
513
511
331
517
365
398
495
424
386
498
358
426
464
405
394
372
343
429
403
443
339
320
366
385
454
419
371
498
339
517
366
385
518
378
520
473
362
450
417
397
428
325
462
400
484
473
336
360
455
356
499
520
405
436
520
362
456
375
450
352
466
402
415
324
407
364
505
436
329
461
463
434
400
447
388
334
493
361
332
441
362
418
458
484
416
510
416
450
435
345
353
481
448
367
387
442
463
374
480
378
451
357
480
416
374
358
456
476
377
397
377
419
362
334
324
353
490
403
495
437
324
505
412
369
399
404
328
435
417
417
501
517
481
509
438
455
386
437
401
423
382
407
405
417
464
377
358
358
396
472
482
386
357
429
330
474
481
497
333
474
462
492
363
372
381
361
462
383
464
327
442
357
362
476
358
387
518
510
463
351
336
503
434
334
456
514
518
396
379
454
336
321
445
476
447
329
322
388
511
416
519
397
394
427
459
408
498
396
508
434
472
420
330
466
499
472
456
506
365
438
321
468
416
338
426
398
437
369
387
457
399
516
480
464
505
471
339
493
509
368
356
434
397
446
343
320
414
503
381
399
515
341
516
420
451
327
415
402
473
501
502
515
355
340
346
398
420
388
417
462
361
468
478
481
442
365
475
477
366
476
455
386
519
449
480
417
388
351
430
401
365
466
472
401
370
430
326
398
388
439
475
502
455
330
461
484
323
426
343
366
451
399
352
419
397
455
346
476
475
393
475
482
492
494
429
467
439
483
402
379
386
356
426
468
519
485
493
502
457
496
425
417
486
473
394
387
386
425
461
327
334
491
394
429
469
479
359
370
384
479
471
497
328
378
382
343
455
379
407
348
354
362
433
433
424
459
340
437
426
508
392
432
324
412
353
417
438
504
513
393
436
372
371
331
464
446
347
457
324
445
386
412
483
494
467
436
476
366
512
325
400
413
350
461
426
509
377
419
395
343
514
367
329
353
439
455
440
369
374
490
391
406
424
370
482
332
343
355
421
475
361
461
510
485
365
328
469
450
436
423
470
361
504
330
416
419
427
456
364
357
358
392
393
391
498
461
454
506
341
336
341
475
339
369
344
438
361
459
441
403
377
477
455
381
366
445
490
453
481
404
425
478
371
393
483
385
459
356
448
413
441
341
337
439
345
508
499
441
502
389
327
325
504
387
386
359
356
384
382
386
467
519
470
513
501
419
441
473
321
392
429
387
467
417
512
326
369
351
478
515
485
456
441
462
454
392
368
374
501
496
417
452
398
327
436
402
375
451
455
341
470
448
434
482
379
412
495
399
334
324
345
520
495
485
477
456
428
395
353
377
352
372
482
423
376
330
386
496
484
493
483
361
322
328
512
369
475
359
333
378
519
505
373
520
516
396
364
358
410
418
419
350
465
503
368
346
428
399
356
371
403
330
520
329
412
404
358
336
371
504
519
421
433
324
471
429
450
419
332
410
437
518
393
379
380
482
372
359
449
385
499
370
500
454
503
341
465
503
428
324
414
496
382
330
422
345
421
433
436
475
383
463
327
417
431
488
478
347
460
352
348
519
343
509
493
360
473
473
404
498
342
472
517
484
329
376
376
430
399
393
396
364
326
479
486
407
440
424
336
483
353
414
411
508
450
441
353
328
322
451
350
516
473
356
513
474
487
367
471
332
492
483
407
330
418
470
329
461
401
427
514
439
476
322
388
327
430
461
453
326
452
469
494
474
379
375
450
479
344
326
357
339
452
399
365
368
363
359
343
362
351
479
482
468
363
466
473
369
367
446
455
483
452
498
369
448
413
496
447
394
359
508
332
481
408
458
478
513
420
438
346
354
444
346
338
496
495
417
402
370
445
341
396
393
408
501
495
518
326
476
439
412
447
433
368
493
503
370
481
323
375
394
445
349
437
456
466
437
331
483
484
510
422
396
474
394
328
327
419
489
506
511
336
457
395
460
414
341
388
487
354
350
462
384
495
360
401
401
366
452
429
452
362
381
485
326
368
322
336
371
431
494
351
410
415
512
410
372
406
509
402
495
353
341
401
329
500
440
351
402
507
508
402
474
451
481
429
337
510
334
442
457
477
423
482
381
337
519
483
351
505
339
347
468
335
487
392
402
369
495
462
425
422
516
372
391
356
426
467
373
399
367
425
439
444
435
343
507
392
420
342
416
436
386
456
469
405
500
419
335
416
457
442
413
341
383
512
441
369
390
326
322
413
411
404
425
343
436
436
380
361
417
326
408
417
383
506
470
457
482
506
481
453
481
349
389
470
341
365
366
500
461
371
399
414
420
510
321
367
355
392
324
418
325
489
475
373
457
369
354
335
339
395
483
340
442
368
499
436
483
383
402
320
368
458
389
489
381
342
448
342
326
433
477
343
450
477
410
352
373
519
398
495
468
320
449
329
419
367
385
506
374
469
404
415
447
416
516
405
378
395
466
407
520
469
355
478
401
494
398
322
464
408
441
518
441
448
394
352
473
477
513
354
436
387
474
477
345
472
414
490
514
399
343
385
331
328
391
335
379
331
399
469
388
467
366
491
326
471
422
365
462
403
407
408
341
451
511
365
389
334
489
520
470
391
321
488
425
331
391
463
458
336
499
380
490
367
385
495
397
368
341
430
453
494
452
342
385
405
366
469
435
381
367
492
430
349
365
501
472
396
420
352
382
447
350
471
470
353
329
335
422
464
413
455
364
405
505
353
420
390
327
410
423
462
396
505
443
504
431
513
450
433
457
452
460
466
325
405
512
499
495
399
406
507
424
422
511
322
361
428
511
463
392
372
435
338
482
469
492
420
400
422
347
474
474
485
378
353
460
402
480
418
340
406
502
344
410
372
380
516
347
346
460
436
341
514
378
499
462
323
463
346
337
383
360
445
395
356
453
505
511
393
457
513
392
324
426
374
492
483
359
465
504
327
453
477
386
499
495
466
390
337
362
491
424
339
456
367
370
325
511
446
497
509
415
466
506
485
401
378
463
393
489
465
349
357
471
383
367
422
341
367
389
321
484
510
398
434
328
349
326
371
401
469
421
369
424
329
325
465
393
500
393
426
473
496
341
517
415
457
335
452
488
458
470
410
427
383
330
417
418
519
344
406
494
480
357
409
436
403
361
519
425
341
433
418
366
331
408
479
370
413
329
354
392
349
368
468
366
392
359
427
472
484
359
349
447
442
428
394
420
404
454
470
349
508
431
482
468
403
432
519
361
430
381
501
497
392
351
361
421
386
407
467
519
338
477
445
472
429
445
482
409
338
462
510
378
326
356
426
385
362
455
337
401
490
472
449
345
472
438
402
422
451
353
460
392
403
426
381
418
369
486
477
407
404
388
354
385
351
381
472
460
490
435
497
389
464
419
407
471
449
339
410
432
324
341
342
407
397
374
514
341
358
399
514
356
399
326
355
463
458
469
368
516
408
369
323
348
326
464
428
460
465
416
495
513
354
346
339
439
408
421
336
361
358
474
404
362
409
348
376
494
412
374
499
416
391
378
517
511
422
477
374
432
498
498
409
449
504
371
435
511
433
416
508
485
511
452
504
378
503
505
461
391
328
494
394
444
472
402
332
435
459
332
375
403
326
334
419
464
405
406
362
327
478
352
471
480
345
352
434
400
511
478
428
338
462
386
390
488
351
347
517
492
409
491
400
404
447
394
450
491
458
363
497
467
368
471
335
464
450
384
442
324
400
343
354
358
483
489
430
405
410
466
517
514
481
500
421
339
351
398
390
341
324
380
464
473
372
461
346
337
477
427
500
356
342
429
332
429
485
501
416
490
361
372
390
464
397
456
398
450
453
357
331
331
368
344
408
506
390
512
470
385
474
449
444
391
474
484
321
377
429
465
517
369
361
438
399
333
450
433
446
367
324
443
511
492
345
487
320
486
393
401
512
374
496
433
420
337
452
351
464
469
467
372
358
402
365
389
337
440
506
479
380
421
491
353
488
499
484
450
476
407
394
355
507
516
335
357
495
421
351
502
504
327
403
355
424
355
379
469
507
364
495
412
341
383
474
420
331
488
421
418
481
482
507
378
493
380
447
423
385
326
452
503
418
404
488
409
398
434
373
358
470
342
444
454
499
423
344
514
482
381
519
330
381
413
390
410
344
520
327
331
410
471
482
323
399
366
499
456
510
441
325
411
454
383
395
504
385
394
486
480
327
451
346
453
438
448
434
506
404
443
344
324
497
411
378
511
353
444
342
422
468
340
338
447
433
501
469
494
456
486
350
383
358
448
345
479
496
355
323
485
367
404
478
359
413
490
324
350
391
498
461
475
355
497
481
509
352
472
413
499
383
453
388
377
430
369
393
391
383
433
449
367
413
342
397
506
515
413
453
357
445
438
454
420
459
417
348
323
393
405
502
370
372
409
411
381
511
432
365
358
407
495
398
513
346
481
463
473
511
460
503
344
474
516
493
345
356
378
415
342
472
384
453
420
416
352
247
246
200
228
224
246
243
237
248
210
221
230
220
214
224
226
219
233
222
243
207
245
209
214
205
200
240
232
202
215
232
210
203
230
210
221
216
221
213
243
250
234
204
207
205
232
209
227
227
234
200
231
224
212
215
228
211
209
218
236
204
200
240
222
229
212
206
224
212
233
225
235
224
247
202
200
201
250
212
208
239
245
230
242
220
249
219
226
249
202
210
203
209
212
210
237
230
233
230
230
246
239
246
208
216
219
206
227
233
232
206
236
237
236
246
213
249
243
238
241
242
201
243
200
209
239
204
216
237
210
225
239
223
213
227
210
213
213
205
213
223
215
220
203
246
244
244
244
247
240
216
209
235
204
232
245
207
237
230
215
210
227
225
227
233
242
246
227
226
201
248
230
242
230
204
240
201
213
242
244
234
221
240
233
248
223
211
234
207
216
222
201
231
224
231
208
221
204
210
234
236
227
216
210
223
204
227
230
230
244
239
230
240
237
222
230
242
235
241
222
224
246
243
249
220
235
242
209
234
229
247
201
221
226
200
245
211
227
206
244
203
218
237
233
220
206
228
210
241
212
224
215
201
211
244
242
250
205
207
238
207
247
210
221
202
245
215
246
241
203
250
218
221
217
210
220
233
215
224
248
207
225
237
231
201
246
247
249
236
207
229
249
215
226
236
209
203
245
229
243
250
207
205
217
229
229
237
244
207
205
227
200
202
207
230
235
225
207
228
236
246
203
236
204
247
209
238
206
218
228
239
231
203
222
223
240
226
203
246
214
240
242
214
234
227
206
224
224
231
232
217
234
202
234
230
223
217
221
244
203
219
218
247
237
218
223
220
211
216
204
237
238
236
240
237
245
243
221
203
238
240
207
232
219
245
217
231
244
200
232
211
219
232
221
212
222
235
208
206
221
204
245
214
219
227
244
230
242
203
211
201
240
227
226
229
201
222
228
222
207
207
202
221
246
239
211
231
246
202
212
200
243
224
229
234
233
214
205
206
243
215
217
232
218
229
202
247
218
226
222
239
239
243
218
228
225
232
225
245
226
223
247
221
206
242
202
223
231
206
249
234
229
231
201
214
226
221
226
241
239
204
246
237
245
203
212
220
247
247
203
218
228
200
223
245
218
244
230
216
204
234
235
208
210
245
245
200
227
203
249
205
234
212
208
204
248
223
234
204
242
207
239
250
222
221
230
241
240
221
232
200
245
214
245
230
213
205
232
236
219
227
207
209
235
249
215
246
223
242
246
229
237
219
228
205
230
231
217
223
238
237
202
241
235
235
240
249
210
225
233
249
227
234
243
203
207
243
241
217
206
224
219
232
238
208
222
204
234
249
224
227
241
222
211
210
225
218
205
215
241
226
217
204
234
245
234
213
223
225
214
211
203
209
239
246
241
245
215
232
217
236
207
204
225
200
200
241
203
204
231
227
224
213
228
213
215
246
218
248
223
223
240
235
239
241
249
211
211
211
246
227
209
231
200
222
245
212
232
248
232
237
215
231
223
240
235
218
210
234
223
223
212
200
236
213
214
225
234
246
241
241
220
222
201
204
225
245
223
226
245
207
246
239
210
211
216
241
230
245
218
233
232
231
210
233
201
242
227
221
200
242
228
222
220
207
237
240
210
203
243
212
212
244
225
204
204
200
218
206
203
207
211
215
217
244
217
208
233
239
221
213
229
246
209
212
206
201
235
229
242
248
237
221
219
212
204
247
244
210
243
238
200
246
218
225
247
229
228
247
216
212
231
234
211
219
240
235
207
241
207
242
236
208
236
239
224
221
227
206
237
245
235
230
248
246
204
224
240
219
219
227
242
214
226
219
206
234
213
228
206
226
205
246
227
216
211
234
228
227
231
200
217
232
238
215
225
217
242
229
227
207
231
222
250
228
248
246
204
213
229
213
211
220
217
233
224
206
234
236
248
236
243
206
237
231
221
235
239
233
204
226
225
216
216
245
216
217
226
247
215
243
232
222
221
241
214
234
207
231
217
237
223
235
222
205
223
221
225
248
210
239
226
240
215
202
220
231
202
234
214
229
231
224
221
240
229
213
249
217
249
234
228
215
231
225
234
215
233
203
232
215
221
241
213
233
241
208
245
202
214
240
227
231
219
221
221
204
244
217
206
238
210
232
240
234
249
240
230
207
205
211
243
218
241
202
240
221
213
248
221
219
200
240
212
223
239
227
238
210
225
213
203
231
207
229
248
214
236
206
200
211
227
217
232
240
219
216
249
206
227
231
215
215
217
215
241
223
212
244
227
200
215
247
216
228
237
216
200
216
234
231
243
230
232
215
220
240
208
200
212
246
240
238
245
218
220
211
229
234
247
242
222
220
249
200
201
239
250
230
245
249
210
239
219
243
226
204
227
222
222
232
250
237
208
249
225
205
233
216
237
245
229
246
204
220
219
249
234
237
215
250
237
250
220
239
229
244
228
242
214
234
230
228
221
244
237
246
228
244
239
216
244
203
230
234
204
226
221
213
250
236
206
244
243
238
243
209
233
239
217
224
250
212
231
227
214
208
245
248
225
239
224
222
246
205
226
213
245
243
221
223
210
235
242
208
232
245
223
236
204
237
235
201
228
247
220
231
230
206
203
246
209
248
245
247
241
223
232
202
214
209
209
243
224
240
207
212
203
246
200
234
233
245
219
219
229
221
231
200
249
215
229
217
228
242
248
229
228
205
250
242
236
219
249
214
239
203
242
203
236
206
243
250
214
202
203
210
250
234
218
244
239
246
244
243
204
222
232
230
217
219
233
217
240
232
234
239
234
206
202
216
242
242
250
208
234
225
218
245
220
205
221
240
211
240
207
226
234
249
200
228
218
209
209
207
227
217
222
237
246
219
248
201
203
218
236
231
242
217
248
236
243
213
245
228
212
209
237
213
220
223
219
240
245
249
202
244
219
242
200
245
211
224
234
226
228
224
221
215
241
236
203
243
229
235
232
219
223
234
204
248
246
238
243
231
226
209
233
212
245
216
244
246
213
217
203
221
235
202
220
205
221
219
245
228
219
221
247
247
215
204
200
242
245
233
204
214
236
200
235
214
238
232
244
243
236
249
222
248
244
200
224
239
237
208
220
235
205
207
213
246
234
204
237
241
218
237
234
205
244
218
222
247
250
210
244
249
229
213
224
213
220
241
205
223
215
249
200
214
214
219
216
216
201
200
225
224
248
216
201
212
240
250
229
248
214
213
202
202
244
213
208
209
240
224
232
240
243
222
214
231
211
226
212
248
237
233
202
220
202
244
214
219
210
236
226
218
243
244
232
243
222
208
215
217
214
229
235
203
237
209
218
238
202
236
220
216
242
211
214
247
228
205
205
241
229
203
217
202
206
234
245
205
235
221
216
242
211
206
242
228
213
242
250
234
246
209
204
227
245
230
228
249
236
200
205
208
232
214
233
203
205
248
201
238
200
212
220
232
232
227
202
220
212
204
219
213
234
220
233
202
247
217
216
248
236
212
212
244
227
238
209
236
204
216
233
211
246
243
241
209
243
240
209
226
204
221
241
241
249
206
203
215
201
210
246
212
249
250
232
238
212
207
229
240
245
245
224
205
200
219
249
209
249
200
212
234
248
201
200
207
207
243
200
211
206
230
227
208
202
248
202
249
234
203
232
246
233
244
240
223
215
223
219
222
213
232
223
205
221
219
202
231
220
210
234
211
218
235
230
232
213
219
231
203
200
219
232
218
221
243
216
236
234
222
216
208
234
241
202
240
222
238
250
204
225
205
217
203
231
226
203
231
246
228
248
242
214
230
208
211
227
224
218
240
228
217
203
204
238
209
242
209
207
209
203
225
208
219
202
225
213
204
213
201
218
240
214
234
220
224
229
227
232
202
214
207
202
242
234
231
218
217
243
209
244
222
208
248
227
237
224
205
220
205
208
213
224
208
228
250
215
247
212
231
248
219
210
202
237
205
227
221
206
239
212
229
236
250
249
200
239
235
205
229
245
234
205
210
229
223
235
227
248
248
233
218
248
222
211
201
235
232
236
240
241
202
227
233
234
222
226
222
231
213
244
222
222
205
232
216
217
243
229
229
213
215
212
221
247
227
207
213
244
219
234
236
238
220
245
240
218
216
242
250
244
208
214
235
216
209
200
243
222
210
219
212
203
200
228
235
237
210
217
206
233
223
200
228
223
246
227
216
242
232
211
228
208
239
223
235
215
201
228
201
247
209
223
207
246
217
206
239
240
240
212
200
214
250
235
223
231
244
242
214
248
231
213
205
228
231
225
236
208
200
210
212
234
243
241
232
200
223
209
235
215
243
232
226
249
239
224
222
234
231
248
217
243
227
247
230
204
231
227
204
224
208
227
232
200
212
249
241
245
231
235
250
240
242
245
240
214
225
222
235
204
224
208
217
224
206
240
226
208
214
250
201
236
232
201
230
209
246
216
210
239
202
226
214
208
217
245
217
218
203
201
247
249
238
244
222
214
237
206
218
236
240
220
232
221
239
249
229
209
214
206
240
231
219
227
207
241
229
241
213
218
211
215
230
242
242
225
237
238
239
212
226
244
245
229
249
234
229
200
241
209
208
243
250
220
235
224
240
232
247
241
237
203
242
208
207
249
216
217
202
247
214
204
214
244
243
221
220
225
220
233
206
232
226
231
209
235
229
226
236
209
222
216
216
201
208
238
229
212
215
242
215
203
240
241
241
241
200
217
224
228
201
213
238
227
213
204
207
232
228
206
234
225
203
245
243
208
201
224
250
225
229
245
227
210
222
229
228
250
228
222
227
242
220
246
240
224
201
219
247
230
212
217
250
214
200
206
226
245
201
226
202
228
205
233
241
231
213
208
233
239
243
249
245
238
211
217
210
207
219
250
237
250
224
237
243
215
201
234
203
214
245
200
224
209
220
229
224
250
238
250
246
230
226
235
212
227
245
240
240
211
244
238
212
216
211
201
241
248
244
241
202
236
229
242
241
234
227
214
240
225
204
221
238
232
248
216
237
203
207
221
215
218
210
234
248
227
244
239
215
209
200
223
207
204
249
222
209
243
238
223
242
211
209
212
227
203
233
241
201
208
227
200
230
241
236
219
217
214
246
228
245
222
234
224
241
203
218
218
228
221
234
204
211
243
216
217
204
246
234
228
215
207
235
216
243
213
242
206
234
242
218
211
229
230
202
240
238
236
245
209
244
246
247
247
215
208
238
216
226
220
227
205
228
243
215
244
239
220
203
231
207
210
209
204
210
200
240
243
232
241
242
239
227
232
226
204
228
228
210
229
236
238
203
213
241
206
207
228
248
247
244
247
224
248
248
213
228
238
243
242
226
206
225
222
201
218
210
238
244
229
224
214
232
209
228
236
222
224
249
249
237
233
217
202
233
239
246
224
203
209
248
236
208
203
214
243
211
212
246
250
234
208
245
237
213
243
240
223
226
248
230
200
206
237
235
210
218
206
244
221
224
207
246
210
202
234
219
246
246
229
215
212
243
240
217
206
225
206
230
239
248
226
204
250
214
235
238
217
230
218
201
207
244
204
209
217
211
238
209
214
244
223
241
245
207
218
237
212
249
212
229
228
211
210
237
213
203
249
242
226
205
229
201
248
233
234
236
229
243
216
243
231
214
227
219
202
233
232
248
228
227
218
221
211
208
221
216
246
234
212
230
219
245
216
223
245
212
218
218
203
204
218
200
205
241
212
231
237
246
207
237
236
223
218
223
245
236
235
215
228
234
221
219
233
207
217
232
211
241
227
248
215
210
215
207
223
236
238
208
230
207
215
209
225
224
206
232
233
240
217
207
233
218
213
249
247
203
202
243
248
234
223
234
203
226
216
234
237
214
237
203
235
245
225
202
229
225
229
248
207
247
200
220
240
248
210
210
211
213
243
218
244
214
227
204
209
205
212
233
240
248
219
237
205
230
222
233
237
201
215
235
206
227
208
242
213
244
243
238
222
202
249
211
232
221
230
204
231
211
224
210
228
202
218
246
244
216
215
237
231
225
205
204
201
208
217
202
242
213
233
228
237
210
205
234
222
243
209
218
243
204
226
222
228
234
218
219
241
220
239
209
232
206
223
239
222
237
249
228
221
213
235
204
202
238
240
202
232
238
243
250
204
216
212
218
241
219
206
227
219
204
219
248
224
209
239
241
221
200
218
234
235
206
214
228
246
204
246
218
243
235
243
221
216
243
201
206
211
225
210
234
208
235
231
240
250
245
202
223
219
230
246
201
231
234
204
206
207
209
246
200
242
212
247
221
229
219
236
232
225
226
248
214
221
222
227
226
220
208
226
213
245
215
213
205
204
203
200
202
201
238
241
201
232
233
226
211
234
240
201
236
238
246
223
226
218
240
226
208
201
227
212
241
216
244
242
218
247
210
212
238
250
212
240
224
246
238
200
224
229
235
234
202
240
241
208
250
201
250
247
243
243
244
207
223
202
211
242
211
222
211
246
217
247
248
232
244
210
242
240
246
213
222
220
237
234
235
240
224
238
230
205
241
228
235
218
221
226
222
248
247
240
230
202
229
236
201
232
221
221
243
234
237
215
206
225
246
241
223
232
248
242
231
212
235
239
249
248
237
215
235
215
231
204
200
204
216
235
250
230
200
227
226
242
245
210
209
246
239
239
250
229
235
209
215
225
208
205
225
246
206
203
212
236
229
207
215
230
245
202
226
228
234
207
234
230
225
211
200
239
248
248
224
249
209
214
245
248
249
235
200
234
213
222
203
234
205
204
218
212
219
244
228
208
243
244
235
202
227
216
201
208
247
203
224
239
215
231
205
221
234
221
232
218
244
248
204
236
211
247
205
237
221
205
227
246
204
220
230
208
245
229
218
202
235
230
205
224
240
219
228
210
231
243
227
224
213
210
238
238
232
210
207
238
245
222
238
219
218
244
208
222
249
242
224
203
200
202
240
218
208
207
225
219
201
242
215
220
233
211
247
214
207
249
215
237
229
244
206
242
228
204
213
223
220
207
250
233
222
220
225
201
216
215
215
237
207
207
202
234
233
228
241
216
250
220
215
202
214
208
201
247
229
200
213
223
227
208
208
234
216
203
240
241
230
201
218
245
228
249
218
220
233
245
212
234
225
211
228
235
219
214
221
238
246
245
202
227
236
204
220
211
242
212
223
242
221
222
221
235
220
217
244
239
232
203
236
246
249
232
246
219
217
245
228
216
201
221
210
229
241
213
217
239
205
243
243
247
210
243
250
227
235
247
206
250
245
209
233
223
244
219
223
224
203
219
207
233
233
247
215
215
224
216
214
244
234
207
219
224
225
207
219
204
217
242
213
230
228
245
210
229
217
228
225
225
248
212
247
207
214
207
235
245
240
212
218
225
249
220
243
247
201
241
244
225
203
232
240
238
229
241
208
222
248
223
249
243
230
210
214
248
210
242
232
249
247
212
202
238
206
231
236
227
227
228
241
223
244
230
235
234
206
217
214
202
240
226
224
207
236
226
236
222
216
207
245
227
216
248
247
234
236
250
208
205
226
206
227
232
242
246
244
227
235
223
244
234
243
229
242
226
209
234
243
245
213
200
220
229
247
244
205
202
507
321
433
482
500
463
376
338
505
449
481
346
360
358
416
433
457
507
474
369
371
375
371
365
479
357
351
386
421
383
347
455
348
340
338
367
470
420
323
418
452
411
454
498
379
409
450
372
360
520
364
461
417
463
395
426
388
494
442
457
462
444
428
341
428
366
502
463
340
437
483
383
396
446
460
416
395
496
340
447
437
456
363
410
508
367
417
472
368
333
498
427
323
479
486
503
518
517
456
495
347
333
473
404
329
345
501
395
519
506
492
466
431
401
362
357
503
399
498
364
435
451
340
323
320
366
379
480
322
474
407
475
502
468
435
477
402
483
350
366
365
497
465
353
456
478
391
435
385
481
350
510
345
351
402
490
482
362
446
463
471
395
388
351
496
372
424
453
418
330
486
414
482
483
456
354
408
504
382
342
483
387
498
421
402
455
374
512
489
404
517
425
369
412
504
402
323
347
406
333
432
423
329
479
427
517
331
362
334
450
372
362
420
345
360
506
411
396
378
516
473
489
447
507
475
416
376
494
452
427
425
414
342
498
380
339
374
413
484
402
352
447
374
371
431
472
459
466
350
372
336
391
358
388
389
352
334
329
474
435
403
344
414
345
379
501
354
342
468
321
498
442
329
388
394
441
458
421
491
384
499
446
468
380
413
342
371
499
342
455
495
447
340
370
476
440
397
454
470
507
506
339
433
502
403
322
509
329
342
426
326
510
434
397
482
402
341
391
327
366
457
418
477
475
420
508
520
509
356
487
481
471
419
471
373
393
477
361
499
377
320
498
431
381
372
337
345
436
487
423
489
346
345
337
475
519
333
408
403
424
362
347
511
425
381
371
444
507
346
462
337
474
405
415
498
515
391
465
458
499
376
473
508
452
484
335
403
352
429
435
491
373
393
458
488
432
371
506
332
431
349
320
482
389
362
473
516
409
392
390
436
473
379
337
459
457
384
475
346
368
468
459
459
347
383
455
377
472
354
375
338
368
408
465
426
380
440
423
448
327
489
391
511
425
398
430
325
398
376
491
496
506
357
398
474
497
349
335
468
496
368
461
379
431
429
382
502
507
332
377
338
446
494
398
444
341
382
413
493
518
322
346
437
351
327
387
367
445
366
370
395
387
339
343
513
387
455
351
345
417
346
442
484
418
478
412
391
487
369
465
444
472
377
336
330
479
372
391
479
461
490
435
483
440
343
330
479
436
380
478
406
451
406
474
483
428
426
384
398
389
451
470
367
475
388
359
433
362
443
452
399
381
482
458
465
441
344
466
401
480
355
461
325
464
462
519
398
434
366
348
433
346
471
458
343
361
338
337
514
321
455
429
432
406
471
426
475
420
486
497
505
327
406
322
360
511
480
464
355
465
452
459
408
508
484
501
367
387
329
412
462
347
393
468
350
434
431
472
414
407
357
468
503
449
354
425
420
406
489
326
391
462
454
474
338
477
412
414
337
386
461
484
439
410
489
417
382
474
386
407
445
452
410
477
341
506
394
387
502
443
418
408
444
408
518
502
433
442
405
470
380
435
441
324
324
384
381
475
382
497
329
490
454
354
352
358
419
331
365
449
439
437
428
485
401
413
476
496
328
427
396
360
401
458
402
433
504
478
364
380
329
413
482
392
395
354
340
427
407
340
393
333
499
380
431
358
327
385
324
350
507
464
468
474
405
443
345
375
499
412
463
481
376
441
450
499
403
492
403
396
353
391
518
455
490
421
476
500
454
507
411
504
453
450
354
416
361
460
489
453
394
407
339
404
508
349
380
507
331
460
357
361
382
373
441
371
321
351
446
350
353
446
474
499
390
459
365
458
474
468
342
461
404
482
342
452
405
493
422
505
368
338
410
358
425
341
520
339
427
473
488
416
519
327
406
329
518
498
487
415
452
445
496
332
331
488
420
341
382
417
365
404
323
428
405
433
404
440
362
465
479
517
452
467
379
477
465
467
418
369
355
457
338
447
420
459
477
321
383
428
510
415
456
501
391
346
495
385
342
364
487
493
475
447
402
381
377
390
506
463
519
370
418
350
431
387
440
356
326
428
391
424
517
499
482
335
337
486
468
327
425
356
473
512
467
362
454
400
473
366
461
326
323
508
450
334
417
455
375
354
456
360
324
344
340
516
423
442
461
387
347
472
442
454
477
330
505
437
421
470
461
518
449
490
496
338
420
375
453
396
334
384
349
395
480
399
440
338
395
437
427
465
449
469
329
510
448
430
478
408
441
443
475
394
418
387
515
332
512
400
451
334
499
334
488
459
515
417
366
401
342
396
330
405
399
335
389
518
444
436
372
347
463
375
341
331
430
382
437
466
489
520
465
353
499
405
463
399
407
364
339
455
370
480
379
362
422
435
365
415
409
459
322
333
414
325
430
474
373
351
421
326
519
322
482
426
425
340
340
418
459
492
488
411
493
340
503
380
441
389
340
437
348
419
378
363
324
355
345
405
416
363
514
405
439
464
510
498
393
444
367
405
473
478
450
323
506
380
386
460
386
345
340
442
514
322
369
455
481
327
321
367
345
328
448
399
387
520
432
419
439
484
424
483
423
404
371
497
478
437
428
504
425
379
467
349
433
484
482
495
398
404
515
381
434
325
507
400
513
386
390
333
512
431
359
346
493
471
427
425
479
476
320
355
393
347
426
494
412
351
387
476
507
398
478
404
454
512
442
346
361
452
402
463
402
375
434
370
508
501
488
477
356
406
360
466
407
381
496
335
464
465
379
328
363
320
452
445
514
410
513
454
494
408
397
348
477
391
446
458
396
479
460
446
363
507
325
407
373
325
329
501
471
427
461
344
433
334
483
413
441
518
478
420
363
333
333
440
334
366
504
356
428
329
418
448
384
423
482
359
370
518
406
467
478
362
346
342
333
351
355
472
345
507
405
353
443
416
451
341
468
388
335
418
494
383
514
347
351
472
415
343
339
420
469
380
352
375
460
375
409
333
453
376
417
338
446
368
453
453
480
452
362
449
410
424
409
331
474
512
372
321
333
487
447
481
346
375
345
357
494
483
466
492
433
374
507
464
407
468
389
333
456
467
489
440
323
456
404
518
478
352
389
433
344
477
445
457
427
360
457
386
324
483
482
391
330
381
455
404
359
330
404
354
436
519
431
479
408
326
446
409
474
356
402
464
513
495
364
517
507
375
501
327
381
354
333
498
323
371
489
353
429
445
435
465
464
435
517
330
407
465
491
378
373
334
325
493
483
493
453
443
448
456
382
433
518
374
348
431
431
396
415
364
476
496
341
441
493
335
474
447
416
508
421
341
436
467
355
515
383
354
393
378
405
360
424
379
448
324
415
414
422
365
446
359
366
335
328
398
356
437
401
355
349
440
412
413
380
323
475
483
454
439
371
417
362
469
496
464
329
365
429
329
408
405
362
321
472
428
492
376
344
404
502
373
516
496
387
375
336
377
461
442
345
466
517
487
392
493
397
390
506
333
390
413
387
332
454
519
415
414
491
467
380
466
485
414
467
463
391
505
323
430
390
507
493
385
351
426
368
445
508
453
454
344
440
414
434
354
462
390
393
351
394
359
356
512
342
464
516
445
516
369
473
451
395
418
469
375
406
506
461
428
464
518
440
375
500
341
438
428
483
485
446
477
511
483
407
514
428
418
520
416
486
328
370
369
404
357
505
492
496
348
473
341
474
408
323
408
391
371
484
408
431
505
455
396
378
512
455
482
362
321
380
503
399
358
497
470
352
334
392
441
362
429
471
439
455
369
328
390
421
442
332
397
474
496
436
392
503
474
391
378
452
519
420
343
430
322
340
360
469
435
450
342
327
340
500
416
400
505
356
412
337
415
341
328
352
400
461
461
347
519
423
336
327
374
415
331
428
376
505
379
475
387
327
481
467
380
489
450
379
381
421
410
453
372
445
510
393
406
474
369
322
435
509
375
342
436
405
334
437
511
333
380
375
490
374
389
481
396
508
515
511
515
519
473
345
321
412
400
350
452
337
333
481
438
510
418
497
422
519
396
364
486
493
506
498
366
386
419
501
322
490
346
422
416
479
380
365
347
417
395
485
334
371
433
452
345
386
469
516
460
516
517
511
449
512
384
376
518
474
456
390
409
324
487
429
415
344
443
375
369
397
437
482
373
372
378
396
378
450
376
514
336
397
363
398
486
326
325
448
512
510
502
422
338
413
482
508
464
381
430
354
440
512
448
395
421
432
322
338
399
415
468
348
459
340
412
422
376
348
433
471
520
498
515
356
455
387
500
476
495
423
442
472
353
338
433
489
488
375
380
423
377
504
367
472
475
389
413
444
464
469
410
419
381
365
368
451
412
346
509
428
418
441
470
426
344
333
446
504
402
448
487
403
439
459
378
417
502
478
401
451
487
393
493
353
379
484
359
363
338
453
374
423
432
347
357
517
449
516
440
365
347
489
360
493
347
450
360
482
414
355
464
418
323
471
472
450
381
409
494
382
330
456
516
377
455
482
440
471
453
516
423
321
434
489
459
461
365
338
467
402
393
350
511
484
452
492
438
476
397
499
460
464
498
513
380
413
484
423
346
450
450
511
399
428
330
379
393
335
391
345
419
462
387
328
507
320
519
482
375
412
506
453
390
390
447
443
480
506
374
384
323
419
344
461
415
498
399
321
328
449
446
367
348
456
322
492
498
330
320
372
519
473
491
332
360
478
418
429
344
393
435
391
515
395
458
338
440
361
336
369
345
494
365
501
480
481
338
327
507
428
403
410
364
475
498
349
467
466
454
351
331
330
409
435
326
501
333
504
357
491
510
430
488
370
499
511
371
430
368
438
364
500
466
447
394
399
404
476
403
400
321
323
418
458
511
516
393
355
393
482
486
471
455
401
422
497
470
512
404
470
390
432
366
402
387
361
349
513
360
340
357
450
472
397
330
361
397
349
369
417
490
378
508
502
475
406
332
353
381
493
425
365
478
335
468
335
506
369
477
323
384
486
462
471
402
387
364
354
504
478
388
364
516
497
432
440
491
353
327
398
392
506
339
394
371
423
396
359
367
470
360
494
341
362
510
342
448
453
503
491
508
492
485
477
507
452
517
421
443
396
432
466
439
336
508
349
446
363
356
424
332
513
437
445
416
485
431
363
386
350
401
407
460
492
389
455
402
474
373
419
404
367
489
379
518
355
341
490
455
384
353
455
353
516
501
367
374
321
382
514
366
450
394
393
439
428
335
394
396
469
426
388
388
462
452
350
375
494
505
480
516
412
460
502
403
351
474
417
419
457
490
327
450
512
408
393
479
422
339
389
499
416
458
403
414
395
386
402
501
497
411
412
519
464
342
430
376
432
382
323
433
425
415
382
478
439
488
487
422
470
493
351
387
365
365
410
374
460
404
365
378
356
332
492
386
430
444
386
345
512
495
332
414
368
518
450
500
381
348
342
381
321
320
350
370
430
491
393
508
405
410
397
446
366
444
389
503
350
472
412
390
340
408
458
451
326
346
409
331
418
424
362
444
397
421
420
490
430
320
345
473
473
341
490
460
366
440
453
488
381
332
413
323
384
408
471
392
491
375
376
367
492
401
441
378
430
348
495
379
474
358
354
425
347
461
388
361
397
436
402
497
462
436
392
349
343
320
401
350
489
460
397
478
471
394
418
327
388
388
499
371
345
463
399
398
514
484
396
409
349
331
518
363
464
435
487
466
395
334
516
403
493
351
397
361
463
357
450
513
383
430
474
359
427
413
449
492
436
479
451
410
327
466
417
423
398
394
456
445
377
520
466
382
351
428
407
379
411
390
514
323
504
372
359
347
379
438
335
402
434
388
378
408
401
390
487
469
344
389
495
361
396
520
470
354
444
321
490
493
434
477
391
460
335
486
408
366
459
371
321
373
391
426
370
386
476
473
331
496
502
377
477
500
430
382
448
388
516
380
438
336
452
421
330
469
351
447
408
477
342
520
393
433
400
496
495
410
496
324
493
480
501
366
335
359
355
418
503
321
327
414
431
397
460
410
387
437
347
487
334
433
429
518
352
393
447
486
369
347
371
459
334
434
437
443
425
483
370
503
348
461
342
376
363
323
429
384
347
510
343
514
412
434
513
427
474
454
481
484
478
476
393
371
340
515
428
494
408
489
430
390
489
324
421
441
320
388
465
478
372
484
430
444
457
340
478
485
474
455
469
421
343
513
406
350
483
442
477
353
387
427
342
342
497
477
458
446
339
390
487
463
432
375
482
359
429
428
463
499
435
481
345
333
448
484
480
413
405
424
363
329
407
386
328
454
479
459
481
499
411
353
464
371
358
398
411
372
364
350
399
430
395
330
333
449
460
419
340
369
328
450
502
462
350
472
372
493
504
494
429
340
467
469
379
369
337
480
496
419
362
495
513
386
448
322
425
355
450
337
447
409
408
481
363
459
347
490
505
503
415
402
353
421
508
379
443
355
469
484
499
510
412
447
362
339
495
419
322
476
374
397
325
371
476
515
368
411
395
354
428
449
457
345
494
391
468
357
486
413
467
321
500
355
367
447
431
410
321
494
340
336
442
348
403
335
436
495
400
447
329
442
455
392
375
467
481
397
324
431
503
442
431
417
328
351
462
401
404
381
370
407
477
391
500
348
493
494
434
492
380
397
506
425
356
500
344
469
408
343
482
448
479
480
350
510
357
343
374
339
358
369
334
433
334
488
403
475
384
342
489
383
471
511
336
505
374
381
416
433
485
409
411
492
514
321
335
320
399
494
486
432
328
481
503
493
418
385
350
501
391
413
443
458
431
388
487
468
325
322
436
380
407
387
513
432
422
415
331
342
511
330
378
343
392
323
378
437
476
468
404
424
487
417
429
508
363
498
380
343
487
385
440
477
407
370
431
375
341
409
405
352
395
448
336
448
475
505
437
433
476
414
484
458
509
426
456
405
402
520
452
387
372
454
418
419
374
412
497
360
463
430
369
398
323
444
484
337
378
484
371
356
519
505
335
419
455
420
503
466
343
477
470
514
479
351
512
474
455
336
464
340
369
452
426
354
348
456
423
384
436
407
519
488
384
389
372
380
386
327
441
444
376
486
359
456
381
457
361
500
374
420
382
519
397
512
400
399
485
425
516
454
474
512
324
354
376
341
452
375
334
421
363
360
345
496
334
320
498
484
404
511
326
424
411
421
500
399
391
367
482
425
356
415
511
391
496
388
485
424
469
361
355
464
336
470
366
354
331
376
353
413
476
382
453
450
366
464
344
505
413
424
473
362
395
501
514
391
429
324
509
440
430
439
441
508
516
411
380
452
513
431
361
440
492
404
379
342
417
321
456
387
408
456
403
379
401
422
392
426
387
364
495
445
350
428
433
342
327
390
502
495
514
500
456
371
451
405
442
468
452
324
438
498
390
443
389
399
323
429
494
454
449
480
426
397
334
446
385
400
420
449
408
468
356
405
386
438
412
344
476
489
357
322
503
481
470
494
415
361
343
425
442
438
455
433
340
363
418
400
385
506
328
468
328
509
465
469
323
460
442
421
384
467
360
363
370
473
405
361
346
396
379
327
320
467
481
442
343
370
452
379
417
434
507
507
416
435
392
389
369
374
491
340
433
355
431
398
378
433
484
470
491
455
472
482
461
502
499
451
499
358
402
408
495
416
430
473
426
480
449
509
378
412
380
509
415
378
509
349
512
373
386
427
374
409
482
422
415
490
476
404
512
426
482
402
326
400
356
331
369
373
398
519
388
503
329
379
340
446
323
398
390
409
520
495
510
321
517
439
433
402
354
426
350
481
398
383
450
356
463
498
379
441
394
343
408
506
488
433
357
503
404
447
481
428
444
396
486
430
364
489
484
439
320
450
400
335
343
397
509
498
340
509
358
345
445
332
464
433
453
453
486
515
476
441
466
363
413
330
500
497
459
359
372
357
359
351
404
457
494
497
338
437
516
437
322
445
513
414
408
507
457
484
435
442
493
418
383
392
457
371
505
435
356
431
455
467
437
487
498
500
446
368
346
508
374
491
482
440
443
460
432
385
372
495
393
503
519
420
376
439
436
377
504
342
440
347
443
501
382
336
320
414
475
477
508
375
422
331
482
448
381
368
489
340
347
514
440
507
328
479
515
347
426
488
461
407
485
419
370
350
387
392
375
320
368
507
397
365
335
352
517
360
361
353
379
405
458
376
431
451
321
469
470
371
430
474
401
377
451
499
481
429
510
465
412
416
486
473
489
375
510
366
450
367
491
354
339
360
336
391
467
423
499
329
370
366
480
478
390
456
487
487
394
346
395
322
361
447
451
369
447
457
491
447
471
334
401
448
445
350
425
320
371
518
451
449
407
414
499
461
492
352
365
506
435
514
499
507
393
511
405
394
428
330
507
440
401
434
399
386
463
387
442
475
512
464
415
436
370
391
462
384
355
512
326
403
436
457
481
480
374
327
406
415
479
473
487
476
486
481
484
480
378
381
436
325
423
410
489
385
429
369
367
404
444
351
450
328
520
517
344
496
400
439
382
354
438
383
519
343
437
423
456
465
463
360
448
386
377
382
416
385
351
367
356
445
372
326
387
491
483
353
456
452
376
428
483
415
397
325
507
476
461
339
405
410
415
368
409
350
414
331
373
478
416
329
396
437
505
399
428
327
377
333
404
419
374
409
336
331
504
398
460
448
436
388
482
461
502
399
450
457
499
467
334
396
461
503
350
486
452
490
367
519
391
325
334
452
486
356
400
461
373
479
434
470
481
415
447
321
463
411
342
512
455
332
338
417
476
493
372
406
475
381
513
405
410
433
437
369
351
482
472
390
456
499
351
464
516
361
363
519
519
379
409
332
423
454
476
490
426
425
437
329
354
505
491
453
399
477
348
329
345
411
440
345
445
340
330
472
364
432
405
368
347
370
454
451
493
389
380
467
433
426
393
487
444
479
444
520
461
420
458
460
422
414
449
512
405
517
333
350
459
415
465
511
407
366
371
391
457
500
353
430
374
513
448
410
507
380
329
370
398
493
486
341
520
377
452
353
483
417
481
357
369
404
327
500
328
356
375
402
395
426
473
457
340
402
481
408
434
365
399
347
371
457
454
449
392
377
376
497
440
498
436
502
452
333
444
515
509
322
448
370
478
425
447
326
422
331
489
361
332
479
342
384
358
471
436
384
433
401
425
363
421
480
395
406
513
360
466
380
419
345
469
482
342
419
454
336
444
444
400
341
515
362
455
474
396
347
355
481
374
472
453
469
337
384
513
430
388
506
335
398
519
462
457
415
402
410
417
490
428
488
488
504
392
388
320
485
486
459
447
390
390
512
466
414
346
344
472
444
352
345
438
442
426
388
347
336
471
396
324
348
364
332
387
399
325
362
369
430
427
485
330
391
320
517
442
399
433
493
391
324
328
518
399
417
401
433
328
376
420
461
482
360
452
342
514
358
336
342
398
385
519
360
395
336
446
517
342
429
501
468
380
451
484
368
507
379
492
346
513
505
399
410
456
503
445
325
497
349
460
416
472
506
383
461
488
466
435
346
383
389
506
416
381
466
329
419
373
322
473
399
473
336
494
485
406
446
431
435
349
460
424
465
378
444
507
496
473
513
395
354
443
412
349
396
353
440
448
474
369
371
415
338
505
492
346
520
409
478
403
344
460
492
513
321
320
469
362
334
489
421
391
471
389
468
324
485
398
354
431
345
449
492
492
393
412
331
362
379
459
417
469
327
477
391
402
370
516
332
338
337
430
409
370
363
441
344
357
386
484
335
345
322
454
360
365
341
463
502
379
486
374
520
454
515
501
340
491
488
420
443
356
423
475
494
458
349
393
400
512
490
347
503
506
355
450
404
362
428
320
499
368
430
324
477
387
501
381
428
344
329
469
429
341
394
334
358
503
354
480
456
432
385
350
474
475
383
441
342
425
459
449
494
359
424
464
363
438
378
419
484
338
505
495
461
330
493
357
439
498
371
356
510
409
418
320
485
426
480
377
449
507
474
484
481
387
378
432
476
382
323
365
345
360
447
404
418
387
517
494
445
400
512
413
497
425
469
338
362
426
490
482
322
488
358
336
385
513
381
421
516
517
461
437
337
419
477
487
413
405
471
322
350
372
412
352
512
520
503
409
460
387
434
420
478
390
491
462
342
424
445
497
359
357
425
321
333
407
351
429
405
361
516
387
477
330
437
462
382
498
452
436
402
436
458
444
383
364
361
214
238
244
212
242
239
202
211
248
230
239
249
219
226
204
234
245
247
229
235
248
235
215
224
248
238
242
244
246
229
227
224
246
246
231
249
210
235
234
237
215
223
225
204
215
208
219
243
232
200
225
217
223
211
234
200
234
235
241
230
215
218
237
211
244
232
214
225
231
239
217
236
244
243
243
222
237
215
241
224
204
218
216
231
247
213
219
231
232
220
218
239
222
221
210
221
228
228
237
212
247
245
234
223
211
247
205
226
232
202
212
201
222
225
232
202
226
224
222
250
245
225
207
209
241
239
225
228
202
213
211
240
226
246
233
200
224
232
249
238
222
238
230
234
245
249
218
202
245
231
215
207
237
202
224
204
222
247
222
219
203
249
225
239
215
231
225
219
202
217
204
243
201
234
218
233
232
202
225
235
227
217
240
205
246
213
222
232
222
203
215
223
239
200
218
211
214
224
235
222
231
244
228
233
220
239
201
236
236
200
206
201
207
232
244
203
208
213
229
219
220
245
223
245
232
214
228
247
250
239
225
246
201
244
243
213
226
240
234
227
220
211
205
201
249
237
221
249
236
239
241
230
212
227
234
214
217
245
206
226
214
216
211
219
245
229
210
221
245
250
239
221
209
230
241
226
241
224
220
215
238
229
235
246
236
207
208
236
202
242
250
211
206
235
232
209
228
239
220
215
249
227
246
207
243
225
233
214
249
215
243
237
216
215
226
219
222
216
220
229
238
248
213
250
233
244
241
213
240
241
203
209
225
210
239
207
215
206
218
205
213
238
222
238
201
247
235
250
230
219
227
242
234
212
245
249
237
236
212
208
245
241
222
218
246
213
229
230
218
230
231
224
243
242
217
250
249
210
224
218
230
202
208
209
223
203
239
225
218
241
237
234
203
231
225
218
232
221
242
207
237
231
212
215
204
231
202
248
234
238
228
202
201
217
218
205
207
232
241
229
227
221
202
239
226
244
227
238
245
210
220
221
207
228
248
236
211
208
204
227
246
200
214
230
246
219
210
246
216
201
209
233
249
245
219
244
249
240
216
246
219
221
200
248
227
236
202
220
216
207
235
206
229
204
233
219
244
221
243
200
229
218
232
226
234
249
207
228
227
202
225
219
226
211
200
235
248
212
206
231
203
241
217
230
212
207
249
204
230
219
203
241
211
226
205
247
201
233
203
215
204
250
234
228
207
207
204
204
218
248
239
228
209
231
238
209
227
222
249
242
232
227
235
221
229
203
214
219
212
203
244
207
246
238
207
231
204
229
237
228
244
232
221
224
216
213
216
212
249
240
237
234
227
209
206
233
214
233
247
234
229
206
229
219
233
243
222
208
240
229
207
231
243
248
249
217
226
216
240
208
208
210
250
237
216
249
214
235
230
235
239
226
235
247
243
210
202
239
225
210
219
222
222
229
239
207
209
248
231
215
208
249
205
222
227
219
243
212
227
220
209
250
203
249
211
246
238
211
206
238
222
238
205
212
212
233
230
220
241
209
214
243
211
215
235
211
210
226
246
204
205
212
240
234
213
221
213
232
210
205
241
239
214
216
248
248
206
206
244
230
227
243
227
221
229
215
220
222
202
233
213
237
224
222
232
248
218
247
221
217
216
233
246
237
230
231
225
243
216
231
216
203
205
204
213
242
213
213
233
247
216
242
249
216
211
238
231
215
215
203
202
219
249
236
243
235
250
218
217
201
249
219
215
217
213
236
212
203
224
206
242
238
220
227
225
224
223
219
225
226
232
235
222
204
234
235
232
200
215
205
248
235
202
201
225
221
223
240
240
247
226
249
228
208
243
217
243
236
223
231
216
230
233
204
206
248
240
232
240
242
222
232
200
204
211
221
206
224
239
213
219
213
220
228
200
245
201
201
216
234
235
250
222
222
242
206
236
221
249
220
249
206
248
230
239
217
227
200
222
201
233
221
237
213
230
205
207
210
238
230
209
208
249
241
223
224
238
217
224
238
243
242
222
227
211
223
238
231
225
236
204
235
240
212
200
203
250
201
243
216
230
203
212
229
236
234
214
209
241
248
228
204
236
221
241
237
224
240
222
247
249
242
249
218
250
232
224
212
246
213
223
230
209
237
210
206
213
233
227
244
217
215
242
231
209
214
208
230
223
231
200
211
244
232
238
240
225
235
212
222
225
219
242
204
230
208
215
218
227
238
202
217
209
211
221
246
200
214
217
223
208
231
201
204
221
207
222
219
222
208
227
236
202
227
214
206
220
221
247
231
235
246
214
202
231
248
241
249
241
229
239
233
224
230
248
241
224
219
208
210
228
220
219
247
207
210
221
207
228
230
249
209
220
235
221
221
250
213
237
238
249
205
218
250
246
212
239
245
247
239
202
236
239
216
249
202
221
223
249
243
236
242
223
216
221
236
203
232
205
217
202
250
248
225
215
214
249
248
227
202
215
242
209
240
248
228
247
222
246
214
201
205
239
238
238
239
215
203
227
217
208
215
221
228
237
205
210
233
241
233
245
207
220
237
233
246
244
204
234
221
239
225
233
236
212
225
238
236
243
204
246
230
235
243
227
226
239
243
227
214
232
235
246
234
204
226
245
234
210
221
240
250
223
250
231
217
247
233
215
232
221
204
242
235
249
236
202
245
201
207
240
211
208
203
209
200
200
213
243
221
212
246
247
217
206
230
213
226
203
243
230
219
243
249
231
224
206
241
229
243
221
210
228
247
218
219
230
238
240
215
231
237
231
232
236
213
215
204
204
202
201
201
211
227
224
214
248
242
217
222
201
241
225
221
240
217
217
204
213
203
244
227
245
227
224
209
233
206
203
244
228
206
207
244
241
222
215
228
203
211
212
236
216
225
201
204
202
247
201
245
238
215
244
234
211
232
231
240
235
212
201
200
226
247
208
230
231
248
242
216
220
220
245
218
202
236
229
239
243
225
223
225
246
210
233
202
212
207
247
235
204
227
217
204
218
213
222
221
223
235
236
231
234
231
220
224
200
237
220
246
226
205
215
205
231
230
221
202
238
206
240
220
202
218
204
205
215
210
241
244
248
230
203
246
209
235
206
204
229
217
248
208
232
236
227
229
223
247
200
249
232
249
233
238
235
234
201
249
245
222
244
206
230
235
249
221
241
218
240
243
209
229
218
221
250
225
221
250
245
239
231
222
203
220
224
210
234
248
218
222
208
250
242
207
241
218
221
243
212
250
210
203
222
249
234
209
211
215
201
211
246
222
218
244
217
250
212
229
213
243
241
221
204
202
234
200
223
209
233
249
227
238
210
233
239
203
212
246
243
239
230
204
204
241
238
224
210
227
250
223
222
234
209
209
225
247
200
229
212
200
230
237
214
204
212
201
203
203
203
216
222
212
225
249
234
241
215
240
224
226
218
205
229
204
243
210
220
248
216
250
245
245
206
233
240
225
204
206
226
228
218
242
243
208
200
215
228
213
244
237
208
230
230
246
228
231
229
206
238
250
210
200
232
241
249
211
201
242
228
223
223
217
246
236
224
239
230
216
242
211
220
233
208
216
203
227
203
244
220
240
239
220
226
242
208
213
225
207
221
237
202
205
237
207
238
244
207
200
206
204
232
234
201
229
211
242
245
246
238
205
234
220
246
239
216
236
238
204
201
225
240
232
205
211
206
207
205
204
247
223
225
207
208
219
223
235
222
221
222
226
246
222
219
215
230
220
213
225
218
247
227
244
230
250
233
235
206
217
226
212
232
228
215
227
247
223
211
212
242
206
250
231
221
250
228
234
205
203
230
250
223
200
249
214
219
223
244
240
234
230
207
220
215
200
222
205
208
229
226
228
205
224
234
248
245
206
240
234
231
237
237
211
241
240
246
233
200
222
233
225
210
208
212
200
236
211
220
246
231
227
219
223
232
245
238
214
228
206
201
236
248
245
216
233
248
222
216
201
203
240
239
232
234
223
202
222
206
234
227
222
214
216
220
249
209
221
228
237
207
224
224
216
225
237
229
206
210
235
236
221
205
237
206
232
219
226
201
234
241
230
208
212
206
230
228
210
214
235
210
242
209
203
209
234
244
239
221
216
238
248
240
237
231
241
233
214
221
247
207
210
244
238
207
229
239
206
203
207
237
228
208
225
223
248
239
227
228
201
224
202
245
209
231
228
204
246
243
210
232
234
213
210
248
200
224
218
232
216
229
231
204
250
248
242
247
209
243
229
230
208
243
215
236
246
209
244
229
228
250
240
250
212
227
217
209
215
213
229
203
222
234
208
228
240
211
233
232
206
230
247
202
248
214
223
232
204
228
225
215
226
240
204
240
240
245
246
226
237
207
232
220
226
207
225
203
247
220
242
238
233
227
238
220
218
202
250
236
240
221
218
230
249
203
233
219
208
218
233
208
215
211
210
250
205
216
229
224
234
247
232
200
234
242
225
230
207
238
200
238
218
232
208
225
213
231
210
204
209
242
209
205
217
243
235
233
228
207
250
247
222
245
203
216
216
225
204
236
231
224
205
247
228
214
245
242
211
202
226
212
249
221
243
214
206
219
250
214
205
248
232
235
218
209
244
209
247
229
222
243
237
226
235
228
228
231
243
230
241
225
244
228
204
233
231
225
233
204
200
231
234
248
215
215
209
210
201
224
219
228
239
233
224
242
237
241
230
206
229
230
227
215
216
239
232
232
243
217
204
201
250
208
241
208
208
209
214
204
241
214
201
245
220
228
230
247
207
211
240
249
203
248
241
221
226
219
206
233
229
211
243
248
218
230
242
230
206
200
222
222
200
215
230
216
234
244
227
246
245
203
219
221
250
202
210
239
218
207
248
200
213
217
201
211
211
203
242
247
244
250
248
247
227
240
209
238
200
228
215
247
229
228
229
212
221
231
221
232
236
230
249
237
200
218
233
246
233
244
231
238
209
201
242
236
216
218
208
241
222
218
226
225
242
245
209
235
233
230
213
204
250
214
210
242
215
225
205
232
233
217
233
210
204
214
218
224
202
208
209
202
248
201
213
231
210
229
250
214
243
213
223
213
230
231
246
239
209
217
234
233
228
221
220
210
241
200
243
219
233
229
234
221
232
206
217
226
238
237
202
239
211
209
210
227
201
248
217
215
212
248
212
228
217
247
236
242
220
219
228
206
210
224
218
214
236
211
237
236
233
202
236
217
243
206
216
201
236
211
238
243
221
222
217
211
235
204
227
222
215
201
249
221
201
229
213
210
250
202
218
234
202
237
234
204
241
230
246
231
217
213
247
229
248
202
229
220
236
210
236
201
200
207
212
229
210
209
215
213
247
202
212
205
224
236
228
206
239
215
217
204
208
216
241
240
224
245
203
231
249
207
233
204
212
240
244
221
243
200
214
237
244
222
215
240
226
213
206
228
246
228
205
230
239
205
231
206
201
210
234
231
218
221
201
215
233
208
206
203
213
202
232
210
241
200
228
248
215
239
206
227
242
215
247
250
211
234
223
202
202
230
219
207
201
229
212
206
202
234
238
236
237
227
213
203
214
208
207
239
200
206
202
235
245
226
226
222
230
239
218
250
214
200
239
242
211
212
210
221
236
249
216
248
246
209
249
227
214
202
229
247
210
236
234
206
214
211
236
238
207
223
212
231
218
200
215
241
240
249
232
225
206
235
219
204
236
241
215
244
250
221
216
236
223
242
201
213
213
240
206
231
211
214
230
221
224
245
233
203
228
230
234
250
247
218
217
229
217
207
247
239
211
208
234
208
200
225
201
221
229
201
219
208
235
235
243
206
225
230
241
219
211
203
238
242
231
238
230
238
213
222
234
201
220
203
222
225
206
250
206
227
221
223
202
205
216
231
211
243
204
218
212
229
240
215
225
204
210
226
243
210
223
242
242
206
214
232
247
237
200
216
232
236
239
219
206
225
203
228
249
203
236
245
245
224
202
218
226
228
242
245
233
236
247
201
234
235
247
236
209
239
246
223
225
242
230
234
230
205
242
246
200
218
214
250
209
246
245
236
213
238
205
200
243
229
204
238
248
203
216
239
229
238
244
248
239
233
201
213
212
228
208
204
247
226
250
217
240
227
241
220
211
244
212
214
250
225
250
248
243
202
249
240
210
237
221
219
205
221
219
200
216
218
241
248
244
216
250
245
231
219
243
208
233
214
246
228
210
200
235
211
225
212
206
247
226
236
212
234
242
214
209
229
238
215
245
237
242
209
206
203
242
202
222
231
210
240
205
210
210
243
239
234
227
205
232
216
243
245
226
207
207
219
221
244
243
222
212
247
224
207
203
220
207
249
245
212
228
248
243
249
230
220
213
243
231
213
223
228
204
243
243
226
216
242
225
246
215
225
227
217
249
247
224
243
243
210
243
249
250
241
213
242
237
206
211
235
226
239
229
243
217
229
200
233
202
210
211
232
209
216
227
219
239
232
232
221
215
201
208
232
246
203
243
203
209
222
219
250
205
215
205
245
213
207
219
241
217
249
203
248
203
227
248
243
236
246
247
239
217
229
219
248
213
228
201
246
250
213
244
212
207
213
210
220
209
221
231
249
201
221
204
218
216
206
209
207
223
230
226
240
211
218
206
249
202
226
205
242
250
220
246
223
209
213
235
240
207
248
241
212
241
226
215
227
243
250
229
209
204
226
240
221
234
242
207
221
233
217
213
243
237
224
208
244
217
206
226
231
205
211
219
248
247
248
205
202
213
214
223
200
231
216
242
216
243
215
231
229
212
225
231
207
236
201
234
213
244
203
216
232
202
214
224
236
216
240
222
213
237
234
218
228
200
211
249
212
240
238
236
226
225
203
244
232
232
245
236
219
248
210
250
229
213
203
237
230
227
249
221
209
245
250
243
222
222
223
231
249
225
220
223
200
221
241
219
235
240
237
246
208
233
225
243
201
229
209
240
223
226
203
245
240
222
214
209
207
204
234
212
203
217
211
211
232
250
221
214
229
212
227
239
214
247
227
200
205
242
223
243
244
206
206
222
217
239
212
200
226
236
218
209
232
208
219
209
202
218
217
211
243
230
206
243
247
202
243
233
241
228
240
224
245
233
216
232
238
239
220
218
239
233
245
205
205
211
218
212
204
223
208
231
230
241
238
221
244
228
228
211
217
204
240
218
219
226
220
218
242
234
224
243
218
239
228
207
230
216
203
200
225
232
234
215
224
212
223
240
216
220
225
237
201
244
219
224
218
244
214
228
211
233
240
221
234
236
205
241
216
209
247
211
219
200
250
220
211
204
218
207
224
241
235
207
218
209
231
223
249
247
242
232
229
213
243
245
240
231
247
214
201
209
223
212
219
208
239
231
224
221
223
220
203
221
239
204
241
202
212
230
230
219
224
209
248
218
229
238
224
210
210
224
207
240
207
202
203
221
203
229
200
220
221
213
215
215
243
212
243
246
217
247
224
213
226
208
202
212
207
226
231
213
225
246
233
228
225
202
203
243
213
239
240
250
222
232
227
204
238
236
250
246
225
201
250
202
205
246
229
242
249
213
235
221
235
215
227
218
240
213
242
226
233
219
245
229
202
244
242
249
236
237
234
246
248
219
217
207
227
233
246
245
241
201
222
202
207
234
205
219
223
229
234
218
227
241
243
206
250
213
228
221
221
236
212
222
205
214
209
238
210
216
201
204
204
211
227
215
204
227
205
200
217
244
229
221
223
232
218
216
224
247
202
236
229
228
236
224
236
232
247
226
216
249
232
247
205
215
236
210
244
246
236
217
219
246
225
202
207
206
237
233
212
250
239
211
213
246
224
210
202
226
249
243
244
236
205
244
219
205
233
205
201
221
238
218
240
242
235
228
246
242
221
227
234
250
202
218
216
240
203
232
238
210
216
247
236
210
225
211
221
222
244
250
234
213
236
237
209
206
200
247
236
205
215
246
220
239
236
227
204
247
235
218
229
230
242
211
231
235
203
239
217
240
227
208
246
215
231
247
229
204
200
214
241
214
211
214
200
200
222
229
226
250
217
211
201
220
206
247
235
246
243
201
228
238
226
221
249
219
212
241
222
241
211
222
230
214
235
215
208
236
221
234
218
242
208
217
205
214
224
244
246
247
223
202
229
204
232
200
239
248
225
203
230
237
212
250
218
243
233
243
213
217
240
250
230
214
249
207
231
224
219
225
204
216
242
244
247
206
247
232
248
237
239
213
210
225
244
232
221
209
215
249
203
203
240
221
245
203
227
209
208
227
206
222
238
224
250
206
239
235
230
205
232
218
223
200
221
249
234
230
226
217
210
227
250
242
238
245
242
245
241
210
200
234
228
212
205
218
230
230
230
241
218
205
227
226
247
221
247
241
250
204
209
216
215
204
208
245
220
237
241
247
235
224
234
219
242
221
220
242
225
233
229
250
249
236
238
244
231
207
200
220
222
221
219
230
216
224
237
200
239
238
233
233
208
231
202
224
216
202
241
206
230
222
204
224
220
250
225
240
205
228
212
239
244
200
223
212
250
237
226
221
231
241
229
204
212
219
203
225
202
220
238
249
213
232
212
213
211
209
226
208
220
241
235
210
242
216
206
227
229
206
238
220
245
249
243
235
233
232
224
220
213
230
242
202
250
241
214
212
202
205
215
204
229
236
225
233
219
215
232
236
204
225
239
214
235
226
207
245
202
216
237
218
205
228
246
210
204
243
216
209
238
237
207
204
206
238
239
215
249
217
215
226
215
243
243
204
215
209
215
206
226
218
239
233
217
237
234
240
218
233
250
205
207
213
248
214
214
239
238
249
237
222
227
206
215
206
216
235
231
206
235
206
218
215
230
230
231
211
233
243
242
211
225
242
206
250
240
201
200
239
228
235
239
209
225
235
217
209
223
210
217
243
214
204
210
221
240
222
222
235
206
205
219
202
228
228
249
237
247
202
217
228
235
209
221
214
218
244
220
211
207
204
223
205
236
230
213
215
234
241
208
230
238
223
247
247
231
245
246
223
243
222
250
242
213
219
244
227
212
225
226
233
209
210
218
214
245
234
246
232
244
225
228
240
216
244
204
209
232
243
235
249
245
217
222
208
239
218
219
208
200
200
223
243
207
213
248
250
240
209
230
220
240
234
248
248
219
235
247
204
207
228
225
242
248
245
200
225
244
223
219
213
229
243
214
237
229
210
245
246
240
208
246
206
239
213
228
214
248
241
248
240
208
217
214
243
249
210
231
219
222
236
230
227
216
245
214
218
219
222
206
249
200
224
246
243
206
205
240
233
228
238
246
228
203
239
243
212
223
221
201
243
236
245
227
205
207
219
212
250
202
245
237
206
216
212
248
222
226
250
208
222
249
239
243
220
215
227
212
225
201
226
228
204
247
222
202
213
229
202
239
210
229
237
204
204
228
213
243
226
206
228
219
213
236
234
215
222
203
247
225
237
242
242
205
202
208
232
212
226
226
220
230
216
240
234
228
240
244
227
210
226
207
206
246
206
208
234
245
244
234
233
240
244
214
246
247
200
220
224
227
249
204
229
234
232
204
214
246
200
214
247
241
235
231
220
210
207
202
236
248
203
230
203
200
243
234
240
208
204
243
241
220
231
228
238
247
238
249
219
202
217
245
249
246
235
207
219
222
200
228
201
234
205
203
222
214
223
244
221
247
201
243
211
218
233
220
219
241
236
236
201
239
247
231
202
224
235
234
200
223
240
240
209
236
213
246
204
216
244
247
243
215
231
232
234
211
214
223
236
221
248
222
204
240
226
247
227
211
209
203
212
209
226
211
231
239
235
245
223
234
242
230
204
202
246
227
223
224
240
208
209
244
239
241
235
249
207
243
206
244
228
220
221
236
240
238
249
239
233
216
237
246
201
217
213
215
245
235
213
245
246
219
225
224
241
206
230
241
234
222
206
250
226
236
211
219
217
225
217
218
219
209
235
210
217
246
218
240
228
209
211
218
208
223
250
249
229
226
210
240
234
237
223
229
217
250
207
204
220
220
227
229
204
226
209
242
206
229
219
236
245
230
245
202
211
211
242
223
237
226
200
225
221
227
214
214
239
249
238
202
247
222
230
245
227
215
201
201
242
213
224
228
247
227
238
223
235
230
200
213
208
248
244
221
234
233
230
224
200
244
250
236
233
232
217
240
237
202
209
237
249
237
205
205
250
207
244
232
239
250
222
208
243
242
224
227
223
228
222
206
231
239
206
211
246
218
241
246
215
205
231
240
200
245
228
241
200
250
242
234
201
231
234
206
238
214
213
220
236
247
245
242
203
250
213
205
215
207
200
224
239
246
244
204
233
230
201
221
214
218
215
215
224
246
230
225
208
232
226
230
207
206
219
206
244
232
231
212
242
202
210
202
216
201
211
246
203
248
237
229
202
236
228
239
210
238
224
233
236
236
249
221
248
206
241
213
207
233
214
217
231
220
200
220
234
212
236
247
244
240
212
247
205
218
205
220
220
224
225
248
227
247
249
244
205
241
234
248
218
221
236
230
238
203
224
233
207
246
234
246
233
224
229
244
237
208
230
224
219
243
237
226
242
234
210
222
210
212
238
222
222
227
239
214
230
236
202
243
237
235
230
248
217
225
206
241
232
212
250
232
228
239
208
202
223
247
228
207
216
233
250
212
233
203
224
231
216
229
218
247
214
240
226
224
219
243
225
227
210
224
200
207
241
223
224
235
226
232
223
239
493
440
492
477
516
516
381
520
353
357
509
335
465
446
487
508
484
333
360
336
503
442
477
487
461
374
509
334
513
405
329
374
360
334
450
401
401
468
387
425
359
512
386
365
485
516
472
491
330
396
499
381
441
422
480
486
438
461
361
382
343
466
444
366
335
437
487
355
365
343
348
445
509
452
349
441
428
439
450
516
440
321
360
517
360
354
336
474
410
369
380
373
478
411
361
333
464
455
463
513
431
428
394
428
341
327
496
478
474
506
476
458
435
387
390
450
432
385
371
361
426
503
410
507
362
394
380
453
430
343
380
342
499
337
391
324
403
500
350
379
359
518
376
371
354
503
396
430
508
519
468
394
390
367
331
519
420
331
441
391
501
356
373
388
335
409
359
351
378
424
406
361
417
472
356
416
519
358
420
520
421
466
370
433
371
386
469
469
451
484
448
462
408
466
473
367
482
337
326
361
426
377
341
366
447
517
495
324
339
358
504
440
356
399
481
437
513
336
428
462
367
472
483
420
444
502
323
487
501
324
518
332
380
433
395
387
424
465
379
461
401
432
452
504
334
385
463
491
382
484
355
403
442
416
482
377
341
351
512
426
495
381
431
450
502
340
514
377
489
476
439
362
458
322
345
469
466
327
338
424
429
488
490
501
442
397
369
352
483
333
453
495
514
397
508
365
492
437
355
479
431
445
472
433
343
507
501
486
371
398
340
438
520
413
370
391
419
396
397
332
427
384
341
444
482
400
380
446
413
379
473
428
402
517
414
416
389
495
469
406
421
460
359
516
488
348
448
517
347
417
332
486
470
407
356
419
366
491
371
450
471
501
349
431
519
344
455
514
371
353
398
450
486
491
350
485
410
342
457
472
361
472
472
432
484
449
326
352
463
421
414
444
493
437
358
321
348
436
492
393
452
468
323
321
419
350
479
330
499
493
421
457
330
504
487
349
473
429
408
500
476
341
327
447
382
328
435
334
441
488
385
382
507
471
371
384
335
383
474
445
517
451
486
453
506
475
448
507
368
450
322
476
358
443
411
469
466
390
471
459
426
457
452
511
495
413
345
495
428
337
377
383
462
488
337
441
339
347
488
378
339
359
345
323
510
519
447
362
408
417
457
416
374
474
509
383
514
454
324
436
385
497
501
355
323
511
336
501
422
469
385
322
444
497
422
487
323
468
470
385
473
441
469
509
466
393
451
499
499
385
447
510
494
443
368
375
357
405
492
362
408
350
443
508
333
383
518
512
487
480
343
472
411
336
338
394
422
428
485
408
406
329
445
436
486
432
328
446
433
421
404
324
444
512
385
397
467
505
506
464
499
344
458
510
485
422
469
490
498
381
343
410
492
328
377
506
376
484
347
454
399
488
448
425
445
510
444
477
520
485
340
411
376
503
379
479
470
361
495
490
485
507
461
341
469
345
360
437
400
512
470
489
375
467
364
388
519
482
426
394
440
450
360
474
476
326
325
344
497
514
519
371
426
516
420
348
471
512
390
445
381
442
361
335
452
387
409
470
489
430
355
493
373
439
378
351
418
374
386
369
320
475
460
458
392
419
320
515
487
334
321
507
454
386
371
489
428
376
398
375
418
364
407
359
366
497
406
355
515
493
478
469
426
377
322
378
368
406
459
454
499
456
479
392
367
403
378
334
404
457
456
430
474
439
465
460
446
369
368
519
353
486
338
340
364
325
472
476
398
516
487
375
346
373
433
342
342
452
347
357
355
353
429
372
508
400
460
389
328
480
488
471
385
381
507
341
475
445
436
465
453
341
482
454
398
396
512
509
460
352
430
413
517
511
335
443
410
371
400
519
446
459
425
483
368
407
395
433
436
508
417
495
338
481
391
471
439
478
510
342
453
375
472
383
400
517
331
509
437
401
468
497
369
451
379
473
366
482
492
473
406
427
371
497
437
516
388
375
470
434
499
500
328
338
362
486
469
496
425
372
421
457
410
402
430
482
347
344
448
503
410
381
485
337
450
405
496
392
506
342
331
384
485
489
498
490
391
325
496
450
442
366
385
422
352
351
396
493
347
426
353
497
514
501
378
328
414
498
431
322
484
421
471
421
405
438
427
444
399
343
478
374
450
345
354
385
501
453
456
444
441
495
446
478
445
325
369
466
409
467
440
495
334
477
452
515
438
350
458
400
488
462
488
417
433
445
419
398
516
322
389
437
331
500
389
458
472
484
400
429
355
360
333
354
485
359
448
393
436
489
393
373
468
331
326
369
519
403
341
364
386
344
405
440
504
379
462
425
446
434
512
427
458
347
415
436
372
330
331
345
383
339
498
448
469
408
418
341
409
393
468
398
355
439
473
452
438
416
344
363
473
359
488
327
329
415
386
372
479
468
445
370
376
505
520
450
490
399
453
324
517
514
380
512
361
479
457
512
373
387
390
393
493
489
517
371
482
374
500
406
367
411
365
383
418
384
479
339
356
487
372
443
453
502
408
432
330
414
403
440
388
514
322
365
379
506
345
496
477
514
486
376
450
402
462
323
400
476
475
325
427
459
355
376
467
393
426
439
475
489
433
434
334
391
369
510
395
387
357
347
451
400
427
354
511
365
481
519
489
368
501
343
397
377
440
491
493
410
412
380
349
477
471
496
337
375
366
489
417
327
498
347
403
429
459
407
415
370
436
399
494
451
346
508
504
453
354
482
497
497
495
465
517
351
403
506
346
354
453
369
365
500
463
504
493
329
516
359
422
345
372
474
411
474
391
437
433
457
331
370
379
477
407
378
464
323
354
432
405
416
435
490
504
394
393
368
416
510
402
337
476
469
430
353
329
514
393
340
424
437
326
471
427
515
330
328
378
418
501
396
321
455
340
440
495
446
428
347
430
362
515
508
409
367
343
429
365
395
518
432
379
472
371
356
424
352
498
466
481
520
500
361
460
331
341
347
377
395
365
458
364
405
433
395
375
382
380
457
366
423
510
458
366
430
338
501
412
388
384
326
411
404
353
323
427
363
470
472
396
430
332
423
426
492
512
400
386
451
367
399
489
511
459
399
327
515
437
458
504
434
504
403
479
483
501
494
432
517
500
403
352
411
459
485
444
447
449
391
481
400
364
358
351
422
403
390
433
467
508
430
351
427
402
448
408
494
425
320
343
389
422
375
510
388
468
391
402
424
499
452
454
408
509
483
346
517
486
410
494
406
321
466
470
359
352
491
499
356
404
450
320
487
489
372
323
339
364
456
366
495
360
453
464
485
326
357
344
350
486
439
413
371
511
398
409
406
386
442
392
407
472
436
487
389
442
462
468
352
439
338
505
352
461
420
394
404
502
366
350
479
461
443
347
355
457
368
332
434
494
512
437
514
367
380
379
468
373
362
442
387
423
498
338
448
322
435
453
418
417
494
498
374
371
364
360
491
516
477
448
355
454
423
471
423
455
482
394
435
413
442
323
421
462
478
497
448
464
334
322
473
401
392
501
389
447
350
336
421
345
482
394
457
423
428
352
518
379
353
503
499
496
404
350
380
434
396
502
415
489
382
446
345
444
497
497
330
398
431
431
388
423
322
424
379
471
366
500
325
327
454
368
348
509
393
447
449
440
431
504
364
365
398
463
348
433
495
486
490
474
487
386
387
359
386
404
517
412
443
391
437
399
447
381
495
320
451
482
475
385
353
495
346
378
507
384
441
336
351
470
327
450
369
483
352
365
502
397
325
391
438
512
356
370
459
342
443
389
383
424
442
490
460
427
349
484
443
470
513
423
492
342
360
426
353
456
403
500
478
473
445
461
329
419
386
408
418
368
420
448
482
420
393
485
354
413
484
441
427
439
380
323
424
511
513
448
501
394
418
428
471
397
477
513
461
354
479
500
353
346
382
376
459
327
421
337
470
468
427
329
351
382
447
375
440
386
362
388
400
509
334
364
387
449
385
405
464
520
473
363
415
508
480
390
376
520
409
465
350
444
516
407
325
464
382
468
495
403
354
354
321
485
502
321
476
464
347
391
378
348
457
434
352
499
351
430
400
494
393
324
417
459
333
351
445
470
406
415
509
447
454
504
443
345
329
390
503
509
425
342
476
501
454
327
470
476
372
456
443
498
412
445
398
508
502
483
511
451
355
476
414
471
479
436
400
407
390
379
360
436
344
422
335
497
496
374
441
396
336
343
431
466
441
377
337
371
321
389
425
507
496
504
460
467
409
394
496
395
447
342
464
357
438
411
464
520
459
499
444
432
446
397
466
325
415
452
519
463
455
414
393
514
414
453
465
479
429
341
491
498
405
454
381
363
446
327
425
516
396
446
457
379
323
447
349
500
320
488
476
369
374
401
438
452
417
502
439
517
504
496
409
480
439
477
507
446
488
346
367
411
377
466
485
390
435
326
364
393
491
414
361
474
487
512
483
367
451
336
336
409
328
393
407
490
373
436
451
327
333
467
344
324
322
451
429
402
398
479
513
374
418
505
395
335
435
336
342
339
326
506
388
420
516
404
326
426
409
517
389
443
501
333
353
493
502
416
502
392
388
490
360
432
513
508
336
491
470
490
334
381
475
331
363
338
510
385
453
491
453
383
324
373
496
497
508
449
424
391
431
419
376
411
491
431
382
346
378
412
447
439
344
490
501
443
510
341
483
380
503
456
326
325
407
331
391
383
370
415
439
357
402
451
377
448
512
499
409
469
409
444
405
471
367
341
464
515
425
482
409
354
425
320
390
409
364
456
337
353
383
435
483
391
451
327
325
496
378
355
451
362
357
392
454
498
346
324
469
380
352
437
376
378
430
324
499
366
492
505
360
418
506
437
384
354
386
505
506
384
459
425
331
519
451
445
357
392
393
374
475
497
361
349
518
352
375
410
366
488
357
450
454
444
387
328
365
445
517
485
367
322
424
440
407
419
452
337
367
519
454
497
410
440
403
517
337
422
484
333
464
504
409
433
448
468
515
514
453
482
407
482
338
409
330
479
482
355
412
457
403
437
354
384
369
498
398
421
502
487
376
421
375
519
452
516
371
399
385
362
384
369
487
474
330
482
420
495
335
392
361
396
491
459
347
436
505
390
446
320
424
405
475
444
441
429
425
391
400
331
405
336
478
429
343
330
337
338
416
483
509
448
449
327
386
471
430
354
504
341
481
520
475
479
519
466
504
454
451
490
442
341
465
364
435
471
358
441
474
448
396
430
349
323
332
497
365
416
520
455
509
432
480
506
472
348
466
417
496
341
482
448
454
449
337
493
320
428
336
509
464
429
346
357
513
352
517
375
443
390
449
404
325
500
430
512
350
518
498
500
378
490
470
474
508
363
413
417
477
326
329
496
364
472
445
348
476
439
382
489
517
391
367
365
378
365
399
396
417
322
454
505
368
498
387
418
326
337
440
443
395
334
438
490
442
377
388
513
458
334
376
350
332
492
467
321
491
464
504
358
434
498
382
371
322
473
411
447
477
466
414
338
394
475
478
415
427
388
387
445
401
431
333
513
374
456
355
361
373
402
493
350
430
430
410
455
458
473
519
373
375
486
378
501
396
483
414
424
384
434
405
410
357
360
412
346
434
340
512
393
385
365
472
442
448
454
333
386
326
460
495
485
356
419
405
322
508
322
505
320
449
428
520
430
388
352
363
466
397
433
486
512
504
504
346
380
367
450
383
337
429
478
439
427
235
239
227
243
218
220
207
242
221
224
234
235
211
235
240
223
214
245
207
202
229
229
228
227
212
214
222
211
243
207
243
213
234
249
234
219
239
237
232
235
209
208
227
238
223
248
209
231
210
223
240
223
208
207
235
224
222
226
232
232
238
248
240
200
250
214
218
205
228
219
223
226
229
228
226
220
223
212
202
215
235
235
213
250
202
232
218
203
250
227
224
208
217
204
234
234
203
246
250
220
238
242
213
245
250
210
218
235
230
247
229
214
205
218
218
243
219
233
211
234
248
228
232
245
213
208
225
200
236
205
216
227
249
214
205
228
216
238
238
228
229
233
235
207
248
240
203
222
236
225
216
243
242
222
228
212
218
233
238
227
233
201
214
241
219
247
244
226
240
239
233
229
215
245
232
210
212
228
211
246
213
247
234
230
242
216
214
243
222
216
248
222
232
220
240
228
214
203
224
214
200
238
243
213
246
235
245
246
222
245
242
201
201
212
245
241
242
223
226
243
249
228
205
203
249
225
206
219
227
225
234
249
212
241
249
218
224
200
216
244
208
231
243
221
215
229
247
201
203
214
219
214
204
226
202
207
234
220
212
205
244
238
227
209
239
215
236
244
228
233
235
206
217
223
237
233
213
214
215
235
204
214
200
238
224
220
229
218
202
232
237
227
233
245
233
240
238
216
226
221
241
250
232
241
235
247
236
227
224
213
220
233
213
205
229
208
232
205
224
229
240
227
207
249
229
214
201
216
234
230
226
202
202
239
210
229
233
246
225
231
213
239
241
241
233
217
244
201
220
235
231
212
229
230
204
227
234
201
205
242
247
211
217
211
241
203
245
209
232
249
246
250
209
210
219
231
218
211
243
239
246
230
222
238
214
241
200
233
220
231
203
248
246
240
238
234
239
222
206
222
235
242
246
206
249
242
226
245
218
217
226
208
223
203
224
211
202
213
217
202
202
247
204
239
236
224
234
236
249
234
239
229
233
205
246
241
232
222
218
234
214
246
220
232
249
226
200
216
225
232
249
201
226
228
204
231
239
239
219
235
249
242
206
228
222
201
215
218
248
208
241
225
225
222
246
244
237
250
241
230
239
211
214
211
206
204
200
244
223
245
217
220
232
237
218
248
222
233
248
213
236
228
212
226
246
227
214
206
225
206
232
234
245
216
236
219
213
201
233
249
232
243
224
212
238
216
206
226
212
225
246
239
233
233
230
232
219
205
237
214
223
209
227
234
212
238
246
225
246
216
222
216
221
222
238
217
216
203
244
249
209
227
223
214
247
235
214
226
247
227
223
203
225
249
238
239
222
243
239
215
239
226
234
239
227
235
231
242
201
200
223
206
219
210
225
237
205
231
218
200
206
202
209
200
244
204
236
206
243
207
209
243
226
244
203
240
228
233
209
227
222
226
224
243
225
244
242
211
231
230
205
225
229
217
222
249
217
245
205
226
250
201
204
204
239
213
220
220
200
248
221
230
207
212
245
204
231
236
221
235
223
205
235
239
235
218
239
234
240
232
233
227
229
225
215
245
240
225
223
225
236
245
223
210
239
230
241
223
238
200
225
225
208
240
247
230
211
228
243
228
213
237
249
242
220
250
234
238
204
245
201
224
200
215
202
217
203
249
202
221
222
245
205
204
228
230
206
227
215
231
249
237
212
219
201
243
221
210
216
217
204
214
230
200
239
221
249
241
246
236
225
237
205
250
248
229
243
248
216
216
244
236
241
235
214
214
239
217
208
207
246
212
228
241
217
239
215
219
205
226
244
225
206
240
219
209
242
209
201
246
241
224
208
238
238
236
208
248
240
212
242
226
227
222
227
230
235
224
224
244
207
236
207
234
219
214
210
202
236
224
222
239
227
233
227
206
224
204
234
228
234
231
212
244
248
211
236
210
204
230
211
226
216
246
203
226
230
210
200
225
225
212
238
232
236
200
214
225
245
238
247
232
224
222
247
212
222
207
229
227
248
217
220
233
236
218
226
213
247
218
222
229
221
244
212
229
212
245
221
249
201
226
243
227
239
204
227
215
211
249
208
227
242
214
245
226
210
227
220
213
212
229
222
249
201
233
235
220
227
232
244
249
245
208
213
219
218
230
230
233
244
236
227
209
213
237
202
233
247
214
226
217
203
214
239
213
203
218
245
249
200
226
230
244
218
246
228
241
202
231
218
235
233
250
220
221
209
250
227
230
225
225
221
210
225
206
211
215
201
217
200
220
203
221
242
243
248
206
248
234
204
203
202
248
204
238
245
242
234
218
248
217
227
246
216
234
222
236
222
213
248
221
211
237
209
209
247
207
227
230
220
244
213
207
237
225
218
231
221
241
242
247
234
241
202
227
223
219
214
217
224
222
243
210
236
229
248
202
228
238
206
230
228
248
226
249
233
210
217
201
200
219
214
240
208
236
238
246
217
218
223
233
247
211
208
242
241
237
215
245
223
239
229
236
246
207
236
250
204
224
206
215
240
204
250
242
228
250
229
241
228
224
230
225
202
210
227
230
203
242
212
228
229
231
207
211
245
226
205
207
234
213
205
212
211
222
225
227
229
237
204
211
232
220
210
210
218
204
232
219
202
219
206
241
206
241
234
217
214
227
242
212
215
200
248
233
201
205
212
248
231
209
237
206
234
219
208
217
248
206
209
232
248
243
222
208
206
215
234
224
224
239
201
205
249
226
245
204
224
223
207
203
225
223
224
207
235
219
223
207
244
222
226
231
222
227
215
206
246
231
217
226
232
206
232
218
209
221
207
242
247
222
211
241
209
245
233
247
212
219
233
250
210
216
226
227
249
238
215
213
202
215
200
243
209
249
213
205
243
217
213
239
220
222
202
205
250
240
240
206
235
236
207
250
232
248
246
211
200
205
206
227
237
202
211
231
204
201
236
211
235
231
232
242
238
236
212
223
207
216
235
216
240
206
231
215
201
230
203
225
231
202
227
223
203
228
229
209
229
229
202
247
232
210
245
245
238
225
243
227
227
240
245
204
247
205
235
219
227
206
226
203
235
233
202
248
221
217
206
212
235
216
243
202
240
236
222
237
208
205
206
221
250
244
219
213
233
230
226
225
250
207
228
214
230
204
227
240
228
222
238
209
212
241
232
233
237
243
242
205
222
213
239
241
230
235
214
202
220
232
215
238
220
247
232
215
229
217
205
212
218
211
250
209
217
235
238
237
212
213
228
232
236
218
232
213
205
207
214
246
245
230
245
216
224
218
237
227
218
235
236
203
222
212
214
249
215
216
225
237
220
210
215
241
223
229
241
205
229
247
246
250
247
220
219
206
224
211
201
233
234
212
233
211
234
221
211
210
219
203
219
244
218
208
215
233
233
233
206
211
210
202
209
202
237
233
203
218
247
208
228
220
226
222
247
244
237
223
238
241
208
221
247
200
204
243
235
230
242
216
233
205
234
226
229
224
228
215
235
221
244
238
210
240
235
202
208
225
228
201
220
236
237
248
229
200
202
236
247
235
201
242
206
231
212
234
216
204
208
242
234
201
212
238
238
236
207
226
236
230
212
230
213
250
209
223
218
200
250
225
233
230
238
242
211
214
231
212
227
208
242
223
201
226
217
236
226
247
206
202
206
239
220
214
215
209
246
248
200
242
207
240
208
209
239
218
214
232
234
236
236
218
237
206
226
231
232
230
212
247
229
238
218
210
219
230
236
238
202
246
243
237
205
215
243
213
212
216
209
250
204
214
204
229
250
217
203
246
220
231
234
241
219
212
200
204
210
211
226
213
239
215
203
209
248
202
208
226
201
229
236
226
231
223
236
243
247
209
219
248
216
218
201
243
242
211
246
250
200
220
230
219
247
222
201
209
206
235
210
219
230
234
244
200
218
237
225
201
230
245
217
245
218
201
228
206
224
249
204
231
247
208
229
217
238
229
232
200
208
221
235
202
205
236
232
207
214
224
227
235
203
228
210
239
235
215
239
249
234
224
226
204
227
210
209
223
201
213
246
222
229
217
227
211
210
209
201
240
226
216
239
229
216
214
241
224
215
206
208
242
200
240
231
245
220
206
239
245
225
228
231
202
204
228
221
216
248
247
224
220
202
220
227
234
201
250
225
233
210
243
248
248
219
226
206
230
230
212
225
208
216
223
204
245
200
235
224
210
219
245
223
219
210
243
217
209
219
246
205
222
213
219
249
232
203
240
213
211
232
227
236
217
237
207
230
209
226
226
241
245
242
233
217
204
250
246
205
247
220
245
221
229
212
213
212
232
248
209
234
236
216
214
209
216
204
226
239
229
203
211
215
215
241
214
200
218
232
231
208
247
207
223
213
220
247
234
233
236
249
245
235
208
205
222
217
230
210
250
249
213
233
229
235
232
232
211
244
224
234
234
204
217
222
229
244
232
242
247
245
217
230
242
223
231
239
228
245
245
239
201
212
236
237
216
215
201
210
214
222
223
231
224
250
219
208
226
219
205
235
240
218
224
220
213
235
213
242
249
204
239
215
231
223
237
203
228
217
222
216
233
213
200
205
231
246
218
221
219
240
241
216
243
217
205
220
207
228
248
224
210
212
239
238
243
204
210
208
210
206
225
247
233
240
218
242
209
219
208
235
219
225
216
227
241
248
217
220
242
224
236
219
236
217
219
208
220
250
234
201
247
219
240
241
220
206
225
237
206
222
206
223
203
230
200
208
234
244
234
218
220
203
215
230
244
227
229
202
233
200
249
238
249
201
237
225
216
244
224
205
210
238
200
220
226
223
214
212
243
208
219
215
210
205
220
237
228
238
213
209
243
221
214
210
222
203
227
243
247
232
238
224
229
204
208
200
242
230
201
222
242
247
205
215
230
207
203
238
213
200
233
212
238
239
212
209
245
247
224
245
250
217
228
218
205
221
228
205
231
208
247
212
208
236
248
245
231
201
239
250
210
247
209
240
216
232
229
233
218
245
221
208
234
229
222
208
235
202
235
248
219
240
215
247
222
229
221
212
224
228
208
246
213
206
235
226
248
234
202
215
238
246
209
215
239
207
209
236
240
227
235
216
239
230
228
245
207
220
241
232
212
238
204
250
214
228
219
207
209
204
228
244
245
237
201
245
249
220
245
213
224
241
200
248
212
227
238
244
232
228
223
205
216
200
204
221
223
214
219
212
207
219
213
215
238
207
232
237
221
208
204
207
236
248
204
206
235
218
214
205
239
208
239
232
250
229
208
214
208
215
224
241
208
232
221
249
237
233
226
232
208
220
218
225
212
220
232
204
224
223
209
237
238
224
218
239
244
241
243
211
212
239
214
217
241
227
250
245
206
246
208
247
217
222
226
247
205
216
237
203
213
220
201
246
236
250
247
200
220
208
214
227
244
211
239
231
212
240
233
226
238
238
246
207
214
204
221
222
210
234
224
232
245
204
245
239
220
230
229
248
239
206
221
207
248
208
242
202
227
246
236
243
218
245
203
218
201
208
235
219
231
208
217
211
226
220
204
243
205
228
201
234
212
244
207
234
248
216
215
228
215
246
207
221
209
239
249
229
202
227
230
215
222
247
204
247
247
243
216
224
239
243
233
206
235
214
242
239
209
207
245
206
203
239
248
214
227
225
225
235
216
200
222
207
242
239
206
221
242
232
201
241
218
225
204
224
211
230
209
230
238
219
228
250
216
250
233
202
204
211
214
222
227
231
224
215
206
223
233
214
227
246
220
225
209
241
225
232
235
212
238
228
218
203
223
241
208
234
212
248
243
247
207
211
231
225
224
241
203
206
212
221
210
209
221
228
239
240
220
232
239
249
206
204
233
205
235
232
212
242
248
218
216
206
247
201
233
225
230
233
238
213
203
237
203
232
226
240
201
222
217
216
247
215
233
220
207
228
229
211
225
212
219
242
203
228
223
227
239
223
209
208
230
217
231
225
210
228
247
245
201
212
223
237
249
240
205
209
222
236
248
236
241
225
231
212
241
223
242
239
228
232
238
216
229
222
205
206
203
202
228
234
201
219
218
246
242
233
215
229
240
217
238
236
232
204
217
239
217
243
250
231
237
214
236
241
241
225
247
219
226
227
249
248
228
228
231
218
209
231
223
245
239
226
237
203
239
232
226
200
209
213
226
242
211
206
232
231
235
209
235
205
208
249
230
248
223
247
243
246
231
223
239
201
240
227
201
217
209
243
212
205
228
233
243
217
229
231
201
204
235
215
211
224
209
211
220
229
214
237
221
243
235
215
232
246
245
228
235
205
230
218
235
242
214
233
246
206
235
216
228
236
208
217
220
203
203
242
212
202
236
228
225
237
228
230
246
224
204
215
212
232
228
249
217
208
239
230
222
240
219
234
206
217
203
204
238
234
211
250
220
245
239
240
220
208
200
224
209
221
241
246
204
205
206
236
237
250
232
237
238
217
246
200
206
205
243
238
250
238
229
204
203
221
236
232
248
213
247
222
241
229
215
244
247
214
246
217
244
208
214
241
200
228
231
243
200
213
200
242
235
238
241
216
230
247
208
244
208
247
245
240
248
205
218
240
232
249
216
237
220
236
205
221
203
230
236
213
213
214
213
223
230
226
250
210
235
250
237
210
217
218
223
250
204
237
241
244
231
200
233
221
246
248
217
227
209
236
207
244
228
241
215
218
219
249
204
231
226
221
204
216
201
226
240
230
216
215
248
200
227
216
203
217
231
206
237
250
200
210
224
215
214
222
209
219
228
232
215
216
250
213
229
250
247
207
247
214
237
250
237
236
230
208
202
207
210
232
228
227
216
223
223
223
213
240
224
206
230
209
200
229
227
232
224
248
235
242
234
224
205
209
245
234
235
244
228
205
223
209
201
215
223
207
209
236
249
247
214
212
216
246
243
202
216
250
206
244
202
207
225
243
228
203
232
230
204
241
226
234
250
227
242
202
235
212
216
212
217
205
234
232
237
212
227
246
205
203
227
248
215
236
213
207
205
229
207
206
248
219
227
210
220
202
231
201
233
200
248
225
201
238
223
247
228
209
237
241
232
228
242
234
222
224
202
214
237
206
246
208
249
203
226
235
226
205
219
244
236
213
246
217
238
249
244
223
213
241
208
248
217
245
244
240
215
245
248
241
212
203
233
213
222
212
216
235
250
210
217
201
250
213
245
224
241
208
234
216
238
205
240
249
220
224
247
219
247
234
235
202
205
220
209
214
250
247
204
218
227
235
202
230
239
215
204
222
201
226
223
226
229
249
242
202
232
246
214
226
207
207
223
237
240
225
243
236
213
236
243
203
245
228
225
223
224
249
213
213
207
222
230
238
208
226
210
243
243
221
211
208
229
205
220
239
247
238
218
243
230
216
223
214
235
206
205
225
210
222
212
226
201
236
240
238
242
248
215
201
221
218
229
214
204
205
247
246
244
236
216
225
225
211
218
214
242
245
239
219
211
236
233
213
236
244
210
234
206
247
214
208
218
248
202
245
201
201
237
236
218
233
221
250
217
240
245
242
236
236
237
218
200
209
202
242
230
235
246
206
248
242
210
213
203
250
230
249
201
250
243
215
218
227
203
245
230
214
214
207
213
230
216
203
211
208
219
244
230
232
231
241
234
206
235
239
213
220
239
218
248
244
214
222
230
222
207
225
231
233
249
241
228
231
228
240
220
219
215
242
225
225
223
233
239
202
237
221
218
234
217
224
227
241
221
243
233
229
248
218
236
210
207
200
212
200
243
246
224
210
245
244
205
200
224
231
211
222
209
214
203
214
228
201
206
221
231
224
225
249
205
237
237
229
235
202
239
206
246
212
244
232
202
242
216
204
205
228
239
221
224
209
206
213
210
224
200
243
230
220
244
221
226
230
212
209
236
249
212
212
221
248
206
211
247
218
242
232
200
210
246
204
248
235
228
248
208
230
231
221
220
210
201
231
239
249
220
246
231
213
227
216
234
249
226
250
207
240
235
244
236
206
247
240
237
222
228
244
243
208
249
248
217
250
210
220
246
217
201
209
233
211
212
245
244
250
215
230
237
211
242
244
210
248
250
209
225
209
231
237
214
220
208
224
238
218
205
243
231
222
250
248
230
220
235
246
213
223
211
205
207
234
224
248
222
226
239
247
236
231
227
202
236
225
242
250
247
202
205
222
219
230
231
246
242
207
246
230
213
225
246
229
244
250
247
217
205
239
244
240
202
247
237
219
209
238
206
245
223
227
238
245
229
221
221
235
234
218
201
214
232
202
245
229
206
248
205
244
215
225
223
241
203
229
206
216
204
220
203
213
246
242
239
221
241
206
205
243
245
215
216
245
208
244
248
206
211
201
236
205
235
223
246
214
247
214
201
247
222
234
223
245
208
229
216
247
244
230
228
210
208
250
229
209
203
206
214
250
241
214
205
210
247
245
229
218
244
244
239
226
248
239
240
232
231
201
224
250
209
229
240
227
210
239
224
211
241
228
241
203
230
202
249
241
224
209
205
230
237
212
221
218
206
217
227
203
218
213
239
231
235
216
218
235
210
201
205
242
227
227
225
247
208
235
212
224
216
204
247
222
239
211
201
209
212
212
248
244
219
240
201
231
213
232
237
244
206
223
212
220
230
211
225
229
220
234
224
210
206
205
232
213
202
221
202
213
215
235
249
202
233
245
210
232
213
215
230
202
231
248
239
220
204
220
232
240
207
204
214
250
204
216
234
214
246
232
220
230
246
228
244
224
243
210
209
227
240
241
230
250
245
233
228
214
201
200
231
236
204
207
213
203
216
202
243
202
217
238
203
238
230
230
224
231
238
218
245
240
215
229
207
239
212
206
240
222
225
247
248
228
212
230
210
203
208
239
240
243
210
228
221
221
228
231
205
476
413
506
329
418
357
454
433
367
466
475
493
326
338
350
334
405
388
405
434
400
449
326
450
466
334
397
428
406
480
321
438
501
417
454
397
324
497
472
400
328
443
421
405
378
430
437
424
348
504
450
509
362
406
491
505
394
406
390
451
443
406
475
515
459
405
382
475
339
408
359
334
383
417
466
343
396
448
357
493
389
443
321
326
446
382
486
411
336
437
349
473
487
384
334
489
322
329
357
335
365
345
414
462
432
403
365
510
355
474
320
339
358
401
323
448
423
336
469
509
423
394
508
426
450
469
368
445
398
330
380
518
479
384
424
424
452
446
426
519
402
480
404
442
352
483
371
396
373
415
349
348
455
505
517
458
345
509
472
434
428
359
506
444
442
355
469
447
491
470
343
359
513
370
408
452
451
465
507
469
473
414
419
432
445
461
507
453
376
336
355
375
455
377
343
388
345
335
412
410
395
347
466
520
520
490
364
479
364
324
475
378
368
512
373
347
328
504
378
322
331
455
515
320
331
323
487
429
453
333
335
503
371
399
501
504
477
425
492
333
483
464
330
472
382
504
361
369
346
507
366
392
343
513
454
391
347
406
425
506
337
336
330
478
488
371
504
454
437
324
518
366
411
464
445
378
404
370
325
462
353
495
328
472
370
320
377
425
491
464
435
504
515
488
324
360
353
499
510
408
468
465
435
470
345
472
405
388
403
480
465
500
496
457
405
460
328
425
451
484
437
451
509
399
367
337
359
434
444
377
398
376
329
336
425
364
495
327
502
413
339
430
399
432
365
345
361
438
346
363
421
429
468
347
345
324
322
424
467
493
500
391
445
441
392
417
477
456
340
423
417
378
490
484
496
372
377
423
443
348
378
414
351
366
367
431
348
397
358
421
386
520
471
393
512
333
373
422
511
380
490
440
400
381
422
427
448
326
412
391
419
408
488
448
329
391
354
439
480
324
426
468
485
426
340
332
473
331
397
445
450
454
472
336
387
404
389
489
427
450
344
322
332
361
381
468
379
413
427
478
413
415
445
420
513
476
435
496
477
477
489
467
508
481
520
501
366
429
414
420
374
441
430
519
498
461
374
441
499
333
510
382
504
519
412
332
473
466
370
443
347
331
389
509
356
505
402
354
434
509
345
334
467
414
429
371
346
402
349
484
501
448
360
421
348
370
391
504
365
487
386
350
322
484
391
405
472
414
489
428
499
343
517
321
485
460
439
458
472
469
400
325
434
500
416
494
423
418
457
513
346
495
408
455
374
350
516
473
410
458
515
483
466
408
360
509
390
334
464
379
379
438
516
384
453
359
411
489
349
501
372
416
372
519
402
510
373
440
346
492
503
496
380
407
484
346
376
399
410
484
496
337
325
408
451
472
365
362
434
470
342
359
430
484
347
418
511
424
335
393
459
388
440
470
447
456
516
449
520
512
338
400
373
410
366
517
392
349
438
464
455
476
394
399
364
493
457
383
432
483
353
394
506
332
474
460
418
414
420
462
381
389
433
415
514
452
399
391
398
478
321
404
485
406
479
489
327
517
364
384
367
344
375
363
445
331
353
354
375
407
456
425
335
519
383
415
418
408
458
395
496
510
483
343
414
361
395
457
398
372
383
410
373
511
453
511
433
488
334
464
488
437
456
437
338
463
480
507
394
493
451
347
398
420
517
455
384
426
440
373
397
453
519
361
485
386
399
330
354
357
470
447
478
405
363
406
393
407
347
500
411
484
510
338
427
449
404
439
476
452
357
479
430
432
428
429
437
503
358
348
462
324
471
471
370
370
443
477
456
517
328
379
517
387
374
428
409
512
453
394
445
432
320
356
344
395
356
428
504
437
488
362
511
416
356
392
441
397
355
336
470
455
340
514
438
512
337
478
472
329
441
359
368
330
500
497
366
487
447
468
344
341
501
341
454
442
320
377
343
422
501
450
385
420
322
391
344
461
434
321
420
481
382
515
389
454
502
444
442
354
510
327
515
415
321
411
473
375
433
379
344
425
331
333
407
387
512
438
444
443
481
426
407
517
501
502
416
420
395
507
411
340
326
363
429
347
455
399
377
504
414
466
337
420
486
393
330
372
455
429
393
347
413
425
489
403
480
400
327
374
519
387
397
470
515
480
345
439
514
471
388
369
340
399
453
340
331
511
451
348
405
516
436
479
479
510
323
423
513
481
384
456
363
368
416
456
425
328
348
455
461
467
390
486
421
416
361
451
337
340
518
332
404
356
362
373
369
483
348
357
385
512
440
457
442
338
348
329
395
416
454
507
363
340
464
493
515
513
415
448
507
506
354
329
490
359
391
508
515
418
361
471
351
431
458
480
386
408
448
494
343
394
413
352
356
394
492
434
357
427
435
445
378
407
479
397
499
478
375
349
510
441
370
385
449
441
483
342
419
466
502
361
460
462
437
344
368
458
345
474
382
328
384
494
350
375
440
361
441
421
331
400
413
358
504
452
410
408
418
484
323
340
472
352
499
449
475
384
366
378
437
337
458
353
337
433
370
341
499
406
474
463
337
325
421
409
491
513
399
327
501
455
474
330
501
435
459
499
454
368
346
489
463
345
410
398
393
331
393
400
328
467
490
320
462
478
511
421
491
411
406
362
390
427
459
507
490
324
366
502
481
463
510
452
408
411
363
355
469
409
352
335
466
346
409
381
403
359
418
483
506
440
414
480
400
421
328
477
444
374
453
421
457
348
474
478
438
490
422
365
350
393
411
399
372
380
437
394
517
480
379
520
336
493
476
421
347
511
486
468
495
372
478
357
490
401
420
504
506
442
415
355
369
461
418
446
349
329
369
460
353
495
453
438
520
495
509
467
339
399
332
331
476
434
350
320
337
447
434
519
397
339
379
441
489
471
444
468
516
423
473
495
425
503
517
378
415
496
451
334
381
515
427
511
341
504
441
341
392
345
322
341
341
398
414
469
409
413
424
489
481
325
457
436
494
407
435
326
365
437
389
371
477
429
499
325
380
440
399
325
488
359
331
484
357
394
469
476
386
368
429
513
449
401
368
518
381
399
402
392
459
336
490
382
486
399
354
325
321
321
408
457
508
484
381
484
362
454
397
382
428
326
499
329
446
461
482
492
404
354
364
492
324
439
463
452
437
433
464
364
393
335
446
501
467
328
414
362
320
394
457
506
391
511
395
364
492
353
516
425
482
389
508
498
466
489
367
396
398
468
474
433
410
380
426
338
435
355
351
455
362
418
467
457
406
417
422
502
395
331
389
333
462
397
431
495
479
421
512
418
387
388
503
421
377
453
507
518
439
513
462
467
325
468
458
407
515
462
469
490
482
422
400
394
428
334
479
452
320
520
485
388
458
493
473
434
416
505
478
477
362
330
398
396
479
485
340
388
376
384
362
427
512
420
354
447
469
482
520
402
352
449
434
475
369
508
407
389
405
331
503
382
466
416
385
396
470
477
408
413
486
363
497
375
420
381
364
372
433
321
423
380
331
398
386
453
425
500
381
468
501
424
404
400
453
500
329
338
441
341
361
379
465
449
426
355
497
490
388
358
443
326
385
435
484
501
394
468
457
484
477
346
511
462
399
471
416
338
436
420
438
388
512
393
365
484
426
420
341
328
349
496
448
467
411
482
324
415
444
469
416
325
395
483
509
364
325
422
425
372
488
334
426
437
367
477
440
413
474
361
412
475
349
410
378
332
384
437
404
436
381
401
416
396
375
332
447
435
520
388
438
481
435
367
499
346
389
496
377
322
348
492
389
491
344
421
399
370
496
497
455
512
498
322
390
373
414
421
459
511
486
355
463
398
504
464
445
373
329
320
415
469
444
508
441
446
430
495
509
496
520
494
472
389
338
365
381
331
346
340
360
507
516
482
490
421
405
428
410
517
396
404
448
387
410
390
503
336
392
417
436
348
386
344
427
324
365
390
413
442
331
411
397
421
349
327
475
336
520
433
519
342
346
451
428
434
344
520
454
431
497
512
439
393
354
328
431
463
449
472
392
460
340
414
378
473
395
469
490
388
375
472
485
489
452
449
359
424
378
386
468
362
418
376
343
411
489
412
428
439
510
383
326
364
353
483
367
513
370
369
375
503
464
409
435
496
353
388
425
487
501
520
397
452
343
423
490
373
328
396
427
444
337
510
395
388
461
320
455
410
323
479
418
467
489
380
474
387
479
446
469
371
377
405
335
327
466
377
516
367
461
414
428
362
519
507
474
456
368
481
487
358
516
508
371
414
350
345
509
456
398
413
355
373
519
377
479
422
361
432
350
356
343
501
481
377
431
453
457
358
515
320
482
423
430
355
397
401
427
331
514
506
455
380
384
512
430
341
343
465
494
470
391
484
475
412
386
348
353
478
500
480
381
356
442
491
455
431
365
408
329
485
507
457
471
418
383
372
465
476
338
458
516
372
447
361
512
419
431
504
387
446
392
320
328
412
515
464
477
423
516
417
502
360
322
344
484
466
355
352
466
369
406
492
436
368
355
410
344
447
472
398
501
463
458
368
463
456
491
471
463
357
422
419
457
419
486
489
455
367
409
374
351
479
507
449
442
504
375
377
511
391
390
456
479
336
345
515
432
332
506
453
493
362
329
454
499
519
482
410
518
512
331
453
392
427
469
343
329
357
399
512
368
433
503
459
344
366
376
417
409
485
428
325
334
368
492
366
327
458
440
356
335
321
356
322
387
371
494
348
348
428
490
511
359
471
402
427
395
428
498
363
445
372
452
471
320
356
322
411
392
461
455
435
353
350
372
326
375
510
368
414
347
461
342
324
431
413
438
396
346
443
441
329
415
377
420
391
513
406
354
408
415
321
367
503
469
372
470
364
394
460
382
417
435
360
362
439
398
384
430
338
455
395
428
330
485
353
358
408
322
387
470
407
320
432
390
455
332
383
483
399
484
424
460
458
497
373
425
361
415
484
488
426
338
370
492
482
463
477
391
366
472
488
419
402
380
329
340
338
422
392
421
322
430
329
487
485
320
422
499
330
335
515
390
484
331
410
338
339
431
520
512
380
502
356
478
500
370
470
471
497
406
480
496
482
500
455
459
462
484
354
450
487
332
520
336
503
333
375
377
351
462
337
384
439
376
419
488
439
488
520
398
395
417
342
384
518
478
475
372
375
441
388
366
369
510
432
507
372
443
481
492
402
354
335
360
453
437
361
429
368
429
326
337
383
418
502
437
404
434
501
337
321
383
433
350
407
466
476
429
381
339
486
374
401
366
381
419
463
493
336
436
375
487
413
489
328
388
402
373
463
448
432
386
390
394
498
342
355
357
449
426
394
447
454
512
469
411
357
369
482
324
486
489
361
344
492
417
345
391
377
481
465
463
460
344
331
326
427
360
365
414
389
460
383
343
482
472
328
398
465
332
456
415
497
450
438
454
455
442
442
511
348
485
367
343
479
357
508
370
381
515
351
397
382
348
496
457
327
500
480
443
455
380
460
342
455
325
354
349
438
469
456
331
395
334
436
419
493
326
342
502
378
501
451
465
400
390
476
456
473
463
484
324
368
461
356
355
494
478
443
501
509
383
472
378
408
409
350
379
346
398
392
470
498
452
359
379
329
413
466
520
430
405
487
500
504
328
489
411
446
499
417
451
474
384
465
447
461
330
342
400
334
368
427
411
440
432
480
369
485
368
367
516
428
402
342
468
389
502
494
394
326
499
466
442
418
479
432
505
418
507
322
327
445
430
320
354
438
433
442
440
457
507
332
398
404
469
434
459
337
436
397
389
324
500
353
377
460
366
352
422
361
477
340
340
428
497
359
500
387
463
427
382
350
357
362
411
468
427
441
354
502
375
421
447
483
444
432
322
430
334
324
432
449
438
324
468
399
463
412
396
479
439
471
327
400
425
381
474
517
469
504
430
514
357
333
507
377
462
491
440
386
399
497
513
497
424
368
339
368
491
507
437
386
424
423
463
489
342
431
460
379
336
433
345
477
409
507
442
487
343
323
414
329
502
410
452
340
363
483
345
398
440
431
400
517
461
480
482
328
401
376
462
414
489
320
447
338
440
517
381
419
333
442
511
418
450
499
493
421
445
355
412
453
412
484
417
471
508
372
394
502
380
439
352
328
389
446
518
367
325
449
353
462
472
341
321
385
463
343
343
351
404
473
403
357
499
448
329
502
466
433
332
519
449
345
329
455
436
473
391
460
496
450
337
458
409
475
506
344
370
378
330
450
426
444
387
456
390
370
472
393
412
520
457
427
427
441
510
399
457
360
465
354
351
438
459
397
416
478
449
361
509
517
466
467
413
499
418
490
488
358
350
436
426
506
459
393
463
383
343
396
440
344
472
368
391
396
334
376
475
446
486
501
368
467
505
321
420
375
389
507
426
488
441
373
409
340
520
336
369
438
351
335
495
397
405
351
326
392
454
335
353
515
379
444
495
320
420
478
359
488
452
349
500
372
488
340
365
473
460
377
333
513
413
346
492
355
510
460
442
469
471
514
420
496
519
340
486
483
458
485
414
386
358
480
404
396
514
475
413
440
344
495
323
442
380
452
325
367
458
484
395
356
325
470
439
467
422
519
399
369
322
511
379
439
363
422
520
361
490
476
361
321
487
352
479
408
505
329
366
473
402
516
374
478
332
378
404
408
406
433
447
354
388
434
457
467
455
503
471
443
418
429
468
513
349
323
393
513
422
348
380
487
421
514
487
504
443
450
509
452
415
374
453
478
336
380
431
341
388
396
428
416
361
382
514
361
343
491
330
334
517
358
392
477
480
344
501
351
472
510
394
327
364
414
407
509
374
418
449
488
510
326
425
383
445
434
350
367
385
389
490
445
333
502
509
497
381
442
326
455
509
460
395
466
493
462
472
463
423
399
473
454
323
328
375
476
354
328
425
509
390
335
491
346
369
481
494
398
443
379
351
455
384
453
508
499
429
354
381
379
347
507
500
430
349
402
462
408
509
358
427
515
479
341
320
328
421
452
497
460
462
364
404
518
374
345
404
422
470
464
358
402
447
501
444
492
380
488
412
356
321
476
447
428
420
460
445
397
352
372
488
452
348
397
329
383
359
508
321
405
517
334
465
417
438
420
440
485
474
476
448
487
342
361
480
412
435
326
481
516
323
418
448
502
455
444
396
427
469
469
402
505
332
384
516
401
401
376
362
437
398
447
383
507
387
401
327
337
439
376
389
420
440
409
402
354
417
441
411
512
435
423
395
332
447
493
485
369
421
469
455
413
406
341
487
471
495
424
444
428
447
354
518
451
508
412
478
482
350
394
364
350
482
461
472
329
342
395
420
485
339
424
338
347
469
403
389
461
425
488
335
326
362
460
475
509
364
438
443
488
449
467
482
509
468
468
351
387
481
372
351
471
443
363
472
518
392
464
415
512
487
490
505
469
430
479
348
467
468
476
372
413
490
423
509
515
370
447
377
427
460
343
409
436
325
355
393
342
328
447
403
417
349
419
341
386
427
493
406
370
353
368
494
432
350
442
410
363
470
458
473
380
419
394
380
346
388
328
514
328
381
507
501
386
440
478
512
358
360
494
344
335
352
374
408
352
371
497
484
381
474
431
486
426
418
427
482
513
343
477
344
336
455
397
504
421
323
450
353
349
409
409
462
387
483
424
455
459
330
407
454
374
450
497
411
473
467
481
470
325
429
482
469
498
447
473
459
396
463
394
501
341
473
491
382
494
343
455
481
452
475
504
378
496
388
342
513
459
373
379
513
411
366
518
356
348
483
407
372
364
323
474
379
501
509
462
364
442
437
505
466
488
452
411
369
447
375
479
410
385
505
349
450
472
425
478
417
414
339
514
376
364
397
367
480
444
381
378
498
365
345
468
502
468
349
447
506
343
505
342
322
375
405
416
321
356
343
433
447
515
378
369
499
346
472
515
393
389
348
347
432
353
334
517
424
410
396
394
482
414
490
503
433
465
328
518
329
368
440
362
420
369
392
495
350
507
378
442
432
348
406
413
510
515
452
395
403
392
457
482
462
420
466
352
393
469
436
397
466
496
496
414
513
469
430
393
453
493
376
325
413
462
429
496
420
378
367
410
479
363
347
443
424
406
347
355
515
475
497
418
326
429
469
390
379
399
487
381
393
359
514
383
423
375
411
345
506
493
503
454
361
384
487
329
493
465
322
431
392
518
414
447
390
408
378
361
361
434
400
442
416
348
386
402
395
404
403
466
344
519
348
479
477
482
379
456
382
392
457
344
516
333
345
325
438
405
379
454
346
476
490
421
493
472
514
347
476
339
457
327
436
412
325
345
323
377
426
348
518
402
421
478
417
485
354
443
484
327
348
470
511
371
385
481
426
419
462
507
491
497
509
366
458
404
378
376
428
497
514
320
461
482
392
511
347
427
457
455
492
368
516
376
459
369
498
360
439
411
342
463
360
405
419
478
427
476
322
331
507
486
444
513
477
455
380
387
399
435
444
409
511
473
505
430
399
504
343
440
437
385
401
457
512
432
513
478
487
472
366
391
432
513
483
400
501
438
463
385
451
479
352
406
397
500
367
467
473
421
492
407
516
476
431
373
388
411
412
421
395
418
383
515
502
434
495
415
336
408
356
323
365
358
412
478
396
500
481
434
508
337
483
335
487
474
333
322
211
212
220
201
244
227
215
245
224
229
233
246
244
237
239
233
207
239
206
216
240
225
237
203
219
233
238
205
208
219
242
223
241
210
250
215
222
235
242
226
231
240
230
216
213
217
240
212
210
204
239
228
201
206
213
225
232
231
212
205
249
204
244
217
209
220
224
212
247
227
243
219
205
228
233
230
239
243
233
245
228
230
244
224
215
239
235
204
219
249
236
245
241
245
214
225
226
216
207
210
207
207
206
205
222
245
203
235
227
235
234
250
235
234
246
205
239
222
221
218
249
233
201
250
238
233
222
204
221
212
220
237
239
231
208
241
210
220
247
234
225
231
229
213
232
209
242
239
218
211
209
232
249
202
200
207
204
244
203
230
202
209
249
223
225
204
244
223
237
241
216
245
237
249
204
208
219
233
234
241
206
228
203
212
206
231
212
206
231
229
226
201
236
206
210
236
244
200
224
221
243
203
205
230
206
232
225
239
209
241
241
227
221
229
228
235
207
231
244
201
206
200
224
207
224
240
205
229
243
222
243
203
208
221
227
210
241
234
222
239
238
242
229
221
231
217
247
234
242
214
229
236
218
239
233
227
220
225
216
234
240
231
227
241
243
211
245
224
236
209
237
214
235
216
249
209
234
216
234
247
219
211
225
220
209
250
250
209
226
210
200
221
244
226
203
242
237
243
226
233
215
217
219
225
249
248
220
236
238
204
208
220
244
206
243
225
206
209
213
235
224
228
203
234
221
209
203
245
225
249
243
208
235
233
226
226
231
201
244
213
205
224
248
215
216
239
225
215
216
206
240
219
239
233
236
201
206
230
213
221
246
207
216
245
239
200
232
230
224
201
235
245
210
231
234
224
205
245
237
230
235
245
249
237
208
243
206
231
204
217
228
223
243
232
243
211
236
236
243
204
203
235
241
245
245
235
216
235
220
208
224
229
230
215
222
240
243
238
210
247
218
209
235
208
243
235
225
246
228
223
237
210
201
223
217
244
218
234
247
229
223
239
234
244
235
209
205
247
232
234
222
227
247
203
220
229
219
241
202
207
207
246
214
223
220
205
205
209
246
242
231
236
243
250
211
227
207
224
237
231
218
247
225
210
243
247
204
205
203
242
221
241
206
248
226
206
206
206
208
217
228
234
234
236
232
237
220
221
243
230
245
222
229
225
220
223
236
229
231
242
248
222
233
210
239
208
206
209
205
216
235
245
214
229
217
204
230
245
226
246
207
214
202
232
206
249
239
230
248
208
203
243
245
218
239
209
225
205
237
242
228
237
240
250
207
202
244
244
202
246
201
222
240
203
201
207
231
200
245
238
231
221
230
222
226
248
232
221
201
205
217
226
208
227
209
226
206
249
231
211
227
207
207
211
248
240
224
239
228
226
232
209
231
249
215
203
204
220
235
228
242
225
211
225
213
233
231
210
218
225
211
245
205
232
216
239
230
238
212
226
247
241
243
209
206
235
206
215
229
207
210
227
242
213
230
224
208
225
230
215
246
214
216
243
210
205
247
250
248
243
247
236
231
249
228
241
238
200
215
240
243
216
223
233
233
213
239
237
206
228
240
223
230
215
220
222
220
211
236
201
243
224
207
231
230
215
201
236
209
244
220
238
231
232
216
218
213
212
246
212
246
209
214
225
244
209
242
214
232
234
246
221
200
209
200
215
244
242
244
233
206
221
213
211
241
207
244
200
208
221
226
222
225
203
224
220
231
235
233
232
216
234
232
247
248
215
220
231
226
202
214
233
241
236
236
227
235
224
244
225
201
201
219
246
217
225
247
209
233
222
243
245
222
250
236
213
223
219
219
220
237
233
249
206
212
238
228
204
215
243
212
250
236
212
207
235
216
220
232
200
227
245
250
208
249
232
238
211
217
238
222
210
217
221
229
213
222
246
215
235
209
241
224
239
243
228
230
229
217
204
204
239
228
238
243
203
221
250
201
239
242
238
243
221
214
212
200
247
202
210
219
214
247
226
250
238
242
239
249
221
245
202
248
240
238
245
247
244
228
250
238
238
207
226
245
212
209
211
228
230
218
236
242
213
204
239
246
246
240
211
212
201
245
219
229
225
216
215
212
223
216
250
229
242
204
235
204
205
213
219
247
231
209
244
204
228
213
239
219
218
226
203
243
202
205
227
243
213
210
204
220
218
248
224
206
200
236
250
223
250
221
227
213
222
213
216
218
226
205
221
233
234
216
205
205
247
209
207
235
214
232
245
229
235
211
226
223
236
232
205
240
209
206
211
243
216
244
203
221
241
231
218
243
202
250
245
206
216
209
215
217
248
206
246
219
224
247
204
216
203
217
241
234
222
200
211
224
220
250
244
230
216
234
214
250
207
247
219
223
237
224
214
244
221
210
225
216
215
201
203
242
244
238
205
215
248
238
240
243
238
242
219
232
226
249
236
229
234
234
206
236
242
202
242
231
228
221
230
245
212
249
216
240
249
208
225
200
219
231
246
237
250
213
244
238
209
234
207
223
213
247
211
246
239
226
200
207
209
227
243
221
215
233
208
225
224
221
213
200
235
242
232
233
200
203
246
205
217
250
238
248
206
217
219
240
227
238
211
233
235
210
234
223
247
209
225
213
206
232
244
242
221
208
236
216
228
236
227
246
243
219
241
230
218
212
220
222
215
230
205
200
241
234
240
221
239
235
249
218
227
249
248
205
220
214
229
204
245
248
241
226
241
237
216
224
229
236
228
234
223
211
229
209
243
200
224
220
215
222
235
233
238
204
218
218
241
237
231
204
232
217
205
231
202
216
234
230
242
205
227
250
219
208
237
213
238
241
222
204
211
248
224
211
200
230
216
218
232
244
202
204
247
209
249
244
204
221
208
224
207
241
236
209
230
242
213
247
244
226
214
221
221
200
234
230
220
230
234
239
210
241
215
212
228
216
237
207
221
223
206
223
250
227
223
219
233
214
218
226
227
237
243
242
248
239
224
202
242
219
201
227
244
218
208
217
227
217
211
242
250
215
231
234
216
250
245
245
214
200
234
220
231
225
208
238
235
222
242
200
227
209
220
250
240
222
218
215
205
238
229
235
248
221
249
238
201
235
204
227
247
246
202
237
211
235
223
235
205
216
248
248
213
250
219
200
228
249
245
231
209
221
238
202
225
215
242
212
226
223
209
207
218
245
232
240
239
218
222
250
224
246
234
223
200
223
221
247
213
241
245
237
215
204
205
220
233
241
230
203
230
211
204
205
243
202
247
207
247
206
226
217
218
239
211
213
201
247
212
218
218
236
208
207
217
204
209
211
224
205
236
202
232
222
222
202
242
245
248
231
237
235
205
245
206
223
228
225
213
204
237
233
232
204
240
206
246
235
237
249
242
235
226
204
247
217
208
230
230
219
239
248
234
210
213
224
230
237
237
238
230
226
203
212
219
226
244
231
247
206
229
231
225
249
222
228
244
233
223
216
208
222
204
216
229
213
230
229
206
200
248
205
205
231
207
246
232
209
242
204
247
207
249
236
245
239
226
206
239
220
211
232
219
206
213
222
204
245
202
224
226
211
244
243
226
218
250
213
233
228
220
217
222
247
219
225
236
232
204
215
205
204
222
248
243
218
220
233
241
234
231
201
241
215
245
226
208
242
216
242
203
225
206
207
214
220
221
227
222
224
234
232
214
212
250
243
240
247
218
227
250
210
214
203
222
242
224
240
241
207
203
201
207
220
232
206
237
226
204
217
201
246
221
245
219
209
201
219
220
245
208
228
207
207
246
226
205
242
228
213
242
211
234
241
205
216
242
219
235
241
247
236
242
225
245
248
228
224
229
222
234
219
210
205
219
249
221
238
232
246
249
225
237
242
236
222
221
205
217
202
243
223
201
222
210
214
216
245
230
202
247
217
202
210
225
238
213
223
249
246
234
244
221
238
229
203
242
206
244
243
226
206
203
210
225
231
248
230
213
244
222
206
233
215
235
217
241
239
236
222
202
207
229
231
228
220
243
230
206
217
227
237
200
225
201
206
237
250
238
211
238
203
211
212
239
239
208
242
202
221
225
219
233
238
243
211
202
233
205
237
233
244
244
245
229
242
226
224
236
216
232
241
234
221
212
208
242
236
242
202
236
250
211
237
204
214
214
212
233
236
201
248
224
226
243
208
243
223
243
211
223
245
241
232
222
223
233
239
221
225
232
215
218
226
223
201
223
248
201
201
227
231
219
201
245
213
249
200
241
227
231
204
239
247
205
207
226
226
215
218
231
246
222
213
247
228
221
209
234
231
247
248
243
221
240
241
205
214
234
240
220
234
222
248
243
203
211
218
206
220
218
204
201
243
224
221
209
211
210
243
247
227
240
207
230
222
203
205
229
229
228
231
206
245
233
213
240
226
206
223
227
250
219
231
227
248
213
233
211
200
229
231
211
230
248
201
249
241
228
247
221
203
216
206
218
227
220
210
206
228
238
217
228
216
218
222
238
201
226
226
207
221
239
246
215
226
233
218
209
203
241
234
220
228
235
240
215
224
206
215
202
212
240
243
239
230
231
226
214
246
240
202
200
216
230
241
245
219
219
211
248
238
238
206
221
216
230
214
221
212
236
226
205
200
245
222
243
230
203
228
225
204
216
207
210
201
208
226
203
204
245
223
218
230
249
235
214
227
226
208
228
229
237
204
247
224
243
222
232
232
204
249
208
210
235
212
214
231
210
234
248
212
236
218
203
245
210
229
239
218
226
238
212
240
250
249
205
206
215
244
239
222
235
234
213
224
250
224
235
234
224
214
214
202
250
204
234
214
250
237
205
238
239
219
250
207
231
249
205
234
214
245
209
218
248
250
248
220
213
223
235
229
229
216
227
223
225
241
226
238
210
238
207
250
226
210
235
245
230
222
205
217
245
208
224
208
210
208
215
215
243
210
202
236
233
227
204
218
215
213
211
225
202
249
224
204
243
245
242
248
206
211
206
215
217
247
219
239
247
250
206
242
227
215
219
216
212
230
239
227
222
247
201
235
222
222
247
232
202
249
226
214
229
236
229
228
250
247
219
240
200
206
233
232
210
219
246
237
200
228
233
216
236
244
219
248
232
241
209
209
230
203
216
212
214
204
240
246
243
236
204
211
202
250
245
232
235
205
208
212
222
222
208
215
235
240
200
209
246
223
248
206
246
206
210
215
235
226
240
249
232
204
210
223
235
238
227
246
227
244
215
241
205
241
244
213
227
242
202
240
221
228
239
224
206
212
200
232
240
247
232
213
205
200
234
233
247
228
239
232
242
201
212
201
245
223
229
241
216
242
204
231
234
218
245
235
207
212
204
228
249
219
221
210
205
238
230
219
245
244
207
207
228
248
246
213
200
220
209
231
249
202
229
212
231
246
209
224
242
206
225
201
241
232
222
240
218
244
234
214
237
211
216
208
200
211
224
210
242
236
221
244
239
244
247
236
244
203
234
224
208
231
247
209
249
217
228
215
220
246
249
200
217
222
213
201
212
207
224
203
226
204
227
240
232
239
220
243
201
241
233
231
249
227
201
210
210
248
226
221
220
228
236
226
240
215
221
204
223
209
201
227
224
229
210
226
205
247
248
209
213
203
216
211
214
244
206
235
234
235
233
229
249
221
244
210
200
237
219
240
230
203
219
201
231
245
214
223
221
206
207
244
212
206
203
213
248
206
214
232
247
234
224
234
221
219
243
231
237
246
221
202
239
228
238
236
246
231
207
220
210
232
203
241
229
226
243
201
211
248
234
206
250
241
211
223
201
246
222
205
240
214
226
210
246
241
238
216
220
225
227
212
211
223
247
238
222
218
228
214
234
217
222
208
235
235
234
219
239
200
213
240
220
233
220
229
216
245
232
201
237
214
245
224
211
234
225
222
238
235
227
245
241
243
235
205
216
237
225
225
225
208
232
208
226
210
201
205
240
213
216
247
218
227
216
238
248
250
217
219
236
228
210
244
227
216
207
232
205
221
218
224
203
249
246
249
235
244
217
232
477
335
362
362
433
442
479
395
489
349
507
481
417
397
417
454
439
330
335
449
468
334
363
387
407
423
339
342
347
331
484
403
331
499
411
452
371
483
381
324
389
416
463
495
510
344
458
507
361
395
422
445
347
437
451
353
387
511
382
357
473
392
387
428
436
385
345
335
413
354
392
475
433
438
502
503
432
378
373
334
379
492
499
488
354
368
388
392
507
324
333
384
500
384
416
483
358
424
322
486
496
381
334
465
354
376
321
451
348
503
401
421
451
412
357
375
447
341
490
489
446
405
492
477
347
488
408
431
350
491
432
437
431
501
510
496
411
333
419
516
430
428
353
501
457
400
323
392
342
451
345
467
325
405
495
396
384
441
348
336
375
457
354
408
516
481
378
520
422
410
406
426
468
503
398
333
402
437
428
408
331
507
482
461
342
342
449
459
447
344
336
434
482
378
396
405
413
334
462
460
463
495
353
412
510
465
420
515
463
424
418
435
503
413
403
322
520
408
411
362
474
445
384
462
436
370
392
353
418
396
478
463
429
354
469
441
351
398
467
349
469
465
449
493
342
419
334
397
438
327
352
467
328
431
326
355
350
472
444
501
361
490
344
451
340
411
502
478
341
398
478
354
479
352
378
347
449
484
442
331
484
376
372
364
334
515
464
343
376
335
464
398
377
408
371
409
328
426
379
491
405
341
495
476
396
448
320
507
323
358
396
468
367
409
401
498
498
416
460
519
436
372
410
408
481
340
362
418
463
353
422
422
421
427
456
394
329
413
464
328
419
328
479
358
468
433
500
420
339
436
327
402
476
466
483
434
490
450
365
424
502
409
486
355
470
409
326
435
387
494
452
499
367
479
375
363
453
499
340
403
422
338
466
383
503
439
456
386
519
514
379
460
492
321
396
460
488
504
352
463
517
498
372
515
418
461
351
325
455
385
397
439
383
462
488
511
341
393
365
457
367
452
352
496
385
382
391
467
339
445
412
446
333
425
457
389
507
393
434
329
343
501
461
431
357
443
398
345
431
345
341
492
519
420
343
488
362
477
367
423
500
506
336
345
496
451
392
362
375
408
461
381
444
479
509
441
366
375
513
373
390
343
346
365
499
400
477
369
516
327
335
441
450
368
424
470
408
449
447
485
381
427
439
373
351
447
411
468
438
372
476
337
465
382
400
406
384
442
359
332
387
362
426
414
433
370
324
465
431
427
452
350
509
343
377
426
401
377
436
433
493
320
372
514
354
334
418
422
474
463
378
446
481
339
351
377
327
388
326
361
469
445
449
511
462
476
322
366
416
412
331
402
473
480
486
461
466
343
332
481
510
441
483
429
461
506
472
339
378
448
454
464
506
351
394
434
413
482
517
366
477
388
375
354
474
437
400
425
446
428
327
432
512
321
484
495
487
454
320
411
496
433
518
490
477
352
480
496
336
386
364
484
517
419
387
348
518
395
451
358
491
351
459
344
515
517
329
357
433
372
376
498
412
458
481
407
392
348
508
468
396
483
420
412
328
373
363
479
447
416
414
339
484
448
486
377
512
418
371
418
386
335
350
439
505
395
376
518
329
342
386
330
462
389
378
480
508
325
475
432
342
410
454
517
517
465
338
419
354
495
487
344
494
488
517
376
426
417
336
440
445
433
421
342
388
324
497
453
355
497
335
381
414
513
499
451
482
515
393
416
361
517
495
445
471
376
360
447
509
337
327
342
399
376
491
479
471
352
411
446
513
412
436
436
426
423
380
375
496
438
493
505
479
458
393
481
472
467
367
420
467
322
396
417
395
415
508
427
410
481
385
335
356
356
497
320
332
320
454
408
352
485
368
348
405
423
519
372
470
515
483
407
323
353
416
406
340
398
463
356
505
341
511
423
481
389
436
465
405
397
324
391
405
394
404
520
413
457
386
398
343
513
357
508
442
400
406
330
462
408
360
434
404
416
375
512
335
365
455
477
320
366
458
515
421
457
355
388
334
322
514
329
424
506
420
337
379
404
492
408
505
477
487
475
393
447
500
475
353
411
349
367
488
484
451
328
322
414
514
406
347
472
454
415
354
370
434
438
337
520
385
471
477
513
519
385
478
344
385
342
482
452
520
462
333
406
432
493
450
493
475
350
477
475
374
347
357
464
324
419
497
510
465
337
325
467
457
490
358
474
370
377
502
355
520
519
431
501
373
403
408
383
392
504
491
393
448
385
406
347
450
331
343
514
373
376
321
406
515
449
356
345
462
468
506
367
505
378
490
395
381
465
333
394
501
454
463
472
485
397
420
362
333
429
473
351
463
518
459
378
473
418
324
334
325
468
413
417
466
372
429
431
448
389
401
406
416
325
384
511
322
418
402
497
449
398
449
466
457
416
475
490
333
437
408
497
337
391
440
513
508
409
470
407
386
338
445
450
499
430
340
415
513
381
397
445
465
439
430
391
461
459
434
363
456
519
495
520
353
512
507
460
418
372
512
328
422
442
425
382
510
453
381
470
368
455
506
411
429
459
348
410
344
472
325
513
327
514
468
369
447
320
504
469
386
500
372
333
467
360
353
389
468
501
363
495
400
453
364
506
383
368
422
500
364
427
379
507
424
327
336
520
349
376
494
383
401
370
514
392
505
328
364
387
500
444
434
330
320
410
418
433
403
336
353
343
414
490
496
491
453
465
434
482
467
376
423
499
508
520
484
325
454
483
400
499
402
414
486
391
430
378
376
375
473
356
514
401
412
375
345
343
481
467
383
513
503
365
365
403
389
467
345
445
443
377
440
477
332
348
351
407
326
478
356
368
485
409
425
494
519
389
377
402
510
387
477
472
504
411
477
508
508
475
363
516
369
487
440
457
367
443
473
332
346
329
503
370
424
496
513
429
388
434
401
370
366
355
392
414
355
375
485
445
321
359
385
383
511
486
413
451
449
493
360
447
375
444
355
323
329
471
365
461
404
440
479
337
403
330
502
476
459
394
439
414
360
392
382
489
476
477
438
474
433
351
371
516
444
380
484
361
332
328
517
488
347
370
337
388
367
338
476
343
358
356
393
391
328
400
328
382
463
339
437
419
332
421
334
342
440
469
426
401
337
459
423
367
493
447
391
417
363
358
484
423
493
349
499
334
464
456
389
327
440
379
391
501
518
515
492
492
360
411
394
395
362
348
325
489
500
452
337
392
449
480
332
340
453
437
482
455
323
320
403
466
353
447
431
400
406
350
385
392
328
376
478
403
478
395
405
361
322
348
508
366
473
420
508
442
411
367
380
435
482
367
373
408
447
408
351
391
356
461
410
415
345
438
322
484
517
326
516
442
366
478
501
385
488
411
500
415
408
513
418
408
350
469
394
494
360
333
464
359
506
443
515
383
510
507
453
403
515
383
364
448
360
429
512
405
364
337
329
380
460
476
333
489
509
358
399
421
441
340
364
342
365
418
320
351
326
445
466
407
430
444
473
355
385
375
394
395
475
352
365
388
373
396
397
367
356
356
435
502
378
404
446
379
352
384
329
428
383
386
426
427
349
478
433
373
464
343
375
455
328
395
488
387
332
515
335
448
385
372
505
338
366
413
322
427
382
326
511
450
452
432
427
427
361
383
342
462
494
449
349
514
379
433
342
358
492
482
442
455
462
418
403
515
320
359
393
479
348
376
421
469
427
353
509
400
428
355
384
473
365
355
372
448
382
355
442
355
492
337
348
383
434
354
354
416
434
364
330
356
362
366
348
327
483
373
335
459
463
338
390
439
459
354
487
334
323
341
507
325
478
322
376
413
454
388
442
414
487
383
495
454
480
447
401
497
404
399
480
355
512
356
343
480
320
330
400
461
400
430
409
478
398
466
503
477
509
510
509
433
389
407
431
399
338
442
469
465
358
391
374
364
497
384
471
359
331
375
440
474
321
418
396
330
352
362
355
382
338
483
480
471
336
386
344
475
432
465
412
475
425
374
462
395
502
437
470
456
354
353
365
397
411
508
474
416
463
408
326
438
447
519
361
514
495
503
445
405
395
331
494
370
468
341
369
403
377
359
422
440
359
365
352
379
330
378
420
353
402
442
460
443
405
452
472
393
437
514
388
347
371
373
434
334
327
502
324
386
387
481
450
417
439
502
487
450
354
512
405
334
398
491
405
371
447
363
382
501
480
449
423
505
400
504
498
497
438
513
398
341
369
364
404
465
508
407
481
373
514
339
340
328
486
362
453
421
454
487
502
383
359
469
386
491
482
483
519
374
323
360
391
392
446
328
397
394
321
429
501
406
346
398
338
394
442
355
335
464
445
474
370
498
502
486
361
514
358
337
394
330
427
429
398
382
496
362
365
461
402
427
363
444
465
506
352
367
415
357
450
353
487
395
343
406
398
345
477
420
375
325
426
377
351
418
362
339
368
411
324
335
369
367
392
381
369
436
468
404
389
413
356
485
369
483
332
417
513
410
375
450
415
361
428
436
393
384
455
454
470
355
414
390
377
426
400
357
397
427
387
346
342
332
397
467
355
385
390
477
399
421
414
501
402
377
379
341
390
346
452
432
384
410
371
433
421
435
424
360
459
335
504
396
338
364
436
443
441
489
357
399
348
348
341
414
433
455
442
515
510
364
383
409
322
417
504
409
336
474
493
425
499
414
324
511
514
366
321
421
384
466
391
352
449
471
511
406
484
336
330
418
345
476
329
487
405
512
342
358
515
515
491
341
465
349
337
456
398
382
421
511
402
389
415
482
474
450
452
383
378
408
340
481
409
354
438
438
361
380
482
481
428
363
456
494
337
514
516
332
482
374
331
412
389
509
501
491
480
483
450
393
352
517
484
515
486
382
488
477
431
490
517
363
460
390
328
414
471
329
426
410
359
456
501
411
494
369
414
399
490
391
424
517
415
399
428
441
475
343
326
498
323
357
500
409
387
326
428
382
444
449
321
387
330
382
339
437
423
417
398
321
482
446
355
492
356
456
443
464
350
426
507
337
421
445
512
438
487
490
386
374
375
498
486
445
323
496
432
463
505
510
370
424
511
433
329
476
415
480
505
447
355
350
439
347
456
397
437
479
379
469
455
503
447
377
463
344
520
518
393
327
426
516
458
382
487
494
471
401
425
482
507
348
466
505
396
339
470
450
514
437
351
353
417
473
386
434
394
362
506
507
477
444
330
354
441
388
392
458
486
402
435
475
376
501
389
356
439
450
449
327
435
359
468
360
483
420
472
447
482
414
481
356
520
437
391
395
491
356
453
361
458
352
350
396
341
496
326
470
487
469
400
369
419
465
455
406
425
363
329
368
463
421
485
516
351
361
393
384
516
360
486
349
503
412
449
397
472
478
385
452
465
337
337
344
495
376
484
438
361
444
461
436
365
412
383
491
481
448
341
378
396
388
421
360
358
335
373
466
402
377
386
405
393
370
373
335
440
423
471
342
474
472
415
344
515
475
328
471
345
488
326
515
481
327
340
403
405
450
343
469
333
362
479
501
501
334
413
474
493
488
420
427
414
370
340
384
433
434
364
347
496
387
370
487
323
352
382
459
459
382
394
429
326
376
511
470
335
409
403
435
520
374
345
427
414
369
324
489
331
332
475
494
338
411
371
449
382
455
329
334
451
462
434
463
460
344
438
408
450
399
494
438
447
427
428
423
366
344
518
400
491
493
362
336
517
454
491
484
350
382
352
379
327
520
384
466
337
518
400
500
375
486
338
510
460
414
350
504
368
515
450
494
353
325
427
451
344
392
331
445
462
448
333
462
479
470
331
399
464
331
487
508
479
473
368
393
507
360
478
377
386
327
424
323
486
420
423
491
481
364
507
517
371
421
512
507
457
379
366
478
509
406
363
376
459
322
404
425
369
456
451
323
380
508
505
368
456
337
412
437
360
489
452
343
353
377
338
441
404
471
381
458
346
413
341
409
470
343
338
467
450
501
487
359
346
386
383
458
387
378
459
488
460
352
484
379
445
478
514
508
326
473
457
481
438
330
413
453
484
355
458
442
411
332
488
481
426
401
341
394
473
403
502
516
426
392
394
511
337
520
391
322
486
338
509
507
480
508
464
508
337
320
334
476
492
441
406
423
383
431
486
456
519
385
482
469
484
440
443
338
415
448
447
466
371
426
419
464
446
331
320
447
464
441
358
406
372
358
472
407
438
485
435
498
344
459
444
481
355
372
438
394
359
508
478
360
353
442
381
334
454
447
515
407
457
477
338
386
362
394
371
335
433
485
427
477
462
352
439
433
370
363
362
364
430
444
412
377
514
487
480
404
470
376
432
344
471
380
496
504
444
396
340
388
392
515
478
385
370
367
358
322
321
392
338
391
368
397
451
343
397
429
381
353
436
445
332
455
455
498
472
353
336
348
463
469
422
345
459
500
519
338
362
332
471
365
391
334
435
497
517
361
410
375
459
352
487
353
348
515
476
396
484
420
362
502
375
488
353
328
382
389
484
395
343
461
354
377
346
421
458
445
434
386
369
517
386
361
392
364
466
387
465
394
443
463
337
386
333
510
372
476
450
349
330
404
487
391
475
349
378
440
372
508
424
325
510
418
508
423
435
424
418
391
463
330
467
418
463
365
435
381
342
350
408
328
473
457
452
488
408
501
444
478
321
491
424
427
346
346
325
416
469
455
476
494
389
429
360
391
443
463
496
323
419
345
468
392
320
345
323
372
332
397
411
460
345
371
472
454
378
430
469
450
508
336
443
411
400
452
488
479
348
480
445
507
405
373
386
428
382
425
466
477
434
485
336
475
429
417
417
495
512
507
431
321
344
449
446
486
430
505
408
323
461
498
518
385
392
444
360
485
495
426
402
377
481
399
470
500
344
411
348
504
373
414
336
509
405
358
440
368
423
373
364
500
365
458
411
374
501
501
421
455
367
395
449
503
520
459
468
519
352
511
493
437
337
508
468
381
382
369
452
332
434
417
327
487
514
383
393
424
354
448
360
339
448
382
470
436
495
339
338
386
387
470
435
360
498
375
439
445
501
464
430
333
385
438
340
362
448
423
431
494
501
442
391
362
458
368
347
421
338
380
435
384
414
388
360
458
496
430
414
355
358
506
451
511
338
466
323
396
338
347
510
427
514
410
499
506
344
380
356
427
438
461
435
379
415
424
409
409
454
346
329
467
365
338
472
378
366
511
229
249
231
217
203
248
230
207
211
239
211
216
246
201
222
201
223
212
216
221
207
233
240
205
228
228
236
239
217
247
233
218
205
206
201
207
241
204
210
231
233
250
201
245
208
221
200
219
204
223
209
223
226
237
224
208
226
231
202
220
231
246
240
215
231
229
214
221
244
248
247
217
213
242
221
230
232
225
205
220
206
212
208
237
219
243
249
206
206
212
232
212
224
241
244
242
200
213
250
233
242
227
207
229
222
219
205
238
202
214
223
241
215
203
210
244
249
231
204
219
237
207
231
228
205
218
245
230
224
237
232
212
222
235
249
204
245
208
235
221
214
238
226
232
221
229
237
202
235
241
227
205
225
202
246
238
235
202
205
221
213
204
243
222
249
208
219
229
226
225
200
231
206
217
204
231
231
209
217
210
213
230
207
232
215
210
220
246
226
213
203
237
206
219
248
211
235
239
229
203
203
206
233
229
212
216
219
205
206
210
220
224
240
205
222
221
215
222
234
202
250
232
205
248
245
242
227
204
240
218
245
208
219
243
239
232
245
221
218
226
205
215
240
202
201
249
221
200
245
234
240
218
244
243
224
247
207
243
230
220
219
247
239
204
249
249
231
222
235
247
243
230
248
227
225
245
225
229
226
201
218
229
205
242
202
225
247
210
230
246
213
207
245
238
229
212
227
232
210
223
222
215
227
232
247
239
202
216
218
243
214
230
205
203
250
246
224
243
222
219
249
214
228
235
222
212
232
202
225
210
218
216
238
220
202
240
211
207
232
220
202
214
225
242
213
203
212
241
206
242
240
201
206
206
246
229
240
211
239
239
223
241
242
219
215
240
241
203
250
219
203
235
213
223
239
219
233
231
242
230
225
214
205
248
236
214
226
213
242
214
237
205
249
229
240
229
225
202
242
232
243
237
207
247
231
212
225
243
250
223
241
216
222
242
245
248
203
229
246
236
213
221
213
242
245
249
217
233
226
229
201
235
201
235
226
223
210
204
203
246
249
249
230
245
241
247
206
242
207
247
206
210
237
224
218
229
207
238
228
232
202
234
218
228
241
240
228
250
243
201
213
211
207
234
225
229
218
232
201
219
202
231
246
247
204
240
226
212
248
237
246
250
210
222
250
204
209
244
205
248
235
206
220
203
204
232
248
241
240
229
234
247
216
236
247
231
233
203
210
234
243
250
209
240
210
216
234
205
239
212
238
244
204
237
239
213
247
211
231
238
207
224
215
227
213
250
239
211
239
249
246
234
218
246
227
225
215
240
246
206
229
214
248
217
206
236
236
219
206
219
233
209
229
227
208
208
219
221
214
222
232
208
241
204
218
206
210
206
242
223
205
217
244
236
239
238
235
248
224
232
207
225
239
241
206
216
219
250
220
224
208
217
244
209
244
227
210
202
221
229
201
241
201
230
242
201
244
244
230
209
217
230
218
215
235
223
223
226
212
239
235
233
228
245
216
227
224
236
223
249
221
222
234
250
224
242
229
232
236
212
201
218
222
234
243
233
232
215
220
235
245
214
247
222
237
225
224
209
236
250
216
245
204
225
215
206
244
250
241
216
221
207
223
240
216
238
248
230
238
236
220
217
231
239
231
228
217
201
223
247
228
245
242
249
236
249
207
212
219
213
238
237
242
201
227
228
242
240
232
234
241
228
237
205
205
233
236
204
217
211
219
224
226
225
203
209
202
229
221
208
222
224
218
215
219
213
200
223
226
221
213
247
230
210
236
208
217
226
244
250
215
218
228
247
227
237
241
227
237
202
213
207
229
207
238
235
226
213
244
238
226
230
226
248
200
211
248
237
223
200
210
239
229
221
213
231
217
226
233
245
235
230
215
236
242
244
220
205
227
247
209
241
202
232
241
217
235
209
219
245
244
222
246
207
238
237
210
209
227
215
247
238
218
203
206
200
223
210
233
206
215
226
219
225
233
250
248
210
205
210
233
249
227
217
209
230
218
243
204
249
212
222
215
237
212
226
243
244
235
246
241
224
202
237
202
205
233
242
248
243
228
206
246
232
233
239
234
250
210
239
249
201
216
205
227
229
206
247
219
227
214
241
212
244
203
244
220
230
223
206
201
212
224
216
215
216
239
248
208
219
227
200
203
248
239
220
222
204
238
245
250
222
229
220
245
203
218
202
232
229
223
225
224
211
223
213
246
249
221
234
209
220
208
215
249
245
240
225
228
242
246
212
232
233
246
206
246
209
237
205
222
223
236
208
211
205
248
207
233
220
238
207
201
203
212
248
240
223
213
227
223
246
219
206
239
234
206
216
216
238
217
201
218
228
223
246
225
241
250
213
238
250
246
206
229
201
249
208
206
209
224
227
242
225
211
225
213
247
210
245
246
245
214
203
245
249
211
249
216
234
242
247
211
219
210
210
204
244
214
212
200
243
226
204
207
217
208
238
231
215
207
236
227
214
250
215
227
202
210
227
248
225
209
215
239
222
229
238
215
236
245
248
213
223
209
225
205
230
228
250
212
209
201
208
226
238
209
202
241
222
225
212
221
248
201
228
220
242
245
215
248
227
241
231
217
208
222
241
238
238
229
201
237
205
232
221
220
214
238
233
221
236
221
200
231
238
236
227
217
225
225
231
204
201
229
223
240
204
234
229
211
209
247
243
201
223
222
219
222
245
231
226
220
212
204
214
203
225
247
215
201
246
228
236
246
206
245
209
225
239
220
218
211
240
248
211
205
209
225
244
238
231
226
229
236
231
245
238
247
249
240
227
211
203
215
232
242
247
225
237
201
228
209
207
239
250
226
232
205
205
246
248
245
243
235
208
203
204
248
204
230
222
216
200
203
222
221
229
224
228
221
243
234
249
205
201
249
230
243
203
203
239
249
227
222
212
211
206
231
246
225
236
211
235
231
242
245
223
243
210
235
231
233
238
227
202
240
229
228
232
219
229
215
245
243
200
207
246
226
217
209
244
249
234
223
234
242
206
207
243
245
235
205
213
223
236
247
214
214
213
237
200
213
222
209
238
244
218
225
212
228
207
210
222
237
215
236
234
248
237
210
241
222
221
222
245
211
235
242
220
235
249
201
229
222
226
223
215
221
209
217
212
222
225
246
230
236
201
217
228
236
235
228
222
243
210
220
216
246
216
226
241
212
236
242
236
230
221
249
210
248
231
226
249
216
229
215
231
226
239
208
246
224
208
243
230
209
213
233
236
229
248
244
245
239
229
219
203
222
244
248
250
219
237
245
200
226
212
203
208
231
209
237
220
207
222
209
238
232
202
229
221
203
211
215
244
244
228
206
226
242
206
228
236
246
224
228
241
243
239
223
215
248
250
200
246
202
228
247
212
250
214
218
222
230
229
225
204
211
238
221
237
227
213
238
213
213
250
221
221
228
229
241
247
249
215
212
225
226
207
231
221
227
246
228
236
230
202
226
224
219
231
249
218
230
238
236
233
243
209
240
201
207
231
230
220
217
227
237
227
209
200
227
245
209
248
225
202
200
200
216
238
215
214
215
222
236
216
206
217
240
210
226
246
235
238
244
210
247
234
223
237
206
204
240
216
200
222
202
230
215
242
217
216
200
232
204
217
204
203
204
210
205
244
205
245
231
226
219
248
218
210
243
245
212
202
229
238
242
224
237
230
220
248
213
200
237
221
229
203
200
223
244
200
221
245
244
220
214
206
235
235
208
247
203
220
216
224
222
211
249
218
244
218
216
209
245
249
235
228
234
221
225
228
209
248
200
218
200
236
243
245
221
205
209
221
249
203
204
219
236
238
247
208
241
213
217
208
210
247
207
229
243
229
233
227
246
209
222
213
237
221
236
246
209
231
209
218
222
207
212
235
200
205
235
230
220
224
237
228
206
201
219
228
202
208
229
221
241
229
246
220
250
209
209
243
200
244
243
247
227
236
250
250
243
250
228
212
225
202
206
204
245
202
217
200
249
204
205
242
210
217
240
243
221
228
249
211
226
250
212
239
221
218
238
226
242
234
249
201
231
213
221
230
201
212
221
226
222
217
219
239
233
214
235
207
210
236
210
218
232
241
215
221
233
225
231
231
244
204
248
230
211
200
236
201
234
232
245
218
249
235
248
246
227
236
249
239
223
209
241
226
226
221
217
209
211
203
203
231
234
242
207
245
210
216
225
203
215
214
214
221
224
217
203
247
234
211
205
208
229
225
200
244
213
232
223
230
200
225
229
204
213
204
211
214
240
240
232
249
215
250
231
229
221
240
207
223
216
208
226
204
214
243
202
225
220
236
223
219
248
223
216
227
243
250
227
237
245
219
216
206
210
208
227
225
237
220
215
223
241
206
219
203
211
232
203
227
238
229
219
224
228
243
212
203
237
248
237
203
213
202
208
221
244
223
207
206
214
228
231
239
250
224
209
235
211
207
219
238
242
218
213
242
215
227
246
243
246
240
216
235
246
205
239
218
206
209
221
218
243
249
223
229
233
225
250
246
241
221
232
205
245
238
210
232
234
248
229
204
230
205
229
208
243
234
228
231
215
245
244
238
221
234
248
249
231
224
238
205
247
244
202
219
244
245
231
202
213
248
223
249
249
206
203
204
249
207
223
215
231
236
203
250
222
205
211
228
249
224
221
225
232
207
247
201
250
216
233
222
224
241
202
236
249
245
211
202
207
235
248
201
230
202
247
243
204
224
227
232
229
206
214
225
204
208
219
223
240
235
227
234
206
213
240
202
239
232
249
221
223
207
214
246
209
244
235
250
222
202
247
242
222
218
211
200
246
240
213
202
237
200
249
244
218
250
219
231
232
212
241
245
242
226
241
239
230
214
219
229
249
219
202
241
246
247
219
235
231
245
208
215
244
200
219
235
245
236
231
204
208
225
206
244
236
203
219
229
232
247
240
222
212
246
202
205
232
235
222
232
224
250
221
248
250
230
241
203
200
213
207
201
217
244
243
231
245
205
208
201
221
203
218
248
236
220
220
220
210
212
204
229
228
204
224
214
217
228
234
234
225
232
220
247
224
235
221
245
248
203
244
200
227
220
221
339
386
391
353
369
452
405
332
330
464
344
460
460
354
485
470
328
477
379
474
370
509
380
492
501
321
506
439
326
496
369
385
512
460
415
405
355
404
507
473
396
382
416
324
451
490
328
371
503
335
477
363
472
472
443
516
397
500
503
341
520
486
463
351
380
342
460
459
450
414
511
342
446
464
374
409
514
474
380
519
410
471
393
405
385
404
433
387
416
441
405
496
422
364
425
481
510
517
401
406
429
363
406
502
385
491
463
388
441
463
402
480
351
447
457
411
424
421
413
336
445
515
421
453
341
382
443
496
362
476
508
423
481
359
427
418
476
448
462
345
481
476
349
510
383
464
400
364
366
380
509
346
514
322
445
462
441
499
474
414
440
341
467
323
322
452
444
330
336
491
352
330
377
376
362
372
399
335
461
445
454
332
422
378
337
407
420
395
354
432
328
435
394
463
390
320
477
322
371
504
399
344
449
421
393
503
519
451
358
416
465
424
409
474
467
498
375
356
416
503
436
466
463
331
493
419
517
409
451
348
421
428
355
429
362
470
366
363
446
368
518
343
439
400
420
462
369
362
481
490
506
459
471
393
356
353
460
409
495
508
464
489
422
450
348
357
471
407
503
419
496
494
360
472
394
443
436
384
388
358
324
441
365
328
520
498
505
392
416
394
471
367
489
385
484
515
354
505
324
431
510
435
385
511
432
385
342
383
389
502
452
344
519
362
366
483
324
424
393
412
498
373
449
339
337
401
327
483
320
514
464
499
400
371
441
321
370
387
490
361
422
479
516
497
448
390
345
479
350
503
339
482
374
411
511
520
411
513
412
499
335
417
362
406
455
490
466
463
345
329
354
519
392
398
386
369
403
423
358
493
388
344
473
431
443
404
351
341
340
334
473
500
352
333
439
425
496
354
357
506
336
417
417
455
486
464
463
444
486
404
424
465
386
495
367
500
321
349
382
346
350
520
464
467
402
446
495
372
414
443
345
419
327
397
340
465
501
378
350
350
353
488
494
450
505
368
367
372
374
492
502
456
402
420
406
419
354
350
364
486
520
452
387
369
388
425
380
352
396
371
386
428
385
491
460
326
491
376
430
499
331
384
419
323
419
430
338
347
471
378
448
383
336
417
379
428
365
419
406
377
459
394
487
404
496
332
447
515
327
497
346
396
487
375
410
487
387
344
381
496
358
353
356
434
427
324
324
370
320
391
366
414
485
460
464
416
362
515
487
501
409
485
325
347
398
404
370
438
337
343
347
429
506
507
433
409
503
490
469
327
372
358
519
506
331
420
458
501
404
435
323
320
430
473
470
473
414
425
502
516
358
352
464
499
430
437
443
486
372
373
442
386
486
394
346
326
479
418
341
371
377
395
412
403
508
360
511
398
496
341
495
351
331
508
349
447
355
380
337
399
423
415
416
390
516
395
494
336
366
327
433
422
412
338
388
464
419
398
378
504
323
472
446
483
355
370
345
402
394
416
434
481
338
358
324
427
348
450
491
402
338
438
492
466
376
329
431
470
518
413
437
365
447
365
471
337
488
436
351
424
464
385
374
404
353
493
391
436
401
419
441
403
414
505
417
442
429
374
407
499
367
415
406
417
465
512
397
520
378
437
423
433
363
350
449
413
387
483
472
393
358
516
350
404
513
455
480
369
494
419
396
468
502
413
390
374
408
339
462
425
472
500
466
336
378
366
396
359
424
516
462
457
327
496
373
465
463
355
408
510
427
448
355
357
507
498
500
363
440
416
336
405
393
444
493
343
494
335
418
322
465
388
408
510
377
505
395
418
355
491
451
434
359
460
458
460
324
389
436
518
469
437
449
358
363
378
484
429
440
329
425
483
428
364
339
497
494
430
481
486
389
447
507
347
329
486
481
518
482
356
455
330
427
407
442
476
341
345
402
381
444
500
339
393
373
363
507
516
323
512
467
351
505
362
320
457
383
499
409
487
491
389
446
423
458
474
476
513
347
519
463
450
416
446
388
383
472
326
333
503
478
406
514
489
464
480
446
465
375
397
489
395
420
456
406
470
423
344
412
457
366
329
466
382
493
324
347
376
504
513
479
419
380
509
499
433
421
359
333
392
488
450
349
414
445
505
515
337
365
455
453
384
425
416
472
502
410
372
323
334
343
321
367
436
422
381
379
414
479
462
477
433
337
347
477
341
461
399
447
385
446
326
402
450
453
395
348
478
385
465
396
414
483
444
321
463
411
340
338
482
346
473
334
486
515
475
355
485
331
407
356
370
379
423
330
377
375
450
404
393
379
486
340
456
487
442
464
440
382
497
454
443
328
455
469
470
504
341
400
508
397
464
388
380
350
347
475
481
326
400
502
348
320
490
458
479
384
510
479
505
394
448
496
389
465
346
500
466
434
423
471
337
368
396
455
402
429
333
476
371
448
381
449
513
509
373
347
362
344
354
385
331
343
495
502
334
357
426
377
441
321
473
328
519
382
362
402
326
509
430
463
519
416
413
322
361
320
435
377
430
441
417
369
354
363
489
386
355
437
435
379
401
325
487
405
492
487
460
380
500
448
432
520
382
397
369
325
515
358
497
394
372
353
512
337
345
490
409
513
474
323
360
465
321
510
488
433
462
447
404
413
438
394
405
395
350
381
489
518
457
498
415
494
377
491
500
419
486
414
431
409
452
333
477
460
514
413
419
488
390
376
354
365
355
342
450
360
451
345
446
384
514
518
456
420
383
470
486
494
444
448
358
347
431
418
396
394
416
324
352
377
333
483
382
409
506
340
465
435
520
399
347
331
501
495
400
325
410
360
349
415
394
325
457
464
431
349
379
429
417
519
409
353
502
400
382
344
325
376
406
436
337
352
503
515
390
470
425
469
451
486
450
519
491
429
353
346
439
500
359
376
454
393
343
320
358
480
514
511
503
456
478
429
429
518
516
492
397
381
355
463
438
332
464
515
382
438
376
452
362
359
366
461
452
424
381
467
396
366
497
359
440
420
382
405
378
490
342
418
419
322
346
468
487
325
338
518
486
401
320
455
475
394
321
483
378
461
441
487
457
335
339
510
446
349
405
520
404
461
436
459
418
413
489
329
443
512
500
419
347
346
503
370
470
454
384
360
395
500
341
429
520
465
512
371
472
458
447
389
357
498
392
345
445
349
338
364
472
498
404
388
514
504
487
454
461
356
363
477
418
446
395
442
488
320
351
406
473
422
446
420
370
518
439
447
396
409
371
447
397
461
352
465
388
511
500
384
439
379
381
367
430
344
449
334
442
519
325
391
469
458
453
380
336
379
328
392
484
496
415
380
326
406
500
339
503
341
474
512
325
385
356
397
454
513
446
340
446
361
364
430
478
320
434
355
389
416
519
400
471
333
356
427
438
396
429
368
369
368
476
453
434
489
335
382
321
383
344
398
513
493
506
367
348
361
442
408
406
379
514
512
429
397
418
424
442
380
366
474
499
385
510
439
376
417
348
460
509
502
457
329
326
380
462
350
366
453
450
408
416
383
432
335
408
497
473
357
460
494
353
389
502
321
508
369
377
411
356
393
514
484
392
489
479
419
392
339
456
324
363
374
437
460
346
486
374
353
414
367
480
462
483
480
400
426
499
514
335
518
474
324
398
375
469
411
499
404
352
467
463
514
394
435
357
406
350
395
474
415
424
366
371
414
468
458
431
477
461
366
442
377
493
372
481
330
484
427
465
334
504
502
429
480
505
397
404
500
380
460
397
375
447
337
333
511
486
435
354
462
454
514
340
345
366
518
488
478
404
328
344
379
386
503
494
479
325
339
402
355
485
516
378
383
504
442
354
483
406
458
397
501
384
382
454
516
506
485
401
518
406
351
320
377
363
383
439
407
385
513
470
498
391
444
351
490
365
416
446
369
491
429
518
474
499
466
450
472
486
370
474
402
444
508
355
402
332
365
419
506
364
460
509
375
515
457
477
511
470
514
497
336
478
478
445
392
362
435
365
400
353
355
484
496
418
336
375
502
439
388
325
371
464
499
477
442
370
370
483
403
448
403
498
485
437
443
483
333
470
356
425
419
462
372
513
474
362
506
401
464
428
416
337
498
498
472
507
382
479
342
481
320
335
449
431
434
463
473
356
461
430
418
476
322
339
505
511
491
394
381
354
450
386
395
410
462
351
356
458
345
373
466
442
383
402
347
348
404
334
488
508
461
492
400
408
452
397
386
327
448
476
389
348
504
425
407
448
487
410
448
363
381
440
514
493
512
366
359
440
474
368
442
441
369
348
352
434
467
519
340
444
375
432
359
363
337
461
375
514
408
400
499
407
336
381
340
426
500
472
482
404
326
432
467
366
353
464
326
324
346
383
367
464
363
500
454
402
429
367
370
476
518
516
384
505
491
395
446
388
378
401
325
417
380
353
408
491
494
450
401
384
451
325
516
346
511
463
377
431
507
396
467
338
400
340
516
408
467
430
432
519
481
355
327
384
411
392
439
360
419
502
476
494
504
328
408
518
467
478
474
504
393
412
438
512
407
513
490
412
376
514
330
323
399
420
425
402
398
407
323
395
337
436
499
388
433
454
400
507
398
385
451
516
334
438
419
414
421
389
434
487
331
346
469
401
481
340
458
405
465
332
353
487
428
345
462
402
490
501
389
520
493
512
502
345
489
427
452
361
455
393
383
416
507
378
463
449
382
389
483
415
350
350
381
372
467
344
340
404
475
356
460
386
441
456
340
424
456
339
442
400
344
519
406
512
403
447
492
425
354
445
323
479
472
427
338
379
326
388
389
389
435
326
386
437
408
464
441
344
506
395
456
461
322
466
510
519
366
444
450
336
330
459
375
363
512
489
337
506
351
430
438
326
373
454
356
371
475
394
497
443
355
430
423
514
393
486
349
468
369
452
438
340
354
431
495
425
403
468
512
403
358
405
343
447
487
465
407
334
373
465
421
378
395
482
437
449
326
499
463
361
478
353
374
417
360
479
402
506
388
435
499
355
520
349
487
496
349
459
496
446
349
447
327
380
460
482
454
502
363
479
456
443
446
362
493
500
435
468
411
387
326
398
345
464
508
398
333
477
388
428
368
445
359
437
395
390
452
365
489
508
488
512
322
371
443
324
423
489
391
323
471
481
419
494
472
418
381
418
488
409
452
510
410
520
390
322
366
326
355
450
369
345
355
518
409
467
447
496
396
512
367
419
495
472
387
496
498
331
490
361
453
370
363
476
506
363
430
331
488
495
458
377
377
516
398
394
459
460
390
488
332
475
341
382
440
449
325
507
377
459
405
472
494
508
376
414
478
368
502
427
513
519
509
321
453
510
424
479
415
370
409
438
517
411
519
486
381
494
496
477
455
427
475
396
403
388
511
372
431
489
441
425
469
460
386
513
482
356
451
478
491
334
492
450
389
508
489
507
329
494
344
357
471
402
513
500
514
361
441
367
327
444
350
321
427
473
402
476
449
466
334
470
349
359
494
456
489
346
397
515
454
433
328
465
490
518
352
398
376
513
466
447
464
441
493
332
482
339
418
341
331
447
427
474
512
481
489
457
400
413
346
380
440
489
450
399
333
336
487
481
324
479
428
365
339
339
505
341
344
382
438
358
443
425
335
380
360
446
341
473
458
373
354
467
501
463
397
462
480
378
375
505
506
457
422
473
416
382
455
425
334
475
376
443
376
377
402
320
480
398
324
379
364
466
345
490
384
373
456
480
519
379
337
386
351
422
491
498
520
471
329
420
346
417
495
519
399
428
344
329
491
391
340
404
445
414
351
402
374
427
421
488
483
465
459
502
367
490
418
513
342
506
446
373
354
458
414
347
447
356
460
451
368
350
400
506
376
454
386
415
487
499
425
446
517
459
335
447
408
387
515
488
478
370
406
486
499
395
352
505
515
358
392
390
508
365
357
463
462
379
341
424
520
444
420
387
335
349
488
397
515
370
436
470
459
433
379
438
358
507
425
440
346
332
368
410
323
482
438
450
519
507
397
332
338
475
384
343
374
400
454
379
451
448
352
357
428
390
358
411
452
517
382
482
382
409
334
520
445
420
386
518
407
350
359
332
416
359
466
342
509
464
350
452
350
499
354
401
513
327
520
385
380
349
356
330
442
362
475
350
496
395
403
517
435
431
508
476
367
339
413
494
437
336
424
330
447
405
407
397
487
424
338
435
445
355
492
449
321
363
322
447
515
417
350
370
503
327
426
352
476
422
444
395
473
468
516
432
432
372
331
453
325
419
509
358
362
481
341
382
327
506
505
323
322
438
345
490
511
470
436
414
324
336
389
474
447
519
407
421
396
412
496
403
354
482
329
340
390
463
439
430
468
339
385
388
471
376
323
494
365
384
519
357
462
418
487
395
480
414
341
411
380
366
481
494
392
336
439
513
465
468
343
352
441
520
381
347
333
503
396
419
407
413
336
491
326
506
445
415
454
348
472
471
327
347
406
369
437
339
361
393
448
493
506
320
373
352
481
409
443
484
464
332
520
445
445
320
508
367
508
444
458
337
331
396
445
513
424
323
495
514
407
415
478
378
358
453
504
477
496
379
358
396
486
384
372
424
458
371
464
336
488
507
489
469
489
422
402
459
431
455
497
389
385
450
384
376
432
500
473
378
401
355
382
358
355
517
491
362
391
520
518
481
355
363
516
452
464
360
400
403
398
488
326
395
517
353
506
320
385
412
508
339
510
404
407
514
368
408
457
483
372
363
424
431
387
423
404
417
439
477
477
473
460
500
410
410
411
473
426
520
470
455
511
486
345
398
414
341
465
482
398
367
322
357
508
337
480
372
359
461
426
490
381
499
381
407
485
464
499
411
457
338
355
509
386
498
496
431
350
424
405
491
491
385
456
336
421
388
468
349
471
443
328
357
484
405
480
462
432
448
414
411
389
459
491
415
434
335
406
390
409
435
465
467
517
476
400
395
377
412
457
476
477
380
414
392
351
453
475
515
520
477
497
349
499
428
323
462
324
422
411
410
430
430
421
404
475
461
388
364
445
437
417
335
439
487
474
464
369
492
493
468
332
358
393
390
412
379
360
405
390
486
512
433
515
516
360
505
501
462
514
444
331
430
481
367
327
370
399
469
519
398
450
366
346
466
362
358
377
458
427
489
500
472
375
452
512
423
417
399
489
448
364
426
517
447
410
347
517
519
342
456
351
486
494
467
342
513
500
368
504
498
327
502
448
457
491
509
451
400
338
339
421
490
471
378
374
469
364
441
449
390
346
349
426
446
362
500
323
495
407
369
395
363
400
471
327
378
404
421
466
466
490
471
353
436
420
418
508
488
389
391
452
448
459
392
384
509
364
508
508
466
327
453
508
452
420
509
520
472
490
322
512
481
371
506
507
358
452
500
507
435
403
424
377
401
510
385
494
392
370
419
388
490
329
322
504
342
405
333
365
427
469
429
457
329
429
347
361
463
411
432
378
410
461
496
387
333
426
434
432
365
474
368
410
384
361
377
424
414
359
498
503
343
409
511
438
320
436
459
361
365
479
323
395
347
506
359
424
493
471
511
330
499
471
481
513
474
495
508
510
417
377
391
439
511
461
400
386
496
460
426
471
488
467
444
367
438
356
410
417
366
504
409
365
430
448
410
499
445
445
498
394
453
332
350
486
385
447
404
451
410
399
479
385
371
492
422
391
384
430
463
323
418
466
518
407
473
449
350
461
413
480
407
491
411
327
398
326
393
418
346
462
470
512
337
356
360
503
461
455
517
449
356
414
511
452
391
363
382
395
434
487
384
504
342
353
468
428
325
458
430
366
517
438
340
508
435
458
390
495
483
482
490
487
335
335
390
396
484
490
368
485
518
472
382
431
362
428
486
461
368
502
435
515
453
422
410
339
459
477
416
334
493
480
436
341
459
417
507
390
487
479
465
449
501
359
420
434
331
337
484
489
477
392
513
356
431
421
481
449
461
388
380
357
377
379
352
506
441
363
444
324
372
435
497
379
475
391
337
434
444
396
495
357
460
394
481
418
480
472
461
467
348
456
477
427
320
422
450
409
368
480
338
412
343
365
401
372
469
489
381
458
506
511
506
369
497
381
514
324
460
464
481
368
438
423
354
381
345
394
381
409
345
337
407
475
442
454
450
437
510
379
353
397
485
518
336
417
409
510
412
447
420
433
463
481
490
371
516
430
339
403
426
458
366
380
463
420
460
369
474
372
441
370
501
382
518
449
337
411
508
492
367
490
462
361
422
451
353
473
454
434
389
408
411
458
519
507
437
336
414
332
437
463
454
517
372
349
484
484
339
459
343
466
356
409
431
457
359
351
449
412
384
498
409
489
391
449
516
350
447
517
467
384
418
432
474
368
370
431
338
388
466
382
431
378
328
491
423
329
342
516
506
497
375
386
378
515
405
343
350
392
465
451
463
413
433
325
407
436
417
340
512
331
446
445
342
490
470
384
515
502
327
349
339
442
354
356
518
361
501
428
487
358
480
460
516
468
474
448
400
320
411
325
419
339
398
320
354
513
511
411
351
365
468
323
334
345
425
518
375
520
330
365
424
359
513
388
406
395
386
377
458
461
511
367
385
335
509
460
474
421
518
380
421
419
415
444
462
329
466
345
457
405
417
423
439
513
381
385
382
464
458
435
414
357
348
397
327
357
477
402
472
324
373
413
379
362
507
398
508
428
323
336
513
357
341
346
458
448
509
505
520
446
499
388
328
453
471
408
405
467
360
499
434
388
332
396
410
454
444
394
338
442
448
411
413
348
449
503
363
516
385
334
332
501
438
395
469
339
413
491
332
431
390
460
481
351
484
430
337
393
409
354
421
483
475
506
340
416
378
380
511
461
426
349
403
467
505
447
429
477
351
358
402
406
332
377
501
493
372
354
375
507
323
519
480
496
441
519
364
423
455
500
347
350
480
397
349
441
478
343
433
443
389
346
466
329
361
421
395
405
335
429
380
506
488
394
363
411
353
337
333
478
321
331
490
426
331
445
469
333
324
367
471
429
411
401
345
325
446
400
402
402
449
487
432
459
374
467
445
326
439
327
500
435
411
488
492
456
361
322
321
398
496
499
369
478
437
441
432
414
435
460
418
348
329
486
381
476
346
513
336
376
449
447
411
368
471
349
482
359
343
420
486
492
423
364
448
372
482
365
422
330
410
337
351
361
413
491
517
513
374
411
429
517
392
424
390
450
435
384
492
433
351
331
451
364
472
391
413
501
471
330
342
411
489
405
329
488
371
359
342
330
483
370
401
363
425
467
471
424
476
445
443
350
356
510
439
416
484
386
426
338
358
467
465
368
336
520
482
411
411
494
346
438
401
444
405
386
320
423
330
483
328
455
335
507
476
454
513
400
488
474
323
398
504
322
505
450
397
465
431
372
473
451
408
376
439
471
470
505
441
382
429
471
331
381
346
400
473
371
403
431
445
412
398
343
349
499
408
337
412
393
356
476
444
429
450
439
456
495
332
448
342
426
339
511
334
487
465
497
453
417
486
342
464
407
492
331
352
501
329
412
369
466
364
412
329
402
495
393
426
460
326
360
434
368
335
405
440
477
403
382
457
405
371
449
449
364
447
410
433
342
492
375
490
338
386
359
442
380
498
426
331
349
371
323
364
395
374
444
346
369
491
508
454
404
393
364
416
341
514
447
456
411
342
437
489
398
328
505
394
324
390
444
406
378
446
322
418
495
437
454
382
518
486
407
388
396
359
364
399
429
376
361
490
485
488
498
483
448
355
499
408
432
506
454
457
344
422
477
333
439
506
403
440
444
430
325
413
474
404
509
369
382
375
340
352
515
421
455
417
432
369
372
480
479
406
340
387
382
435
369
337
447
412
336
502
337
516
505
388
233
240
206
246
247
221
239
206
222
240
222
221
220
222
227
212
240
222
218
215
217
244
241
232
231
214
236
215
203
232
217
208
221
243
212
229
214
250
206
220
213
242
206
224
231
241
211
203
241
211
222
203
212
216
211
208
221
222
234
233
235
227
213
246
221
247
236
227
237
240
229
243
207
211
224
248
204
232
205
249
214
229
202
212
228
206
212
215
214
202
212
223
228
200
220
238
232
220
215
219
207
228
213
244
208
248
228
231
248
222
245
225
244
219
212
218
212
237
214
205
233
222
226
219
213
235
211
209
224
207
215
200
206
201
202
240
222
207
210
240
228
212
238
245
206
230
225
207
210
233
241
240
208
213
238
235
200
201
214
219
218
222
218
213
206
218
224
206
246
216
223
224
218
233
230
222
213
209
212
222
245
205
238
228
248
205
242
225
235
249
201
218
203
214
207
229
242
208
205
205
230
219
228
204
215
201
246
239
223
201
230
218
216
215
218
204
245
216
241
244
226
249
218
236
238
205
248
230
208
227
228
236
222
226
215
241
207
230
234
234
223
204
229
244
244
223
224
223
206
232
232
207
238
213
226
213
222
242
208
231
229
229
225
223
234
216
227
204
246
200
203
237
237
234
242
242
244
246
218
233
222
244
250
229
209
236
205
224
234
204
215
244
241
234
220
209
249
219
249
245
206
233
209
249
242
250
221
241
220
222
237
219
202
220
206
218
203
225
201
218
245
213
211
207
206
224
229
202
218
230
204
201
236
212
221
226
240
224
212
215
206
211
210
231
249
218
248
209
211
204
222
215
212
215
201
242
221
220
232
235
235
244
250
209
246
210
249
249
244
213
236
223
211
205
227
250
214
225
229
246
246
221
217
237
221
209
202
206
240
206
234
217
208
232
206
226
226
232
200
201
239
238
224
230
234
240
247
240
218
214
203
208
203
208
201
206
233
221
209
242
203
208
215
240
218
233
237
207
210
228
227
209
230
221
201
200
223
200
220
220
202
233
239
229
243
249
227
233
200
248
210
237
209
230
229
240
207
236
227
246
250
238
207
239
220
232
226
220
221
203
213
210
242
203
236
224
211
213
217
245
244
233
242
233
204
229
233
236
210
232
226
234
243
222
214
204
225
212
203
230
202
242
247
203
227
229
232
233
234
246
208
231
224
247
220
221
224
214
213
214
237
228
230
231
238
228
215
234
239
211
249
219
223
206
246
245
238
247
207
206
233
250
237
207
242
203
217
231
231
221
206
246
232
237
224
207
239
204
216
220
238
222
214
214
239
206
217
241
203
224
220
250
242
219
211
235
234
225
205
244
220
219
228
236
214
215
208
250
226
201
237
235
214
212
250
211
215
201
201
225
222
232
200
237
221
230
215
248
210
231
202
210
225
213
248
231
203
216
242
202
244
202
213
248
245
242
235
215
247
214
214
242
240
238
248
209
208
242
212
248
223
227
230
247
240
231
230
230
232
213
239
240
215
200
211
200
237
242
221
221
247
210
241
203
216
225
228
244
241
234
203
243
201
232
200
242
250
233
240
230
241
206
235
244
232
226
244
232
213
215
239
246
202
249
229
207
226
236
238
200
247
211
223
221
203
207
246
237
241
201
241
247
244
232
210
240
244
205
219
217
225
229
245
234
244
231
226
213
223
250
214
222
231
214
206
246
231
239
241
241
223
204
206
226
234
248
250
222
219
221
230
231
248
239
240
238
223
219
215
242
233
203
202
236
250
217
232
213
228
245
202
217
238
244
203
227
208
230
239
227
240
214
207
213
213
231
212
244
247
225
221
245
217
248
200
232
232
218
237
225
222
233
229
241
244
221
233
245
204
217
224
226
229
249
249
225
247
246
235
223
234
221
219
207
238
248
220
240
247
209
221
231
236
212
239
214
248
238
247
233
238
209
233
209
201
229
242
228
207
233
244
210
202
201
232
246
216
217
211
236
207
237
228
204
245
200
227
231
206
224
222
212
220
225
225
200
240
250
224
212
219
214
208
244
235
231
237
229
242
223
233
201
203
224
227
246
219
208
250
237
249
211
204
205
206
234
217
203
238
222
247
249
203
201
243
223
216
224
233
208
230
249
216
207
237
205
225
209
238
208
215
242
221
245
250
237
245
241
207
208
213
238
200
230
222
246
204
242
234
210
213
210
204
204
218
221
217
221
245
246
204
238
239
221
233
207
241
203
233
208
244
206
214
230
242
247
201
250
232
243
224
235
231
238
244
237
220
227
244
247
213
201
241
220
230
215
213
217
212
208
232
246
245
231
209
224
205
218
242
231
201
229
247
237
213
247
245
228
217
205
225
218
217
246
229
225
205
231
228
204
204
250
228
215
247
246
223
234
246
210
226
245
217
205
239
243
250
245
206
233
229
235
203
207
246
209
232
210
221
209
230
208
244
216
247
225
247
245
248
226
211
247
222
213
247
220
223
241
201
210
219
218
221
249
240
217
240
202
238
239
229
234
243
218
224
235
238
200
243
208
200
248
201
233
237
214
212
200
211
212
204
200
247
249
230
237
216
235
237
248
238
217
223
205
230
220
224
207
243
233
227
225
236
204
230
242
201
225
211
240
201
228
204
247
208
245
239
214
244
226
229
227
245
217
216
239
246
240
246
222
232
202
200
231
232
202
216
236
242
220
237
208
232
216
226
202
232
242
218
244
217
207
224
242
244
243
248
219
200
201
210
225
242
245
237
246
220
206
241
209
208
207
246
237
231
205
229
247
233
215
240
208
213
245
210
244
219
202
204
238
250
222
210
217
211
223
248
211
227
224
224
220
203
220
210
222
235
235
221
231
242
234
219
240
213
220
245
229
210
223
222
201
233
246
231
220
207
210
216
240
224
244
247
239
236
236
244
235
236
238
211
209
250
239
217
244
227
230
212
222
235
230
219
206
228
225
213
209
249
240
234
242
219
209
239
203
230
234
206
221
210
220
239
232
211
209
224
208
236
201
245
224
222
211
241
236
208
209
232
235
206
246
241
238
210
220
216
242
223
203
207
232
246
211
248
223
208
212
215
202
225
213
208
236
244
224
237
210
214
224
241
250
244
224
250
207
223
236
231
235
244
218
238
200
247
210
238
234
225
218
246
243
214
239
216
231
220
210
246
225
230
222
231
221
222
201
212
215
237
222
223
244
217
205
231
214
200
204
204
216
208
243
249
242
202
234
222
212
233
228
209
234
201
240
237
238
249
234
222
200
224
231
212
212
214
238
223
240
205
205
215
247
242
238
228
229
236
232
211
218
231
223
232
250
223
223
226
239
248
231
221
218
203
238
230
239
219
215
219
218
220
238
214
201
221
247
202
233
238
211
237
208
244
209
209
232
203
202
234
233
234
218
227
242
249
213
205
243
217
242
229
213
249
244
218
215
228
217
204
247
238
207
220
226
245
242
250
222
202
232
216
214
246
234
240
227
242
234
240
214
232
203
240
204
246
209
219
217
231
209
235
243
219
224
210
217
237
225
246
246
201
201
208
224
202
204
218
250
237
226
219
220
248
208
233
225
230
239
227
249
247
222
222
241
227
205
205
249
224
240
218
205
240
240
217
221
249
204
205
213
232
234
213
219
215
224
205
236
220
202
235
201
243
248
211
203
234
217
247
206
221
247
223
239
207
240
214
212
244
209
229
225
207
221
248
219
218
237
222
232
207
223
209
225
222
217
239
230
209
211
234
226
227
246
238
250
244
226
224
207
233
213
226
246
224
208
239
203
205
202
235
211
243
239
203
226
218
207
224
203
214
211
250
241
239
231
238
228
224
210
209
238
208
214
240
209
239
225
234
240
211
214
244
210
246
241
240
220
250
201
235
245
220
203
250
247
227
226
248
208
231
211
238
204
206
222
220
208
220
217
207
246
224
227
246
235
214
222
217
234
240
238
237
203
208
237
207
231
201
211
208
231
203
217
200
200
201
218
213
233
217
208
214
239
216
235
220
225
245
209
239
206
245
224
222
248
247
218
243
220
240
218
220
231
203
208
236
227
215
223
214
244
205
238
222
204
236
230
234
233
225
226
240
212
211
228
243
208
236
216
207
216
234
205
229
210
210
224
229
227
245
244
204
208
218
242
237
210
219
204
234
230
202
248
234
244
209
209
220
238
242
244
214
246
240
202
208
239
203
216
220
241
228
246
221
234
222
220
238
239
227
240
227
209
239
204
238
209
233
212
247
244
229
218
232
232
206
242
238
205
250
224
208
224
206
207
228
217
227
206
247
201
223
202
228
246
206
250
234
212
228
212
225
224
207
242
208
249
226
249
201
210
228
230
220
218
225
228
249
228
233
224
226
217
244
247
223
208
249
237
244
250
216
204
207
248
250
205
241
225
215
232
210
220
239
234
216
209
227
239
236
243
214
236
215
238
200
221
211
202
208
227
230
246
242
226
246
249
226
201
230
203
218
246
237
222
221
248
225
205
216
216
236
242
238
215
210
200
236
246
209
201
216
232
219
245
247
209
238
233
235
243
224
232
243
209
209
238
225
249
224
208
208
207
222
214
200
208
240
248
234
218
240
232
202
216
200
223
206
228
217
225
226
203
222
244
240
218
215
239
201
221
232
234
200
247
233
245
249
238
215
244
204
214
238
209
242
207
211
235
234
219
232
234
237
212
222
238
210
242
200
245
220
247
200
217
232
212
207
232
208
229
211
246
225
237
230
241
242
239
208
243
205
226
246
218
231
236
248
217
250
214
200
220
245
249
236
222
243
206
244
244
210
250
236
208
214
220
207
209
219
204
225
243
214
215
201
238
225
207
248
216
249
227
232
238
250
237
250
235
208
216
233
248
219
217
246
227
244
200
214
246
250
243
214
221
218
239
235
223
234
221
225
204
240
205
229
228
240
234
238
207
242
204
218
238
227
232
231
209
224
232
201
240
242
234
217
229
238
250
217
222
236
214
237
244
208
247
212
232
208
248
236
244
233
223
216
226
237
217
245
237
208
222
214
231
222
226
209
235
225
207
239
231
232
241
222
219
232
247
238
237
220
226
205
228
203
244
237
212
209
236
250
235
237
214
204
245
215
250
209
204
208
237
232
242
247
242
232
231
224
221
208
232
218
212
201
200
244
202
222
240
211
249
213
248
241
231
223
224
208
214
221
230
235
210
235
249
221
224
205
235
204
231
213
235
228
205
237
221
214
207
210
231
218
207
216
206
246
203
207
245
235
210
213
229
206
247
234
229
204
233
226
233
210
231
231
228
248
243
231
233
247
200
230
215
211
233
234
220
214
250
228
215
247
225
204
200
225
215
233
223
211
247
224
223
231
241
213
246
201
241
235
243
203
241
205
218
201
241
239
214
242
218
234
214
205
213
213
230
219
206
234
222
217
220
234
229
213
205
223
224
226
208
234
243
209
228
203
215
232
230
243
242
216
205
226
216
231
230
236
238
238
206
210
225
208
241
246
219
223
214
220
216
238
216
207
226
202
222
207
236
244
222
211
212
228
242
231
219
203
217
223
214
249
209
230
203
241
240
241
225
214
207
206
204
209
243
241
233
244
215
212
203
208
232
220
200
211
246
207
223
237
231
245
217
203
245
238
238
248
216
223
244
205
230
204
227
210
220
235
216
225
215
227
233
244
245
234
217
208
222
241
203
241
219
210
205
206
204
234
236
211
227
219
230
228
211
229
222
228
210
207
205
217
228
238
209
214
227
229
237
243
210
236
235
249
215
214
240
225
239
248
250
208
209
221
211
213
244
219
239
246
211
205
239
236
221
207
232
229
235
227
212
221
244
217
214
210
235
242
366
323
351
450
382
511
339
490
375
369
384
352
381
478
502
464
415
429
438
486
366
391
420
496
474
498
413
363
516
437
397
325
438
443
465
388
398
345
338
453
437
408
445
349
398
415
363
487
412
386
323
376
363
390
324
416
357
431
478
400
427
392
438
343
506
503
332
393
323
438
434
519
458
332
442
383
408
376
419
362
497
445
518
380
369
352
441
342
350
322
476
488
371
519
501
336
410
367
371
483
456
421
359
443
338
475
361
497
502
515
455
371
356
471
329
458
326
366
509
509
419
354
471
411
350
459
438
431
400
505
343
360
414
348
343
407
417
461
376
476
339
506
332
459
331
434
483
493
517
461
395
423
321
472
433
486
458
454
498
324
424
517
412
499
372
392
520
505
322
395
369
509
442
330
403
340
341
365
367
332
461
430
510
367
420
413
426
372
352
505
396
510
494
460
322
321
520
513
357
433
346
502
339
380
465
504
349
505
385
420
514
339
339
378
498
373
372
406
346
379
478
457
422
334
329
475
346
354
398
477
329
380
357
466
378
366
411
442
354
481
340
507
411
475
366
341
387
393
479
474
390
383
483
423
393
457
367
495
509
421
421
499
331
474
439
437
480
361
519
426
354
505
487
355
444
349
391
487
497
506
459
366
363
341
483
327
394
404
459
467
368
473
320
388
396
513
468
417
321
505
496
459
469
451
332
422
485
348
461
428
403
514
340
394
384
419
422
397
520
463
379
458
389
355
516
362
419
472
360
469
378
495
429
362
408
412
366
430
386
476
500
426
332
380
374
388
474
510
381
409
446
329
427
415
363
454
374
514
361
386
416
513
501
345
436
418
423
398
507
328
498
434
399
453
439
448
359
367
427
424
487
345
510
383
480
412
364
484
331
402
324
356
479
441
494
330
391
459
462
381
325
359
320
509
486
490
320
401
444
326
492
514
357
453
464
333
496
408
372
355
361
445
404
383
341
517
339
482
398
336
382
354
379
438
337
439
388
440
375
420
441
431
514
320
359
460
338
382
424
484
462
338
353
331
407
380
368
344
480
362
388
407
325
393
353
425
490
507
340
328
333
515
419
391
343
511
500
346
386
355
399
338
420
343
385
334
459
505
414
324
449
442
410
332
379
483
371
386
321
349
379
513
338
404
450
333
513
429
374
372
326
408
359
477
376
405
513
455
411
373
511
376
402
362
340
347
463
388
365
327
470
392
324
428
504
428
341
402
518
440
402
409
475
395
334
444
406
342
446
503
397
500
348
400
459
445
505
358
354
496
404
469
374
360
464
401
461
360
323
466
375
494
520
326
418
468
418
352
412
409
343
515
493
353
373
506
430
432
350
383
383
505
449
455
388
353
465
491
390
386
418
397
482
479
413
342
386
329
508
416
408
468
399
463
514
357
333
481
514
336
386
495
415
328
450
337
501
459
337
453
496
350
410
407
452
387
400
412
357
372
425
465
347
369
340
344
324
347
438
418
380
461
376
501
356
497
327
512
414
415
480
330
400
462
409
409
405
479
510
347
414
429
355
423
498
498
424
361
435
518
469
344
520
328
496
411
451
478
400
411
383
476
372
363
499
359
506
480
431
457
459
413
389
339
419
467
455
515
440
488
503
435
350
503
380
495
453
413
491
344
383
414
358
467
504
383
426
508
323
355
353
341
427
456
396
498
364
393
365
427
462
373
481
435
323
334
418
452
352
377
520
406
496
453
490
445
451
515
327
327
463
369
377
452
322
417
416
359
484
471
482
457
460
430
418
342
329
419
492
478
391
413
461
494
437
442
487
405
483
426
402
424
437
434
383
432
504
469
468
372
363
505
518
374
456
516
399
413
345
456
464
423
395
508
329
353
417
403
339
380
371
326
396
347
510
405
397
350
444
340
420
378
494
426
502
486
497
490
497
410
485
365
447
343
377
478
415
497
506
358
443
342
328
364
465
438
464
341
364
431
388
465
401
481
373
400
424
448
363
323
354
346
493
323
363
372
446
343
356
513
441
428
487
356
401
325
392
473
329
404
352
357
520
465
447
387
369
511
424
517
498
478
491
413
458
365
494
330
486
407
434
424
454
437
339
321
487
428
326
337
392
394
399
467
358
513
489
515
321
356
486
435
375
485
380
376
473
329
387
387
381
470
456
370
403
484
511
467
459
520
414
343
405
379
346
510
416
479
498
426
452
380
362
507
433
408
446
352
360
364
413
450
516
349
506
430
423
510
502
496
518
475
365
481
487
517
365
402
500
501
398
469
519
511
514
397
500
441
497
411
345
374
429
413
417
379
342
411
333
337
428
476
494
337
511
415
372
507
369
494
505
444
396
404
330
333
371
333
334
390
417
351
492
337
385
476
424
413
459
491
364
512
338
425
485
468
430
360
349
444
368
382
457
483
334
486
396
418
368
425
407
399
393
406
438
354
443
423
504
358
438
423
492
353
406
399
438
485
441
359
343
406
507
432
361
418
450
426
340
490
495
383
400
510
459
369
352
466
483
334
384
473
369
342
388
462
360
328
417
508
446
480
394
381
501
502
332
326
469
418
406
347
465
462
440
405
464
356
424
415
329
444
441
430
371
332
327
444
346
340
469
506
393
421
382
489
455
323
384
437
343
386
520
376
520
452
508
342
420
478
333
466
513
426
450
501
414
395
371
331
471
502
470
428
346
443
385
484
324
430
411
436
432
352
440
360
434
338
329
329
416
355
460
320
494
447
444
510
350
438
493
478
328
334
428
411
367
443
400
511
462
451
416
414
376
473
378
383
406
514
492
422
456
396
361
342
431
334
486
351
450
502
437
343
465
450
358
354
510
461
486
437
459
445
389
375
511
343
449
490
357
463
386
474
432
511
444
478
361
355
435
379
340
415
473
457
517
414
414
321
519
343
365
491
468
452
380
400
376
432
333
425
414
393
333
365
501
391
507
390
366
422
353
464
450
337
381
423
492
378
400
374
356
364
468
517
428
438
420
414
517
466
386
438
351
388
438
322
504
328
476
481
409
406
434
516
509
376
429
500
427
485
429
516
366
420
415
396
361
502
487
458
421
453
349
367
407
360
512
320
349
341
357
427
405
424
372
326
351
498
431
520
382
499
419
374
420
381
393
442
429
477
370
328
360
518
357
434
474
426
342
476
422
351
387
512
508
332
322
486
479
503
453
340
461
508
436
499
359
357
489
335
454
503
489
448
366
506
451
469
355
479
419
422
462
511
398
467
337
355
331
401
470
356
446
332
330
347
364
386
465
330
393
457
357
479
489
421
446
354
484
452
441
383
508
432
377
373
331
456
372
403
366
356
400
428
429
493
348
400
388
378
516
496
424
460
360
496
513
321
501
345
489
481
412
370
487
358
466
484
364
374
475
437
467
514
368
434
346
405
502
413
440
340
381
472
323
368
497
401
439
449
471
514
429
499
403
355
424
387
379
347
487
435
437
324
395
411
374
342
372
419
452
447
363
504
358
417
361
388
445
330
394
386
445
383
323
411
396
497
324
400
437
471
394
374
465
431
405
352
502
430
498
481
437
434
345
343
481
371
424
390
419
389
391
364
488
320
389
454
483
339
411
450
388
429
471
443
326
412
508
385
355
455
412
423
437
375
462
321
479
393
358
489
429
391
479
379
331
512
321
504
340
444
326
500
327
465
504
368
336
336
366
384
409
321
459
468
386
499
436
410
513
332
495
412
400
342
331
369
439
399
439
485
435
500
476
415
400
458
320
500
457
464
326
358
398
321
500
439
356
494
419
337
353
343
378
516
513
346
336
496
332
500
361
374
397
477
380
387
417
370
420
475
340
399
380
327
479
366
443
373
489
518
384
509
439
483
482
323
396
390
429
482
339
387
353
357
408
456
330
346
457
372
327
421
432
403
470
512
430
335
478
404
489
484
329
497
377
455
376
376
453
406
432
347
407
496
404
416
467
505
396
400
374
388
479
475
465
384
364
444
322
478
488
441
326
502
514
520
323
430
328
350
480
325
423
517
483
435
426
481
320
376
432
381
456
423
345
392
366
385
439
500
431
374
505
372
347
418
433
472
408
471
510
390
467
388
371
463
412
393
426
411
324
457
348
456
324
365
431
471
357
513
466
389
412
403
447
509
437
504
391
407
382
476
434
405
398
359
356
425
355
340
463
342
408
435
371
493
387
359
456
413
363
459
413
431
326
467
501
456
350
434
511
516
371
483
404
478
332
400
392
417
421
465
514
457
375
372
322
498
342
460
367
458
362
460
462
424
327
320
382
376
489
427
331
505
444
493
334
449
480
385
443
451
516
420
432
322
469
488
435
457
420
364
341
498
505
501
515
513
342
468
397
325
448
518
503
428
384
494
336
500
462
437
387
463
509
450
368
509
456
403
487
348
391
463
501
361
415
409
332
342
370
398
427
334
464
391
465
361
382
518
333
419
416
501
381
496
327
425
477
363
384
501
375
451
506
372
430
341
361
398
371
359
475
400
461
465
472
454
325
432
382
488
377
467
485
335
370
332
498
460
332
328
461
330
411
484
391
488
361
431
360
434
482
508
488
513
359
456
417
411
367
446
397
403
455
518
348
398
489
447
473
383
493
351
346
447
394
442
446
325
496
452
353
515
512
511
366
502
465
500
385
387
462
413
370
413
394
507
493
342
520
394
364
398
416
500
326
386
465
356
486
470
357
502
417
474
432
508
407
380
387
354
378
343
454
474
471
381
506
505
320
514
442
323
356
342
468
463
498
368
489
506
425
366
326
436
437
394
457
366
355
343
489
384
408
347
409
475
373
382
476
395
347
350
428
379
365
486
494
456
328
398
512
395
380
376
349
467
423
438
330
413
487
406
346
497
387
339
382
490
327
345
348
422
393
341
437
425
391
433
478
320
435
492
506
448
495
371
346
505
491
347
479
328
426
403
516
447
393
438
390
501
510
378
507
503
452
439
362
411
365
507
363
417
437
341
478
507
489
385
428
511
376
512
410
510
431
338
412
338
322
512
470
512
513
487
340
357
517
513
359
454
332
493
409
369
423
367
320
444
332
414
364
390
423
493
429
459
429
354
403
402
422
428
429
433
422
377
366
448
429
381
344
412
386
511
414
345
446
351
479
394
494
520
365
456
349
331
469
329
458
491
368
462
508
517
429
492
428
350
333
390
327
475
412
336
333
449
326
402
377
360
461
385
408
329
367
372
339
406
467
502
512
370
513
326
462
320
331
514
323
434
430
520
325
417
332
455
416
429
462
506
399
401
408
441
471
498
373
425
413
369
465
360
441
423
501
381
421
500
353
436
485
450
331
387
442
350
513
426
359
422
366
463
398
361
361
392
459
400
345
321
472
491
460
412
410
335
449
342
483
426
444
385
501
477
491
405
410
480
379
392
429
458
388
443
345
441
340
350
520
347
421
463
372
377
367
400
357
387
486
414
369
493
477
440
467
493
373
519
427
349
497
395
365
431
337
348
482
458
465
390
437
491
411
501
321
402
343
453
507
421
467
366
492
345
454
408
439
467
389
436
349
345
337
387
320
397
507
475
492
403
493
402
367
379
477
416
511
503
470
439
397
336
410
457
329
339
387
436
454
425
362
330
472
488
492
510
433
469
383
381
378
416
497
344
507
466
394
480
411
345
393
452
447
427
438
373
471
422
373
386
450
421
354
345
392
436
389
466
349
405
424
489
327
413
407
473
423
423
496
486
359
457
476
498
342
343
386
378
397
324
412
447
512
431
470
332
379
386
396
408
429
390
460
445
374
479
397
512
418
498
444
418
407
422
509
421
467
434
476
367
492
350
367
507
517
448
515
435
461
390
434
424
454
468
328
412
409
369
435
413
356
481
336
487
412
350
332
326
348
432
444
377
496
411
459
513
396
503
497
452
367
461
322
387
516
407
374
375
384
322
519
400
379
457
344
502
494
352
363
490
494
511
385
418
427
454
408
345
455
489
464
407
408
396
337
401
515
375
382
480
408
431
490
395
427
485
327
465
368
393
438
519
348
427
472
395
454
402
516
423
410
460
397
442
434
444
354
362
478
449
382
473
398
328
379
444
502
447
339
397
518
501
409
348
393
447
410
512
435
321
334
479
427
431
339
511
393
434
346
417
342
468
430
486
516
474
517
515
436
377
353
336
376
451
508
438
511
456
335
453
347
356
327
362
334
452
468
358
380
454
370
432
465
390
359
370
354
516
441
342
353
518
328
370
396
365
406
405
392
493
352
459
454
501
376
514
378
483
470
494
512
485
463
367
377
336
468
373
422
347
514
459
486
495
501
435
447
371
402
457
415
475
497
433
341
368
418
369
412
450
395
449
355
388
418
356
342
382
470
415
465
337
485
407
476
329
463
510
379
387
400
459
509
353
403
372
406
365
388
326
376
347
378
479
338
499
431
387
340
391
326
407
494
360
320
442
499
366
518
418
376
416
466
456
340
396
346
447
509
409
387
407
504
519
420
401
402
369
515
499
357
502
358
419
503
393
364
374
460
486
418
423
429
361
475
326
494
409
432
399
369
439
404
465
375
433
452
384
438
376
489
371
511
493
518
446
376
467
477
392
359
431
436
491
433
459
436
390
412
387
510
492
450
386
415
349
348
344
509
508
374
514
398
381
465
363
453
463
359
340
407
481
393
376
465
487
367
369
510
495
488
441
343
421
506
429
493
465
381
399
322
381
387
514
484
459
353
491
436
384
349
418
483
464
408
357
452
392
403
498
352
462
466
474
449
486
437
408
380
478
387
320
392
439
415
499
452
350
520
394
475
416
409
490
390
499
356
487
514
512
377
468
503
467
389
518
340
467
408
427
485
377
383
439
360
388
453
359
342
335
323
383
488
352
350
376
323
347
349
335
378
440
507
425
342
363
468
519
442
461
360
514
486
384
508
506
520
482
392
412
485
506
323
414
469
474
437
440
320
488
499
359
467
424
468
493
456
446
482
396
459
333
453
369
457
507
400
405
430
397
340
435
413
490
366
326
365
333
460
496
365
360
378
423
347
440
465
412
356
421
458
493
516
466
489
369
359
499
488
438
513
441
399
492
371
493
399
389
389
349
480
445
484
505
458
331
431
355
460
377
469
404
433
340
504
376
320
362
337
467
437
464
456
504
503
415
415
336
496
324
346
384
396
358
401
481
514
459
436
461
443
360
424
469
393
330
395
434
398
420
501
372
363
512
447
350
324
446
463
407
458
443
350
382
429
328
447
377
357
377
349
443
472
379
406
487
394
393
409
400
330
472
405
494
505
348
510
500
455
372
499
455
422
360
501
484
479
377
418
509
346
490
351
517
442
406
420
414
461
331
361
462
358
509
456
471
403
467
484
348
325
325
407
509
396
423
495
461
397
473
387
496
509
512
441
401
429
371
460
464
321
415
400
482
428
514
325
422
502
433
396
380
416
483
476
483
452
409
459
375
443
463
425
435
450
405
323
413
464
449
443
432
508
482
430
455
482
406
492
385
398
347
475
417
363
515
426
505
395
344
363
403
443
461
417
507
378
411
399
394
378
448
445
505
457
490
475
482
496
474
331
329
510
519
465
362
445
349
355
380
445
449
498
438
384
448
491
517
352
487
414
511
484
331
457
417
470
488
379
432
337
508
392
502
408
458
473
480
363
428
414
337
336
435
439
354
468
435
487
377
514
342
360
432
470
388
387
505
519
334
496
439
371
329
420
484
349
476
425
368
357
379
341
451
436
346
480
409
396
379
497
324
473
425
392
342
488
389
441
343
423
373
407
388
476
330
361
488
481
351
352
367
320
479
339
443
429
496
395
443
463
421
488
372
491
510
485
370
499
338
338
335
410
376
344
468
325
435
370
363
349
459
479
467
438
482
450
426
519
392
519
377
384
469
500
500
366
389
467
503
516
361
362
493
500
481
433
329
416
338
394
389
425
413
401
491
482
448
370
463
501
473
461
505
328
408
325
487
511
409
390
476
456
346
397
349
483
444
386
464
513
471
411
431
432
474
364
433
378
373
432
416
492
413
491
329
388
356
463
418
436
416
429
391
431
411
348
491
409
447
326
416
444
371
350
333
347
416
421
378
382
377
503
476
496
347
396
459
401
496
503
347
373
344
410
509
504
426
445
499
374
416
454
334
519
405
410
374
453
513
508
364
471
345
513
468
516
328
373
422
414
392
340
372
358
362
469
373
385
364
431
513
372
335
492
510
430
382
405
406
355
384
435
379
398
520
402
440
347
330
382
411
394
404
466
324
501
513
454
460
447
412
389
418
493
438
334
332
338
419
423
511
361
403
399
462
517
351
491
387
435
343
488
448
333
371
433
468
413
413
339
504
462
400
500
491
478
329
464
503
448
352
449
485
370
475
415
473
360
350
467
345
499
424
520
459
352
442
510
510
330
345
340
354
429
346
330
421
481
496
376
354
450
445
404
349
520
516
366
428
497
445
352
479
466
478
356
387
442
387
451
425
485
360
395
358
519
471
417
346
336
390
373
436
467
499
506
382
402
363
471
347
332
392
340
382
495
446
343
461
463
393
354
394
471
416
436
370
440
368
426
459
426
455
408
450
462
358
380
322
383
434
471
519
451
493
347
387
485
479
323
449
328
399
341
498
422
488
387
385
351
515
499
475
409
326
513
451
399
513
514
458
339
352
393
482
496
457
498
520
335
414
353
470
391
410
371
427
467
356
353
463
327
365
333
483
447
415
464
400
469
397
338
422
398
493
517
516
381
336
322
515
443
387
387
391
366
405
428
457
458
420
373
511
468
498
402
345
444
379
430
337
464
346
368
336
400
483
476
354
457
393
437
395
441
498
396
381
364
473
437
375
325
338
423
410
428
392
401
434
483
370
475
400
320
484
321
503
507
320
464
506
501
334
430
388
435
412
446
499
352
436
362
331
399
389
436
513
373
457
383
419
474
468
471
508
462
424
327
495
340
361
429
498
507
499
439
371
427
471
420
338
377
361
433
442
414
369
417
362
413
497
481
336
502
489
378
407
404
409
492
450
464
403
413
425
359
346
382
397
384
478
451
466
472
404
390
463
373
505
472
354
366
414
358
370
481
441
441
520
363
405
479
358
489
456
478
428
349
400
330
452
396
497
439
453
411
487
423
514
407
348
391
509
341
516
451
503
465
496
432
355
383
433
508
354
477
452
445
468
426
396
432
392
335
428
384
505
418
520
324
377
384
444
335
434
456
394
335
379
515
404
430
476
355
365
420
506
376
343
503
384
341
386
475
362
492
453
358
390
407
441
483
500
409
431
386
458
423
373
397
403
362
334
491
477
462
499
404
452
492
389
382
503
332
492
359
444
419
491
333
508
377
415
391
361
440
351
396
342
477
415
458
329
338
351
447
371
360
443
499
494
342
427
506
473
493
513
457
335
408
486
410
363
507
498
398
452
328
413
345
326
356
352
366
350
400
471
454
437
346
349
496
430
506
343
401
454
483
350
322
466
416
509
442
423
476
393
374
461
436
450
413
336
485
330
401
473
369
504
467
417
454
389
424
342
497
416
486
485
432
463
498
426
472
471
362
490
359
445
369
333
421
477
340
392
513
470
422
342
412
374
414
487
481
426
336
338
384
412
419
399
373
350
420
502
395
480
413
445
440
367
435
482
503
466
518
471
346
493
495
457
395
327
444
468
357
391
327
377
444
513
375
472
379
322
367
366
433
383
322
465
336
456
488
511
344
342
511
413
496
518
466
474
472
359
377
419
338
504
496
418
495
331
432
471
423
486
515
471
361
516
382
515
465
335
488
510
416
417
410
498
355
423
399
462
498
444
380
515
336
445
447
391
374
419
486
330
492
422
320
453
513
336
474
395
506
494
362
449
425
338
420
451
407
470
323
346
427
479
492
398
430
365
389
343
350
510
374
380
475
384
326
331
409
407
349
486
354
504
440
493
320
515
369
477
404
500
494
450
489
420
368
437
363
509
367
363
513
400
378
505
358
483
439
434
472
377
356
489
378
519
473
475
483
332
518
418
427
495
396
414
341
496
339
340
471
416
436
421
415
475
385
395
446
338
477
501
344
500
471
403
463
374
440
332
515
371
374
344
472
455
437
333
410
408
331
326
392
347
478
445
433
461
379
346
320
381
340
468
335
401
321
368
406
353
370
504
480
376
519
473
507
438
414
516
351
507
390
365
363
476
362
510
378
483
441
335
454
505
456
340
423
340
472
486
457
452
399
339
396
479
435
453
518
380
374
347
395
508
338
461
448
357
488
408
332
440
425
444
443
427
392
435
386
471
345
443
501
473
404
422
517
412
393
345
469
360
410
390
480
330
320
458
234
224
215
204
239
219
239
242
201
219
208
239
216
237
202
217
216
207
231
245
200
248
245
222
231
207
236
210
221
214
217
228
233
232
214
233
212
221
248
234
246
205
226
247
221
242
247
238
234
222
215
225
239
232
235
207
200
229
244
224
229
248
249
228
222
214
225
225
202
228
247
213
234
219
219
215
236
222
233
229
231
238
249
228
210
203
238
234
238
245
230
245
237
224
205
239
211
229
200
203
225
206
231
214
249
246
206
242
223
250
207
203
222
249
230
205
233
239
225
225
232
212
237
248
212
237
227
250
210
202
241
227
204
226
237
231
239
226
234
232
226
213
220
216
239
223
220
226
246
201
237
219
226
221
231
245
213
204
239
242
232
242
217
239
228
230
247
206
204
229
248
202
221
228
202
203
243
200
215
211
229
221
230
235
237
215
214
204
229
233
232
250
227
211
219
222
239
223
227
212
200
212
204
204
203
226
248
208
238
239
231
234
228
223
201
233
216
230
219
221
245
224
222
221
201
211
213
240
205
203
226
244
241
201
221
211
236
243
230
208
237
243
221
204
225
235
217
233
229
228
250
223
202
226
211
223
241
204
221
205
238
234
247
231
201
206
246
222
237
201
210
228
207
228
246
249
222
220
227
212
206
234
204
246
248
246
231
227
217
250
222
230
226
226
233
234
219
229
200
241
207
242
200
222
239
212
229
217
218
231
209
240
226
241
225
247
204
210
238
209
206
248
209
238
249
220
210
237
218
212
249
222
241
230
237
250
213
209
227
212
246
230
201
215
200
231
247
237
208
215
241
211
235
221
211
226
233
233
211
222
208
205
246
248
247
235
217
220
204
216
216
203
211
213
202
220
224
206
227
229
223
218
227
216
214
218
204
240
203
229
203
241
201
214
236
217
220
205
217
230
229
239
228
203
206
209
205
229
213
200
229
222
207
243
224
223
202
216
221
249
211
210
201
220
240
250
241
245
211
245
200
209
219
214
238
233
234
235
244
217
211
227
204
212
222
211
232
204
204
214
226
207
230
201
217
204
231
207
217
212
213
209
206
203
203
202
247
222
224
239
238
247
248
209
226
231
232
202
243
227
249
247
231
225
229
203
229
203
248
224
220
223
241
204
201
227
209
244
223
203
216
217
208
212
224
248
231
214
227
223
211
205
227
250
209
214
207
220
221
204
236
212
206
243
243
230
242
203
246
241
206
243
205
208
202
217
226
244
208
224
238
248
227
244
245
215
200
215
243
223
249
200
210
246
227
219
225
244
244
233
237
219
244
248
212
234
212
214
226
232
221
220
216
244
244
239
217
244
205
244
218
227
210
236
240
249
233
225
219
206
239
242
204
229
248
208
202
246
220
225
201
228
249
245
220
227
237
200
238
240
204
227
209
212
205
231
230
242
239
244
200
245
220
207
204
220
201
206
242
219
203
214
227
221
234
201
249
219
211
245
219
214
215
207
213
215
218
242
215
235
207
236
236
211
241
244
241
245
221
227
201
234
226
233
221
220
241
240
218
211
250
211
223
235
242
226
223
244
240
204
234
250
243
214
202
247
201
245
232
227
229
222
232
237
217
210
248
241
225
222
213
200
220
237
222
222
200
210
230
233
221
229
216
248
238
204
205
234
227
243
221
203
243
224
216
228
247
230
205
217
243
220
246
220
210
216
213
203
249
219
239
222
204
223
213
232
232
222
202
211
218
244
250
226
222
206
237
201
224
222
205
204
209
227
246
207
247
223
200
205
227
227
240
205
241
211
223
233
207
248
244
221
227
247
250
214
202
201
242
237
206
227
223
213
235
219
207
214
207
244
225
207
248
223
222
247
239
215
247
239
207
223
223
215
204
214
214
225
247
238
220
212
246
231
236
231
207
226
245
210
224
223
210
236
243
214
233
239
217
205
210
235
205
249
216
204
216
200
248
209
249
229
239
250
222
246
234
217
217
220
246
206
231
245
234
240
225
238
213
220
222
230
219
242
214
223
210
231
246
230
213
223
208
244
239
209
222
231
243
204
242
248
219
213
200
249
239
238
235
222
202
219
242
220
225
239
245
211
239
246
245
241
233
227
238
216
217
233
245
201
244
200
243
221
239
220
218
212
225
236
217
221
216
229
209
204
206
226
236
228
213
249
236
221
245
246
204
241
210
244
210
233
233
238
243
239
223
243
235
237
244
208
212
237
241
203
241
238
227
233
204
223
235
208
239
212
201
213
237
212
235
241
241
207
221
222
219
230
240
235
246
229
234
211
229
210
240
216
221
221
215
214
241
240
220
228
211
211
207
244
249
248
242
201
218
248
206
216
214
203
208
244
248
212
237
230
231
212
212
217
202
236
248
203
229
218
220
239
223
249
220
213
231
222
223
229
221
246
208
216
230
236
237
205
233
227
215
204
249
227
237
216
241
216
221
250
208
222
220
205
243
232
218
217
235
217
223
232
209
211
224
223
248
218
205
235
225
214
212
246
217
224
234
224
249
212
214
247
238
210
203
220
208
239
201
235
209
214
220
200
234
225
249
237
227
250
200
228
230
245
213
208
206
209
226
224
222
219
200
226
247
210
230
204
235
213
241
205
231
237
222
210
227
250
238
248
200
200
235
239
233
219
244
233
222
209
241
208
240
243
233
224
241
239
204
224
225
249
207
203
242
248
233
230
212
222
215
248
209
233
238
212
231
248
246
221
211
237
242
239
247
229
207
241
228
210
249
236
229
215
244
221
202
218
224
201
243
214
220
219
250
219
244
249
236
227
218
224
237
238
226
217
218
215
242
223
205
210
218
248
224
207
231
211
202
223
236
225
247
230
222
231
209
222
247
242
244
206
212
242
238
219
224
243
213
211
211
232
213
249
236
217
243
206
234
230
214
215
229
240
235
217
205
204
202
249
220
200
219
225
206
238
213
237
217
248
249
229
229
247
234
218
248
203
223
208
244
214
226
243
218
213
224
229
217
248
231
206
210
203
248
220
245
210
200
211
228
238
242
215
220
217
210
231
210
211
233
228
205
242
220
201
205
201
250
224
237
235
245
242
227
224
201
237
203
210
211
201
234
200
247
240
232
203
219
238
200
242
219
209
238
214
228
226
244
213
212
224
232
248
244
204
214
240
201
236
222
210
230
213
228
207
219
207
201
227
228
234
246
234
223
239
215
208
206
247
203
223
247
200
239
235
236
244
234
225
241
248
234
244
230
207
222
237
235
247
212
243
236
206
214
233
249
245
211
220
246
204
215
212
238
231
206
226
217
204
200
215
230
235
235
227
236
248
208
218
243
201
239
248
249
250
246
228
205
244
240
250
238
234
245
238
221
245
204
236
241
228
221
229
230
212
210
250
225
202
201
241
204
200
219
231
211
240
213
247
239
222
223
241
215
203
243
222
205
226
207
244
224
210
225
200
201
238
216
238
224
224
240
244
231
229
224
218
224
240
206
236
226
223
237
243
239
224
224
201
213
224
234
220
245
231
213
201
225
200
222
227
224
215
208
237
212
250
227
221
247
221
221
226
224
211
236
213
208
222
222
245
212
221
216
219
232
243
250
235
229
235
237
227
212
227
227
228
222
204
220
241
202
214
236
210
206
247
245
227
229
237
233
249
238
238
200
225
216
212
223
246
247
211
236
206
226
207
238
239
206
215
233
246
228
225
207
229
240
232
217
229
243
228
242
241
214
219
227
213
200
241
207
243
228
244
206
244
215
216
219
222
230
239
242
235
244
228
220
248
211
245
229
237
244
249
201
201
234
223
235
217
240
210
228
244
249
229
217
206
238
214
244
212
205
248
212
220
243
201
233
210
228
231
240
226
206
226
220
211
212
231
231
205
238
208
238
208
208
206
226
228
228
234
203
236
227
214
208
240
232
221
205
239
235
235
241
248
229
211
237
211
211
229
228
214
238
240
223
242
227
236
218
239
233
215
241
229
216
216
226
227
216
208
214
206
215
232
243
228
232
212
227
224
245
250
222
221
250
201
213
208
247
239
202
232
239
211
222
237
214
232
232
202
202
223
235
239
230
225
205
240
250
244
249
238
231
231
220
247
239
230
205
247
207
246
217
207
221
210
203
218
224
223
213
226
223
231
231
228
231
204
250
247
205
209
210
232
205
219
219
243
239
207
208
243
213
209
241
232
205
211
204
213
212
230
214
241
241
213
236
230
203
208
243
207
224
207
226
245
243
221
250
214
219
241
224
229
216
228
214
202
200
229
243
211
246
210
236
206
236
232
246
205
224
218
215
235
207
206
204
219
246
250
237
200
225
201
215
212
209
203
242
210
231
205
250
236
250
242
218
226
225
233
247
206
217
228
246
236
244
235
250
220
200
236
202
213
201
209
247
233
248
213
233
206
216
214
223
200
211
211
210
234
245
205
233
218
216
201
231
203
232
230
218
221
238
225
215
216
217
234
205
208
228
214
212
236
249
200
214
209
237
247
226
228
211
207
239
243
213
205
203
227
217
223
208
238
241
204
222
227
214
205
242
215
234
246
207
227
214
200
201
228
230
215
213
238
248
242
232
208
211
215
206
238
238
221
228
218
233
207
233
214
206
227
225
224
229
221
248
228
243
249
240
248
218
225
227
238
235
250
212
225
201
247
203
234
231
219
201
232
237
242
218
220
246
240
245
216
240
206
217
220
247
208
233
250
228
237
225
247
232
212
212
218
232
217
217
243
234
225
206
214
240
233
248
224
247
246
224
243
220
239
225
202
238
218
200
233
214
240
237
221
243
239
250
228
203
208
239
201
209
228
210
229
206
214
222
211
250
230
218
236
224
226
241
229
217
207
220
242
230
216
204
237
202
231
218
240
240
221
247
207
245
225
206
241
217
219
223
201
234
237
239
250
232
212
208
220
207
212
240
235
225
202
223
235
245
243
222
204
224
240
216
212
229
238
214
207
235
209
229
234
233
227
208
247
200
222
200
249
209
226
233
203
243
225
232
210
223
247
243
218
215
205
218
210
200
243
221
227
220
232
201
222
228
236
203
209
221
230
247
249
234
228
235
229
242
222
206
214
217
233
217
234
231
209
235
216
246
236
209
212
223
220
236
223
245
213
246
204
231
249
200
201
205
224
219
245
209
231
235
223
206
241
237
213
210
206
232
241
221
241
208
237
228
233
201
239
244
214
230
250
231
223
240
248
224
213
222
227
240
236
210
249
241
238
221
241
242
215
204
209
250
250
227
210
242
230
205
232
233
218
231
246
225
242
243
215
229
218
238
230
215
238
237
233
250
213
245
215
219
216
203
223
219
232
238
230
249
226
223
213
208
230
221
219
226
225
233
240
203
239
217
235
224
235
214
214
211
229
210
210
217
243
235
234
225
200
241
212
244
231
236
234
243
230
207
242
223
214
246
209
243
217
206
230
205
216
242
235
231
234
250
216
243
209
212
248
242
246
227
237
239
222
204
211
238
234
244
231
225
205
237
238
249
239
233
221
233
218
220
207
248
233
225
221
231
241
238
214
217
204
227
239
206
221
238
208
237
222
230
205
208
210
221
235
206
205
244
227
246
231
232
225
232
248
200
244
216
207
232
209
241
246
203
205
225
245
224
243
213
234
234
215
217
214
239
227
219
250
238
209
249
203
219
213
234
229
223
215
226
244
239
242
236
215
206
238
206
210
215
222
231
229
225
208
223
237
213
227
243
246
240
201
208
229
229
223
201
238
217
237
221
216
214
247
200
216
225
211
224
235
212
250
240
213
247
245
232
207
235
228
229
239
233
236
215
236
241
232
244
226
240
202
206
204
210
231
229
212
246
231
203
207
210
229
223
209
224
222
223
203
207
229
201
249
200
203
246
215
235
219
212
214
203
200
245
202
234
224
220
237
233
223
209
224
218
233
213
234
203
250
218
224
225
219
210
201
226
231
237
222
215
202
241
244
229
240
242
235
218
237
250
208
229
219
219
235
217
239
223
232
205
229
204
248
205
232
213
233
232
201
238
240
226
215
239
220
244
242
226
246
206
230
203
203
206
246
250
240
235
225
215
238
211
237
205
229
238
207
248
231
219
214
225
247
250
223
220
208
210
217
228
223
250
250
220
222
227
242
212
229
240
233
242
231
246
246
218
233
228
215
221
244
228
235
248
217
212
231
222
229
250
204
210
226
246
218
228
227
204
247
224
248
227
207
215
240
239
212
216
226
236
218
239
223
221
237
220
243
211
236
221
242
222
236
237
213
217
249
206
246
236
223
227
224
221
247
201
203
225
224
242
210
219
220
216
215
238
236
215
208
243
234
243
212
247
203
203
237
200
226
250
206
208
220
206
225
219
216
230
224
249
235
216
236
228
204
207
241
221
209
247
222
217
206
250
243
209
249
201
206
225
235
225
212
250
220
243
231
232
213
227
247
214
238
222
233
218
204
209
228
240
239
221
216
220
231
216
230
234
243
214
239
214
225
236
213
224
214
222
206
236
226
215
238
239
208
241
224
212
242
225
201
239
241
243
233
221
225
210
219
237
226
208
207
238
200
228
222
241
222
219
210
220
242
230
250
212
240
215
227
201
224
204
212
225
209
218
233
227
238
208
205
228
236
222
232
210
249
226
212
219
239
210
219
201
244
212
229
214
219
228
241
249
206
220
231
213
202
236
228
220
246
218
204
212
213
249
238
230
244
244
245
218
216
207
246
208
247
241
215
205
247
218
246
234
209
235
242
233
228
233
250
228
231
216
229
217
208
228
249
206
232
209
205
202
235
222
226
250
204
250
208
212
241
238
238
218
207
227
209
241
248
206
236
209
203
209
226
243
229
221
214
221
203
205
237
225
233
203
243
206
239
238
241
210
249
237
227
207
202
217
226
246
223
205
221
226
235
216
248
241
240
243
213
211
232
244
205
229
236
224
242
223
247
225
215
238
208
221
244
207
200
243
243
245
241
226
238
219
238
246
235
214
238
215
209
210
213
226
206
208
237
200
225
221
242
233
200
246
238
217
234
227
243
229
236
212
245
213
229
206
205
217
232
225
248
244
246
236
220
246
230
244
227
229
212
228
204
250
200
250
211
222
216
227
206
206
248
206
247
204
230
234
221
214
238
239
237
210
209
203
221
241
217
221
235
204
246
229
244
216
237
219
230
221
200
209
229
207
214
204
208
216
211
236
204
241
220
233
214
225
237
244
249
224
207
245
224
212
247
226
242
243
225
238
207
217
211
237
215
245
200
224
213
223
213
242
225
217
237
249
239
241
239
227
207
240
240
238
241
248
210
228
204
229
237
230
226
214
235
209
232
227
212
205
235
241
245
209
203
234
209
238
240
249
212
203
229
232
203
242
242
234
205
216
202
233
231
216
225
225
244
226
216
243
220
227
226
241
242
244
233
209
200
249
247
209
206
250
215
230
216
219
212
243
235
221
241
247
205
222
224
212
231
202
244
240
237
203
203
246
227
214
210
216
206
225
203
224
245
248
204
240
224
208
230
240
224
221
241
246
230
217
242
208
242
250
236
245
201
247
203
211
247
214
215
200
219
232
225
239
220
233
205
229
231
236
229
232
205
203
201
217
231
245
247
207
228
229
233
249
225
212
202
211
229
223
217
205
200
238
229
228
232
220
249
242
250
201
241
219
241
227
203
215
232
221
246
249
226
248
214
220
208
248
241
208
202
245
213
206
233
240
238
249
242
209
204
206
208
222
217
233
222
211
211
250
247
224
212
243
236
236
205
200
203
210
204
223
237
236
241
225
213
242
207
219
221
217
223
200
250
222
244
222
221
236
246
235
226
209
206
232
247
221
248
248
246
209
219
250
238
219
220
236
201
211
230
245
241
232
218
203
242
237
215
246
246
219
231
216
207
234
245
230
239
231
248
247
202
220
243
243
241
210
200
242
202
202
202
216
200
247
213
215
202
230
230
229
234
221
231
228
245
237
222
214
203
207
202
243
242
216
202
239
236
249
202
205
245
214
202
205
237
201
239
202
236
231
215
237
230
204
221
237
215
226
242
246
223
219
221
207
223
206
203
235
243
223
202
211
225
216
207
235
234
210
245
221
206
237
247
203
214
230
235
240
208
219
225
245
214
247
225
208
231
206
247
201
236
203
224
216
202
204
211
217
214
236
204
234
249
224
234
212
204
202
209
210
234
245
219
249
201
212
244
238
245
223
241
250
227
234
230
205
200
226
242
247
213
247
239
202
202
235
209
200
219
215
226
223
223
245
244
215
206
201
239
246
246
249
201
207
243
212
247
206
237
213
224
209
205
239
236
211
239
250
220
211
248
238
217
210
247
215
235
216
225
232
227
204
225
226
231
229
237
206
211
218
244
208
244
224
212
203
212
228
249
225
247
206
207
246
235
212
243
221
248
250
216
225
248
246
220
250
206
231
221
233
224
211
248
223
208
240
214
224
213
202
224
200
241
217
228
242
217
238
215
248
231
209
245
206
215
243
221
249
200
215
230
215
200
204
210
236
229
224
247
219
244
250
240
240
229
210
231
243
202
247
201
229
244
240
219
247
237
210
214
224
236
203
211
212
237
230
223
250
203
212
241
221
225
250
244
242
248
213
218
214
217
244
249
213
240
235
213
231
211
245
205
205
217
212
215
228
208
226
217
221
247
237
213
227
240
228
234
226
225
231
231
241
206
210
212
227
236
247
246
234
246
231
200
236
203
209
214
225
222
249
210
242
218
222
213
245
201
227
226
235
222
205
223
216
237
202
245
232
235
249
228
210
229
226
218
215
204
228
249
219
243
227
204
215
224
232
245
230
236
214
236
206
216
227
239
229
248
219
243
221
230
200
241
209
203
200
234
232
244
233
224
211
200
221
229
235
242
216
227
234
210
250
215
240
240
245
201
235
250
222
228
217
233
215
228
203
205
204
201
202
245
228
234
223
227
216
236
220
215
200
203
216
228
244
242
210
244
209
234
200
241
241
220
206
211
236
225
248
238
200
246
221
233
210
216
207
240
202
209
214
228
223
213
203
248
220
227
228
245
209
240
212
247
220
249
247
202
211
247
224
214
207
238
215
210
243
201
231
208
233
207
219
248
230
229
220
233
200
207
231
233
238
209
204
235
201
217
246
236
231
241
211
229
202
203
241
203
244
224
228
221
244
239
223
243
227
244
231
243
220
232
250
250
210
203
229
246
231
212
222
227
205
220
202
221
202
217
238
225
204
249
206
234
236
202
231
245
243
220
201
209
228
201
231
200
201
217
238
247
216
202
229
239
210
219
235
224
218
242
233
233
240
238
250
239
236
236
221
214
231
234
215
218
226
232
233
207
246
205
218
236
244
211
200
231
226
224
250
229
200
217
222
235
218
232
220
219
239
217
223
230
229
237
214
228
226
218
209
249
249
243
233
240
235
240
212
225
241
221
216
206
212
235
242
217
231
219
207
202
217
241
227
216
200
234
222
204
209
228
234
215
237
240
236
231
244
248
216
249
220
228
202
221
228
212
214
232
210
245
201
244
234
206
208
233
245
230
232
207
227
213
240
229
201
243
206
245
227
213
212
205
219
242
245
225
215
213
223
218
234
238
218
231
209
221
215
201
234
248
238
211
212
230
201
226
221
214
214
221
443
369
487
466
470
456
458
353
335
369
460
497
415
412
451
388
452
377
507
406
460
423
334
451
510
480
467
397
396
437
389
469
496
378
332
351
423
322
391
438
364
484
448
502
470
491
410
421
467
476
516
441
368
343
427
373
340
401
361
389
345
335
501
387
496
515
387
491
354
469
479
474
322
361
384
502
341
372
444
415
342
507
369
488
388
402
448
334
516
409
498
506
475
445
434
466
490
466
519
393
515
343
418
520
431
359
341
371
484
512
336
502
489
454
490
372
484
479
518
407
438
375
415
406
409
356
390
472
505
366
327
449
516
394
480
352
337
340
472
354
484
460
464
452
440
352
490
440
324
499
506
331
492
394
468
498
471
466
381
512
511
367
497
378
356
341
384
460
336
461
458
355
328
340
366
504
478
372
421
320
354
451
381
469
487
428
344
407
477
343
394
327
426
418
498
401
495
325
481
499
491
364
406
380
347
429
469
420
375
435
490
330
345
504
477
338
511
474
363
329
334
519
337
462
491
400
518
502
341
466
502
332
471
396
484
411
355
335
398
329
404
385
505
386
463
345
341
501
467
515
396
507
343
329
476
446
430
372
485
366
492
464
323
341
352
423
503
479
480
497
501
348
515
456
389
345
506
518
416
465
480
432
374
377
493
345
441
493
489
470
328
469
496
356
404
414
429
428
396
468
478
509
447
433
327
369
384
414
414
475
441
396
479
363
383
414
468
445
337
330
456
366
377
371
346
459
426
498
378
452
439
468
443
435
451
410
444
496
460
481
401
445
334
394
447
368
424
324
498
474
375
327
353
432
488
430
471
518
415
341
445
468
409
409
452
445
463
342
332
498
417
413
501
407
363
330
403
333
374
397
370
356
392
459
377
464
379
363
484
352
463
396
485
400
449
494
397
380
385
321
515
417
400
341
491
369
322
347
503
491
464
507
484
336
404
324
444
458
482
422
391
399
429
358
421
474
414
360
515
400
411
491
438
424
500
439
381
468
465
366
512
327
447
512
460
370
349
347
489
352
345
382
517
446
345
469
401
415
324
396
394
403
382
351
349
481
413
456
480
470
439
366
356
407
439
471
399
456
456
481
322
418
465
473
415
381
501
399
485
372
348
333
486
491
471
400
404
384
453
389
470
390
320
511
449
328
352
442
403
352
408
488
442
361
416
496
417
470
425
505
419
392
491
390
337
437
483
493
520
425
504
506
367
417
364
505
374
499
502
501
333
496
431
492
398
481
356
417
513
341
506
411
500
427
467
496
332
365
386
343
418
356
380
411
491
497
384
391
373
343
344
452
377
352
424
489
458
335
328
350
501
471
454
514
417
381
431
514
502
425
353
452
422
357
436
461
357
376
466
436
322
334
351
347
421
516
467
381
341
515
348
327
400
411
402
510
492
341
481
343
342
325
490
459
477
482
424
475
343
321
354
395
461
352
365
456
365
497
425
484
338
474
327
334
464
364
405
453
392
508
483
429
462
425
363
341
380
512
353
436
425
418
423
373
427
364
429
481
401
499
418
488
508
413
385
409
397
414
365
431
388
500
407
438
369
417
482
477
493
452
499
453
479
414
515
416
372
388
507
341
329
495
398
403
351
383
499
344
394
442
465
369
350
410
494
447
397
432
417
497
400
414
461
400
460
347
519
342
451
370
426
495
491
333
493
414
425
425
341
350
377
404
428
359
418
390
327
357
427
478
325
463
509
507
323
419
344
447
473
365
381
356
416
365
439
350
491
504
321
441
510
328
390
397
378
353
470
383
440
454
490
456
514
440
493
409
518
406
454
442
390
487
478
320
457
432
370
511
413
344
492
499
377
395
354
324
436
503
473
332
420
407
361
505
354
474
374
447
477
354
433
381
372
400
515
387
381
504
460
447
464
464
438
520
461
431
387
463
359
448
518
340
456
358
450
471
501
377
508
507
400
481
417
407
392
461
405
356
390
417
485
336
474
367
490
493
443
468
365
322
517
500
439
513
388
499
470
321
390
472
488
354
510
366
451
405
514
457
410
386
366
517
416
379
520
443
518
429
409
457
409
509
417
432
379
333
329
395
400
468
355
435
376
384
416
423
497
391
328
508
513
418
400
355
449
402
429
517
459
394
355
371
417
481
509
517
428
492
416
387
395
379
373
503
444
481
422
326
495
380
335
505
328
407
367
482
398
470
331
398
443
468
342
492
366
354
492
410
357
487
357
498
518
475
420
377
427
505
390
374
412
506
485
384
477
503
421
342
328
422
325
320
431
500
332
383
357
411
502
331
483
370
328
415
475
344
512
392
456
495
499
411
494
447
463
349
486
479
477
380
402
372
497
470
497
432
371
441
332
443
503
410
325
493
360
327
490
492
404
328
348
443
509
386
352
473
438
458
361
321
471
485
369
375
511
365
431
415
342
335
391
458
398
355
441
465
366
436
407
420
432
446
476
390
467
413
412
396
361
470
492
505
509
351
414
459
343
474
376
348
484
327
520
425
410
504
504
377
320
469
492
330
497
355
481
384
426
371
335
326
414
360
513
429
435
435
500
475
347
373
442
408
514
332
373
470
474
338
408
347
423
328
323
418
452
416
388
415
401
410
412
353
464
393
357
459
444
511
519
460
402
509
504
458
416
452
424
363
440
332
329
413
419
484
465
376
338
367
354
520
386
394
377
420
520
455
421
407
413
438
340
430
343
389
373
434
405
452
357
322
512
372
345
353
446
493
485
349
512
434
362
401
359
347
388
475
397
452
358
418
478
374
466
415
492
478
360
421
327
467
384
389
520
497
414
510
444
482
360
451
518
425
505
424
504
443
433
465
430
370
344
515
327
444
478
440
392
431
401
460
348
343
357
422
444
517
374
439
343
495
375
372
367
347
466
418
413
436
452
507
334
494
517
380
491
404
400
442
517
420
431
379
491
413
397
428
474
408
444
408
460
504
500
353
411
466
340
474
410
452
486
459
489
442
388
504
345
476
501
485
323
356
368
421
389
352
424
500
508
479
338
368
418
484
320
356
398
379
494
329
353
358
487
404
498
355
487
467
320
459
354
513
427
353
504
433
503
320
352
488
443
457
448
439
437
411
447
445
503
389
476
401
409
394
462
497
428
516
361
339
363
368
348
491
375
486
492
468
401
445
433
386
511
411
377
448
395
414
467
410
326
390
357
367
403
489
417
365
331
500
368
373
356
509
501
398
390
384
445
480
397
366
320
455
349
387
487
346
447
448
487
462
511
400
430
387
448
430
350
480
388
471
328
393
451
412
520
398
467
491
493
493
409
501
330
343
515
322
465
431
478
433
515
365
345
359
334
320
344
429
332
327
335
414
514
342
440
517
373
419
376
328
377
414
472
348
468
460
489
337
490
424
413
455
423
335
470
474
436
488
352
426
388
346
365
396
440
333
462
413
401
451
342
498
428
361
373
421
352
448
473
346
365
332
357
334
421
482
420
427
390
480
504
401
427
326
412
375
362
491
383
377
342
515
406
338
369
396
337
323
467
397
427
445
366
354
438
456
437
367
434
429
457
507
517
323
356
410
506
437
360
501
509
368
498
340
425
401
445
357
439
343
444
510
442
425
390
359
337
418
469
458
337
497
347
349
409
406
408
365
419
474
481
357
390
320
410
520
357
403
394
420
364
506
332
514
412
358
325
425
475
445
504
484
492
461
424
443
515
339
492
511
425
448
370
419
491
395
435
467
481
385
437
338
396
373
450
326
443
358
377
448
423
515
389
405
378
354
331
422
347
395
459
351
499
496
416
453
456
479
416
354
443
452
350
513
353
325
515
509
399
366
406
501
328
349
331
482
440
389
432
442
419
407
453
331
484
361
326
393
444
385
418
511
450
467
322
358
401
475
464
475
445
510
479
470
469
427
499
340
403
496
471
363
497
405
464
338
352
377
413
488
360
362
452
332
390
478
335
378
415
508
504
394
382
438
423
499
356
497
399
508
369
419
497
412
381
347
414
374
477
421
330
406
451
404
507
470
385
397
379
349
366
426
391
446
510
430
460
496
439
326
458
333
436
518
462
358
510
397
456
386
344
518
394
493
392
354
389
423
491
415
345
514
411
403
501
368
350
477
474
399
439
345
373
382
320
465
477
408
431
493
503
502
337
371
471
326
509
326
349
508
459
369
345
520
454
338
323
506
442
389
367
472
338
469
428
419
482
422
346
325
367
320
463
484
504
346
346
421
369
512
428
483
461
390
424
435
508
388
448
454
442
431
406
391
411
327
470
451
491
387
408
419
482
428
364
386
446
367
413
490
518
508
385
458
323
353
380
404
337
334
478
459
408
423
498
415
342
518
502
326
339
435
504
391
393
334
478
480
347
320
332
399
483
479
448
445
513
370
438
469
495
329
323
448
324
426
455
454
352
409
492
335
363
384
399
424
348
440
383
426
365
487
468
483
473
339
398
402
445
375
336
442
379
490
442
431
420
394
495
361
401
431
391
464
437
435
497
368
329
384
485
429
515
414
350
449
449
321
372
322
439
344
453
499
511
454
445
428
477
404
431
384
448
356
373
506
394
509
337
512
432
385
517
474
473
419
456
344
429
459
450
505
494
325
352
507
360
391
395
412
375
360
341
332
400
516
480
472
371
493
496
361
322
503
400
353
513
337
467
365
326
413
506
428
412
394
476
435
341
384
440
484
489
472
332
500
404
517
388
463
413
440
517
455
365
464
391
425
516
400
398
476
366
514
357
407
395
518
345
450
429
400
324
510
511
359
429
516
435
335
487
435
468
477
348
427
480
367
478
459
470
507
507
415
489
439
468
449
339
497
412
437
518
391
431
447
375
474
412
342
428
465
320
331
336
464
463
509
519
409
465
469
327
474
513
519
377
457
446
340
448
468
325
461
466
336
418
470
320
407
330
452
399
338
443
406
503
519
472
441
377
520
419
474
416
435
357
384
422
515
504
439
393
430
436
452
385
405
372
345
395
411
511
453
473
357
444
366
490
480
336
510
471
490
393
456
502
510
423
440
413
435
359
446
503
482
474
434
454
418
413
354
492
504
390
441
484
396
211
247
211
208
242
207
246
207
222
223
212
211
239
235
248
208
215
201
240
231
214
230
206
249
205
239
222
217
230
217
218
224
200
204
247
213
236
207
213
232
210
225
208
227
235
210
245
247
232
228
232
238
207
232
250
206
201
202
221
215
217
249
205
246
223
204
245
227
244
223
246
235
227
206
250
241
221
226
243
220
224
231
221
225
246
242
217
212
207
220
224
210
202
205
228
208
206
211
242
217
231
237
232
218
232
236
248
231
236
209
231
221
207
204
207
205
201
240
216
243
214
233
233
227
212
247
225
235
229
233
231
229
223
235
231
233
208
234
209
237
236
206
211
229
203
203
244
217
204
221
202
205
217
206
220
205
209
217
213
205
224
216
223
225
213
226
232
224
248
237
234
211
208
208
217
212
243
250
219
233
224
203
206
208
216
248
229
206
216
209
212
208
246
225
243
204
204
226
249
235
232
247
227
222
245
244
224
247
246
211
214
245
204
216
204
227
220
227
242
212
215
214
215
214
225
243
226
224
246
229
225
208
203
205
217
235
235
230
216
238
227
249
208
233
226
208
231
243
237
222
238
220
214
207
234
205
204
225
219
226
245
211
224
203
246
207
219
215
221
221
247
224
216
215
222
203
203
244
206
216
226
214
227
249
221
210
230
206
246
237
238
205
209
243
228
236
206
208
228
206
225
211
236
214
250
220
200
244
236
249
208
248
247
201
216
229
224
211
248
239
230
213
208
238
232
247
202
224
207
225
223
215
235
240
205
243
223
249
238
219
217
239
201
242
204
248
228
247
232
223
214
208
218
245
244
211
204
204
238
242
223
232
247
211
209
240
201
239
241
217
238
200
202
201
201
217
240
249
207
245
232
250
208
241
220
249
228
228
210
206
235
204
215
200
247
240
223
221
236
225
230
210
246
204
229
227
206
250
214
226
247
229
221
245
227
216
227
215
237
202
232
206
215
223
216
204
234
221
202
205
231
211
201
205
238
222
216
231
219
226
244
217
234
212
224
200
240
215
207
248
215
208
221
224
206
235
246
220
250
217
230
200
216
247
245
229
206
217
228
241
238
210
221
221
233
206
204
202
247
233
203
248
232
223
231
213
223
238
214
220
214
203
235
243
247
240
225
223
206
240
236
202
237
219
217
240
219
204
201
220
249
226
231
209
206
218
237
234
239
202
225
212
203
237
224
229
226
250
239
244
246
202
246
224
218
238
217
217
202
239
227
214
220
229
220
233
210
250
248
203
222
228
231
245
211
234
209
226
208
244
218
222
235
204
218
221
242
218
243
233
242
245
200
209
214
234
236
203
225
217
242
203
229
231
234
202
233
232
220
214
216
215
223
230
234
214
211
217
215
217
200
219
204
244
244
218
250
214
243
230
218
250
238
231
226
237
248
229
222
248
212
219
220
248
204
212
206
225
241
239
238
218
215
227
219
237
203
234
239
249
226
211
243
206
229
230
209
236
228
233
245
238
233
236
208
227
233
217
217
220
204
241
210
240
229
213
223
225
218
236
203
232
220
201
230
238
224
207
227
250
242
223
216
212
212
238
247
225
216
222
224
237
212
226
249
234
247
209
223
249
234
204
220
200
233
204
206
228
212
216
209
231
242
227
200
242
216
248
222
250
217
206
250
211
218
201
247
241
245
209
204
216
242
241
208
224
220
202
230
224
203
217
241
212
241
234
248
219
236
206
204
222
231
200
205
201
238
240
246
235
239
212
204
232
212
239
200
232
204
222
246
202
244
204
241
243
245
202
236
226
225
222
217
246
207
221
217
242
247
213
211
225
209
209
231
242
249
206
228
210
202
250
241
237
200
216
225
217
205
222
215
241
249
210
225
222
247
214
227
218
211
240
230
201
231
223
246
247
240
247
211
235
209
204
249
240
209
234
207
227
226
221
221
230
246
224
232
208
222
237
232
231
243
205
223
239
215
221
222
234
242
218
222
216
200
227
238
225
235
237
232
205
220
246
238
208
218
221
247
205
214
216
205
231
222
237
250
227
205
233
243
236
213
207
244
247
240
240
238
239
211
245
249
225
223
209
241
208
243
221
207
230
247
249
244
237
241
215
227
208
214
208
233
247
246
204
202
213
201
215
221
223
234
248
213
241
250
227
202
238
239
226
222
245
247
227
250
228
235
201
245
206
227
234
226
243
247
217
236
232
225
214
216
237
249
245
232
243
237
227
217
202
224
206
223
221
249
211
249
219
246
208
217
204
210
218
236
212
228
208
238
212
214
210
239
217
217
219
211
231
229
200
249
214
204
221
202
236
210
243
232
213
233
220
203
200
232
206
203
245
223
230
219
242
204
211
219
244
235
249
244
237
224
225
229
214
207
233
227
200
226
215
206
205
228
209
246
211
230
216
232
246
205
242
244
212
217
215
248
246
217
249
205
229
238
222
234
233
214
231
222
201
201
202
211
244
210
246
246
221
231
226
217
236
231
245
250
227
247
205
225
208
247
236
238
241
200
247
225
213
220
221
234
219
229
248
221
239
220
201
209
232
226
233
225
211
230
210
223
233
209
243
249
203
231
212
213
245
204
228
229
246
218
231
248
234
223
236
226
211
225
240
210
219
237
243
202
201
231
226
215
237
234
247
226
239
201
225
239
211
223
201
223
246
222
226
247
215
249
224
212
205
247
227
241
220
206
204
240
243
233
226
225
231
249
229
234
203
224
200
245
215
242
206
244
239
205
212
232
214
223
213
216
217
210
208
206
243
204
247
225
202
246
212
231
223
226
242
247
200
243
246
204
212
202
203
216
208
227
213
237
223
227
213
212
221
238
228
238
224
208
236
238
242
229
208
216
238
214
241
237
248
221
208
246
249
212
218
212
241
208
218
246
237
212
210
201
248
210
211
215
237
223
214
236
222
223
246
210
250
227
233
250
234
207
224
243
202
247
209
206
245
234
212
208
222
227
207
201
246
220
248
217
226
210
204
243
239
240
228
231
215
203
200
242
244
201
214
243
204
203
230
230
218
211
210
241
223
209
249
212
250
202
205
223
232
240
228
217
236
235
238
215
232
212
230
223
233
221
217
235
232
241
238
200
227
234
228
239
202
240
208
213
235
244
245
226
201
241
230
250
205
213
213
228
232
239
238
218
220
219
226
218
202
204
205
227
242
215
227
226
206
201
213
211
200
227
245
239
237
241
219
247
242
200
246
225
211
209
231
246
203
227
239
241
244
225
202
210
245
234
233
227
226
212
241
213
212
207
227
239
201
234
248
210
201
212
218
205
233
249
246
221
204
242
221
217
245
219
242
245
242
227
211
240
228
249
212
231
203
216
211
238
241
212
248
212
222
202
222
242
233
233
200
208
228
224
202
209
250
237
244
225
247
219
213
204
234
238
216
235
236
200
226
204
215
221
236
205
223
219
209
217
228
211
249
212
222
209
212
215
234
227
223
215
218
243
228
210
216
208
209
212
231
238
224
220
242
236
226
209
211
246
224
222
227
209
241
248
234
204
212
220
205
229
216
205
242
222
230
214
243
202
239
250
211
217
250
205
219
202
230
214
240
234
246
202
243
250
248
222
242
203
243
207
200
215
201
232
227
228
208
248
217
204
237
225
239
239
212
214
231
236
222
246
214
236
207
226
206
223
235
202
202
203
218
207
245
244
214
226
232
244
248
212
240
212
235
217
240
207
239
217
205
249
212
230
205
223
207
242
230
235
244
236
232
200
219
245
222
224
233
239
209
203
227
213
211
232
225
250
226
248
209
223
243
212
212
223
218
247
218
231
232
247
239
233
244
202
241
240
209
249
250
216
244
232
231
208
214
201
242
212
222
207
210
228
234
207
209
238
202
201
211
216
225
221
250
237
225
200
247
230
204
212
222
240
214
219
231
219
208
246
222
231
202
234
211
216
225
225
225
231
200
220
229
219
246
233
225
218
246
212
220
234
211
247
207
201
206
221
218
228
221
216
226
219
245
247
226
242
209
226
223
242
249
215
227
208
246
238
229
237
204
220
216
219
212
247
222
223
233
232
237
243
220
226
239
249
247
248
216
212
244
239
208
244
218
214
214
227
228
206
222
209
208
243
200
216
238
226
241
204
242
245
224
220
243
222
236
241
242
225
218
229
240
212
239
214
249
244
204
250
215
212
242
232
211
228
205
231
219
200
214
210
241
233
219
236
228
230
231
210
227
212
209
208
224
248
229
249
208
239
248
225
215
213
241
217
237
248
213
200
226
202
236
246
202
213
202
229
244
216
205
233
201
226
205
245
226
245
224
220
237
240
201
200
246
242
246
238
242
233
207
204
247
235
220
218
219
239
239
200
212
214
226
229
202
207
220
224
240
203
210
229
219
224
246
227
222
204
200
227
207
228
203
241
213
212
224
210
206
214
214
213
248
247
244
202
209
229
249
218
210
231
216
242
246
221
224
245
245
239
206
216
216
228
217
231
225
228
248
216
208
241
204
212
228
208
227
234
231
223
226
200
215
207
217
208
245
238
224
206
215
246
223
224
248
221
224
219
222
242
209
211
205
225
222
206
223
248
205
248
241
222
229
205
224
218
236
237
234
245
249
227
220
236
210
244
217
212
220
243
250
224
237
236
217
224
233
208
207
244
246
210
200
200
212
223
230
224
201
220
241
216
201
219
231
212
239
220
245
212
225
209
217
226
208
217
212
205
226
225
203
235
214
202
225
211
247
244
204
242
244
222
243
215
215
234
245
241
235
201
214
232
217
233
226
226
220
228
238
205
243
223
240
237
220
247
237
229
241
234
205
231
229
213
226
223
224
233
209
220
249
216
210
232
235
205
208
201
250
226
205
247
219
215
208
231
246
210
242
203
232
240
200
232
205
224
211
220
212
222
220
209
203
234
223
207
229
207
240
228
207
215
218
247
213
235
239
214
209
210
239
245
249
248
200
227
212
236
206
238
227
212
247
246
244
217
200
214
210
248
245
209
229
211
213
246
208
223
200
226
240
202
227
233
234
242
231
241
247
247
245
200
216
238
236
236
241
245
209
237
229
243
240
223
201
218
239
222
211
223
238
202
228
209
200
245
208
249
234
217
250
225
219
204
224
235
218
225
249
206
220
205
235
233
200
235
211
227
240
224
211
227
219
242
221
215
207
224
240
231
220
237
225
237
242
249
205
201
214
238
239
249
216
215
210
226
241
246
205
211
247
247
231
220
239
241
223
203
207
222
234
241
214
206
218
232
217
209
231
238
218
241
209
229
227
224
201
210
214
206
203
247
234
212
237
200
202
224
223
202
239
205
234
214
228
223
244
236
230
240
215
218
211
231
202
205
230
245
213
223
228
247
245
212
201
234
217
230
250
235
247
231
201
237
200
212
205
224
204
223
220
214
240
225
223
250
221
241
203
216
250
227
206
241
218
228
247
230
221
203
231
200
247
242
209
215
247
200
220
243
220
239
200
246
243
230
248
209
201
204
218
247
223
232
215
218
237
206
214
212
240
250
220
208
225
206
210
248
222
246
216
230
204
241
247
248
236
224
418
485
381
502
502
415
382
327
504
396
388
473
438
406
410
507
410
321
337
401
333
346
352
416
444
400
460
334
441
368
425
487
421
449
443
473
484
420
379
415
468
516
326
411
425
471
493
322
346
377
367
503
470
428
324
500
381
452
505
439
425
414
501
466
332
500
374
491
391
421
447
348
440
351
451
327
434
348
414
321
448
502
453
352
392
330
485
351
482
407
371
479
408
436
335
402
486
478
484
419
329
466
506
480
496
454
425
411
474
387
416
394
493
385
421
384
520
347
470
368
478
400
405
321
410
400
335
501
380
361
321
368
345
443
459
498
423
509
382
408
353
442
436
340
369
462
425
482
447
322
343
339
420
516
323
334
336
490
365
397
352
372
407
485
435
429
508
385
488
423
420
333
334
494
320
413
406
428
466
346
422
514
380
501
333
422
470
484
439
507
390
458
499
363
437
368
411
408
377
334
457
466
507
355
428
359
364
478
412
409
401
519
481
393
466
417
499
365
387
482
320
499
362
351
404
372
520
448
449
419
481
343
479
462
397
404
398
519
336
408
485
450
406
467
331
379
396
502
457
426
372
451
423
344
390
378
372
347
341
434
489
482
334
371
381
334
410
364
405
440
371
501
332
396
465
459
464
374
501
415
436
496
350
345
412
370
510
375
471
448
421
428
425
337
411
482
370
511
424
470
516
321
345
424
376
404
419
512
346
364
406
352
400
325
475
390
336
378
330
414
509
470
427
461
400
379
455
434
501
363
423
446
348
429
330
434
444
493
447
430
344
381
424
403
478
471
352
371
493
392
335
393
394
328
350
433
327
395
373
520
393
379
320
456
332
397
372
430
408
423
393
508
386
384
388
459
395
377
492
401
515
482
362
362
325
388
335
343
328
444
392
343
431
513
323
386
359
331
497
375
369
471
341
327
497
440
408
492
510
461
475
377
460
339
430
438
496
385
504
464
344
349
446
452
440
446
386
392
389
427
347
348
470
417
326
325
323
383
469
419
338
419
356
369
324
497
397
366
401
450
403
348
463
481
472
356
461
510
346
379
406
326
345
476
362
400
441
401
489
476
459
455
381
495
486
404
367
339
476
358
353
432
395
493
519
345
390
447
450
401
347
397
481
405
379
335
409
421
440
336
478
434
385
392
453
372
356
423
490
510
465
385
490
405
362
484
510
416
448
414
469
352
407
518
421
393
475
486
482
513
430
518
456
321
468
362
395
320
468
489
441
459
446
392
402
493
403
490
490
477
336
351
412
416
359
426
487
371
487
332
494
416
357
467
372
397
420
491
505
518
482
465
330
488
394
468
398
369
458
394
419
352
428
465
360
482
443
346
349
456
375
404
383
418
390
371
389
483
367
369
399
380
433
396
348
391
506
443
439
374
462
473
500
453
439
420
483
370
475
380
354
357
500
376
432
503
490
426
505
393
491
328
381
467
330
458
468
430
443
337
417
510
428
411
517
402
455
489
461
512
509
329
428
431
404
499
476
497
425
320
491
471
511
325
404
392
421
511
382
466
486
484
341
401
473
466
360
433
438
341
360
489
378
381
449
396
365
423
359
347
387
393
482
392
354
383
485
410
333
474
389
475
358
402
479
387
447
368
405
370
397
436
475
479
438
480
507
398
329
436
434
439
437
377
382
335
454
495
508
407
448
448
357
416
411
508
449
423
379
520
379
371
486
393
373
447
325
405
419
443
472
434
439
484
506
415
364
457
478
474
339
470
486
514
378
332
480
511
519
466
424
379
373
460
514
434
358
348
322
346
398
373
381
420
483
410
377
465
337
480
404
431
427
362
324
473
419
359
344
451
359
421
504
496
505
472
339
394
336
380
399
428
368
411
331
374
412
325
327
370
320
456
415
492
357
520
493
424
500
465
420
383
499
476
325
376
469
433
473
401
401
487
394
426
381
501
368
453
429
371
396
382
416
472
385
381
401
509
330
428
418
392
496
380
485
336
337
360
331
360
460
330
415
468
330
392
493
415
330
371
333
352
457
489
350
337
500
511
418
410
431
445
407
389
504
501
397
454
401
365
384
490
381
425
472
493
325
472
472
406
454
348
478
465
322
391
467
321
406
482
400
349
355
433
340
492
489
327
419
408
410
498
365
470
426
440
397
366
426
472
434
331
488
494
495
393
361
345
419
363
352
489
365
519
419
403
409
439
411
505
358
479
377
437
357
352
384
404
327
344
494
477
351
363
455
360
386
358
335
401
341
430
351
486
401
335
353
489
509
492
442
358
474
473
459
326
503
329
414
507
338
363
364
413
437
323
375
331
329
434
397
453
398
508
394
353
458
396
398
479
393
489
347
362
457
386
409
395
330
373
473
349
488
459
355
464
411
517
383
378
401
461
418
332
371
386
327
438
427
425
506
451
488
505
466
437
369
379
363
435
423
426
433
474
464
396
349
480
480
520
454
348
520
484
474
377
477
419
433
380
439
394
384
331
368
492
467
394
324
481
350
402
323
391
453
352
510
508
378
340
460
479
422
480
397
488
508
378
509
438
374
422
438
514
501
505
356
474
365
361
341
510
444
330
495
323
381
360
380
423
428
464
507
363
420
391
470
503
400
360
378
489
345
449
468
335
371
337
369
480
508
409
433
472
429
372
470
364
478
510
493
508
346
364
390
477
347
449
380
503
321
489
370
370
337
516
350
518
419
366
345
422
514
506
364
424
421
392
342
443
407
503
354
513
424
510
429
473
467
363
341
390
434
358
347
343
395
403
463
413
457
493
320
321
344
463
501
467
490
394
464
404
347
516
381
360
472
474
513
423
324
406
504
459
485
412
363
347
508
460
409
519
445
489
329
323
426
429
428
354
491
397
421
411
385
344
452
502
478
495
340
508
353
513
399
344
343
389
391
387
388
377
352
493
323
471
413
355
399
364
403
428
401
502
374
378
362
469
440
514
463
425
396
438
504
499
497
463
428
453
500
367
470
391
322
484
371
376
340
335
465
401
336
320
360
500
468
417
360
350
493
456
456
484
387
511
393
375
474
475
334
345
390
514
359
430
498
432
485
507
398
518
469
358
449
440
469
320
515
324
496
331
332
330
471
353
475
444
346
409
358
496
493
485
443
379
356
431
412
331
334
425
487
488
434
477
463
458
391
332
446
480
344
326
511
495
413
484
410
346
348
343
332
328
438
369
415
334
365
351
373
510
396
327
488
397
363
512
367
445
364
417
381
428
327
361
322
475
329
332
419
467
393
467
357
395
351
488
406
358
434
500
323
472
403
510
336
494
407
346
517
450
514
410
470
432
382
506
436
386
482
368
441
518
489
482
363
436
364
336
515
404
486
367
353
466
325
459
369
498
501
365
458
382
371
412
400
456
488
352
428
354
475
357
464
399
411
432
402
408
440
384
468
406
326
327
352
405
375
495
368
416
355
394
481
384
501
506
480
366
330
443
481
444
456
464
415
430
417
420
375
411
412
507
502
378
493
473
475
363
435
384
438
460
378
450
508
451
384
409
387
465
419
488
394
432
414
334
452
382
397
439
417
498
453
503
347
447
423
490
331
382
504
353
377
447
442
514
501
459
450
479
387
391
494
327
495
445
353
396
399
330
350
396
506
470
499
490
423
419
329
462
351
499
431
424
331
451
489
408
362
322
327
388
324
408
489
402
325
341
367
487
444
344
390
396
383
514
352
487
392
448
333
403
375
379
362
349
446
502
327
347
345
366
484
375
327
402
328
400
374
354
484
451
476
453
370
520
445
507
446
463
418
320
405
482
354
436
369
422
388
464
365
491
367
377
386
502
492
418
383
467
333
478
514
469
432
402
503
357
496
430
382
482
433
500
417
374
345
385
445
331
483
427
440
325
324
322
407
435
426
362
508
444
499
467
423
447
443
376
380
395
370
438
481
512
510
391
500
447
505
499
430
397
359
476
377
350
416
446
494
343
369
490
443
373
497
386
453
347
475
476
408
451
475
340
406
326
495
405
364
326
375
497
412
442
363
366
407
381
320
426
435
463
431
401
394
475
510
459
464
421
329
448
478
409
392
501
452
379
494
404
477
508
380
374
499
504
336
481
496
363
367
519
491
326
345
485
376
491
474
324
383
439
389
472
499
468
501
323
401
509
473
438
497
377
404
382
461
331
496
343
348
513
432
413
373
362
352
366
485
405
422
348
519
373
367
514
389
324
367
326
452
475
502
360
519
395
382
332
412
414
446
468
518
450
463
463
488
368
490
394
331
430
449
332
334
421
355
467
350
424
399
404
362
379
475
503
380
484
377
459
499
399
386
353
434
422
383
488
370
383
417
497
359
515
432
380
437
433
328
320
468
448
469
412
359
454
367
356
519
419
364
356
321
449
398
476
351
416
376
402
345
400
442
416
472
322
466
516
371
390
439
515
497
369
498
449
325
441
469
473
497
344
356
322
434
479
427
421
351
358
443
509
373
326
337
509
494
333
500
508
436
375
478
470
355
396
320
364
488
397
409
423
379
326
379
481
409
433
403
458
472
407
403
518
519
325
407
491
433
360
496
490
452
447
519
357
474
325
494
359
346
383
400
424
429
426
446
351
482
351
393
365
339
477
404
439
457
468
389
484
441
492
335
348
497
510
431
492
396
390
448
406
498
419
379
324
341
430
480
354
473
409
452
397
379
516
332
397
456
503
517
458
519
400
501
442
453
485
430
409
425
421
329
479
499
341
365
397
414
387
380
465
324
413
400
386
328
506
330
361
450
444
455
380
516
377
452
449
466
377
435
329
333
445
384
488
377
320
466
464
502
448
391
450
426
411
402
504
374
516
366
358
423
330
354
362
330
429
424
396
359
344
375
342
363
400
335
472
331
417
451
356
449
426
417
450
445
457
425
503
500
484
411
348
394
494
377
505
450
506
381
511
325
360
501
384
345
437
497
365
477
469
469
364
515
499
485
500
502
451
336
509
450
398
362
430
422
403
339
339
446
439
431
353
461
481
437
440
451
489
385
502
383
453
338
324
469
436
455
393
357
469
344
360
506
354
433
358
395
369
476
388
355
460
349
480
426
457
353
476
513
324
418
447
410
483
328
396
491
468
480
335
428
324
423
429
386
471
431
496
445
424
475
446
417
475
469
331
514
493
363
513
439
324
358
331
373
381
363
424
430
375
356
386
473
330
327
351
348
320
460
477
401
508
328
439
399
381
419
499
376
411
398
413
335
386
446
494
421
432
471
483
520
479
490
395
409
423
345
389
518
375
503
350
467
435
359
415
326
380
339
476
518
510
459
425
424
450
374
384
488
323
396
427
510
495
382
330
351
346
395
494
373
518
329
438
384
364
362
446
497
383
439
473
349
519
491
480
472
414
403
331
406
500
519
404
446
335
446
389
472
505
345
460
406
412
497
371
470
452
463
470
457
367
380
431
451
454
441
341
413
363
325
363
443
415
378
328
519
386
441
514
338
367
495
426
430
346
358
494
393
456
457
347
460
371
459
342
504
479
429
427
483
383
358
388
504
403
458
425
362
370
378
382
326
390
371
511
377
481
469
445
371
423
456
349
328
494
411
422
471
399
511
417
347
493
342
489
401
332
474
473
371
438
454
500
453
393
434
410
487
518
360
404
509
476
464
516
412
378
409
329
360
423
399
486
441
466
365
426
497
487
421
428
417
404
451
432
487
357
399
467
425
380
352
418
410
438
413
445
339
353
444
351
375
454
381
325
349
367
348
445
356
334
333
343
427
349
422
421
485
473
322
455
362
410
382
490
371
408
434
402
418
460
338
433
349
397
389
339
506
325
352
501
326
365
486
362
377
324
328
451
402
458
503
438
370
324
478
449
407
411
375
457
378
431
401
509
476
351
372
481
424
419
496
336
427
470
372
420
334
417
322
446
520
328
337
492
374
493
494
338
461
364
412
343
519
357
515
346
514
461
516
505
505
510
393
325
465
338
326
456
363
372
484
467
408
492
354
502
337
519
395
428
380
365
465
401
391
363
503
335
488
354
518
375
473
479
355
367
462
347
359
344
444
426
447
496
406
486
343
370
490
351
399
439
399
483
389
483
336
413
494
435
375
396
509
328
435
363
469
351
506
417
391
484
388
341
485
407
330
397
468
407
343
395
465
411
371
489
332
393
417
374
358
518
326
471
481
339
324
498
520
369
464
462
363
350
381
357
474
490
454
470
372
468
399
394
450
364
410
331
419
451
388
414
342
426
321
381
512
501
415
402
461
403
368
356
329
461
412
442
483
392
361
448
370
386
496
422
506
462
389
498
395
480
481
358
478
322
421
483
440
350
423
479
469
453
469
391
426
505
434
406
382
486
381
358
328
351
495
500
486
320
340
330
501
464
410
380
482
456
494
427
396
368
418
500
443
491
353
354
337
383
413
374
473
488
439
372
430
375
508
510
458
510
465
365
455
444
504
491
342
463
489
440
328
413
435
362
499
516
441
447
479
462
403
414
396
399
333
358
389
511
465
493
520
363
395
389
418
325
452
328
336
341
342
419
435
379
345
431
345
470
329
469
420
342
364
519
407
371
445
321
341
454
321
341
362
368
517
411
416
368
475
336
386
465
371
359
441
400
414
340
466
415
432
348
489
483
406
459
379
520
358
380
382
404
503
476
400
472
388
501
394
203
236
221
211
210
234
243
246
210
228
207
246
215
200
207
226
218
219
224
201
221
234
207
205
242
248
243
243
211
247
242
210
230
232
241
243
240
204
217
204
218
212
235
225
207
224
221
239
234
241
244
224
225
208
248
201
224
204
216
208
241
204
232
215
202
213
226
235
247
228
231
229
223
241
206
240
214
211
242
238
224
209
212
239
217
224
225
211
229
249
202
248
230
230
210
221
209
220
249
215
234
204
243
238
247
221
223
209
223
201
246
232
212
242
245
211
242
232
207
203
241
248
231
220
223
213
241
243
244
207
246
244
237
215
201
214
212
214
240
235
222
216
228
208
248
218
244
214
235
200
233
248
245
209
213
207
211
248
244
213
232
215
227
245
217
238
230
238
226
234
223
233
212
250
213
219
227
230
247
217
244
246
217
221
205
219
206
237
226
207
220
240
205
247
221
201
201
224
249
246
240
215
248
242
221
228
248
250
233
240
228
213
211
204
208
207
241
215
209
209
227
246
211
232
202
248
209
201
223
221
248
219
207
229
213
203
221
236
229
215
218
215
233
236
224
204
218
240
244
230
245
224
205
220
224
204
240
202
243
216
205
246
216
246
204
218
202
210
201
204
205
242
222
224
228
232
242
248
214
218
243
240
250
214
220
207
240
220
231
224
210
208
231
205
217
204
233
229
204
205
210
221
246
244
238
236
220
202
228
227
218
218
216
209
234
230
212
200
240
223
203
228
214
247
224
228
204
235
214
237
208
247
236
228
200
209
240
237
245
226
237
239
226
243
237
226
241
222
213
217
238
224
211
235
228
206
211
227
224
228
203
248
214
226
229
208
209
244
233
238
207
227
211
240
220
248
201
250
250
238
202
242
236
228
201
209
210
213
237
217
213
238
203
214
208
204
233
221
200
238
235
229
238
220
227
206
231
214
248
218
216
235
202
231
225
219
247
245
243
212
244
222
210
232
206
224
204
247
245
219
239
213
239
239
241
202
203
246
248
210
210
204
215
202
209
246
221
206
227
211
212
219
233
242
233
232
238
214
240
222
218
241
205
235
226
212
219
224
232
219
246
200
234
206
204
210
203
205
240
233
238
231
239
226
200
217
221
239
220
226
215
236
208
206
215
204
233
214
221
227
200
222
216
201
250
201
217
235
219
213
205
242
243
203
227
220
215
243
222
249
246
206
231
225
227
250
234
213
204
235
220
246
233
244
242
230
238
243
244
212
230
229
205
204
200
246
222
245
207
208
213
207
246
203
238
227
245
217
200
221
238
242
233
242
220
233
239
200
229
245
201
224
204
218
222
210
235
206
201
235
243
239
243
208
234
215
200
247
200
205
243
238
220
227
214
201
226
224
207
212
207
228
209
201
208
214
208
243
211
210
245
212
236
239
237
242
231
201
217
220
205
220
231
211
208
210
216
249
226
241
215
209
243
244
205
243
209
214
225
212
230
210
236
208
249
228
244
227
210
218
236
249
237
244
207
246
221
211
249
216
229
209
215
234
238
238
244
200
215
216
218
203
216
242
237
246
201
216
202
237
244
223
235
202
220
204
203
224
204
222
227
207
247
202
200
230
227
206
237
227
250
249
250
206
238
237
215
250
220
211
238
226
208
207
227
200
201
249
203
230
201
205
204
217
227
214
214
211
210
221
219
244
203
237
229
234
214
211
223
216
247
223
234
246
225
211
220
209
212
243
207
236
210
212
229
217
215
220
227
220
214
230
243
216
234
224
221
226
207
214
201
236
207
225
219
217
248
224
211
239
219
229
250
226
229
229
219
226
217
237
211
224
242
215
208
232
230
207
224
210
249
229
240
247
248
226
216
244
227
218
226
207
217
207
248
225
247
244
238
247
225
250
215
233
224
224
233
201
201
203
227
202
202
230
231
245
232
213
206
223
248
212
249
234
241
200
219
228
203
214
206
210
238
207
230
235
209
233
234
245
217
229
246
245
208
243
235
200
238
225
213
205
204
202
226
246
205
217
212
208
204
236
249
209
230
240
231
204
226
249
208
250
205
212
219
245
249
241
242
234
213
220
249
207
228
211
226
237
225
249
232
213
247
250
215
243
228
216
247
230
240
235
223
233
242
243
228
211
231
239
230
240
224
247
203
202
217
211
201
246
213
241
234
203
239
245
222
229
239
225
234
214
227
244
240
238
210
228
216
221
222
220
239
221
247
216
224
232
201
221
237
207
223
248
223
227
230
230
240
241
218
200
245
231
224
212
223
243
212
234
204
243
211
248
229
206
249
230
207
225
236
216
224
222
232
209
223
225
246
234
247
222
205
232
223
228
215
205
215
244
245
217
219
204
207
248
206
247
205
214
214
216
243
238
236
225
239
238
243
238
220
210
238
204
203
211
237
245
243
216
218
218
222
235
225
241
250
232
240
215
223
233
241
213
221
202
238
230
224
203
236
216
216
244
238
211
228
206
246
201
211
233
237
240
206
218
231
247
249
245
233
216
209
201
240
241
250
201
225
206
230
204
222
211
218
243
231
230
247
239
225
212
213
225
207
244
209
225
227
234
245
236
200
224
220
239
250
215
201
249
247
224
225
205
248
250
202
241
238
213
211
205
232
209
224
210
219
222
225
214
209
226
219
229
214
202
222
218
246
216
235
221
218
249
237
244
229
231
249
201
209
204
212
239
244
225
235
244
233
229
222
241
218
231
225
203
211
208
222
214
202
209
244
226
209
223
223
225
235
202
208
230
200
213
222
218
217
206
242
219
227
244
212
222
217
213
238
214
241
220
224
207
250
247
208
235
246
211
210
207
247
203
231
247
221
231
235
220
202
233
245
206
243
240
244
208
230
238
236
244
249
228
203
206
216
247
228
238
249
250
219
210
213
218
214
220
207
243
216
241
240
224
223
209
219
227
206
214
217
212
200
228
235
250
247
250
243
240
238
246
200
227
232
226
216
226
208
213
212
239
238
212
244
223
224
233
214
224
247
231
239
222
207
216
234
209
216
213
231
208
247
236
246
233
250
214
226
215
209
243
239
221
208
235
221
219
226
247
214
235
235
237
211
229
229
240
228
241
240
230
218
231
232
223
237
212
237
218
208
220
235
245
227
242
216
237
223
242
221
201
250
225
202
220
213
246
249
224
234
224
204
222
200
222
233
220
246
219
207
243
222
218
205
233
249
213
230
216
230
231
239
223
249
227
200
216
221
230
225
248
214
203
214
206
217
208
241
249
246
248
208
203
227
242
234
213
239
217
243
240
225
239
241
238
232
249
200
247
241
238
231
217
246
236
208
243
206
219
222
243
210
228
201
207
206
221
230
211
202
238
217
225
249
218
241
215
234
212
226
250
241
228
246
200
234
247
219
218
243
243
208
203
248
223
250
218
210
201
201
240
213
247
235
250
212
243
208
250
219
213
244
218
213
219
200
224
208
239
240
250
205
216
225
244
239
250
212
237
234
214
248
222
239
213
231
227
200
228
227
206
225
217
208
221
228
243
224
237
215
208
203
214
215
209
230
230
231
232
235
224
228
234
209
232
200
210
204
223
201
225
242
208
229
226
202
212
219
238
240
216
246
245
222
207
238
242
218
221
233
222
219
215
219
206
224
211
219
223
208
223
205
249
230
211
239
230
222
222
219
230
240
220
250
207
224
248
228
224
216
230
224
202
244
230
225
212
210
239
236
235
207
214
225
239
234
217
249
201
203
239
216
225
245
226
221
234
206
207
236
223
209
201
227
213
217
236
217
209
230
221
227
232
217
236
215
233
227
232
236
229
235
212
211
206
241
247
219
206
249
248
211
228
216
238
205
202
228
241
249
224
231
200
242
209
231
231
240
240
209
231
234
247
244
238
232
224
232
250
246
227
218
249
214
225
215
247
220
227
202
222
226
205
241
228
228
232
244
231
208
223
232
222
202
241
229
228
212
213
230
239
205
209
203
246
202
240
220
235
235
215
230
218
204
200
219
218
243
240
235
222
209
243
241
212
249
240
215
235
229
207
219
205
209
225
242
234
221
207
236
216
213
234
207
218
245
216
208
211
237
200
237
244
217
233
210
227
218
201
250
200
235
204
226
244
209
205
231
233
223
249
214
204
225
249
242
236
249
203
222
236
209
250
248
243
222
228
225
236
237
234
205
218
242
218
221
242
208
220
203
218
216
218
200
208
208
236
221
204
224
205
221
217
235
234
237
212
228
205
207
242
228
209
240
205
235
222
212
207
221
226
207
206
212
232
225
239
236
203
202
235
236
246
219
204
230
204
220
230
230
231
208
238
246
219
216
234
227
250
247
241
217
247
213
218
233
215
225
205
207
203
210
243
207
239
212
240
200
237
202
214
227
215
229
208
243
220
203
244
219
200
240
244
228
212
237
238
239
210
237
230
232
243
204
212
240
238
215
224
245
220
237
227
217
246
224
231
204
239
220
227
213
219
204
236
223
204
218
249
218
201
246
211
249
214
231
233
244
223
204
233
218
227
202
241
235
209
235
236
204
207
249
203
245
248
227
244
220
203
201
249
247
200
224
237
220
225
222
218
220
244
234
240
229
201
203
227
213
245
208
236
217
242
216
224
218
245
211
200
212
221
203
212
232
225
217
233
241
245
206
248
240
229
213
247
241
233
207
218
238
249
249
240
246
231
239
225
239
215
231
200
235
237
248
200
206
235
204
243
213
208
207
249
204
219
201
230
238
237
250
234
203
245
246
214
228
231
234
215
206
226
240
232
242
241
232
229
201
212
231
221
238
222
208
245
214
213
224
223
214
207
240
248
215
232
217
247
216
228
205
204
238
249
243
241
230
206
201
205
224
202
204
206
230
246
208
239
215
204
248
211
207
223
201
238
236
244
227
238
224
234
211
239
242
206
209
200
215
222
204
217
234
225
226
226
240
207
244
247
236
236
206
203
228
221
209
211
231
233
214
221
234
240
230
220
242
209
210
235
211
223
208
200
228
231
211
235
203
206
221
216
216
248
231
235
232
202
246
245
236
221
232
208
214
212
221
236
244
221
224
248
212
213
247
202
203
228
222
219
225
202
243
213
210
217
235
233
248
207
246
222
247
229
204
208
246
250
242
248
217
241
223
208
219
233
242
200
242
212
217
246
211
230
226
250
202
237
202
238
205
247
244
213
203
238
244
234
217
215
240
245
212
243
225
217
231
241
200
241
206
242
239
209
240
204
248
204
243
214
208
226
235
220
223
201
225
231
212
222
244
219
220
250
214
233
200
249
245
219
232
205
233
249
209
249
249
234
226
227
208
234
214
246
210
228
204
246
215
224
227
219
209
234
200
215
208
247
216
250
203
245
244
237
234
216
220
235
219
221
249
222
224
219
214
215
213
214
231
231
236
222
221
228
210
233
224
227
236
243
239
225
201
205
234
245
221
219
206
229
223
208
247
208
234
223
225
236
218
224
213
211
210
240
202
200
245
212
230
219
212
215
205
220
203
205
206
234
213
248
241
237
212
234
240
206
210
223
209
204
249
246
208
223
242
248
210
217
224
231
208
223
234
229
213
208
208
246
244
219
244
232
230
210
209
211
235
213
217
203
246
204
223
246
216
250
232
230
234
249
238
240
216
226
239
213
239
218
221
216
218
221
222
242
213
239
246
208
224
240
202
200
241
246
207
235
204
240
218
250
238
224
241
234
220
212
245
208
205
205
220
239
232
209
249
235
208
223
240
221
245
220
224
225
205
244
250
228
210
211
218
219
244
242
205
228
232
223
238
237
237
207
231
246
238
201
210
238
215
206
227
240
223
208
206
236
222
214
221
231
201
240
203
207
240
219
238
241
219
239
203
221
224
235
248
208
220
229
248
224
210
238
241
223
200
240
205
223
233
223
223
201
218
219
213
226
235
229
204
208
209
233
219
222
231
232
209
228
242
217
234
243
227
220
229
202
223
241
200
219
213
225
236
214
213
241
227
221
228
233
211
219
215
222
235
206
223
231
228
204
224
248
223
247
231
241
214
227
223
244
249
237
243
220
220
216
239
244
219
228
249
246
237
204
207
219
218
205
221
245
238
234
215
237
237
234
248
217
203
234
221
232
237
213
236
208
234
218
215
206
200
207
247
241
202
209
231
231
232
230
226
231
230
243
222
205
242
246
218
231
231
211
203
234
227
208
246
246
247
225
208
237
242
209
219
232
229
215
250
217
203
223
246
250
233
247
226
232
244
235
225
201
249
242
209
250
245
211
234
222
222
200
209
246
209
223
214
222
206
235
247
249
234
246
212
237
217
248
211
246
250
222
249
233
230
229
213
206
209
240
200
215
201
221
218
209
233
211
221
243
245
218
246
227
210
205
226
244
212
201
232
231
236
210
225
228
219
207
238
215
216
212
212
216
221
221
242
230
237
250
239
233
215
210
225
240
218
236
201
246
210
202
212
248
223
248
206
204
200
217
244
206
225
202
241
205
219
238
234
231
223
221
234
203
202
227
226
227
206
217
227
247
212
243
212
236
227
220
234
247
249
228
228
247
229
247
203
203
212
233
231
236
223
249
247
201
215
247
219
201
246
208
230
221
211
204
207
215
231
236
206
243
212
210
232
206
208
207
206
242
245
218
226
225
226
231
233
250
206
246
222
213
217
239
210
228
213
230
244
210
201
204
210
223
223
227
201
207
213
236
216
212
211
220
220
230
249
241
239
213
212
218
212
214
205
204
224
236
232
203
217
204
241
244
233
221
240
219
230
223
200
226
214
239
214
204
230
249
233
245
236
226
245
244
212
245
227
239
237
202
201
234
211
239
231
206
247
247
217
243
236
234
211
233
250
222
207
219
246
210
233
246
202
226
247
206
215
234
201
203
230
207
232
245
245
219
220
201
222
216
205
200
221
234
212
203
226
205
242
218
234
228
231
247
203
217
209
225
242
219
237
225
201
216
202
247
203
244
221
215
243
217
233
246
225
219
240
215
216
224
225
202
226
217
200
249
209
207
202
204
209
232
216
242
236
250
209
215
216
227
234
234
243
204
239
227
209
203
207
211
202
243
211
240
231
250
235
241
212
227
235
213
202
210
212
229
229
233
226
224
236
212
244
223
246
207
218
242
248
209
230
218
227
250
247
212
240
206
200
203
238
217
235
220
237
241
201
239
207
200
221
233
239
220
230
223
210
220
208
220
238
243
227
220
240
215
228
204
220
239
242
216
226
225
229
206
222
231
200
236
244
205
247
208
202
230
246
209
217
218
248
250
244
244
203
211
228
241
214
202
232
244
229
208
230
206
246
200
213
219
205
247
223
210
213
225
202
239
227
214
213
247
246
226
217
218
243
226
231
236
249
208
213
207
200
245
238
214
221
224
250
200
234
217
227
202
206
225
219
238
214
237
231
204
201
219
218
241
201
221
245
213
239
237
201
223
208
250
235
212
219
238
219
202
233
211
225
227
211
227
203
225
235
249
207
240
208
219
213
225
238
225
244
246
243
203
207
219
231
206
211
214
210
207
210
203
245
243
201
236
232
224
232
206
206
223
206
237
231
220
204
229
247
246
227
223
215
245
247
219
208
244
221
250
239
214
203
229
250
242
214
202
201
230
226
231
204
200
208
223
222
237
233
210
223
206
243
217
236
236
227
206
229
201
250
213
225
246
205
217
201
226
250
207
225
215
227
229
220
244
217
247
231
250
233
239
212
236
213
208
245
230
214
244
203
235
209
233
204
217
240
209
215
202
242
240
240
214
237
211
237
226
224
227
205
246
247
232
233
215
201
243
209
226
204
239
249
241
226
219
228
241
223
232
234
201
233
220
242
244
222
210
239
246
212
246
213
205
230
201
243
228
239
218
208
211
206
213
206
204
247
214
245
222
243
209
243
249
210
234
223
231
226
240
249
210
205
222
225
211
244
220
200
233
246
228
206
200
241
211
243
242
244
249
249
221
206
242
236
200
231
238
250
213
244
226
241
238
214
237
244
230
222
202
240
233
201
250
232
201
217
211
240
232
204
215
216
221
209
211
221
208
236
234
203
202
237
246
237
232
220
248
229
209
213
223
245
226
245
240
218
232
217
247
211
231
203
208
242
246
201
201
250
226
217
209
213
200
229
213
226
216
221
242
203
229
203
214
241
208
245
212
246
205
205
226
213
241
213
250
226
214
249
203
216
249
232
219
203
245
248
214
238
218
240
233
216
250
212
208
206
238
243
212
227
203
250
219
229
233
228
231
236
232
239
230
210
235
207
212
245
216
214
224
222
219
224
229
234
221
222
217
247
239
231
219
235
208
217
222
224
244
246
247
205
204
236
237
222
248
207
201
240
244
237
236
203
223
229
230
211
201
232
215
221
229
220
212
207
220
211
249
227
231
208
239
228
239
210
206
214
223
231
223
223
227
226
207
217
210
222
229
243
241
211
217
235
238
208
248
214
218
219
212
224
232
220
210
229
202
204
246
233
202
219
238
201
250
230
219
218
228
239
204
217
237
209
224
247
205
229
227
204
230
244
206
211
216
225
219
221
214
200
236
226
226
234
238
231
212
230
243
226
250
220
218
206
210
241
204
249
218
229
242
237
213
234
224
210
230
241
201
234
233
237
244
228
210
202
221
235
215
249
200
217
245
213
210
201
234
226
249
219
217
247
217
247
249
200
201
210
240
229
221
210
219
219
228
210
214
245
211
215
220
238
238
245
213
238
204
239
225
204
234
206
212
223
204
237
223
211
227
228
217
215
215
207
246
221
210
233
212
237
225
239
249
245
202
215
235
217
209
217
213
231
234
221
227
245
248
214
220
215
223
247
224
247
200
248
204
217
232
225
230
237
243
208
207
217
249
246
203
243
245
209
208
243
244
215
249
231
247
224
208
203
217
221
233
231
249
207
246
202
243
238
215
216
214
231
243
243
244
213
229
234
209
219
231
235
217
200
201
235
224
242
225
236
238
204
230
204
225
221
249
241
200
245
247
230
244
233
210
208
216
223
228
223
218
246
220
212
203
249
210
241
237
235
238
221
226
200
200
239
213
216
235
227
210
200
222
223
200
209
238
232
220
238
225
228
250
202
218
237
240
221
233
224
210
216
233
203
219
239
222
243
231
237
225
201
210
213
241
218
217
200
229
200
202
203
248
232
208
244
214
243
218
228
201
205
208
245
225
223
223
211
216
239
242
228
202
208
215
228
240
241
235
233
216
221
224
234
202
230
200
209
246
209
239
225
222
243
230
220
245
221
236
225
203
203
219
230
203
249
241
201
242
231
238
231
227
209
204
244
223
219
237
250
213
228
209
232
218
246
204
229
219
233
235
230
248
228
213
236
212
205
239
212
246
239
207
212
224
217
210
243
229
241
216
221
249
211
228
219
215
247
218
200
238
201
215
237
250
230
244
233
229
246
203
229
242
202
217
223
204
242
234
242
220
221
204
216
229
238
213
212
222
228
223
215
206
214
235
247
232
248
249
205
247
231
214
227
216
244
250
239
229
223
207
236
239
221
236
205
227
240
250
221
247
225
240
237
238
221
220
230
246
246
202
227
230
236
214
205
202
241
248
202
213
233
224
215
219
200
247
246
250
225
223
224
207
232
242
203
205
206
200
229
226
245
246
230
213
235
203
227
223
244
246
206
235
248
240
227
228
216
229
228
234
201
217
240
212
242
227
202
232
200
226
232
210
215
234
223
240
205
232
213
210
239
229
229
241
202
213
248
236
245
231
226
224
200
242
250
206
236
228
230
244
232
239
215
231
228
215
237
247
207
239
206
248
217
226
200
246
242
209
245
240
228
217
230
212
202
232
229
228
232
231
201
230
202
207
214
201
207
217
202
247
207
214
217
240
204
201
238
243
202
217
235
239
200
247
248
232
247
225
212
243
227
206
231
203
221
235
236
225
220
224
230
229
248
237
236
223
250
210
216
218
203
225
204
230
206
245
202
247
234
233
233
236
206
203
208
207
248
231
221
220
222
241
230
220
215
226
203
249
204
204
232
229
207
224
216
237
206
248
219
234
213
239
222
204
250
203
240
218
208
237
225
244
231
250
238
210
227
226
204
202
229
218
201
244
239
249
245
235
203
218
231
238
220
206
248
230
212
234
244
211
223
230
201
232
217
207
208
200
239
203
206
229
215
231
207
239
208
232
209
209
240
227
249
229
215
237
220
206
220
249
236
207
215
216
203
211
213
230
214
231
224
225
226
219
219
223
243
205
239
208
242
227
231
215
226
220
249
250
237
224
242
241
233
239
214
202
205
234
218
213
235
237
205
200
204
211
200
244
240
246
234
208
227
200
213
217
221
244
211
210
211
201
225
213
209
250
237
219
250
202
225
232
227
233
220
204
216
220
223
250
244
203
202
213
225
215
229
210
237
239
250
237
227
235
237
247
214
203
246
207
246
215
211
227
212
244
218
241
216
210
247
238
243
238
205
231
224
218
203
207
245
223
247
204
201
231
238
243
246
241
240
236
249
237
229
244
245
226
201
232
231
202
217
243
245
249
221
226
236
220
203
224
240
216
241
246
204
245
241
237
208
230
205
246
234
232
239
220
244
200
207
227
205
210
231
229
240
210
224
244
231
214
218
208
216
209
215
230
238
248
206
238
226
201
235
237
247
201
239
224
234
231
217
241
214
244
223
224
223
225
218
239
250
234
218
230
214
210
246
244
236
218
229
216
244
201
222
220
239
205
206
207
205
239
236
229
211
248
247
222
242
208
213
232
236
218
236
250
225
249
215
235
211
200
214
248
228
247
209
216
217
238
200
210
217
207
214
243
245
250
235
227
244
220
217
211
202
227
207
247
224
217
248
220
218
201
228
209
211
200
250
203
224
241
240
226
234
209
248
230
225
240
203
215
226
236
221
239
202
208
203
211
210
224
225
237
235
230
250
234
207
231
214
227
227
247
212
207
226
238
214
234
220
244
227
213
219
222
223
229
250
234
241
207
250
249
224
209
239
230
210
228
200
238
210
234
245
207
202
208
207
237
239
207
223
201
242
200
229
212
217
232
219
230
247
211
225
208
243
207
203
232
201
213
244
230
207
218
234
216
210
250
224
243
206
240
220
207
218
244
205
246
204
212
224
236
220
237
209
240
237
217
238
213
224
231
219
231
238
224
203
218
245
240
245
242
211
236
210
236
202
210
237
235
211
205
227
206
225
220
207
232
229
236
215
238
223
249
231
201
208
232
249
213
227
213
222
221
212
240
223
227
241
238
220
235
203
202
244
234
227
234
207
220
201
225
231
227
227
210
245
250
236
242
207
204
205
233
413
373
363
490
376
380
451
475
487
323
365
333
492
517
481
345
417
339
351
498
473
507
445
466
503
519
488
458
442
381
330
406
355
407
502
328
500
379
360
397
428
429
356
513
423
327
421
369
497
493
358
352
350
326
416
473
340
441
325
394
495
403
479
320
388
380
519
422
485
484
424
363
514
428
457
413
485
476
469
428
482
330
332
376
373
505
338
502
510
440
507
428
454
377
402
458
329
469
375
363
519
478
507
342
516
370
432
486
409
516
444
392
354
357
375
321
349
356
410
507
365
424
366
323
471
417
476
477
495
353
351
447
405
447
450
481
373
391
411
357
514
448
405
331
421
345
450
510
427
469
367
428
440
363
407
388
413
458
353
364
327
496
464
428
512
432
486
355
457
494
404
326
451
450
375
329
333
383
510
378
467
396
513
462
369
499
482
439
378
354
381
459
470
484
355
488
337
495
484
498
417
377
354
442
407
499
336
454
508
389
362
349
376
473
366
421
476
475
433
477
324
409
427
344
338
366
449
437
405
466
504
421
399
493
364
353
462
511
506
457
320
451
465
491
410
327
460
456
370
398
394
438
481
449
413
341
492
355
326
419
340
396
393
414
353
346
491
492
403
468
482
424
493
433
447
404
432
516
394
509
320
515
503
446
407
439
430
350
448
430
362
503
458
403
370
338
450
474
518
471
448
511
480
462
457
490
407
444
388
493
358
374
487
320
322
384
345
484
345
353
344
496
493
478
440
414
418
341
451
374
399
474
473
423
427
478
411
416
507
322
488
472
405
357
464
338
480
427
422
475
448
416
353
447
428
432
474
353
358
372
383
457
430
400
345
328
399
451
405
398
520
347
365
364
425
429
507
377
508
394
480
419
385
347
381
393
357
339
334
431
433
475
462
444
385
358
467
428
375
348
411
498
437
432
378
351
348
323
453
401
505
401
471
467
381
412
434
380
451
376
420
417
423
465
323
346
338
363
417
355
375
475
429
339
481
505
343
345
331
345
421
347
452
495
328
373
459
393
408
328
445
449
379
429
472
396
503
491
349
381
462
518
417
424
482
432
461
333
413
425
373
462
327
340
389
431
398
407
487
468
397
512
430
501
508
447
341
515
428
463
374
382
361
506
359
462
333
491
451
449
338
520
471
452
410
354
465
335
392
384
420
424
379
513
370
475
469
439
476
483
401
365
361
481
482
492
460
410
405
344
362
477
369
509
498
350
324
332
475
510
462
513
487
400
320
511
328
465
340
325
454
515
497
333
499
495
380
391
323
365
365
451
370
484
487
321
379
387
454
496
384
366
393
511
356
404
503
445
466
415
391
495
440
371
355
361
509
437
320
467
467
361
514
383
452
324
491
411
337
329
382
408
398
518
413
471
344
461
370
420
355
412
421
456
327
458
483
449
448
425
420
399
414
425
487
478
473
496
399
416
428
467
344
440
447
331
422
414
471
397
457
377
518
422
341
354
432
449
353
448
393
378
435
441
468
320
464
468
380
451
461
500
505
397
320
328
480
449
440
440
338
492
324
508
465
325
368
463
476
401
467
333
445
426
514
496
360
337
345
515
506
369
437
488
321
362
322
438
427
519
329
498
420
364
329
442
475
490
448
336
320
397
457
372
455
454
397
426
473
323
371
520
416
437
380
519
411
474
473
324
513
389
374
474
515
342
411
422
465
446
352
505
344
438
403
372
376
422
338
385
396
395
370
349
323
476
347
351
407
498
467
492
489
375
493
399
364
506
402
398
406
400
408
512
465
398
397
471
394
410
360
434
400
514
404
484
446
489
506
481
335
324
336
503
472
369
406
504
441
507
359
367
484
399
339
354
407
493
415
508
520
431
340
477
348
426
376
424
481
510
363
363
454
350
497
338
499
339
439
410
435
379
467
380
486
384
396
414
520
406
484
341
417
486
333
382
371
323
501
380
473
360
507
508
458
395
385
407
334
469
472
324
427
362
462
340
509
491
499
385
377
374
363
343
346
479
518
324
434
515
327
364
397
508
508
508
387
374
493
499
402
376
483
451
355
423
487
320
426
497
368
457
446
435
472
435
388
420
478
411
416
365
482
462
438
494
383
403
502
514
440
347
411
389
440
414
512
483
351
475
480
509
472
476
324
483
372
512
332
444
416
474
325
514
414
364
481
357
425
383
395
322
379
332
461
384
426
355
387
447
483
370
484
501
348
373
347
395
402
501
499
518
351
509
387
383
446
478
501
322
393
515
391
450
359
341
390
441
472
338
401
499
384
355
399
389
407
371
367
398
419
457
426
457
339
469
465
487
348
489
365
439
513
360
480
500
461
364
355
459
418
322
425
430
376
503
424
465
458
353
352
414
490
449
491
434
484
355
393
370
458
411
482
383
345
477
419
439
437
514
497
386
438
394
385
340
499
439
402
501
353
411
462
509
336
325
489
506
321
374
359
401
467
338
359
414
467
501
443
358
382
514
394
369
334
328
417
434
347
404
449
326
473
408
475
448
436
378
456
516
395
325
488
447
413
474
518
441
404
360
379
421
460
415
408
502
501
345
450
423
420
438
340
380
366
370
365
371
424
477
341
371
405
364
324
442
492
323
508
388
397
333
369
422
445
391
497
353
510
453
436
331
349
451
383
416
334
338
423
519
399
358
331
406
492
351
327
454
460
411
330
382
506
377
407
436
386
447
489
347
507
485
415
408
491
373
480
495
479
509
512
371
482
442
421
355
498
365
499
380
367
505
366
428
498
500
374
467
484
361
474
365
389
419
371
340
498
486
484
386
429
468
433
407
477
333
324
418
517
456
385
403
383
423
405
462
485
460
392
440
430
351
488
402
490
450
478
323
356
330
354
348
488
385
385
454
342
467
407
336
370
416
411
412
494
392
438
444
433
508
372
406
417
410
384
346
341
436
381
429
356
454
346
367
420
337
357
518
452
432
485
511
367
339
482
347
400
495
438
471
423
497
439
475
461
517
389
461
497
505
372
440
417
332
395
475
442
388
479
359
326
494
456
378
388
493
373
504
334
509
471
387
437
348
446
458
493
429
445
446
382
473
453
475
352
518
341
427
408
514
415
341
452
391
348
384
519
334
331
506
425
444
486
360
497
379
507
507
464
338
487
393
460
436
335
324
492
479
406
366
354
520
397
428
361
324
498
408
338
491
424
401
432
469
375
456
322
379
437
451
415
364
459
371
462
372
485
492
438
412
396
388
336
462
414
497
416
443
342
388
369
474
391
509
436
379
438
380
397
463
496
376
415
502
364
464
395
507
447
437
387
339
465
438
422
502
382
465
498
489
448
351
329
371
345
403
336
364
341
416
453
412
395
413
366
422
452
431
516
347
322
420
477
332
402
320
424
375
325
420
485
416
452
437
440
515
380
396
462
514
346
483
409
493
459
458
418
467
441
420
410
478
369
408
497
470
430
389
504
388
342
415
509
417
479
432
397
475
327
448
494
516
480
334
483
520
442
410
355
393
374
507
422
326
359
475
436
421
478
338
348
324
372
375
489
348
444
393
439
333
462
439
383
503
418
384
503
388
516
437
348
323
425
485
466
488
356
365
440
425
412
487
422
491
504
507
438
443
456
487
331
338
463
360
353
437
471
371
349
455
394
353
420
435
515
431
335
419
503
408
495
324
447
509
451
463
436
478
412
508
468
511
395
377
330
467
486
338
470
343
488
341
439
390
323
357
340
520
514
346
475
482
381
458
409
504
417
321
370
349
365
405
383
487
357
385
442
358
384
462
372
392
338
379
453
416
346
366
473
322
465
389
399
439
460
458
429
424
348
346
421
475
360
331
399
338
340
479
373
508
387
455
349
399
482
330
396
445
518
376
400
443
484
494
336
380
407
504
397
478
465
442
342
501
330
465
465
480
479
417
411
479
348
429
401
385
405
454
501
513
395
330
351
344
377
443
375
386
453
434
388
343
462
320
433
391
395
424
466
343
419
337
480
441
469
448
510
472
436
491
352
429
353
499
510
366
397
467
445
402
409
453
448
472
412
427
454
394
378
487
431
331
394
376
352
514
497
437
462
443
409
347
469
445
450
463
357
369
411
481
488
323
398
509
404
385
500
411
419
490
480
472
419
489
447
408
430
468
426
360
460
426
480
502
346
404
450
360
366
439
427
481
401
443
334
463
390
413
421
394
465
328
455
435
367
350
361
519
463
454
371
358
504
361
414
501
408
454
369
375
361
404
499
509
488
491
436
480
393
439
367
487
472
343
387
417
479
376
446
454
479
436
378
320
364
400
427
387
515
497
333
326
333
362
336
325
326
342
455
502
503
425
427
343
428
367
376
473
517
349
385
445
458
401
421
409
375
443
448
461
428
491
353
405
426
382
454
362
499
467
436
356
352
392
472
376
495
463
419
441
488
457
330
415
415
331
386
359
414
345
438
474
389
451
412
368
472
505
517
420
391
343
487
341
502
338
407
504
506
458
353
489
438
342
364
403
329
392
481
344
454
371
426
516
347
495
375
420
446
419
373
348
502
414
482
389
511
411
507
352
428
399
494
517
377
444
359
484
378
435
493
368
406
370
352
468
504
487
359
407
431
340
445
481
517
512
328
369
456
459
414
503
454
355
382
321
427
342
348
493
371
478
513
509
430
340
334
359
406
336
474
494
443
370
344
390
444
323
465
510
443
495
433
479
495
397
436
323
494
500
402
348
488
435
416
494
336
466
329
439
360
328
519
362
462
395
403
405
476
419
467
462
456
440
321
441
471
515
447
405
457
468
512
489
464
329
406
492
407
350
481
400
390
373
459
486
437
520
326
345
345
429
342
486
399
427
486
517
498
471
339
413
446
324
320
344
486
359
513
471
507
370
505
519
364
333
357
321
333
454
459
467
519
432
332
472
494
381
479
433
509
390
480
373
321
378
433
479
324
442
502
367
364
417
456
496
320
468
328
339
515
362
331
478
430
436
502
489
343
462
486
445
490
432
487
458
402
364
453
370
489
414
497
439
341
367
451
364
513
352
349
363
463
434
408
416
453
375
330
420
366
382
432
507
440
402
446
481
345
501
399
507
514
409
360
520
427
340
352
345
500
419
500
342
374
460
377
444
363
505
349
470
404
498
366
395
449
492
481
389
413
431
368
418
512
439
427
456
466
381
517
429
457
480
503
449
513
472
432
505
440
500
326
361
480
507
361
371
498
414
425
380
509
437
407
332
466
456
512
351
460
336
505
494
480
503
448
395
471
355
349
499
455
406
347
506
444
432
359
396
472
514
393
518
385
331
335
462
489
421
455
485
506
496
359
403
416
436
464
427
497
363
363
517
453
409
447
457
470
364
468
337
516
321
418
469
331
422
439
408
419
341
504
395
359
486
335
447
432
378
419
496
332
453
475
453
422
481
328
449
482
372
453
380
476
337
371
502
476
360
347
361
425
427
328
385
385
376
353
404
411
499
428
345
454
428
519
460
397
461
444
408
437
350
437
467
496
454
360
442
421
452
396
408
416
463
370
440
472
487
363
454
387
355
439
488
386
456
510
349
464
516
507
348
386
507
396
357
461
512
356
340
395
410
413
330
393
343
374
371
450
360
360
349
358
456
363
382
471
432
344
424
340
421
366
454
493
454
507
513
475
441
398
461
433
519
495
427
365
332
359
470
513
430
433
450
436
376
399
366
395
322
489
505
507
384
515
375
326
491
435
344
446
490
373
418
325
435
408
462
505
429
323
484
445
461
401
469
425
414
494
483
436
364
418
348
464
332
504
432
418
323
397
443
358
438
430
436
343
359
324
392
465
360
324
513
456
479
392
462
490
457
397
403
361
429
439
403
397
495
396
366
438
495
443
415
351
492
419
467
344
486
442
471
491
482
464
369
460
327
454
448
499
326
505
362
443
345
419
406
413
396
330
503
384
343
462
361
372
519
456
368
334
373
422
432
336
351
479
458
330
412
348
471
358
343
493
477
485
448
350
365
426
403
463
325
499
418
426
504
506
416
325
344
374
351
335
347
489
467
348
376
382
423
453
376
520
322
347
324
407
425
460
344
325
419
375
335
437
329
340
401
367
370
395
353
440
492
454
414
327
418
458
478
337
438
372
397
332
379
374
520
395
340
367
420
496
492
364
495
321
357
437
477
515
486
429
417
478
364
461
421
506
511
367
413
368
364
412
353
470
517
416
436
505
462
379
395
507
367
491
451
493
334
429
322
443
369
510
505
460
366
511
490
366
350
351
371
420
509
324
343
492
384
341
379
486
508
435
492
515
504
416
381
351
498
350
369
483
483
353
362
433
372
344
392
426
400
484
416
418
374
450
518
437
360
387
365
460
503
345
441
431
487
394
337
394
411
363
332
332
347
495
478
328
320
419
403
493
451
446
360
399
454
491
492
458
401
442
337
365
455
416
353
347
346
350
348
488
356
349
375
356
514
456
379
505
417
332
420
501
354
331
334
326
340
431
381
476
373
413
491
507
383
481
446
494
436
369
473
388
495
465
453
400
388
435
370
503
464
465
417
488
384
373
355
479
329
380
383
429
346
335
494
473
474
461
336
431
504
366
420
405
345
382
511
480
427
386
411
439
376
419
326
431
398
370
322
381
398
422
479
395
375
333
510
407
334
486
504
338
380
323
357
402
342
497
472
447
328
513
322
458
460
422
343
376
385
330
380
350
320
383
486
359
432
353
514
451
428
393
510
445
409
503
397
345
446
369
380
409
450
354
387
419
475
483
515
328
408
416
497
385
515
408
476
448
489
505
368
333
455
386
389
335
446
372
514
394
441
484
433
489
471
438
386
349
419
403
494
486
483
358
463
422
467
399
395
414
393
381
486
387
360
467
460
360
339
519
338
324
341
336
512
437
330
469
368
379
347
397
342
431
461
469
509
486
343
473
397
339
447
382
454
412
346
439
382
476
344
468
445
461
424
396
359
484
462
339
509
436
501
468
336
421
434
428
335
454
437
470
385
380
431
357
495
363
405
423
453
332
410
338
500
438
470
347
352
440
448
377
509
483
325
488
470
331
504
513
324
367
486
489
460
494
323
518
343
483
458
349
395
435
500
508
512
509
345
344
424
437
431
462
422
410
517
441
520
399
320
452
347
507
385
425
428
493
202
220
249
202
204
224
212
204
211
212
216
215
226
224
215
208
226
245
234
227
206
247
216
203
240
216
231
228
245
246
203
236
232
224
230
208
219
215
200
232
200
242
250
202
228
239
215
222
247
214
237
228
249
215
239
240
238
220
215
213
231
214
219
222
215
249
243
235
239
224
216
236
224
201
234
249
246
204
207
249
233
208
224
215
201
243
230
235
248
210
200
247
203
209
219
248
230
228
228
222
230
226
239
202
249
224
237
209
207
216
223
202
233
227
225
237
229
231
201
245
216
237
249
201
231
225
200
248
231
202
228
221
220
201
246
221
240
230
230
207
226
238
227
248
233
219
227
223
233
227
238
226
225
202
222
240
213
237
226
235
225
248
214
235
249
217
216
210
205
201
237
238
239
235
221
204
217
202
235
232
201
232
231
250
205
236
234
248
234
200
213
235
237
228
209
236
207
220
225
208
225
218
212
220
246
211
238
203
246
229
228
220
246
206
243
212
212
229
205
224
210
218
205
225
211
206
233
200
211
227
245
222
202
219
204
203
214
234
227
200
234
203
245
247
229
205
201
208
207
221
250
244
208
218
204
239
234
244
202
207
227
237
242
214
204
205
232
224
238
243
232
235
234
221
241
203
200
238
203
203
249
211
224
237
228
202
221
242
248
238
227
231
228
236
216
200
236
229
237
202
216
221
244
220
204
210
227
218
230
200
209
241
243
248
234
218
223
207
205
231
230
211
242
204
223
218
247
211
241
202
234
231
209
221
234
227
232
244
200
249
220
213
249
223
206
220
214
246
222
216
215
249
209
234
213
245
246
237
230
228
229
229
235
245
213
238
217
236
209
228
210
237
243
235
221
229
210
231
236
224
233
248
247
222
236
227
221
202
221
236
212
224
236
239
240
211
205
247
245
245
243
216
214
211
200
244
238
205
203
243
249
216
222
250
200
219
227
244
217
229
201
213
208
221
229
233
231
224
226
227
205
245
245
246
242
202
245
237
209
215
231
225
245
213
201
202
239
206
211
205
222
249
217
220
230
202
220
206
213
221
216
226
230
237
229
249
212
242
215
231
213
244
224
235
232
236
216
216
241
215
225
202
232
246
228
213
212
215
208
216
245
248
214
241
249
238
236
213
213
242
231
240
215
205
239
244
230
212
219
240
242
221
227
236
217
228
246
221
225
204
244
220
203
229
200
207
229
219
243
218
220
249
236
209
233
229
238
222
203
220
239
221
233
247
221
200
246
205
243
226
223
218
201
209
240
213
207
213
227
219
202
242
232
201
217
237
221
232
244
248
235
228
240
224
244
232
200
222
225
203
241
201
214
207
227
218
229
205
236
216
229
210
237
222
216
221
205
212
228
209
243
243
222
223
220
215
248
232
209
247
211
234
239
238
213
231
214
224
225
223
245
208
240
216
213
235
240
224
213
238
223
219
208
211
229
241
237
221
238
224
219
210
238
201
238
208
214
203
236
245
204
204
201
239
209
230
226
236
242
214
218
249
220
237
242
211
212
231
235
246
228
224
240
221
236
216
211
216
248
244
223
210
244
232
200
238
232
207
211
229
245
232
207
232
220
237
218
217
236
224
227
209
233
231
241
212
234
244
219
250
233
224
201
228
232
245
212
210
235
219
238
211
224
203
230
200
224
219
246
222
202
237
213
250
213
211
213
233
212
220
242
215
240
213
202
219
240
217
215
210
232
222
207
216
222
242
201
239
223
221
228
233
200
223
241
217
200
237
221
217
215
210
209
234
217
222
204
228
201
213
246
230
229
206
212
226
244
230
228
224
249
203
242
201
241
219
232
215
224
204
231
232
220
249
204
238
239
247
229
200
235
216
200
217
238
228
218
218
218
205
215
206
204
221
242
222
235
209
203
248
249
215
212
233
239
240
229
232
205
207
205
234
212
217
235
207
212
210
212
204
200
223
223
227
234
242
233
222
219
229
207
242
231
244
248
226
225
213
217
205
248
218
226
201
201
210
210
218
249
224
218
246
207
243
200
223
221
208
219
235
237
249
200
230
201
247
224
232
238
203
227
229
210
219
246
217
208
209
235
249
209
244
212
240
243
204
213
230
221
234
217
221
220
234
225
235
220
228
228
210
212
238
211
234
203
218
234
200
236
246
236
216
210
210
222
214
235
220
212
230
228
204
221
226
204
247
214
229
235
216
229
233
239
217
226
249
241
249
211
215
246
206
200
233
225
237
250
207
241
200
213
211
223
205
216
250
215
241
223
202
226
240
223
247
248
248
215
242
226
228
233
221
213
209
238
233
208
246
243
238
234
213
237
218
236
234
205
238
220
250
227
237
248
249
220
207
249
234
213
219
242
245
225
203
210
217
215
243
240
214
222
209
233
207
224
206
207
214
216
230
217
200
208
222
239
203
235
201
229
211
244
237
213
233
205
250
250
236
226
236
203
204
241
231
237
231
222
205
239
238
227
229
220
231
205
219
211
241
249
246
234
207
201
209
228
206
246
239
246
228
211
245
220
241
224
239
211
214
231
214
228
244
235
211
236
247
248
236
215
225
223
216
205
244
235
237
230
210
250
239
221
218
205
235
234
246
217
245
201
240
216
245
234
239
227
246
223
226
204
217
247
231
218
207
218
232
205
229
216
221
246
240
214
222
205
240
232
214
212
207
231
210
234
228
225
218
247
200
230
238
228
236
234
239
246
230
214
207
209
245
237
227
249
240
208
232
226
200
216
235
228
227
205
222
218
244
211
241
250
208
235
208
242
236
217
226
216
223
227
215
212
233
243
220
228
249
207
247
232
203
209
214
228
244
205
243
236
236
215
210
218
223
243
203
209
229
238
210
243
240
222
206
249
207
244
246
226
240
208
205
205
213
235
224
212
249
243
238
224
225
213
235
236
204
210
235
241
229
216
230
237
200
244
200
228
204
235
202
212
248
222
220
247
250
233
234
247
213
202
234
227
216
227
243
243
214
216
203
215
200
228
248
214
235
239
222
227
224
227
230
200
208
217
206
218
248
205
210
216
249
227
248
236
217
233
207
203
231
201
215
220
226
244
229
206
249
219
211
205
249
211
208
240
205
208
218
242
230
236
223
242
202
234
207
246
220
238
235
235
224
218
214
208
242
246
235
250
246
250
222
239
248
216
241
204
248
222
227
238
211
248
204
243
248
250
239
203
201
240
209
235
221
204
239
249
208
240
238
244
216
242
204
227
214
249
228
249
209
229
235
238
213
214
229
220
227
232
240
246
204
239
214
232
242
213
242
212
206
249
209
213
240
243
229
217
230
229
224
249
225
229
228
231
216
218
227
230
237
247
204
219
235
213
231
236
213
219
230
238
242
242
250
242
203
234
205
224
221
240
207
213
223
227
238
215
250
227
222
250
250
202
248
217
228
231
227
250
215
234
226
250
248
235
238
208
228
230
223
245
208
218
203
206
238
215
243
215
205
216
241
242
246
220
238
214
241
207
233
243
200
212
246
223
221
232
237
223
241
203
246
220
200
249
204
212
232
219
212
237
229
221
207
230
205
244
229
222
250
237
241
225
237
208
245
227
211
231
225
206
208
237
221
239
239
217
250
217
205
219
230
220
207
229
232
230
246
239
249
226
216
221
225
243
218
235
237
237
239
236
244
229
205
237
213
238
204
206
226
226
236
247
232
249
219
211
233
207
231
206
236
248
211
234
212
225
201
249
250
237
238
231
201
219
203
230
211
221
221
229
205
202
250
226
213
223
204
228
202
219
236
228
240
205
211
223
217
214
205
249
209
224
213
249
227
217
223
235
229
230
207
226
220
241
208
212
215
212
204
246
211
212
201
228
232
207
220
218
202
234
200
240
232
209
216
213
248
239
214
200
230
244
245
204
209
212
249
203
228
202
201
224
247
228
202
203
215
239
245
216
240
215
207
236
223
210
227
205
204
231
243
239
203
221
211
242
228
214
231
220
204
242
210
224
224
207
223
231
224
205
244
235
210
203
223
236
201
240
222
227
220
230
202
228
225
216
223
222
214
226
201
220
217
214
203
227
227
235
220
223
224
225
203
218
249
205
222
206
218
200
212
243
211
216
246
234
232
206
203
229
240
213
232
217
217
226
232
202
248
212
230
239
231
250
237
227
226
240
211
216
213
210
239
216
214
200
201
200
225
200
209
227
206
212
250
240
218
202
218
213
233
226
224
213
219
234
215
239
233
226
213
225
248
233
200
250
240
203
240
237
212
229
222
212
211
242
215
225
206
250
249
245
248
218
242
220
235
206
218
227
221
203
249
223
228
209
203
217
247
234
235
217
211
223
235
200
243
216
226
239
223
243
205
221
228
213
246
228
244
219
238
204
241
236
224
205
244
220
225
201
228
229
230
236
201
214
233
224
250
243
209
247
226
208
211
243
221
222
225
213
204
248
208
245
246
204
224
220
209
232
218
201
206
223
220
244
228
203
242
207
248
209
240
200
247
238
235
236
218
241
201
241
213
215
240
241
217
200
223
247
212
239
233
243
211
239
222
216
246
232
203
215
245
238
231
231
203
213
221
205
246
204
233
204
211
220
248
219
227
237
236
249
219
242
232
205
235
209
248
204
241
210
235
230
216
210
238
227
206
245
250
218
206
203
214
237
221
214
208
239
245
238
209
216
235
203
220
208
204
243
233
239
223
227
217
234
226
218
249
220
221
216
205
214
216
201
208
221
220
231
221
223
208
241
223
249
249
207
239
238
229
239
245
223
209
248
222
207
226
200
225
218
200
217
213
226
229
235
241
225
217
220
217
224
221
202
243
200
203
250
207
223
237
206
228
225
216
239
213
200
222
219
210
226
222
235
229
202
204
243
235
219
235
225
241
222
231
222
249
225
206
228
226
244
210
208
219
204
234
227
210
227
250
232
217
249
222
238
210
210
200
206
202
237
233
219
214
207
207
215
214
228
235
245
219
228
244
246
201
223
213
241
233
244
206
223
221
211
230
235
238
246
204
215
226
238
231
238
226
246
235
202
221
213
234
230
231
230
244
231
235
238
210
211
202
225
228
229
222
233
204
224
230
245
228
214
202
224
210
219
213
248
247
206
212
249
214
230
241
225
247
223
247
238
243
203
225
215
246
200
226
210
219
213
206
205
210
211
242
229
216
234
229
207
232
202
216
222
207
233
201
239
241
225
244
213
223
229
208
242
201
210
227
239
220
202
201
210
249
234
218
229
243
204
234
210
224
239
202
228
227
221
209
213
228
214
219
201
214
219
206
213
208
223
205
244
244
203
219
206
250
202
237
243
245
245
204
212
218
227
211
242
240
233
219
208
223
241
248
217
208
206
231
240
241
226
248
218
241
220
247
215
237
245
233
237
247
246
235
216
249
234
214
209
212
215
210
217
245
238
230
215
217
203
204
211
230
240
219
224
250
240
229
245
215
205
242
225
244
249
243
217
210
238
222
227
245
201
247
239
228
238
220
207
204
236
212
244
213
247
249
201
221
237
223
212
220
226
217
207
237
209
247
219
224
236
227
220
205
248
207
217
224
232
213
241
218
231
223
239
224
233
242
213
212
225
250
220
243
240
225
239
215
245
229
249
216
200
241
219
229
240
231
237
238
217
229
247
212
207
206
238
207
229
232
224
245
246
241
209
203
240
240
221
231
229
208
237
220
249
218
201
235
216
225
235
237
227
209
218
201
221
233
229
213
202
216
214
213
210
207
217
232
233
232
249
226
241
236
200
238
245
219
206
215
234
221
245
230
223
218
216
227
234
214
231
234
202
221
203
227
232
240
225
221
245
242
249
220
237
215
242
202
236
243
222
245
226
217
230
249
230
247
206
204
245
246
235
213
236
202
213
216
218
217
246
231
213
239
229
219
250
201
242
227
224
217
240
200
248
237
224
235
229
223
211
235
238
249
211
212
219
208
229
246
226
200
207
200
207
215
224
233
217
224
232
221
222
240
249
234
222
208
243
239
236
207
207
218
218
211
210
239
231
220
237
200
221
219
228
250
202
203
212
240
205
209
250
228
238
244
240
211
243
212
219
202
225
212
242
237
200
248
245
234
247
230
228
226
229
205
232
200
212
208
239
239
219
233
204
200
204
222
242
217
227
205
210
241
227
203
242
213
217
217
245
226
249
229
205
232
219
224
212
202
227
229
211
242
200
245
202
246
205
223
206
205
205
234
207
221
203
213
218
234
211
205
223
236
214
224
237
239
226
233
231
237
235
239
248
233
209
246
247
213
221
227
221
246
205
220
243
211
246
226
243
225
242
236
204
207
205
243
202
207
230
206
242
473
447
517
434
338
502
332
409
320
411
464
380
417
442
322
497
363
331
427
384
517
488
511
412
411
516
500
476
328
426
504
405
448
422
432
413
445
362
474
364
488
437
426
499
379
326
388
380
508
379
334
340
504
366
471
324
386
520
378
335
388
488
466
445
390
377
321
381
332
397
378
335
474
359
474
473
356
428
424
389
513
459
323
355
348
502
402
387
325
419
324
388
494
441
486
401
451
427
480
436
503
442
400
330
474
466
485
431
402
357
444
461
515
445
436
346
396
506
430
390
327
428
363
382
358
478
372
436
381
396
335
378
410
509
422
385
411
370
429
488
494
444
490
409
343
362
455
513
494
463
340
334
428
346
504
488
485
321
372
508
359
385
421
442
402
396
510
387
473
507
444
320
343
397
337
447
505
495
488
444
444
432
510
417
435
453
440
388
473
420
351
456
397
400
377
349
502
470
421
504
485
489
352
325
418
392
465
356
427
401
450
514
421
507
411
322
361
428
394
415
500
448
410
373
370
492
520
397
403
373
365
477
471
386
397
448
328
393
372
509
323
424
367
470
515
447
373
520
455
401
349
433
326
439
362
412
330
405
387
409
477
323
365
389
350
373
520
456
417
357
418
324
374
352
486
508
381
366
362
364
328
394
428
356
331
438
438
480
395
501
412
421
419
415
420
346
361
342
504
339
431
378
402
495
468
430
447
327
375
399
518
399
477
428
410
378
516
321
451
415
367
369
364
447
422
478
472
469
429
491
514
392
482
453
370
334
357
420
365
394
489
514
518
464
458
320
396
480
433
491
400
404
427
483
465
507
445
436
417
512
460
412
500
429
337
348
415
399
347
358
426
420
424
511
341
411
402
409
407
392
350
489
417
422
511
381
428
395
334
368
434
439
378
326
495
430
470
330
443
435
374
469
440
397
515
468
413
370
381
466
491
396
479
384
518
427
513
495
326
361
513
475
496
376
388
509
476
374
364
354
440
390
472
516
513
460
393
516
491
416
423
419
447
328
382
329
437
422
364
509
427
385
466
491
447
418
430
350
326
447
492
406
459
464
391
364
363
346
444
463
441
448
418
488
320
468
455
340
372
465
445
507
453
405
341
456
372
517
410
480
459
390
397
410
351
407
440
336
377
433
511
354
457
367
323
418
518
381
389
344
460
503
324
362
422
441
497
336
480
467
431
403
426
370
345
494
518
372
489
369
441
326
340
328
459
510
475
467
376
348
398
505
454
405
519
450
346
432
465
505
520
483
337
518
464
346
386
507
503
461
442
418
518
475
323
346
343
333
378
411
369
496
483
356
455
466
445
367
427
461
411
453
422
514
362
387
513
451
474
407
520
364
374
415
404
485
330
487
510
510
413
388
415
415
356
330
370
511
387
418
448
438
363
387
419
454
496
438
459
321
410
344
356
508
433
370
431
511
437
455
489
368
325
515
407
435
465
429
485
465
453
404
513
432
333
450
437
345
452
476
328
451
435
418
415
438
406
327
341
452
398
405
401
500
322
392
512
430
359
387
466
385
345
337
447
405
460
509
370
516
353
466
483
478
499
425
488
470
459
469
356
362
514
382
461
353
403
332
437
325
361
449
375
448
382
353
322
344
338
439
379
365
468
484
421
349
425
333
509
458
329
366
389
480
487
369
459
502
455
381
361
403
497
519
462
499
518
499
511
503
330
368
516
491
513
336
387
436
363
454
348
492
500
432
423
410
432
466
403
495
331
449
335
496
404
425
414
366
520
464
454
477
409
515
324
504
459
448
433
352
475
478
428
368
473
426
396
484
470
462
325
335
483
498
350
325
520
422
398
328
406
398
514
350
424
484
475
338
359
412
434
482
353
362
437
432
476
501
462
420
519
444
451
440
432
334
323
444
436
443
498
499
417
368
444
482
469
364
412
502
368
472
409
470
400
393
356
438
516
355
488
456
381
355
437
518
454
508
396
407
441
440
344
361
513
343
385
493
349
427
345
466
387
454
455
412
410
484
442
440
416
385
387
389
377
479
512
347
389
461
410
508
424
336
349
481
506
479
382
454
370
430
500
450
356
486
416
357
373
402
372
454
405
331
498
334
461
373
352
464
322
495
338
335
413
458
373
506
511
474
425
434
417
470
460
447
468
414
330
362
392
496
339
335
384
477
429
494
443
444
448
384
436
479
343
402
436
372
499
452
485
332
469
435
449
440
328
442
430
463
367
363
501
480
413
338
447
500
365
387
455
405
502
461
384
375
447
440
353
470
443
423
434
441
469
493
351
392
465
463
346
485
424
388
512
479
504
494
327
366
486
506
497
327
431
517
344
514
323
366
325
494
420
467
412
504
398
358
488
346
505
441
347
354
374
397
412
489
487
465
453
329
491
512
442
438
391
399
328
421
448
422
493
458
395
415
482
347
429
409
414
459
452
492
445
511
480
509
432
480
484
413
475
327
342
373
431
392
508
430
334
416
431
474
390
428
387
411
468
327
449
481
496
333
394
409
425
383
394
403
468
430
507
354
402
477
509
391
357
353
427
364
451
442
502
346
432
377
364
374
331
509
439
324
383
399
408
428
326
519
386
515
326
445
344
421
462
417
436
458
447
450
425
401
345
429
420
459
377
460
439
441
373
490
438
497
445
375
322
450
456
399
453
448
475
456
485
465
517
511
361
366
490
381
442
348
375
486
503
448
463
462
400
454
517
466
416
466
504
456
378
497
376
503
401
338
406
410
410
363
505
379
404
390
348
453
417
439
513
470
466
448
368
464
355
474
471
323
337
352
430
374
395
460
399
504
373
427
366
387
438
463
493
506
453
473
336
519
500
412
449
346
487
348
451
386
500
388
465
422
483
394
345
497
436
494
341
426
487
388
499
355
483
390
496
370
380
484
407
491
362
483
366
417
482
362
410
446
349
448
423
421
404
381
426
443
377
445
378
327
369
322
493
356
407
488
508
447
402
484
422
363
344
477
334
390
352
382
476
442
506
339
353
480
450
422
321
483
321
329
482
386
460
444
454
325
461
417
458
391
410
362
483
405
441
516
333
320
348
477
320
406
424
447
423
361
417
490
320
514
432
399
487
326
401
386
377
451
387
395
423
437
510
423
479
358
324
509
331
491
495
392
447
330
520
495
517
502
420
483
329
357
440
444
342
389
454
359
498
457
434
490
515
331
323
353
414
414
517
442
462
463
348
341
401
409
331
478
359
393
489
374
353
450
432
398
410
391
394
520
483
429
424
402
416
481
446
384
340
343
429
331
394
372
402
384
414
511
517
431
382
375
390
322
339
490
470
423
376
337
491
388
510
370
480
463
464
434
375
438
420
349
373
423
350
339
326
520
414
361
405
422
505
388
424
429
519
379
322
450
517
363
465
336
337
339
466
402
359
325
390
414
449
379
477
448
424
425
513
393
460
364
436
396
402
395
332
447
461
435
341
490
336
333
372
466
356
378
424
347
378
360
398
517
356
358
467
431
491
454
345
385
367
517
350
390
456
501
504
487
380
480
450
464
400
321
372
366
484
361
384
487
373
457
441
463
419
478
375
362
419
479
436
461
385
476
322
496
362
505
473
333
508
359
518
346
434
393
474
452
390
348
419
361
507
427
512
390
446
415
340
358
375
417
423
486
422
423
394
495
348
340
374
353
401
438
406
326
438
373
365
487
375
349
410
481
338
370
434
391
476
445
446
387
485
431
391
430
373
417
442
343
440
454
441
409
436
370
345
388
349
417
412
339
512
440
430
402
490
403
501
396
460
345
401
445
370
418
413
513
450
503
507
482
375
365
453
321
429
508
484
347
520
462
405
514
499
397
520
446
515
448
325
390
341
337
504
439
514
355
346
449
407
504
350
381
385
369
383
486
339
468
517
473
359
334
514
324
336
335
335
372
343
517
354
516
474
367
505
468
491
451
363
438
365
328
425
379
366
324
392
485
406
398
341
506
325
390
495
445
451
409
495
439
333
396
335
420
445
482
450
516
471
452
331
440
400
405
476
502
360
326
429
408
359
401
390
458
485
404
406
491
491
409
489
375
350
378
362
486
477
387
465
339
400
406
328
462
358
324
495
507
387
373
513
419
478
355
335
322
477
498
472
433
331
338
494
385
394
499
457
353
490
407
383
372
443
377
358
373
447
474
518
438
488
405
434
471
506
341
379
400
440
321
413
502
400
432
445
469
465
514
386
428
393
467
511
371
362
475
500
477
350
370
423
389
501
449
337
378
324
422
411
339
446
411
465
407
448
487
476
418
423
434
421
484
334
487
473
422
454
476
455
365
423
485
359
520
421
383
420
490
337
368
501
358
497
354
421
361
455
510
347
435
481
408
426
391
326
345
517
401
366
367
438
486
405
322
496
398
482
454
506
401
350
500
508
507
377
393
461
463
328
412
404
325
501
501
436
401
387
348
484
387
388
481
408
481
513
336
434
335
365
414
342
489
518
364
431
423
419
322
501
331
382
322
425
510
513
471
518
351
503
478
340
429
505
342
387
343
357
500
403
496
351
461
329
374
437
430
474
487
373
474
383
462
358
505
343
464
346
407
324
475
458
439
328
370
330
320
379
399
435
515
413
458
473
451
507
504
463
325
488
349
498
455
341
418
382
430
512
425
484
501
476
381
385
437
325
370
416
443
327
350
498
425
484
390
427
416
329
519
357
332
349
425
392
421
492
500
414
371
436
480
519
477
335
396
332
458
323
439
365
398
368
344
442
471
400
486
490
395
407
339
472
485
509
504
508
499
357
510
375
338
363
364
389
472
513
420
400
423
365
416
344
411
514
414
329
337
374
409
427
375
474
483
456
462
510
324
353
444
429
429
475
337
327
397
424
461
362
342
348
402
456
466
440
366
500
329
476
510
344
498
373
398
474
400
405
395
403
322
423
450
492
395
513
480
351
329
406
482
360
477
473
394
326
410
410
342
455
426
325
410
328
333
393
479
381
497
434
368
465
387
418
345
446
348
333
354
463
418
394
466
324
450
342
471
322
337
491
388
322
354
388
393
461
514
469
330
382
372
334
426
413
490
447
438
345
323
401
406
410
374
327
508
412
470
324
395
495
388
487
425
374
442
362
383
491
342
371
359
340
391
360
330
431
371
516
495
428
507
329
477
494
332
471
345
414
339
403
336
419
374
378
386
464
433
324
503
412
373
348
515
428
375
350
426
336
363
348
327
513
394
335
346
500
393
454
380
472
451
341
470
418
427
399
325
471
436
351
460
393
320
510
452
336
328
328
346
460
503
446
407
440
464
439
496
345
492
451
353
398
325
340
424
354
414
490
372
349
462
514
466
407
425
364
516
357
477
484
391
363
383
321
485
430
447
448
366
431
330
499
516
415
383
441
412
380
406
376
396
397
457
495
516
503
382
366
467
391
347
440
334
377
358
387
391
332
468
381
337
501
448
356
354
395
414
519
506
515
400
355
379
393
323
434
398
465
431
460
447
422
413
492
353
472
424
500
399
390
374
473
506
355
345
356
511
320
475
367
448
368
338
325
440
401
452
347
418
339
352
480
427
322
420
391
499
393
505
520
405
405
396
381
328
488
450
500
506
450
482
394
459
500
394
417
362
389
480
424
453
328
478
503
492
431
331
500
324
344
369
380
376
411
388
513
419
459
392
332
406
402
388
484
424
518
402
462
439
473
406
395
460
456
412
403
468
404
416
429
411
367
401
459
325
445
403
405
515
496
458
475
348
335
406
479
333
518
396
320
457
519
397
424
384
355
407
417
429
432
335
464
456
485
496
421
486
480
453
379
379
333
416
483
404
514
405
389
502
362
397
349
399
418
437
388
454
476
510
448
400
499
438
465
449
335
367
355
379
360
489
396
348
485
465
455
404
403
365
404
383
494
419
416
450
477
321
513
428
513
453
491
381
339
399
345
364
461
324
340
325
446
483
437
395
444
354
375
502
411
452
341
475
346
404
361
502
327
505
350
390
449
479
395
382
499
414
400
348
405
362
350
391
396
370
432
389
372
433
353
395
356
445
401
361
387
441
367
370
350
424
520
386
383
497
490
367
486
393
438
512
498
325
385
347
335
446
469
391
520
459
351
441
479
390
446
445
505
461
451
520
321
390
435
511
513
374
512
511
329
454
372
373
510
326
401
341
443
373
494
516
425
396
500
472
382
410
446
375
429
459
332
432
518
352
445
484
496
325
332
370
432
420
368
456
440
496
408
447
376
389
397
452
404
372
358
514
417
475
400
407
350
503
377
398
350
326
508
437
478
467
339
364
517
466
500
389
425
383
518
429
473
434
490
343
416
368
471
450
446
391
516
459
465
358
400
448
506
348
438
328
449
320
328
471
487
515
406
358
478
390
461
516
433
367
516
374
417
473
396
486
344
459
515
501
425
410
455
449
411
447
329
370
411
400
486
474
515
439
456
409
350
506
455
411
481
361
503
368
393
367
498
465
495
479
355
396
512
393
386
501
512
430
449
490
368
484
385
488
347
357
430
357
380
369
493
350
357
387
344
438
481
328
513
480
357
485
378
371
414
323
408
497
372
399
462
347
493
415
434
385
396
488
339
443
450
395
376
496
492
516
388
409
360
505
468
387
384
334
411
327
329
485
401
427
487
380
328
439
357
501
420
387
491
449
470
400
342
513
424
433
349
320
485
482
353
416
381
470
362
365
353
347
373
520
388
504
417
418
479
410
484
430
415
511
361
459
519
514
455
426
475
448
323
395
399
374
322
380
358
349
504
462
471
494
455
424
424
420
433
403
456
398
324
448
333
494
441
395
347
494
503
388
518
466
383
419
344
501
436
352
426
394
507
490
520
481
418
497
512
494
441
507
495
391
500
390
439
414
499
495
383
489
387
343
459
410
476
489
360
481
338
399
364
335
423
439
373
362
395
443
440
385
409
341
414
510
466
476
457
331
385
361
336
413
407
437
373
326
390
398
474
393
427
485
416
473
437
388
338
337
425
429
395
498
423
339
348
357
402
370
391
384
416
470
360
519
481
385
346
383
414
388
509
394
342
441
352
335
504
369
371
409
487
498
391
464
504
354
439
454
413
344
396
357
463
480
334
422
355
474
435
327
361
385
414
440
406
347
418
392
406
513
328
373
496
478
372
353
397
424
362
520
355
454
443
401
333
384
439
489
383
507
330
474
484
367
452
324
428
347
321
459
512
437
370
459
517
360
390
372
421
412
426
401
490
476
351
323
412
329
398
359
390
393
497
396
410
372
454
472
514
428
365
404
353
322
351
498
434
415
404
377
446
467
347
452
440
408
366
379
385
416
517
389
502
476
344
502
471
472
332
489
385
324
373
462
505
329
515
393
350
427
395
394
322
398
500
401
338
422
392
492
380
520
488
434
364
447
341
409
493
442
360
371
405
351
492
481
388
393
363
368
483
517
415
389
451
370
337
474
378
385
375
463
488
393
394
490
476
471
404
465
436
513
509
483
513
451
354
388
422
424
497
419
386
338
445
346
389
376
397
355
500
488
397
517
447
440
478
337
361
323
377
448
498
395
455
321
413
418
518
339
497
327
372
338
430
358
437
355
409
520
371
399
481
331
465
388
468
321
450
383
356
402
499
477
408
442
495
470
484
401
502
375
397
481
476
503
404
359
466
448
390
473
360
440
364
425
457
487
409
426
328
363
333
399
342
507
496
347
321
479
473
464
359
374
352
333
320
321
519
380
366
345
409
402
347
441
494
503
322
411
402
482
409
387
494
390
505
360
439
469
417
380
326
487
503
511
425
456
508
510
441
325
478
456
369
516
398
347
327
431
385
483
377
430
467
344
396
397
369
473
497
439
459
398
506
374
447
452
338
369
465
465
324
515
479
391
322
375
437
382
418
352
348
390
326
486
389
459
500
355
357
504
519
455
380
469
473
400
472
417
441
320
490
466
322
399
474
366
487
389
350
336
465
414
352
343
436
462
439
448
496
511
514
516
431
453
357
427
326
415
349
474
444
491
429
487
497
370
419
377
503
507
361
512
386
478
489
339
396
490
352
327
407
420
382
429
412
462
394
441
357
431
335
342
520
496
362
321
459
437
507
471
484
404
377
399
414
473
518
447
371
336
413
384
425
435
500
384
332
497
485
463
348
479
476
444
356
520
366
480
458
487
386
474
456
469
376
517
354
476
431
388
519
431
517
331
457
329
398
479
395
419
421
437
444
487
482
506
430
448
435
439
401
325
390
481
498
473
448
381
425
484
335
504
499
437
353
483
417
320
468
372
436
350
383
365
365
384
471
454
481
422
484
421
520
345
449
393
462
501
330
491
354
415
464
455
494
471
339
421
383
327
374
357
517
346
374
384
350
429
371
419
406
401
460
378
363
372
362
515
500
456
502
482
464
503
419
363
365
489
458
422
437
326
343
346
342
472
331
493
332
350
442
380
412
447
328
497
355
495
457
457
417
383
471
408
357
469
494
337
519
448
456
329
474
346
400
387
461
394
489
404
446
326
411
514
327
508
478
361
406
415
406
342
338
463
518
444
392
383
518
434
410
398
449
382
397
399
417
381
391
519
414
489
421
372
381
391
377
382
440
443
346
390
327
325
341
321
377
502
458
462
384
510
453
449
378
495
484
465
373
383
381
397
398
440
356
463
392
377
516
481
478
438
377
490
396
400
504
370
393
378
393
399
405
457
382
403
483
396
379
403
380
512
498
429
363
490
429
465
362
371
380
517
356
392
375
344
338
489
331
448
394
413
507
430
396
332
349
338
515
356
367
420
498
431
494
485
379
490
383
511
334
459
440
342
410
367
324
513
341
359
488
353
397
332
428
489
483
359
383
433
326
433
471
519
336
498
503
468
401
443
458
470
496
452
371
419
498
340
498
337
335
321
400
327
436
497
422
489
349
383
341
403
398
505
470
491
440
382
327
459
505
506
336
472
505
334
486
432
518
460
466
474
400
362
429
375
468
387
436
353
495
501
360
334
388
372
411
355
510
348
334
385
503
385
496
322
345
458
421
431
395
419
463
498
347
449
460
335
399
395
449
417
341
386
504
411
322
447
329
434
455
414
451
434
357
407
473
422
484
332
341
378
333
389
469
446
510
474
505
392
391
502
362
374
350
447
516
509
512
507
357
470
430
514
329
435
470
485
374
330
356
369
456
416
445
331
456
435
375
475
327
439
490
516
390
403
433
419
512
423
500
389
350
492
466
446
346
487
366
402
360
250
242
239
205
223
216
243
223
234
221
233
237
221
247
200
222
220
248
201
239
207
242
225
234
204
239
201
218
224
232
221
231
235
204
243
225
242
210
246
233
234
238
243
214
240
245
235
248
206
236
246
211
224
219
213
241
242
237
225
220
223
241
209
224
242
238
228
201
245
217
221
249
223
215
248
243
243
237
249
250
222
231
211
202
235
222
246
205
249
223
224
208
207
222
211
238
231
249
242
202
213
236
217
200
218
208
224
201
224
204
211
214
225
219
244
202
245
205
209
224
214
212
240
207
225
200
233
231
214
208
243
228
208
236
243
243
211
200
201
239
233
236
250
207
213
201
216
233
234
235
220
237
234
227
207
244
206
234
219
249
218
204
218
239
238
241
237
211
203
220
213
247
212
233
209
202
217
249
217
227
236
237
233
237
226
245
206
222
200
216
205
222
214
248
214
248
239
230
238
212
202
233
250
210
217
217
200
248
210
236
211
240
211
241
234
205
246
205
206
226
241
243
215
240
209
201
215
222
231
211
236
223
212
207
221
234
249
202
210
250
239
201
204
213
204
224
242
247
224
237
247
249
215
244
214
239
224
203
211
217
239
207
245
227
239
241
212
240
246
200
208
219
219
230
230
238
215
210
220
237
219
213
216
207
218
237
230
213
231
205
218
221
213
225
240
241
210
245
238
246
240
237
201
205
203
203
240
228
214
213
221
243
203
219
240
218
224
241
249
227
234
205
204
233
218
203
248
243
208
237
209
211
220
201
244
224
217
244
214
238
236
240
205
229
206
228
212
241
230
235
218
206
203
225
229
249
239
242
246
225
225
250
250
243
206
237
204
215
236
226
235
217
224
209
238
242
222
230
221
242
211
235
233
222
209
226
234
239
235
221
208
241
221
210
219
239
210
235
212
228
204
202
244
214
209
205
222
218
239
236
214
235
215
206
240
249
204
201
209
203
217
214
200
205
216
216
248
220
205
244
207
233
233
214
233
232
245
204
207
233
245
232
223
221
210
250
219
211
202
201
211
211
236
224
239
241
202
235
218
229
213
235
250
203
223
233
243
235
240
248
244
217
203
221
245
248
211
249
237
236
241
237
240
229
225
237
208
222
237
242
232
203
241
207
202
213
227
226
249
250
231
245
204
243
218
226
214
239
209
235
228
208
231
211
208
207
206
242
201
248
239
244
239
204
233
248
228
222
239
248
227
240
212
206
210
244
238
215
227
207
232
224
219
248
221
241
249
222
223
228
246
230
213
207
225
216
219
208
206
244
208
250
204
244
205
244
242
241
229
230
218
235
206
231
207
227
223
226
212
234
232
246
215
234
229
248
240
249
203
233
215
240
229
247
218
208
224
250
201
246
229
221
233
238
233
222
236
210
219
247
240
246
228
237
212
223
219
226
249
212
206
211
211
245
204
202
243
223
244
207
248
219
213
230
247
212
226
235
214
244
217
202
226
209
203
216
215
217
244
205
227
244
203
221
244
205
227
241
226
200
216
220
248
215
214
226
244
243
225
237
223
229
231
220
228
200
212
238
233
233
244
214
244
209
242
228
218
214
234
234
243
203
222
243
227
212
231
221
236
249
217
228
203
235
236
226
244
218
217
238
204
236
237
247
240
229
221
203
227
226
220
209
232
212
211
245
213
228
217
238
206
244
233
211
236
208
224
215
207
231
220
221
214
236
200
244
209
230
228
211
247
244
204
239
222
238
229
240
230
208
237
225
208
237
202
229
226
201
229
210
209
216
222
220
220
209
247
233
201
248
224
227
224
240
206
243
202
208
237
226
229
221
239
234
212
204
211
233
208
224
239
245
249
205
250
209
217
212
238
203
216
226
242
223
211
219
228
227
218
227
219
219
226
236
214
239
221
210
215
235
205
241
237
228
227
242
200
236
223
202
218
242
229
247
220
250
241
221
208
235
241
232
250
241
229
222
206
239
239
207
223
239
224
232
244
245
205
214
208
229
222
249
232
244
227
229
201
218
216
206
201
240
222
212
208
229
208
241
214
240
249
224
208
240
221
237
236
201
238
210
208
233
229
228
237
219
236
233
236
213
200
216
239
214
210
203
220
208
247
231
249
232
215
207
242
244
241
203
201
240
247
228
211
236
211
201
208
246
222
212
222
232
216
236
242
216
203
200
249
223
202
203
222
227
214
241
236
229
202
247
221
245
239
214
240
249
207
239
223
221
210
215
212
219
218
209
227
245
246
245
219
208
221
242
206
214
250
201
240
217
216
217
239
240
200
217
215
211
228
241
227
202
238
234
221
239
230
226
249
218
229
214
206
203
241
206
236
208
234
222
218
220
244
222
218
238
248
202
208
242
229
204
247
203
234
240
201
243
227
220
222
200
243
214
215
245
248
241
204
230
213
226
205
218
204
212
218
243
232
247
215
237
242
225
213
204
250
205
228
239
234
232
227
206
223
229
248
208
202
214
246
232
235
205
238
217
213
214
221
213
210
219
249
224
224
207
233
235
235
229
244
235
241
208
213
227
206
218
204
209
200
210
241
242
250
200
246
208
214
240
229
223
239
250
233
208
247
234
232
207
226
221
211
200
239
201
218
233
203
245
234
213
224
205
221
212
238
208
245
207
208
203
219
214
227
249
205
242
246
232
243
238
229
225
231
231
219
210
212
223
228
208
236
217
221
214
245
243
221
248
236
200
240
201
218
241
246
246
201
202
239
232
228
201
223
248
246
228
246
216
227
228
250
228
214
212
212
234
236
242
243
237
206
237
221
243
250
239
250
210
226
206
234
205
217
243
211
211
222
239
241
227
236
227
245
206
232
238
249
219
237
247
211
247
212
237
215
219
240
223
242
223
248
224
250
206
240
221
248
234
228
227
214
236
245
230
203
219
239
202
231
231
211
214
242
209
212
242
236
204
209
219
214
247
214
209
224
219
243
244
204
229
240
236
235
200
235
246
205
236
233
209
229
235
217
204
229
238
211
201
200
234
230
207
202
242
234
232
216
200
204
226
246
238
209
229
200
250
240
231
202
243
212
230
227
225
227
220
220
250
229
235
231
228
218
227
235
229
207
212
222
230
207
240
240
203
224
221
213
242
228
210
243
240
244
234
228
205
217
241
222
245
222
203
226
208
214
211
202
228
201
227
250
216
231
221
200
202
217
244
212
204
240
201
235
224
214
237
213
204
233
227
207
246
242
224
239
210
249
232
245
233
242
204
244
224
207
230
243
224
247
219
214
217
203
226
223
246
200
232
249
212
248
229
250
210
239
230
217
217
222
215
214
246
203
244
238
201
245
202
228
221
230
221
245
226
238
243
244
217
249
216
201
230
245
246
215
210
201
240
233
241
224
200
248
228
220
202
235
203
211
208
229
213
246
247
225
237
233
228
209
223
200
250
240
244
216
240
229
234
224
250
247
217
206
216
212
223
238
225
235
244
243
212
247
245
238
221
211
205
209
202
218
250
222
202
245
231
218
221
250
200
225
213
204
226
233
248
201
247
239
222
247
210
206
229
223
209
232
236
236
206
212
246
203
236
231
223
249
218
210
227
244
248
202
215
228
239
221
201
238
237
236
217
247
247
210
226
204
236
224
207
242
205
234
212
229
216
205
210
240
229
230
230
214
212
207
240
210
215
245
237
207
236
214
212
242
232
201
217
220
207
235
231
200
204
218
200
211
233
214
228
214
242
225
219
209
208
209
215
202
224
200
238
232
230
213
243
233
211
232
215
238
224
219
232
237
241
247
214
215
246
201
210
227
226
244
242
234
216
207
225
234
208
232
201
208
230
228
217
206
231
235
238
218
227
243
223
230
216
202
232
201
243
219
201
234
240
239
241
239
219
248
209
218
239
225
231
222
230
217
206
204
226
246
226
237
207
216
243
247
218
248
217
201
245
242
236
231
217
225
250
217
239
247
206
225
225
203
231
206
202
213
248
245
214
237
249
236
208
217
239
209
230
244
207
238
201
250
205
243
204
226
235
247
232
245
240
233
235
219
232
212
205
218
224
216
229
219
204
212
230
213
226
209
204
218
205
225
205
245
217
200
208
248
220
248
210
236
238
222
221
233
202
206
219
235
230
205
204
204
229
215
207
216
211
210
228
200
209
220
210
239
239
247
240
247
234
229
202
229
236
228
203
248
233
233
248
222
247
224
240
239
233
206
244
245
231
249
201
219
207
217
240
223
228
207
221
219
238
205
210
236
224
229
244
210
233
248
200
218
215
212
247
249
249
250
239
200
235
221
249
202
231
204
249
203
235
212
216
241
207
228
211
247
233
225
233
201
230
244
236
215
201
215
213
227
222
241
244
202
250
247
232
213
246
210
247
228
231
230
223
248
240
249
224
220
241
223
241
205
221
200
241
239
214
200
208
209
237
245
215
213
239
214
240
238
204
209
218
223
238
234
235
240
205
248
226
246
216
213
216
233
214
248
211
220
229
206
229
242
208
217
225
214
228
228
226
230
214
241
215
223
235
206
246
210
222
246
230
219
211
249
224
230
239
222
234
240
246
214
232
212
228
237
209
204
238
245
203
236
210
222
220
234
213
216
218
218
212
211
215
212
204
226
220
231
245
229
229
232
205
204
206
202
212
225
203
249
206
250
214
202
219
240
244
239
233
213
226
204
244
241
240
205
234
234
218
244
231
233
202
205
209
229
223
246
200
220
245
246
218
231
220
241
213
215
214
219
234
227
232
213
202
239
241
240
200
230
212
246
225
230
214
230
225
250
208
234
218
212
232
227
245
243
232
242
217
246
209
232
243
229
237
201
239
206
227
216
249
219
235
248
200
208
239
248
245
209
235
235
240
220
225
215
219
212
225
202
237
245
205
214
206
241
219
224
239
234
242
200
214
247
240
241
241
229
208
201
207
208
221
201
245
222
207
223
200
216
249
210
242
238
234
232
232
219
242
214
230
242
200
230
230
223
233
207
217
200
218
212
244
247
248
224
200
215
212
230
240
244
220
221
238
226
242
214
243
206
231
237
233
232
211
205
233
221
217
241
220
226
212
247
214
207
221
241
240
228
206
232
243
237
209
237
205
233
203
208
224
250
213
213
217
236
224
203
208
247
236
234
217
239
205
203
220
229
214
220
222
220
244
213
202
215
215
219
240
245
212
211
225
225
200
212
210
249
216
234
248
206
242
245
216
237
239
233
250
240
210
234
214
213
250
211
240
222
226
201
240
208
200
205
210
223
222
226
212
233
229
204
230
228
200
214
220
210
201
205
235
214
204
211
221
214
225
243
250
210
225
222
250
247
207
217
240
208
211
200
230
212
240
211
238
225
223
204
223
240
223
219
209
231
250
249
250
212
201
210
238
202
206
237
213
234
213
203
217
205
246
200
222
205
213
243
245
216
243
211
221
204
215
239
229
211
207
243
240
249
203
227
217
238
202
223
225
209
207
214
227
244
227
214
216
202
209
225
240
211
234
207
247
202
212
218
246
236
238
229
215
205
222
245
237
233
209
202
200
232
204
233
206
234
223
234
202
233
224
238
249
230
202
205
244
224
228
201
239
225
220
226
211
227
228
221
222
200
217
201
229
245
200
213
207
237
208
231
238
246
206
211
215
211
224
217
212
226
215
233
206
245
246
248
242
249
201
222
202
215
209
219
242
227
349
387
330
457
512
471
517
345
498
467
470
425
479
446
381
402
498
363
325
347
326
444
448
467
432
491
424
338
507
468
511
360
359
368
438
416
445
400
467
487
450
391
419
351
466
348
482
323
442
482
480
517
424
362
368
432
469
346
407
503
501
490
428
418
328
492
339
369
467
321
457
367
505
341
349
405
455
375
322
371
485
406
495
494
391
398
344
472
411
386
472
466
322
399
373
504
430
357
395
350
321
480
410
332
402
518
440
425
361
392
492
394
436
431
441
443
441
461
412
457
424
443
402
515
417
467
329
459
348
346
324
495
346
463
463
398
366
352
342
354
461
412
438
414
390
395
476
416
432
421
479
510
325
508
444
410
401
390
447
480
383
338
373
455
405
434
491
355
357
469
368
379
361
479
472
323
389
401
479
479
344
453
515
475
392
455
421
324
506
494
426
477
501
372
379
454
321
362
320
340
378
352
496
509
471
364
326
343
508
444
519
439
424
472
396
331
469
403
432
435
376
358
347
507
392
517
337
382
335
493
358
353
406
472
466
507
437
512
478
497
506
463
518
479
510
331
481
392
328
327
362
388
420
446
453
476
340
483
477
488
455
459
470
445
469
325
460
365
505
327
423
492
400
442
394
345
514
519
436
408
482
460
322
455
414
401
321
377
441
406
474
351
383
443
514
444
406
326
461
435
339
367
483
478
510
499
460
386
499
422
499
461
379
452
447
370
511
451
499
501
433
359
436
363
489
376
383
464
471
464
395
392
461
483
444
348
410
464
490
450
403
487
389
498
383
464
479
462
351
430
420
410
434
342
417
481
448
381
399
342
516
411
462
466
349
456
433
327
517
449
445
329
456
486
355
473
414
516
406
402
477
402
384
366
476
446
351
437
441
361
410
412
420
502
339
453
514
494
441
503
327
458
371
375
453
492
471
519
471
477
489
465
450
359
429
354
364
502
482
335
458
429
498
358
346
352
483
485
428
513
409
332
398
329
506
340
413
512
414
376
330
456
338
397
470
324
401
505
320
399
437
336
516
428
381
499
353
413
441
494
379
377
377
507
520
436
398
452
347
417
402
502
471
329
378
393
456
467
325
425
353
488
466
439
384
506
492
355
470
353
376
424
437
490
347
338
378
503
399
472
411
491
455
393
367
381
323
441
466
424
372
370
466
505
426
399
323
362
428
356
333
427
398
492
385
426
452
393
425
383
460
321
365
368
459
435
416
520
326
363
384
454
379
330
491
428
461
494
425
468
342
418
392
384
442
496
519
419
336
360
375
516
446
346
326
395
473
410
432
357
451
485
349
325
411
353
460
358
345
327
419
493
359
355
369
448
422
418
459
400
351
412
511
324
520
356
370
329
375
337
371
326
356
500
351
438
380
379
400
331
421
520
491
412
471
386
490
492
380
485
384
479
511
497
519
454
430
447
473
464
501
373
434
399
461
503
460
392
505
418
518
504
339
403
498
325
361
506
417
441
450
410
426
382
401
428
487
456
374
494
411
386
322
385
483
391
425
430
431
434
323
338
455
465
503
494
511
439
363
451
509
412
422
352
427
433
467
455
422
500
515
436
401
463
328
449
445
380
346
413
395
446
354
443
392
335
465
369
401
382
446
441
376
435
479
408
372
438
388
327
340
341
370
427
436
514
385
355
484
350
440
337
518
467
506
512
415
332
415
422
499
424
427
510
470
455
518
508
432
470
440
493
422
462
415
429
372
501
347
350
503
403
472
364
390
458
480
377
475
520
344
370
347
417
473
356
361
479
409
406
467
349
493
491
331
466
393
517
363
421
412
480
465
394
378
469
453
391
435
373
373
478
426
350
432
411
368
390
351
392
382
330
511
321
342
473
323
507
495
434
438
455
504
469
346
335
446
428
442
344
485
359
488
516
436
404
509
429
479
405
330
419
350
411
450
447
483
378
443
508
405
506
326
466
372
360
408
426
368
423
467
414
456
520
465
491
490
508
493
414
378
480
464
464
463
425
392
424
460
377
367
468
358
450
435
516
510
477
348
348
366
357
413
430
488
346
408
424
410
340
412
396
371
519
476
384
492
421
479
473
368
476
452
517
361
353
368
323
378
503
377
440
490
378
428
345
383
483
388
479
428
448
367
424
432
320
508
348
509
414
479
460
423
484
453
349
475
383
442
390
371
435
519
482
324
461
383
324
359
411
389
431
343
447
349
471
435
480
480
432
380
404
340
485
478
502
412
510
322
378
457
373
469
505
382
363
334
404
410
453
497
402
487
353
435
415
420
445
351
471
427
439
464
515
363
499
374
460
322
457
496
368
449
369
432
466
418
362
466
434
373
355
483
348
404
385
424
434
348
488
495
463
381
464
469
458
329
391
332
483
345
479
342
518
511
499
352
461
341
404
424
420
364
477
509
467
502
376
334
511
364
321
375
421
385
386
415
466
511
410
364
362
415
436
500
360
386
404
423
342
486
434
472
403
429
321
464
337
499
415
415
506
458
381
504
483
402
345
417
511
378
341
495
438
346
407
412
346
386
495
322
383
422
518
448
477
517
463
328
357
474
371
503
383
408
349
454
478
452
356
453
421
496
482
447
404
426
466
392
435
374
452
426
384
323
457
450
439
366
403
463
480
453
330
491
478
346
371
329
513
345
396
414
353
509
471
327
369
506
452
367
404
328
341
370
325
378
484
456
343
512
407
453
419
469
443
354
323
406
382
490
360
398
496
448
353
466
407
495
333
332
379
320
450
324
327
352
467
504
365
488
472
426
485
339
441
515
516
372
505
408
455
466
357
493
435
411
471
494
326
509
478
334
339
511
499
384
342
376
481
462
344
424
409
382
405
463
376
413
413
346
474
376
412
405
407
411
460
438
473
502
425
475
472
481
385
397
421
512
419
436
499
325
386
464
330
352
396
397
455
386
453
437
324
391
414
394
392
476
342
360
496
382
485
417
485
462
419
339
503
428
518
350
331
494
408
372
351
425
330
382
325
336
467
431
351
427
456
514
445
360
359
483
510
351
388
337
470
487
355
345
462
455
320
480
504
500
423
334
384
517
408
460
344
377
347
483
456
477
438
520
468
353
333
475
515
381
449
423
409
493
487
399
381
446
368
444
518
340
361
398
358
390
457
353
387
431
414
385
484
502
405
509
423
342
515
466
403
321
375
518
320
494
376
444
433
412
420
324
423
328
352
516
351
322
345
496
450
470
468
460
471
480
502
410
320
455
496
447
348
361
447
401
475
421
458
333
519
394
498
420
519
519
496
375
323
333
455
467
359
427
359
341
509
476
393
461
461
421
518
330
411
383
380
494
437
354
409
444
354
436
507
427
419
463
381
391
474
507
413
460
325
349
401
463
472
357
463
406
499
384
389
477
481
411
500
497
409
462
323
459
516
353
345
385
342
341
350
365
394
378
446
467
454
424
339
342
326
331
417
331
448
492
518
362
424
338
356
421
345
512
469
399
333
445
385
394
510
414
466
327
497
413
330
497
397
491
370
432
381
432
470
332
405
383
450
472
467
465
447
456
323
348
445
447
496
409
489
389
330
399
511
334
487
348
323
505
474
335
468
499
431
328
430
497
321
354
413
387
396
453
377
514
336
350
512
500
451
350
355
495
442
481
348
401
365
327
434
408
373
364
356
427
496
326
429
386
344
519
476
496
436
441
386
323
491
386
380
469
422
439
500
382
327
484
472
492
366
501
330
514
420
403
343
410
391
348
440
431
498
398
455
491
441
443
455
498
479
411
479
473
363
358
405
414
449
485
349
340
434
518
436
482
484
346
345
400
354
358
440
322
491
364
400
345
422
336
329
348
347
417
364
454
384
412
469
384
457
437
470
486
484
482
355
498
449
463
427
354
347
401
423
463
464
350
464
335
483
489
378
425
502
513
370
454
465
368
513
340
459
378
379
377
440
398
450
335
422
505
430
342
365
455
338
518
461
516
450
374
496
438
363
454
500
509
451
511
438
454
392
470
467
408
366
360
428
441
436
324
502
332
321
488
322
386
398
480
489
337
359
403
428
495
402
348
431
490
409
408
512
397
516
499
463
500
351
365
329
500
480
363
496
483
425
387
397
520
352
379
454
498
401
492
518
401
482
520
394
490
320
456
514
367
417
365
432
323
404
333
443
357
477
435
388
356
423
501
496
421
323
507
340
404
456
394
443
422
416
410
345
495
437
468
515
510
337
405
361
358
427
503
361
397
517
512
354
403
445
427
384
323
325
332
455
349
507
467
395
383
368
426
356
360
448
467
386
327
505
507
320
520
368
373
452
329
333
371
387
467
374
396
335
387
385
341
321
356
517
439
498
486
355
493
440
404
359
441
385
513
331
382
400
416
499
431
510
461
501
401
462
435
445
344
391
446
396
511
395
364
429
347
413
339
360
462
433
409
387
382
359
325
451
510
326
384
414
454
350
477
402
359
411
501
446
320
397
481
472
355
365
401
516
474
470
453
443
333
504
452
513
518
500
462
331
387
341
392
456
481
490
415
348
473
345
320
376
353
494
388
342
362
434
345
440
444
511
341
402
491
455
445
411
325
453
434
371
506
509
472
408
356
506
356
326
503
478
389
361
468
486
325
393
501
488
365
475
379
465
462
330
346
513
408
335
401
327
381
373
498
380
376
506
441
437
404
387
438
399
516
452
405
518
345
342
415
439
469
384
467
442
444
379
490
456
340
472
340
517
386
503
336
446
464
327
396
421
385
417
451
452
503
350
438
425
509
372
391
362
361
405
376
346
356
411
364
480
333
358
496
516
392
372
320
485
355
398
336
457
380
354
447
405
442
421
402
494
341
490
363
348
520
349
442
377
375
511
387
407
484
517
382
398
408
410
511
356
511
324
506
417
383
380
464
337
507
409
459
343
465
446
335
354
378
354
345
377
476
387
441
424
340
354
409
392
514
510
450
492
449
484
369
481
445
511
417
360
353
363
481
373
323
480
353
425
326
504
320
384
385
341
323
467
405
473
475
471
470
510
481
423
519
356
483
467
377
413
402
451
386
515
423
474
383
377
385
408
374
387
446
475
408
509
459
392
468
401
365
378
462
447
351
518
467
510
371
387
462
417
479
326
464
394
456
408
427
351
396
489
420
396
517
460
406
421
520
487
348
336
335
332
402
406
471
441
462
470
445
399
461
458
323
485
430
421
390
510
423
484
348
366
344
452
405
479
510
361
511
459
468
405
333
412
474
332
396
384
415
449
468
485
376
414
419
478
334
476
419
492
393
345
480
405
401
515
498
484
427
369
359
433
424
484
457
412
471
339
425
467
352
357
360
366
423
470
493
453
476
395
442
482
494
322
364
378
389
332
420
434
387
488
482
519
356
442
462
391
388
437
416
401
380
428
461
410
395
328
459
379
382
348
461
412
405
375
452
382
467
514
392
475
331
424
384
324
406
389
448
487
510
496
467
438
469
419
472
366
340
400
405
439
520
485
410
440
440
346
338
391
398
348
519
430
386
446
508
459
422
353
387
369
489
492
469
467
361
427
463
387
385
485
326
509
489
470
350
519
439
408
414
439
501
497
358
472
391
439
401
324
507
355
446
414
429
480
470
353
357
338
504
489
423
436
469
503
389
435
508
451
404
460
494
390
455
475
484
409
399
503
434
489
407
414
442
369
462
446
364
428
424
484
408
341
384
473
451
507
433
420
372
348
367
358
326
381
484
516
465
511
486
453
449
355
354
457
337
429
422
399
391
464
482
426
363
458
337
461
458
466
373
327
434
461
336
352
482
360
390
320
344
483
433
474
490
371
388
453
434
363
416
481
456
402
364
415
461
444
516
345
363
429
429
469
339
423
487
399
473
490
507
485
386
334
519
515
483
415
487
450
438
348
393
365
466
325
352
517
367
460
475
415
417
438
475
324
331
466
424
434
454
452
510
421
470
460
385
488
482
384
379
392
436
455
360
438
389
416
386
403
347
346
477
407
465
368
329
448
355
346
448
427
498
369
347
350
456
496
408
472
321
465
510
387
489
490
496
452
370
421
349
384
475
457
348
437
336
475
362
428
408
496
433
386
354
419
428
445
489
445
394
503
339
384
343
349
335
385
505
415
423
351
334
486
397
448
330
384
459
482
341
448
494
325
408
499
342
367
470
431
487
436
334
428
499
472
514
452
366
456
331
466
336
384
424
423
435
335
389
446
390
435
350
405
326
515
362
324
362
356
368
508
359
438
486
445
482
382
417
398
502
342
360
517
351
506
355
470
341
360
418
394
487
439
404
471
341
345
338
322
504
347
420
413
506
520
352
403
386
377
503
502
398
327
416
337
494
346
454
481
343
357
514
404
329
460
375
369
349
378
510
327
361
468
368
457
509
456
449
448
492
485
498
342
356
387
462
520
345
418
350
398
437
497
327
386
386
371
426
493
455
516
445
467
354
427
449
463
442
385
465
466
476
356
341
423
352
469
349
514
407
488
463
516
320
422
501
335
391
507
497
331
507
409
399
322
406
426
511
410
383
411
358
472
356
500
493
408
422
495
452
356
456
453
361
484
435
413
375
338
353
350
444
345
475
366
455
431
469
433
489
450
336
354
456
365
424
512
509
354
426
401
511
423
391
455
354
508
488
344
480
450
428
349
453
402
358
379
374
437
414
462
451
461
511
404
423
363
413
345
333
489
363
451
367
356
378
397
402
454
380
367
403
369
377
408
432
354
508
471
414
375
520
512
396
384
511
359
396
497
456
516
467
514
460
429
501
341
380
443
404
385
473
394
385
493
489
494
336
475
340
357
347
414
364
507
373
448
326
481
337
499
520
437
446
362
511
417
404
444
480
375
363
411
458
444
340
465
378
389
433
344
467
323
497
520
379
506
356
517
395
426
499
352
390
419
493
393
452
491
514
388
508
334
422
417
462
350
366
450
363
449
478
348
459
422
322
486
505
502
494
434
457
448
403
474
325
421
441
515
479
508
382
512
490
467
376
453
512
383
469
463
461
452
448
407
329
329
377
443
343
497
501
444
328
425
343
409
466
326
470
466
345
511
354
412
359
505
466
512
426
416
471
463
451
465
335
333
402
431
467
516
384
467
488
346
426
404
352
468
410
380
416
324
361
424
379
349
399
398
338
403
423
327
356
505
481
390
338
323
349
357
516
465
409
451
482
438
357
331
469
366
492
480
347
509
321
419
331
511
328
339
381
381
504
490
377
511
475
334
516
359
412
507
455
392
381
483
375
436
361
334
349
360
335
347
412
520
431
511
472
329
482
335
349
358
400
484
458
395
428
361
493
460
390
459
455
466
515
489
423
482
362
351
363
443
500
349
503
376
510
437
507
450
485
467
440
471
450
362
354
506
472
457
484
493
322
335
376
353
461
489
468
390
375
514
387
470
358
337
342
434
400
413
444
367
414
401
419
446
482
439
469
327
512
334
353
420
369
395
428
491
499
357
516
516
482
510
382
352
365
450
380
452
352
417
354
349
511
443
400
448
340
417
368
446
389
456
354
476
506
325
341
452
480
387
330
417
497
373
513
342
407
332
476
338
454
456
510
487
471
389
322
345
404
348
449
422
369
438
505
411
357
327
336
501
520
520
439
448
411
392
517
320
442
361
377
350
396
404
344
330
347
513
328
349
501
490
465
434
344
474
486
475
439
382
471
349
514
517
351
435
425
486
450
422
369
390
391
420
385
482
488
347
475
459
335
420
325
328
452
323
378
390
431
471
349
424
428
497
381
409
440
483
507
464
487
432
501
407
455
336
482
501
471
325
353
473
326
351
436
505
508
510
399
421
389
335
518
440
329
519
394
332
484
427
391
503
397
460
393
405
488
344
345
400
452
336
412
329
465
465
369
415
374
413
340
369
327
458
394
473
499
499
330
389
474
352
355
342
382
329
443
360
404
359
401
351
512
353
475
505
484
342
428
455
427
492
491
483
402
407
501
460
435
403
458
452
387
512
434
414
481
507
348
337
507
506
361
451
483
375
460
492
354
512
330
488
362
335
321
464
429
358
433
413
401
343
458
384
360
366
507
432
433
432
418
444
428
497
371
486
434
455
430
513
427
416
396
462
491
432
386
349
417
378
405
494
367
395
459
464
493
420
434
414
322
404
407
507
320
360
410
381
391
434
377
479
498
350
384
499
333
482
401
375
401
351
361
375
517
339
371
465
396
425
412
423
324
409
352
358
435
355
515
376
373
486
506
384
398
469
469
485
474
438
386
453
436
322
519
501
355
373
489
497
474
488
470
430
472
448
477
340
337
364
459
482
349
409
504
507
365
515
369
374
409
393
343
339
393
482
337
434
390
437
424
501
341
391
339
404
439
472
347
413
391
447
456
459
321
382
362
498
480
419
367
402
456
499
400
415
472
407
369
389
411
456
471
502
383
514
323
519
392
505
453
441
404
518
366
490
431
420
430
519
439
373
427
415
511
370
428
354
453
407
421
425
480
360
455
373
503
325
383
437
503
428
435
324
346
519
479
513
326
434
463
414
494
477
454
399
415
331
334
510
324
469
466
405
487
461
452
399
400
422
463
368
426
501
487
466
439
382
447
400
321
509
420
396
370
393
456
428
468
397
435
429
502
502
508
475
360
454
448
505
397
338
452
344
499
493
401
375
407
390
348
354
506
516
397
407
509
243
209
236
250
202
204
205
230
213
206
228
240
244
232
211
201
228
245
214
211
229
236
202
245
250
206
234
232
242
229
212
247
244
207
219
205
205
238
248
206
217
227
231
201
206
208
203
232
228
247
222
215
215
238
250
218
223
241
206
204
230
239
230
223
246
218
203
204
245
221
231
215
220
206
241
206
205
212
234
230
248
227
216
206
219
246
241
239
235
224
219
238
223
243
205
244
202
230
221
250
221
226
213
229
247
244
239
230
201
219
226
210
246
216
244
203
200
246
237
207
246
219
228
209
250
233
231
217
230
231
242
237
210
227
216
212
220
232
242
228
230
207
226
242
249
224
245
217
239
214
201
230
224
203
233
206
217
209
250
235
232
233
236
221
226
242
249
238
224
200
224
246
200
228
244
244
211
203
220
249
237
222
202
223
220
218
208
239
244
200
219
223
204
245
247
227
250
242
231
250
224
233
210
219
233
222
215
204
244
210
221
214
215
212
248
231
240
214
228
206
239
236
227
243
219
202
242
233
214
205
224
208
221
250
244
209
241
228
220
211
210
229
210
204
233
217
223
238
200
216
213
237
227
235
220
231
242
216
203
211
215
207
203
235
210
212
221
242
221
206
233
218
232
200
227
217
249
210
241
203
234
219
220
217
223
205
220
205
223
231
237
236
246
250
243
204
232
210
233
216
223
213
228
242
210
212
202
204
218
216
225
214
220
225
221
220
232
207
250
222
202
228
220
241
227
214
239
217
247
200
210
249
243
214
204
210
249
217
244
244
230
229
219
205
247
235
240
209
209
233
244
250
237
236
229
233
225
247
221
221
248
210
236
217
225
217
233
217
204
243
202
213
241
221
239
204
244
237
245
205
211
237
216
221
238
237
250
219
208
238
210
229
205
202
236
201
243
228
237
227
229
244
205
235
216
201
242
241
223
215
215
208
201
219
203
206
235
233
234
247
208
220
226
247
222
243
232
241
202
216
247
212
242
208
201
205
213
241
225
232
221
234
210
230
216
238
246
212
225
228
231
227
210
226
243
224
221
224
203
249
231
211
243
219
250
202
210
221
205
207
208
201
212
250
218
207
243
230
250
247
247
221
228
221
211
239
212
245
209
243
204
202
240
206
243
209
238
233
223
228
231
206
219
233
228
240
211
236
207
205
219
236
237
249
210
244
239
239
239
238
241
237
220
239
245
214
227
215
235
216
203
228
227
204
242
227
238
235
216
244
245
248
217
214
241
247
228
219
233
208
203
249
218
210
204
218
211
240
234
231
209
232
204
246
222
221
218
220
209
218
204
236
228
227
215
241
233
227
236
234
239
233
220
218
223
217
228
230
205
242
220
227
204
227
225
237
206
247
240
206
220
209
246
248
215
200
244
222
236
219
215
216
224
237
239
210
209
245
206
213
249
221
216
236
201
242
227
245
233
246
235
241
202
237
200
205
220
228
228
235
248
245
214
238
237
241
201
241
249
249
221
215
248
222
243
234
238
250
212
250
212
224
225
206
204
238
230
212
229
223
250
218
224
242
223
215
226
233
243
209
243
205
211
211
211
229
205
215
237
221
215
207
216
230
228
203
219
204
217
234
212
219
229
211
219
240
201
239
208
232
210
228
206
201
241
250
209
234
237
242
221
243
231
235
241
205
208
205
219
234
240
226
217
243
236
247
246
241
220
245
230
234
209
206
205
218
209
201
217
244
205
209
224
233
204
207
223
211
241
216
239
248
240
210
249
206
244
232
207
244
245
243
211
237
227
229
245
240
234
207
246
239
242
213
219
205
238
211
220
200
225
212
245
231
200
224
201
210
210
235
244
205
217
215
242
221
230
247
228
237
203
235
203
241
227
203
202
209
224
249
236
234
218
211
219
231
232
233
216
204
201
213
220
219
203
237
241
249
243
228
240
216
233
226
238
202
206
244
227
243
229
250
210
248
213
235
231
220
218
248
225
245
246
202
233
231
209
229
211
204
248
250
220
240
231
212
238
200
212
238
206
248
230
217
244
238
209
240
228
231
211
233
234
229
201
226
238
240
238
200
249
227
212
231
212
225
249
247
247
232
209
217
242
235
214
223
244
219
207
214
233
227
239
219
238
202
213
217
240
248
221
250
241
204
219
248
202
207
244
214
224
215
200
221
226
215
248
215
238
212
221
206
246
206
247
247
243
222
246
219
228
238
214
204
236
240
247
243
212
224
219
250
222
232
207
200
247
250
223
247
235
237
209
231
237
245
218
220
201
207
235
224
232
250
210
249
240
224
202
216
203
206
203
201
224
238
210
248
234
235
248
245
201
246
206
209
205
219
220
227
209
236
222
228
236
216
200
211
234
208
229
214
214
200
211
206
202
240
213
213
214
226
245
234
213
243
218
247
234
248
225
231
233
238
201
229
222
211
250
214
226
214
239
246
227
250
217
230
245
221
241
219
204
217
245
231
242
224
237
207
239
239
241
203
249
219
223
237
227
244
243
211
214
233
224
226
222
240
207
223
239
235
212
233
238
245
226
232
219
228
211
205
210
204
238
240
243
212
211
239
211
231
222
208
219
213
223
213
215
248
246
219
207
211
248
208
234
214
239
220
243
210
222
247
219
224
238
232
221
241
217
228
227
222
220
232
224
224
225
208
250
245
220
215
226
241
227
201
218
222
219
214
223
243
215
232
209
209
238
225
250
245
204
216
204
204
237
213
228
249
246
243
226
204
229
201
241
246
202
240
218
245
232
212
205
234
245
241
228
219
214
212
213
232
201
207
248
247
206
211
242
221
232
231
211
218
215
200
217
250
244
245
205
250
215
247
232
239
248
248
204
238
250
201
200
217
208
230
211
237
236
225
211
209
210
208
211
206
201
201
239
209
206
237
239
228
245
221
222
206
223
216
235
218
235
234
200
226
216
208
208
208
237
228
220
206
230
235
218
250
215
221
243
203
241
240
201
248
231
249
226
232
224
208
231
231
238
240
220
215
214
240
236
227
201
214
216
242
204
238
227
206
214
226
244
220
239
221
222
223
229
249
220
250
228
220
244
203
232
224
215
219
231
210
232
246
240
229
204
235
235
214
201
231
233
222
208
211
227
224
235
211
234
247
224
219
215
201
240
243
218
219
227
223
210
244
230
242
222
210
234
232
231
226
203
223
204
230
236
222
229
219
244
200
248
232
203
224
208
206
221
218
234
208
241
238
222
208
200
232
233
248
216
243
208
231
201
231
242
231
234
222
235
221
206
239
241
247
233
250
214
229
216
212
236
219
239
244
242
245
220
235
215
244
231
237
216
201
243
214
208
244
210
209
249
249
225
245
246
201
234
245
226
240
224
220
237
221
200
241
250
238
216
238
244
248
229
235
235
237
201
200
218
230
207
247
219
217
225
231
221
225
227
249
207
213
230
223
242
232
227
224
235
239
230
213
202
218
233
207
207
228
220
212
221
200
201
206
245
239
245
217
245
242
232
219
238
229
213
241
218
204
213
228
216
209
241
238
248
227
220
228
211
224
201
233
248
220
239
221
238
248
236
206
246
235
209
208
229
215
210
242
210
234
213
223
243
215
215
217
220
220
247
203
244
229
230
240
215
225
222
233
213
229
228
212
200
211
250
204
218
206
226
226
245
230
211
222
212
219
219
202
221
249
204
205
226
212
219
233
236
232
202
216
212
232
200
219
220
217
202
223
219
233
229
231
247
245
230
221
235
236
225
220
236
201
205
234
235
235
218
201
217
204
200
238
201
201
219
236
212
246
231
205
232
218
245
208
225
235
244
224
234
225
236
246
246
232
228
200
236
210
248
213
220
250
200
214
200
204
208
237
246
241
250
242
214
203
223
206
248
210
210
219
201
249
225
230
217
247
231
206
221
213
208
239
242
209
232
210
217
218
208
233
238
236
222
217
247
239
237
213
207
235
202
225
243
221
223
204
221
249
208
230
243
213
247
225
249
212
248
209
214
234
246
212
246
221
214
209
248
216
234
214
248
219
209
244
230
221
244
215
238
200
244
229
249
205
211
209
226
250
205
250
245
238
215
217
247
217
249
219
209
231
235
212
239
216
237
226
220
241
203
224
209
222
246
243
250
203
236
246
227
225
239
236
205
216
247
203
208
232
248
244
248
226
241
247
210
202
204
206
228
230
208
201
234
245
204
200
232
221
233
232
223
241
214
207
210
219
206
239
218
241
207
248
226
216
235
245
205
216
243
217
240
201
237
202
206
213
250
250
223
238
247
245
210
248
232
214
224
203
244
242
202
230
249
232
226
201
245
233
218
235
207
246
233
220
233
237
246
236
214
222
240
209
240
226
208
242
220
228
244
250
238
204
232
218
207
250
206
226
221
236
229
228
218
226
235
224
201
206
201
235
211
249
245
209
234
206
238
216
246
248
215
242
211
223
235
231
220
218
242
206
233
214
225
250
250
246
219
237
212
244
215
222
226
227
231
220
213
245
206
235
207
225
228
211
234
206
207
236
231
226
220
207
222
204
241
239
212
216
231
208
203
207
214
246
246
219
205
220
210
239
233
220
206
215
240
231
205
225
200
224
216
219
249
206
228
230
206
226
233
249
228
249
250
226
212
217
200
227
221
206
249
225
228
228
228
209
223
243
226
233
203
210
227
222
212
238
224
243
245
228
213
223
204
240
218
240
211
230
246
216
245
232
246
228
234
213
211
218
207
228
212
209
229
230
207
245
223
215
241
227
228
242
228
227
206
212
235
205
243
232
202
231
233
229
221
237
246
216
243
225
204
223
210
225
223
240
217
225
245
243
237
236
202
239
247
237
250
205
215
213
231
226
218
246
209
200
217
214
250
203
206
233
210
246
233
221
223
207
220
200
226
234
227
201
202
249
235
210
201
238
215
246
218
209
228
206
220
218
250
218
212
205
210
221
218
246
249
236
219
223
247
224
247
200
226
233
231
241
243
224
202
239
207
246
217
247
221
247
230
217
218
234
205
221
219
214
222
212
216
234
212
250
213
200
213
216
234
203
228
209
247
231
214
214
207
227
248
215
229
207
210
243
224
234
220
205
211
247
217
209
247
246
246
220
230
221
247
245
212
248
231
214
243
205
241
248
243
205
227
221
214
207
241
227
248
250
209
227
246
244
241
240
206
209
213
248
206
200
240
218
243
217
228
214
222
249
223
212
205
201
243
217
209
248
219
208
208
233
242
240
201
231
249
213
233
229
246
212
219
249
210
229
238
223
218
222
215
234
226
244
241
230
228
222
209
209
243
234
205
242
213
243
247
217
221
219
236
206
214
204
212
228
205
221
250
220
200
205
237
212
235
220
208
232
227
209
211
244
224
236
224
236
246
232
243
223
224
228
231
240
214
224
228
246
235
249
210
243
239
211
221
209
213
208
247
239
224
200
206
227
243
207
243
246
242
216
244
229
216
222
240
225
248
210
236
230
220
203
223
208
227
231
240
229
244
213
209
238
226
229
246
200
219
203
200
229
223
223
203
210
226
204
224
213
228
224
215
238
220
239
228
230
214
246
209
225
229
241
205
234
205
200
233
213
219
223
224
201
235
245
234
224
240
213
235
206
240
217
216
207
242
240
223
216
227
228
249
233
213
224
219
247
213
241
218
241
201
235
240
221
246
249
221
210
212
237
240
210
241
202
228
201
206
207
210
227
221
215
230
214
247
204
245
226
216
201
241
211
204
234
212
210
248
228
245
243
241
239
220
213
247
202
208
232
250
243
247
200
209
244
239
215
229
226
237
224
240
249
221
203
240
224
226
222
226
217
240
235
207
205
201
210
231
213
215
204
205
224
213
202
222
239
239
235
248
239
226
246
221
250
209
227
238
222
243
245
226
249
209
209
213
200
219
218
237
207
221
221
221
226
228
201
238
227
201
210
243
241
237
216
214
211
250
208
218
219
240
233
240
247
239
220
227
225
223
243
202
240
235
207
201
214
218
218
203
234
218
208
241
248
210
238
204
212
205
227
209
234
247
216
218
215
240
224
231
205
216
241
218
235
207
232
219
227
206
215
217
216
249
210
236
232
231
214
250
214
228
248
223
230
245
244
225
237
226
224
226
205
231
243
227
250
209
247
220
236
214
227
203
227
227
209
230
240
213
205
229
221
224
223
227
244
213
250
215
237
210
227
212
203
241
233
235
202
210
230
227
237
232
214
202
243
230
240
202
228
211
234
228
234
212
208
223
225
211
232
238
214
213
222
206
210
238
243
231
246
214
244
236
206
250
224
204
217
229
248
223
242
241
216
220
214
209
213
220
224
226
234
250
242
219
230
224
227
213
248
225
229
223
222
229
208
248
209
216
226
202
229
220
228
203
223
209
210
210
200
214
227
228
224
216
218
242
214
238
200
206
217
219
209
247
224
240
227
245
210
223
218
206
246
239
241
210
238
233
216
207
247
244
224
236
241
221
223
208
224
212
212
214
209
238
226
247
210
230
250
235
204
247
222
209
233
229
213
250
248
211
228
241
223
244
245
208
232
201
205
216
212
200
239
209
213
206
243
208
219
249
214
215
229
225
240
227
226
226
213
242
202
234
245
224
231
225
228
233
234
208
243
216
219
210
202
222
205
225
215
231
213
246
249
202
200
233
250
234
239
236
212
244
213
226
228
242
248
238
211
206
225
209
228
227
229
236
241
206
205
200
216
231
222
242
235
217
214
217
215
217
237
234
235
216
234
248
250
248
211
200
249
238
227
213
237
230
213
208
234
245
231
243
238
224
205
241
219
202
237
244
204
223
244
226
250
231
216
244
250
246
227
215
226
221
230
217
249
215
205
209
214
242
216
247
205
243
247
209
210
208
247
249
218
217
218
217
237
234
247
228
234
236
233
250
238
234
226
201
213
205
250
231
249
217
202
237
237
229
229
202
224
249
203
202
224
249
206
240
227
204
250
202
204
220
238
204
201
221
216
221
229
208
216
247
231
230
203
224
249
216
224
241
203
232
234
225
206
222
244
247
212
208
234
246
232
200
216
222
203
215
204
211
238
204
217
236
246
221
211
228
223
211
217
243
202
225
200
231
238
216
208
239
208
242
244
249
234
236
205
212
249
234
210
207
237
200
230
207
246
226
225
200
247
241
229
222
241
214
230
220
222
245
226
226
206
240
210
238
244
241
204
207
231
241
234
213
250
226
250
209
202
220
249
208
222
244
247
232
202
219
209
232
240
221
245
249
211
238
208
226
240
216
229
237
234
237
241
233
217
246
202
211
209
210
210
246
234
208
206
207
209
237
206
243
227
241
214
239
211
215
232
220
243
204
220
223
204
238
215
221
204
236
238
226
218
220
225
219
202
204
247
218
204
209
241
200
237
239
244
212
234
233
235
202
235
217
249
222
226
232
212
250
241
230
226
223
226
202
210
215
236
202
238
203
244
244
204
222
213
216
246
226
216
221
229
239
206
216
234
224
225
222
232
249
233
230
212
231
246
235
206
231
238
227
244
244
237
241
245
242
200
220
226
216
204
204
205
240
232
219
206
202
218
227
216
246
210
202
207
215
223
216
211
236
207
239
205
204
210
233
244
233
226
213
226
226
243
214
238
226
235
202
205
208
216
213
232
201
220
202
250
213
218
216
245
208
222
219
223
228
211
202
217
242
226
221
210
240
221
207
202
208
209
239
248
227
206
242
247
215
249
204
209
243
229
248
245
224
202
248
249
238
205
220
217
214
234
225
241
235
208
237
217
214
239
250
236
351
419
500
351
422
384
508
476
395
449
327
326
466
432
352
395
374
436
370
467
393
367
375
513
506
406
410
497
358
414
390
496
386
401
349
411
388
393
356
414
473
473
435
473
371
454
406
491
376
378
409
386
497
388
509
327
514
352
326
363
393
474
489
382
495
490
444
495
446
415
404
339
434
446
373
389
496
339
365
389
349
460
503
337
507
499
326
476
474
450
467
447
358
454
383
341
355
463
412
412
349
502
510
513
341
475
338
421
377
320
456
329
364
511
349
360
475
471
354
442
374
330
478
422
415
495
347
366
407
501
379
355
379
368
381
500
373
387
419
410
482
321
477
353
352
361
355
346
397
412
324
509
399
456
323
416
485
451
484
387
478
508
457
427
489
498
513
372
469
475
485
506
518
501
476
378
451
357
336
424
358
452
498
511
508
413
494
454
387
430
465
383
473
413
346
489
400
473
371
479
470
337
493
359
338
327
442
455
422
364
369
478
457
465
495
388
516
516
337
448
440
502
369
435
411
447
350
510
379
435
454
420
476
402
477
411
517
445
361
472
379
405
349
380
469
386
456
390
415
336
337
502
326
484
474
348
416
393
421
484
516
479
383
501
508
480
449
517
438
470
381
349
386
401
446
504
327
470
513
320
405
351
469
407
366
349
390
517
508
469
351
445
343
369
332
377
487
400
484
322
373
378
347
387
461
486
471
494
354
446
439
503
450
416
345
404
353
406
413
459
504
483
351
355
452
496
434
332
354
385
415
364
328
474
393
491
459
371
493
377
345
454
357
471
449
351
341
382
357
359
504
400
460
417
331
490
392
400
369
402
474
447
416
330
510
454
403
359
405
391
513
332
365
342
483
384
444
352
467
348
382
430
342
415
327
338
506
494
477
390
392
476
423
381
445
440
473
493
483
353
405
449
338
489
446
386
418
520
329
374
356
386
437
467
515
424
450
384
355
487
418
378
384
345
404
432
465
486
490
329
343
413
412
336
365
489
339
516
337
488
349
483
367
330
326
516
514
502
428
378
326
437
471
450
389
432
508
396
438
352
393
480
504
371
415
362
461
486
429
473
469
425
404
470
436
332
491
323
432
384
467
517
367
487
400
469
385
463
396
508
496
480
494
391
499
508
383
448
402
498
395
476
322
358
338
357
446
490
320
462
462
490
449
441
360
444
517
504
437
322
425
355
370
418
476
430
510
391
491
434
420
351
487
506
406
400
338
450
359
367
369
472
390
338
487
378
347
480
326
339
322
452
499
437
466
375
359
356
499
437
437
456
498
329
347
410
497
411
417
323
355
390
346
484
402
340
497
515
490
438
452
515
510
477
364
393
385
399
397
432
369
428
500
329
415
456
349
326
344
398
501
431
428
515
399
467
377
422
511
387
429
498
323
446
496
435
477
320
445
408
486
373
372
508
340
455
513
490
479
411
383
327
505
322
448
327
480
390
493
480
405
417
380
460
330
321
493
328
363
480
349
408
508
477
447
445
485
476
442
354
436
506
478
470
519
341
383
332
405
321
428
371
419
501
325
371
504
340
436
322
457
320
400
349
346
345
353
461
355
469
335
327
324
452
517
364
420
345
326
344
495
486
462
431
381
347
490
384
451
510
436
428
379
508
420
326
375
437
339
385
338
481
421
362
320
384
354
419
403
434
492
339
502
410
434
371
339
374
371
351
474
494
446
372
390
460
501
425
469
413
504
419
342
492
393
369
420
488
443
472
386
412
408
404
430
482
443
513
342
497
394
398
391
477
478
411
489
443
428
489
446
506
383
429
345
482
336
485
415
472
462
338
431
462
440
340
438
335
508
350
472
327
428
344
348
418
444
473
377
425
424
508
373
444
499
446
332
375
362
448
511
363
489
378
393
347
401
379
374
364
373
446
432
471
420
493
466
324
325
342
487
386
467
468
514
342
366
501
377
337
335
361
507
466
423
490
386
425
342
380
462
454
367
504
332
374
398
363
439
517
334
335
403
488
482
464
425
446
471
508
356
343
514
411
427
383
441
430
423
487
444
409
404
486
361
327
388
427
491
463
431
357
350
405
409
449
502
385
506
495
457
492
409
351
340
422
365
373
511
359
372
468
465
395
445
323
428
464
405
466
356
382
396
483
384
495
434
485
408
412
450
435
423
359
489
407
343
377
421
346
438
508
343
327
411
511
345
509
406
414
482
423
491
430
418
491
394
416
408
492
334
428
381
414
446
405
393
491
428
459
509
408
470
321
333
448
355
437
468
400
357
445
356
391
338
510
366
325
508
330
483
459
455
400
513
413
347
383
504
350
489
466
508
443
477
385
406
406
373
403
333
466
487
516
360
424
434
414
419
432
396
400
500
470
384
325
383
354
398
346
496
479
413
502
430
489
450
415
332
514
490
406
423
412
447
495
518
502
396
326
461
496
520
496
480
423
408
441
457
468
409
352
450
475
396
383
432
460
423
424
461
430
328
404
455
333
464
457
509
484
350
330
388
510
415
473
412
453
483
499
366
515
467
342
450
347
453
471
394
502
407
328
451
494
484
347
369
332
492
461
422
333
462
432
492
327
351
455
408
420
358
511
407
326
396
389
473
508
348
323
390
504
502
357
386
377
338
425
479
468
389
452
372
422
485
388
353
430
434
487
358
343
325
407
479
356
375
462
365
451
509
376
486
334
517
357
347
454
460
506
518
373
331
515
359
505
330
400
513
346
324
491
506
509
387
360
333
330
426
457
416
423
514
432
464
338
478
404
323
350
334
439
372
351
483
331
340
329
454
360
396
432
361
498
516
519
495
324
408
428
453
406
458
438
419
441
432
410
388
411
475
355
333
502
356
440
362
448
342
518
399
408
477
339
340
475
473
359
470
340
429
358
517
494
474
471
452
330
468
474
368
489
333
457
325
407
412
353
419
344
443
375
322
508
487
366
404
385
416
377
385
412
440
505
392
504
329
500
494
431
327
442
510
447
465
493
458
359
509
498
349
418
334
427
370
365
510
330
433
441
349
406
483
387
402
429
374
474
461
479
433
403
511
480
406
468
508
434
335
368
470
403
476
366
512
432
486
325
436
430
400
436
451
506
398
466
378
438
512
429
379
513
509
451
377
499
393
451
325
425
381
408
392
497
362
372
341
470
519
414
338
478
331
478
398
516
429
468
376
406
337
475
495
454
518
449
420
355
321
384
445
505
433
442
502
475
399
366
403
411
466
395
461
366
516
393
492
450
349
369
332
518
483
370
506
356
371
499
450
482
334
494
346
337
421
435
443
371
417
366
414
507
368
388
436
474
486
437
504
422
427
349
357
464
335
358
341
356
405
447
374
414
381
516
343
380
490
338
407
433
425
450
428
513
326
496
457
478
345
471
517
506
333
463
413
402
425
323
388
343
347
388
446
513
386
494
420
350
343
408
402
485
330
511
463
479
337
386
382
371
408
449
386
420
506
365
410
376
362
363
366
381
437
376
454
476
448
452
350
385
392
443
345
348
371
345
454
432
391
390
492
446
441
421
353
514
405
370
436
452
353
436
325
403
447
374
479
340
396
343
376
501
364
461
516
455
443
371
389
470
489
455
479
358
422
397
371
516
420
355
347
455
412
363
408
405
517
458
398
482
489
422
375
341
321
348
466
515
382
423
515
491
428
511
398
475
391
373
487
380
424
498
449
432
400
371
480
483
377
507
509
350
403
445
476
433
500
437
346
475
496
336
475
494
398
439
336
351
428
519
331
354
372
414
435
460
370
482
411
492
344
405
434
460
467
442
370
517
491
361
351
386
343
357
477
365
452
413
499
334
465
482
372
444
508
431
364
377
383
334
495
367
504
427
357
499
347
417
321
449
347
496
402
359
425
440
383
329
381
486
416
352
479
400
326
494
449
503
505
418
377
475
512
415
459
382
401
462
371
471
416
428
346
516
425
427
358
417
380
339
328
446
320
324
370
484
370
519
449
512
404
365
510
510
471
504
325
394
516
495
498
503
422
378
511
439
414
448
371
409
329
430
338
375
436
466
518
349
375
502
472
422
383
506
352
327
356
388
443
487
464
457
329
382
376
372
488
448
420
418
332
510
334
364
452
326
340
503
374
478
435
391
450
409
460
457
516
505
400
334
417
514
378
408
381
401
486
405
348
387
494
371
393
510
455
338
502
397
495
383
382
374
470
513
407
447
382
443
469
354
460
465
397
383
357
346
323
497
460
355
488
440
504
484
424
440
375
382
427
430
336
412
487
453
520
485
410
519
361
497
390
321
469
460
425
483
482
383
490
502
455
405
337
483
445
377
403
415
421
368
458
353
351
367
466
473
366
396
340
482
349
452
363
371
443
390
468
352
472
323
515
322
347
338
338
368
430
321
509
485
388
462
466
348
397
440
356
343
346
334
386
464
415
423
403
473
467
492
381
446
513
415
329
337
421
403
434
441
330
429
458
386
461
493
425
466
368
366
397
389
436
334
364
362
484
371
383
425
374
375
444
407
329
519
490
371
434
400
400
320
437
507
502
470
445
399
451
454
401
475
423
333
334
321
356
517
449
501
489
426
367
436
332
517
320
492
407
499
345
487
365
325
320
350
515
507
344
404
443
499
323
429
322
381
419
473
325
339
365
447
366
489
378
482
463
517
440
440
366
470
377
457
465
419
320
446
395
426
348
372
456
324
352
432
444
333
442
430
502
425
467
502
456
397
414
380
323
504
398
391
505
510
435
435
323
381
431
351
402
440
460
329
426
344
425
432
518
345
505
372
489
458
445
469
471
413
352
463
328
344
454
380
508
446
362
498
387
514
461
505
511
390
392
324
429
339
335
337
375
465
473
501
450
506
476
511
401
417
516
345
352
513
425
505
484
364
449
459
473
426
444
399
500
490
351
407
483
320
498
479
340
365
516
477
459
509
495
482
425
452
499
421
346
399
492
394
452
326
331
482
321
485
370
339
358
330
485
491
394
330
475
383
512
459
442
415
329
402
418
489
386
504
367
500
430
497
419
456
496
433
446
405
520
364
376
414
430
434
423
483
342
477
475
400
516
460
406
347
367
339
424
505
434
335
370
484
364
447
423
375
354
440
469
498
474
353
496
498
465
430
382
452
458
399
364
332
404
417
458
426
439
499
466
497
428
350
368
336
406
478
403
346
404
520
513
321
349
507
321
322
469
462
357
513
344
473
456
474
472
454
422
405
323
431
457
361
352
520
374
332
383
240
202
224
224
221
228
206
214
224
240
207
243
229
214
200
206
233
200
247
214
223
238
206
242
216
235
237
225
226
229
206
248
207
221
228
217
202
200
232
230
215
242
207
228
216
208
221
243
244
201
210
239
221
236
215
232
232
202
221
229
238
209
203
205
221
243
216
203
215
209
250
235
216
202
214
237
213
220
248
219
202
223
241
212
216
213
224
200
201
237
226
223
225
242
242
201
235
241
225
201
200
232
237
241
236
248
220
223
249
211
231
228
204
208
218
201
250
221
222
206
232
222
249
231
243
228
219
212
226
240
210
247
202
232
203
202
250
205
241
220
249
210
234
233
204
239
240
237
204
233
204
216
213
219
230
234
215
243
217
207
248
226
212
233
232
223
216
202
225
212
201
215
248
205
248
232
230
230
213
237
244
211
225
225
232
220
220
228
212
222
236
248
239
214
238
243
230
201
237
201
233
224
201
227
221
239
246
243
222
212
210
250
233
241
232
232
233
245
240
206
228
236
226
214
239
250
228
232
232
245
200
213
239
221
236
231
201
214
205
211
229
227
246
236
211
218
207
216
224
207
241
250
246
222
224
245
247
201
237
206
201
232
232
235
242
220
210
213
239
213
250
244
248
239
216
245
228
231
225
207
222
201
208
231
210
217
210
240
249
208
226
205
210
250
230
237
210
201
223
205
212
244
205
226
205
248
223
200
216
219
250
237
242
202
243
239
203
243
233
205
245
236
220
246
250
225
234
204
226
202
210
206
249
212
246
226
226
225
243
242
211
204
213
241
205
220
207
227
205
215
217
239
248
245
223
206
225
216
237
242
241
245
235
250
210
204
217
241
213
233
211
219
240
228
231
248
217
239
224
229
237
239
214
200
249
246
201
242
215
205
230
249
212
226
213
203
234
243
213
200
205
224
242
237
213
243
216
210
231
232
246
244
236
239
228
213
233
212
200
210
211
227
220
209
247
225
208
213
229
250
238
246
208
238
212
238
202
232
212
250
216
215
216
214
232
215
211
230
242
224
228
211
250
214
231
212
226
219
219
230
213
237
235
221
201
234
248
205
243
201
203
229
234
228
239
234
220
202
218
217
250
206
218
210
218
221
216
244
220
215
247
232
239
226
234
243
236
246
200
203
236
235
229
248
236
221
233
212
223
201
247
233
224
240
243
221
234
202
244
222
250
218
219
204
202
206
200
220
210
221
214
240
243
220
241
245
234
204
240
218
248
243
207
235
219
246
201
228
200
241
213
206
237
213
244
212
203
223
231
228
201
234
245
215
242
249
235
235
227
219
203
241
221
222
221
215
223
240
206
238
222
241
241
213
217
234
204
209
228
224
215
230
201
204
210
245
202
234
241
241
239
203
220
220
230
250
230
241
225
239
219
223
241
244
229
216
221
221
200
212
229
245
246
218
220
246
227
239
203
246
203
229
201
205
208
250
222
232
242
246
229
206
217
201
241
201
212
223
203
245
226
215
221
214
203
227
202
241
245
208
241
216
212
242
231
229
235
219
212
224
217
220
207
203
205
243
206
231
220
231
226
210
238
238
208
212
239
242
217
245
250
237
227
223
243
203
222
213
223
234
220
250
231
243
214
212
200
220
226
226
231
201
233
231
243
217
200
245
213
207
200
246
205
209
208
226
229
204
234
221
250
225
241
224
236
217
206
221
250
243
237
210
218
223
233
212
246
239
227
206
210
206
223
225
224
225
222
240
227
210
245
206
245
202
223
231
218
212
240
221
214
202
208
223
219
245
203
228
247
223
200
234
216
204
216
221
244
231
242
219
246
212
203
233
237
212
231
201
207
210
219
216
211
224
231
201
248
229
241
222
240
240
229
204
241
227
213
200
235
220
226
234
200
245
218
214
220
200
207
217
209
246
207
233
224
235
214
223
213
218
238
245
221
247
238
230
203
247
240
207
222
225
218
229
219
201
240
246
214
238
228
245
208
208
238
227
218
216
250
234
206
236
234
200
219
226
205
204
219
228
230
232
244
222
250
210
226
208
218
250
234
247
201
241
220
218
250
239
200
237
206
239
228
200
218
236
230
236
235
229
215
209
244
225
243
212
200
239
243
216
242
230
209
213
238
247
249
209
237
220
242
229
242
250
223
220
228
214
235
238
220
208
226
238
243
200
239
206
211
239
218
213
209
224
203
237
216
241
205
227
200
234
229
243
232
232
238
247
245
229
237
206
244
241
227
244
235
247
229
215
204
206
235
226
225
201
204
204
243
213
241
228
247
223
213
244
210
236
239
225
202
229
239
212
216
230
200
226
232
247
225
245
222
200
237
230
238
202
205
225
226
203
205
227
222
235
244
218
221
234
242
215
245
233
233
230
231
244
241
236
248
242
241
245
207
218
201
246
218
218
244
248
228
247
209
227
237
205
235
232
250
209
235
201
211
209
237
249
226
241
203
208
211
235
243
209
208
234
231
228
234
206
201
211
233
217
209
226
237
230
225
212
220
204
213
250
229
206
217
231
244
219
237
220
243
237
222
214
205
226
214
208
216
250
238
205
232
233
228
201
248
218
201
233
248
217
228
204
203
248
226
234
216
214
201
204
222
226
237
200
229
210
240
239
243
234
205
231
233
249
246
218
240
207
200
234
209
213
228
213
222
202
238
237
204
238
203
233
201
230
223
243
226
241
217
227
216
231
205
250
234
217
215
248
209
215
235
230
238
232
207
226
216
207
211
242
236
237
223
221
221
208
245
245
247
218
232
231
237
203
249
240
249
235
230
234
244
245
225
233
215
208
228
212
209
244
235
209
240
231
217
208
223
230
216
237
228
234
236
202
236
204
223
232
219
232
203
212
214
207
216
225
211
213
244
222
209
234
200
230
246
237
222
227
233
205
249
236
218
230
239
243
211
226
205
232
227
250
238
209
233
200
218
226
248
239
206
213
247
240
221
214
237
245
243
247
200
216
204
248
232
242
220
201
203
230
249
246
200
232
231
245
219
219
248
245
209
220
238
205
249
212
215
243
230
209
221
247
230
240
202
212
211
250
206
211
233
216
230
216
213
206
203
233
244
209
212
211
249
234
239
208
248
219
234
210
234
245
228
222
229
209
244
242
222
226
224
228
243
238
236
243
226
233
215
240
210
201
231
228
246
205
244
220
226
242
247
224
221
208
218
249
221
240
250
245
238
234
245
218
223
233
232
250
207
212
212
218
226
222
223
225
237
214
229
244
232
206
202
230
219
235
209
237
250
246
223
227
247
219
204
202
233
231
216
228
235
212
213
248
242
206
247
200
213
243
227
242
210
228
248
236
211
234
217
207
241
232
204
222
221
208
237
213
219
221
205
245
231
208
201
218
218
232
237
202
250
234
202
219
200
248
217
212
228
248
247
220
216
212
219
203
206
224
212
236
246
222
207
216
228
235
209
203
235
240
206
244
219
231
228
237
245
249
209
227
221
210
240
218
208
234
243
223
248
229
206
244
221
214
201
243
217
235
211
206
219
223
245
245
223
223
213
234
247
221
206
242
232
250
219
242
204
228
213
231
212
243
234
213
220
250
205
239
234
212
228
231
230
240
201
205
224
239
232
228
215
231
237
220
200
236
226
200
244
243
212
247
249
230
236
236
240
245
202
237
215
237
240
208
248
219
212
241
220
202
229
220
242
229
220
213
226
250
221
200
211
250
212
242
218
241
219
203
240
203
225
233
249
248
240
202
228
248
250
242
221
217
248
215
243
203
239
240
231
227
206
207
245
208
241
218
212
224
245
245
203
229
221
204
221
241
220
219
232
213
207
245
200
208
248
205
234
214
216
219
249
237
241
221
232
208
223
221
213
214
205
237
218
202
238
245
209
227
218
209
225
248
221
205
237
233
206
231
200
241
242
211
240
223
239
233
219
212
207
204
200
216
226
219
248
213
233
220
239
246
230
216
250
205
230
241
209
242
217
202
222
220
207
250
210
250
200
238
245
207
241
231
217
215
235
248
244
204
221
225
242
228
224
234
240
200
248
200
242
245
238
247
230
249
212
206
218
203
245
237
246
228
236
238
229
237
232
235
233
230
233
248
204
215
205
200
237
241
200
204
212
211
248
214
242
245
236
232
227
233
221
222
225
243
234
226
233
229
248
213
243
250
206
244
236
201
226
202
245
249
245
237
221
245
201
239
241
221
216
222
245
247
231
241
241
235
233
237
218
220
250
234
219
223
214
243
208
204
241
240
214
243
232
202
218
242
210
235
229
232
235
206
238
215
246
204
244
216
242
221
207
219
200
214
216
211
220
206
241
239
224
230
218
205
227
247
219
204
224
237
211
218
225
245
237
211
216
214
233
244
241
250
206
202
201
235
201
243
205
230
201
241
215
243
228
233
224
226
227
231
242
215
241
249
238
247
247
228
247
244
242
244
228
241
222
210
208
233
249
247
218
245
232
220
209
201
223
226
216
229
247
221
223
200
233
202
234
241
224
212
214
207
223
201
216
235
224
231
201
207
217
212
216
223
213
236
229
249
245
228
204
244
220
244
203
206
232
231
201
222
226
248
233
233
243
200
238
250
241
247
243
225
220
209
236
202
202
237
202
204
219
239
225
247
215
233
228
200
245
210
236
202
201
206
225
200
218
221
239
239
210
234
201
231
245
232
232
235
242
207
216
240
202
250
233
220
214
235
250
233
238
244
207
234
200
249
223
232
242
227
238
236
234
243
236
207
206
215
239
241
207
237
215
234
250
249
249
236
208
248
243
241
241
201
200
209
242
239
202
200
224
229
210
220
228
237
207
228
227
210
201
208
233
200
220
233
220
227
225
244
240
226
224
222
240
227
242
213
215
212
214
235
249
203
237
238
217
221
250
215
205
244
234
231
220
229
233
245
222
229
213
224
248
249
226
223
237
211
237
206
212
237
231
226
246
208
223
234
219
239
232
201
228
204
219
247
206
221
247
214
232
203
203
226
217
218
216
246
237
240
212
222
200
217
237
244
223
241
238
208
241
234
209
206
200
241
211
222
215
240
220
206
203
219
224
241
203
210
250
229
226
245
232
203
228
246
236
242
221
205
217
224
201
228
232
218
248
238
223
250
230
227
245
240
211
243
228
236
232
233
218
237
218
209
242
207
230
229
246
218
227
227
220
227
210
233
212
226
226
201
234
225
238
210
205
219
243
222
211
200
231
213
232
228
225
215
225
218
205
206
221
232
229
211
244
214
220
243
220
202
238
228
241
235
200
242
226
205
217
204
233
221
232
213
244
210
202
222
221
249
201
237
206
213
242
203
235
235
216
201
248
228
234
245
227
245
200
209
202
249
247
220
209
231
232
229
237
218
218
246
215
235
246
209
215
247
209
209
203
216
201
216
239
202
230
222
245
208
205
233
213
215
211
214
200
201
247
220
226
227
249
234
215
245
201
201
223
248
215
215
243
201
217
220
248
221
228
229
225
244
234
223
208
206
246
231
211
213
208
240
225
221
245
250
219
240
206
232
250
213
240
240
201
208
215
209
235
207
242
231
221
203
226
216
213
234
234
242
205
250
210
201
248
248
201
220
201
219
228
229
216
220
242
208
222
201
232
205
240
236
250
236
221
244
203
203
212
249
233
213
249
229
243
243
232
239
250
220
211
234
226
202
237
218
209
237
223
232
246
239
220
243
213
228
232
210
200
247
230
222
209
216
228
201
246
229
221
232
221
200
216
204
216
208
210
219
241
243
225
246
210
210
238
228
213
230
234
248
218
218
234
224
236
235
221
204
204
229
211
231
240
221
203
240
203
205
218
208
242
207
246
205
242
247
237
203
203
224
241
223
218
212
207
221
216
219
213
248
229
249
213
210
238
202
206
230
225
243
200
204
225
246
216
211
237
233
228
205
209
202
239
204
210
242
212
201
223
213
242
248
219
248
202
238
244
239
217
222
234
202
223
236
230
250
234
205
219
219
203
211
240
226
248
245
219
204
248
205
222
205
240
232
211
206
236
242
245
225
212
241
220
207
201
247
226
217
220
221
239
225
205
227
227
241
250
200
233
239
237
233
216
200
207
213
219
201
205
222
203
214
225
234
200
230
205
242
214
226
237
227
227
217
241
207
222
249
221
210
232
207
214
227
246
237
250
227
246
212
230
226
216
231
204
201
206
213
225
231
237
220
227
207
204
211
241
210
245
237
234
250
226
216
227
245
226
233
203
218
246
200
215
223
202
200
241
249
229
201
224
246
236
218
245
218
217
230
234
200
241
240
249
202
229
229
247
233
206
243
200
200
213
206
249
218
212
209
206
205
243
226
221
228
208
200
216
223
203
217
201
247
219
224
237
228
204
228
244
240
232
230
214
219
235
214
209
215
240
239
214
215
240
200
229
213
228
207
249
208
214
247
244
225
243
224
201
224
203
248
246
221
244
212
205
226
247
230
223
211
232
201
217
234
209
222
242
210
229
207
231
204
238
218
220
245
230
213
234
233
230
231
234
201
206
206
239
244
237
238
218
225
247
226
242
237
206
214
234
207
205
248
235
231
201
225
232
221
230
245
228
220
215
239
248
241
202
243
204
233
220
208
211
233
211
219
250
230
221
217
213
240
228
207
245
233
231
206
210
230
236
222
237
245
244
249
205
227
229
233
238
231
238
238
248
226
202
227
224
231
229
218
220
243
217
231
207
232
233
241
210
229
221
246
229
206
223
205
203
245
226
224
237
238
202
229
231
215
208
219
239
227
218
210
247
239
223
217
214
217
214
210
235
233
236
226
213
228
248
201
210
249
200
212
237
201
241
203
219
244
231
208
205
245
233
219
217
229
225
250
219
212
250
201
226
212
236
218
210
240
202
239
238
219
219
220
250
201
238
218
237
208
240
203
216
228
203
224
217
224
236
201
237
244
202
214
205
222
232
222
230
207
248
230
205
233
245
201
214
229
248
224
224
235
233
207
228
235
246
226
240
208
215
222
212
222
207
235
227
240
213
206
229
203
234
217
239
229
203
215
211
244
212
233
220
208
209
226
235
246
241
236
213
211
200
222
241
217
244
218
235
201
203
219
235
201
201
228
249
233
233
223
213
225
235
211
248
210
250
234
206
239
211
211
240
238
246
242
200
217
205
234
232
214
242
233
224
212
208
225
206
206
222
236
203
223
223
240
201
237
246
214
249
225
201
209
230
236
239
245
232
248
205
248
206
213
208
237
212
217
222
213
220
227
222
229
219
206
241
211
250
250
250
200
241
245
207
240
201
241
242
219
232
235
225
212
211
223
236
245
229
219
209
217
231
211
206
209
200
211
233
201
211
202
202
239
232
241
207
210
200
218
238
228
222
231
212
225
207
217
247
207
224
217
214
221
235
235
224
223
208
207
204
234
236
233
234
233
234
201
245
219
230
247
228
242
207
216
227
237
239
204
202
230
241
224
246
224
201
206
221
248
223
225
247
222
226
247
234
237
221
236
210
222
209
227
232
218
207
203
226
212
239
232
225
219
209
202
213
208
222
218
221
238
211
211
249
235
205
249
236
244
237
246
250
238
211
211
242
226
224
226
245
239
242
229
233
220
220
249
203
225
248
228
236
240
202
226
205
240
212
214
201
204
243
230
224
231
231
232
247
224
238
200
213
227
235
229
200
250
234
218
209
240
204
211
205
238
228
203
246
230
219
208
209
225
232
233
221
209
235
243
250
217
215
200
246
245
212
214
203
221
247
203
243
249
236
228
237
205
224
237
207
232
216
241
213
205
242
220
240
226
233
246
217
223
239
201
212
244
238
236
214
217
225
221
227
202
239
230
206
220
225
213
217
239
222
221
224
212
243
217
228
244
218
228
224
205
201
238
216
244
243
235
235
204
207
203
228
227
224
203
240
218
232
223
205
205
201
233
248
221
229
229
222
220
200
225
241
200
206
206
246
247
201
214
225
242
213
227
235
228
203
239
212
200
240
234
212
237
229
218
237
241
222
228
232
200
247
204
223
234
219
233
207
227
228
201
226
230
214
247
223
212
245
202
236
225
229
201
244
230
232
216
202
203
242
212
211
241
204
246
211
222
226
236
216
247
207
226
248
218
206
213
235
248
208
232
213
219
215
243
247
238
211
212
244
217
233
212
218
208
202
247
226
205
231
200
233
205
212
235
201
239
230
216
201
215
247
243
214
233
246
209
243
221
236
209
229
233
226
201
209
234
236
239
214
203
227
225
238
216
202
208
203
246
210
202
239
223
241
229
239
200
243
240
242
229
243
241
223
220
220
239
205
249
219
219
205
201
223
228
228
250
203
208
236
245
247
225
231
237
218
227
221
237
205
201
249
209
232
204
247
212
220
247
238
248
210
207
214
246
210
234
221
200
228
216
245
219
245
231
245
219
213
243
208
243
205
235
225
248
223
235
224
230
227
237
241
230
228
213
250
230
225
209
235
219
234
207
233
221
200
223
200
245
212
248
228
224
230
200
236
210
205
202
215
232
237
218
245
221
223
248
216
250
223
231
231
212
222
237
219
236
205
216
223
243
224
217
207
236
210
239
209
225
215
247
239
239
234
241
249
200
217
201
215
250
240
233
246
200
233
209
244
215
242
238
209
239
207
249
218
232
241
213
206
207
247
235
232
206
217
240
246
202
205
203
219
206
244
213
218
226
234
248
210
230
238
216
233
202
212
208
230
244
226
244
202
249
229
237
213
226
206
206
212
202
223
239
223
210
210
232
206
246
205
232
206
235
205
237
236
245
226
234
221
224
202
243
217
231
240
214
247
226
249
205
215
233
245
224
233
229
217
202
218
216
242
217
231
216
238
234
218
216
213
233
233
206
240
225
226
224
216
211
202
200
203
224
207
215
226
231
242
219
231
230
244
213
240
224
223
222
245
211
242
238
231
216
214
208
210
237
211
236
214
234
219
229
205
219
226
219
211
211
200
227
234
207
235
239
227
203
229
240
214
234
214
201
247
232
224
212
214
236
213
220
226
245
242
212
234
246
222
233
247
250
219
233
201
234
229
230
222
229
217
222
245
228
201
228
248
247
241
243
225
245
231
212
244
212
248
242
230
202
214
210
208
234
250
227
222
250
207
250
203
211
225
226
200
242
231
225
232
213
203
238
239
224
240
245
206
235
244
211
225
211
208
215
234
217
211
242
204
240
224
242
210
235
220
202
238
214
241
245
234
215
249
223
221
225
243
223
238
206
239
237
235
249
213
232
236
237
203
211
239
247
206
235
230
204
224
221
203
219
247
200
220
228
211
202
208
231
207
200
248
205
206
220
248
243
208
200
232
247
216
229
243
210
205
233
207
228
241
228
230
206
206
204
211
225
200
227
204
209
233
211
202
216
217
217
250
213
209
245
205
250
218
247
232
218
238
210
231
233
240
438
411
330
482
463
474
360
504
457
421
473
424
321
457
398
406
345
440
376
360
396
409
341
392
366
433
439
474
492
519
467
476
342
459
426
378
399
332
393
514
418
414
465
439
369
355
362
495
432
444
415
406
487
409
479
425
373
506
395
459
428
326
383
418
435
432
403
425
355
501
515
402
504
347
454
468
405
354
453
468
498
351
473
437
453
505
351
510
351
352
387
415
431
381
328
509
492
457
460
344
514
398
510
423
474
491
506
375
468
404
377
397
357
436
381
463
411
325
401
327
392
328
510
378
331
449
331
436
341
323
517
469
354
395
419
333
403
401
500
360
412
396
458
391
404
398
450
377
432
350
351
518
329
480
390
432
403
398
389
331
383
510
361
362
474
469
378
512
502
427
463
507
386
368
459
458
351
509
463
466
422
364
334
470
375
458
334
350
486
406
451
474
335
512
486
519
407
432
418
399
490
338
516
429
486
465
415
340
511
501
519
378
350
424
454
324
365
384
450
420
442
463
370
325
368
400
516
362
403
331
515
450
502
374
395
517
400
500
433
428
480
485
384
438
368
385
394
335
409
388
505
448
485
462
392
460
485
399
515
377
455
470
400
363
506
384
341
321
391
367
491
343
323
351
343
416
371
437
325
367
450
394
419
445
327
335
449
325
433
369
351
334
437
449
375
516
395
470
419
340
506
470
470
447
370
447
402
349
346
502
397
322
328
388
500
356
353
423
396
491
509
479
490
500
488
388
384
325
448
375
392
347
325
481
424
323
389
391
442
519
422
433
424
502
412
330
440
458
466
341
462
331
348
428
423
436
358
360
433
370
457
335
387
462
507
477
383
332
436
513
382
511
497
337
324
486
516
398
473
352
500
436
425
348
356
506
450
500
404
452
429
340
428
460
416
427
389
512
452
392
337
382
436
360
472
344
439
460
448
469
441
381
372
331
369
427
427
448
345
361
338
445
412
437
455
485
426
520
366
352
383
377
490
460
429
465
463
443
401
502
452
342
419
338
485
463
508
476
446
436
509
435
337
323
500
461
499
359
419
414
364
362
499
501
490
495
462
471
370
471
500
469
459
349
499
451
423
509
383
511
394
496
364
377
448
497
335
500
407
342
339
435
426
343
443
408
488
481
435
352
367
422
331
495
395
348
426
349
503
454
449
464
421
477
442
392
447
449
494
444
486
496
392
466
417
372
473
508
324
519
459
447
407
357
448
434
452
360
410
321
515
458
357
493
376
444
361
464
519
460
386
462
451
378
320
340
377
402
484
361
380
438
390
333
494
325
450
370
406
338
424
403
472
345
500
405
362
445
388
336
465
500
333
507
390
434
413
341
351
405
328
409
513
470
350
482
472
446
366
322
454
380
331
387
491
505
438
347
493
388
346
375
386
336
430
517
364
498
480
432
456
433
514
362
416
384
507
425
384
400
488
363
345
472
407
337
340
513
444
351
518
498
511
379
359
432
373
513
396
477
349
399
484
463
343
375
457
373
353
513
489
383
478
480
387
327
326
513
423
366
332
440
366
328
344
362
424
441
348
382
466
356
385
323
341
364
437
482
479
351
447
395
503
512
495
355
334
407
360
342
359
489
445
498
443
414
474
353
515
502
463
407
495
434
330
465
423
454
502
463
449
452
441
322
453
495
445
442
462
333
325
473
419
385
384
501
347
413
507
501
407
380
441
393
518
323
363
422
472
519
320
386
363
341
327
432
353
366
333
496
421
381
352
508
404
492
348
513
504
498
433
452
413
402
326
422
470
393
483
460
470
427
347
372
340
429
474
505
337
468
401
465
322
369
501
467
475
357
412
477
498
390
427
388
380
341
483
367
339
467
512
511
423
408
374
320
383
441
374
357
518
507
321
435
363
433
392
342
324
321
410
444
340
488
327
481
442
451
407
336
397
364
371
391
422
418
393
383
372
394
488
398
405
351
371
473
467
385
350
379
405
335
417
383
382
334
423
455
335
391
346
367
441
350
329
397
497
381
444
485
429
387
498
372
452
463
356
331
428
362
495
493
497
514
428
381
449
435
404
371
401
354
369
458
456
378
513
355
397
407
395
443
416
381
451
425
346
360
425
358
368
418
351
415
477
491
443
326
334
469
333
478
361
390
441
494
361
438
403
520
471
340
368
386
496
406
374
398
497
520
330
356
393
436
412
434
340
353
488
481
518
337
381
510
381
370
363
363
500
449
341
354
415
388
342
321
335
406
323
347
359
406
328
403
466
357
366
345
460
432
405
435
427
416
420
371
500
414
456
323
477
362
462
424
520
469
349
400
519
407
347
341
501
495
427
321
423
462
325
469
403
461
421
454
333
391
344
370
453
393
510
497
494
501
494
321
344
353
354
478
349
374
445
384
412
374
369
358
518
474
471
360
387
449
483
505
450
398
441
325
362
349
375
372
468
362
438
493
334
368
376
337
371
493
434
518
454
431
519
415
397
422
399
441
498
380
478
520
496
500
493
376
516
447
435
439
361
460
406
363
463
492
391
439
518
341
466
341
404
425
483
487
412
463
336
436
432
407
368
503
368
459
479
470
413
436
398
517
493
376
446
347
470
515
475
338
484
431
346
432
485
395
431
502
356
423
500
409
413
487
410
464
493
354
354
404
460
343
381
379
499
452
420
416
375
342
483
339
431
393
508
505
346
503
453
520
445
497
481
422
437
358
486
494
520
494
486
489
365
334
473
472
437
445
422
352
440
416
412
461
460
435
430
436
373
352
519
484
413
359
425
436
327
454
370
371
396
465
409
417
497
498
419
362
443
367
503
356
498
468
462
430
418
336
324
440
504
408
415
424
510
394
480
332
374
366
516
465
445
390
492
457
436
500
449
497
465
439
375
391
487
448
412
499
322
417
458
484
421
335
502
373
518
380
345
435
491
484
465
457
461
363
376
501
441
466
477
487
514
385
433
381
403
488
464
338
467
450
486
519
349
334
478
431
500
395
490
498
497
443
435
423
517
390
471
334
364
423
485
396
386
435
451
348
405
436
388
449
404
391
490
404
335
344
472
485
392
379
462
388
468
497
430
474
440
465
519
366
467
482
385
518
406
517
444
401
332
424
441
352
452
351
462
389
326
510
503
434
366
510
332
442
367
447
423
506
390
501
474
476
448
424
369
343
485
514
359
408
334
410
387
449
370
446
347
489
330
343
400
427
479
393
520
366
392
342
516
320
517
493
400
516
417
321
327
420
404
353
331
488
412
457
487
459
429
375
383
424
431
364
353
389
502
465
347
457
498
395
322
394
460
433
423
345
332
322
512
464
515
467
514
363
361
322
494
374
434
433
497
443
483
381
519
320
492
458
442
519
487
412
429
471
439
465
514
513
329
366
511
343
505
480
376
445
440
351
418
349
393
510
399
373
354
496
452
335
327
426
503
348
490
487
320
400
481
388
418
509
320
510
383
382
497
417
433
384
431
470
447
349
499
408
494
492
458
415
404
419
394
438
419
322
491
421
496
408
429
395
520
330
377
437
340
376
350
501
327
336
480
483
380
336
395
355
365
331
331
511
443
476
490
325
362
394
354
440
336
356
456
468
353
418
342
434
435
380
347
351
405
460
478
382
426
520
410
340
348
457
443
508
380
447
372
506
515
397
403
350
428
381
394
452
444
495
518
338
415
411
332
332
494
372
520
491
508
432
424
334
475
368
411
465
332
419
480
353
381
410
383
337
474
479
378
391
402
480
334
458
465
418
395
412
464
488
462
431
489
484
510
338
392
440
494
478
384
349
391
396
334
326
441
504
363
365
405
438
343
456
504
366
327
322
447
350
405
516
495
430
497
487
500
473
369
470
386
328
331
486
509
514
347
334
334
445
489
433
446
426
361
517
438
414
353
468
385
512
379
387
424
389
328
399
422
482
416
324
347
413
438
352
491
461
404
349
354
473
459
435
339
322
479
358
414
322
435
403
369
505
486
347
519
396
444
349
428
388
500
394
330
406
461
428
495
389
347
416
382
477
415
516
328
432
503
406
503
435
517
511
473
344
409
471
452
406
444
432
480
464
366
486
342
406
341
389
418
345
512
355
456
420
497
459
380
393
402
334
437
404
488
423
493
444
479
395
429
457
393
428
323
444
409
436
455
423
473
404
515
320
436
429
377
388
403
350
453
418
396
322
456
389
461
341
498
474
411
378
450
354
518
440
383
509
402
411
353
338
420
334
449
373
365
353
518
417
359
494
488
321
511
504
424
490
418
487
323
358
453
322
500
348
503
471
486
363
469
412
475
368
381
481
421
452
427
484
423
472
477
395
503
506
343
347
337
383
508
498
360
329
373
373
487
373
512
500
355
385
322
338
442
488
489
454
491
445
356
441
472
355
414
352
418
429
405
339
351
403
397
368
392
328
450
333
356
331
363
509
344
460
337
497
436
462
409
430
465
330
438
513
464
520
344
411
474
368
514
439
391
373
481
485
366
409
400
505
496
490
371
458
323
445
345
408
462
493
481
421
386
448
496
445
331
459
356
327
375
433
467
491
495
427
348
394
328
337
513
338
516
367
341
508
418
473
418
431
508
419
397
502
334
325
353
462
326
397
427
395
447
517
511
512
374
439
451
427
479
500
417
474
434
341
342
342
451
368
410
417
487
383
383
434
434
428
496
421
370
466
520
432
353
442
447
327
320
437
482
400
446
348
514
479
325
444
423
436
378
423
499
338
336
493
516
353
512
509
346
349
339
327
400
424
374
509
382
388
474
326
450
425
384
464
483
325
520
369
356
431
338
473
433
448
391
367
488
356
423
430
489
416
364
426
446
495
408
369
514
387
384
346
480
445
389
497
354
373
327
429
431
394
485
381
330
405
462
414
458
393
480
343
518
332
455
395
498
362
373
518
509
351
441
393
441
377
327
483
466
439
461
518
419
442
339
486
330
500
398
340
357
518
479
389
432
494
349
496
372
482
386
506
418
390
392
413
457
438
497
485
320
417
326
422
393
402
427
339
391
322
496
356
425
485
453
343
343
340
484
400
471
429
438
513
442
518
333
473
453
464
448
460
386
391
467
447
467
328
380
324
404
392
393
449
449
520
515
347
395
369
436
465
427
414
509
357
468
370
331
354
372
326
425
401
452
498
474
479
485
410
379
355
444
489
463
407
440
467
516
332
335
464
446
391
321
385
460
453
466
469
424
455
332
339
436
398
365
477
355
517
387
388
353
451
438
324
391
516
406
469
408
473
351
365
344
433
383
514
380
349
463
509
504
386
359
503
329
341
480
325
414
343
326
459
322
404
371
332
405
399
363
480
422
332
516
369
480
493
342
323
461
490
413
498
471
365
451
449
352
476
339
443
437
468
451
488
408
471
409
446
478
385
352
404
333
447
330
417
390
403
436
497
354
482
501
435
379
510
370
417
518
353
517
322
343
395
446
411
372
445
412
486
345
464
378
365
362
397
500
408
470
510
364
326
341
442
446
366
497
322
427
491
454
445
490
337
348
379
397
397
475
362
407
394
499
376
365
505
353
413
387
505
496
435
485
493
458
358
333
397
458
475
477
452
510
435
471
477
329
352
350
444
473
444
415
380
323
337
484
365
488
323
351
458
433
388
376
438
340
470
352
326
434
446
466
404
339
438
478
417
408
331
399
388
479
508
371
397
480
497
443
395
479
487
380
435
407
413
328
417
434
370
500
334
494
343
340
466
456
446
459
354
394
502
367
401
356
473
508
451
327
332
401
343
498
413
488
357
513
385
503
393
356
422
401
349
332
387
402
469
401
488
451
367
431
332
425
444
384
489
334
427
490
474
397
473
387
375
417
344
422
481
375
411
343
501
503
364
387
425
435
445
332
486
348
435
463
471
492
511
356
503
421
403
506
424
497
365
345
454
457
419
