147
147
147
148
148
149
149
150
151
151
151
152
153
154
155
156
157
157
158
158
159
159
162
163
166
169
172
174
176
178
181
182
185
188
190
193
196
199
202
204
206
208
210
213
216
218
220
222
224
227
229
229
229
229
230
230
230
231
231
231
232
233
234
234
235
236
236
237
238
238
239
240
240
241
242
244
244
245
246
247
248
249
250
252
254
258
263
267
269
273
276
279
282
285
288
291
294
297
299
302
304
307
310
312
315
317
317
318
319
319
319
320
320
321
321
322
323
323
323
323
322
322
322
321
321
321
316
312
309
307
305
301
298
293
288
281
276
274
272
272
271
270
269
268
267
266
266
267
269
270
271
272
273
274
275
277
279
281
286
289
292
296
298
300
302
303
305
309
314
317
322
323
323
324
324
324
325
325
325
325
326
326
326
326
327
328
329
329
330
331
332
332
333
335
336
338
340
341
342
343
344
345
344
342
341
339
339
337
335
333
334
336
339
342
344
346
349
351
354
357
358
359
360
360
362
363
365
366
367
369
370
371
372
373
374
376
377
378
379
380
380
379
379
378
377
376
375
373
372
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
371
369
364
359
354
349
346
341
335
331
327
322
320
318
316
315
314
313
311
309
307
305
303
301
300
298
298
296
295
295
296
296
297
298
299
299
300
300
301
302
303
303
304
305
306
306
307
307
308
308
310
310
310
311
312
315
318
321
324
327
330
333
335
337
338
339
340
342
344
346
350
355
359
364
368
368
368
369
369
369
369
370
370
370
371
371
371
371
370
369
367
366
366
365
365
364
363
362
361
360
360
360
361
361
362
362
362
363
364
364
365
365
365
366
366
366
366
366
366
366
367
367
367
367
367
367
366
365
365
364
364
363
363
362
361
361
361
361
361
361
361
362
362
362
363
363
363
363
363
363
363
362
361
360
360
359
359
359
361
362
364
365
366
367
368
368
368
368
367
367
366
366
365
365
364
362
361
359
358
358
357
356
355
355
354
352
352
351
351
352
353
353
354
354
355
355
355
356
357
358
358
359
359
360
360
360
360
359
359
358
358
357
357
357
356
356
356
356
357
358
358
359
360
361
362
363
363
364
364
365
366
366
367
368
368
369
370
372
374
375
375
375
375
375
377
378
380
382
382
384
386
387
388
388
389
389
390
390
391
391
392
392
393
393
393
392
392
391
391
390
390
390
389
388
388
388
387
387
387
387
386
386
386
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
388
390
393
395
395
398
400
401
402
405
405
407
407
407
407
407
407
407
407
407
407
407
407
407
407
406
406
406
406
406
406
406
406
406
406
406
406
406
405
404
404
402
400
399
399
399
398
398
397
396
395
395
395
395
394
394
393
392
392
391
391
390
390
390
389
389
389
388
388
385
382
382
381
380
378
377
376
376
374
373
371
370
370
370
369
369
369
367
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
366
367
367
368
368
369
369
369
370
370
370
371
371
372
373
373
373
373
375
376
377
377
378
378
379
379
380
380
381
381
382
382
383
383
383
383
383
383
382
382
382
382
381
381
380
380
380
380
380
379
378
378
378
377
377
377
377
376
376
376
375
375
375
375
374
374
375
375
377
377
377
378
378
379
379
380
380
381
381
382
382
382
382
383
383
383
384
385
387
387
389
390
390
392
393
395
395
394
394
394
393
393
392
391
391
391
391
391
389
389
389
388
388
387
387
387
387
386
386
384
384
383
383
383
383
383
384
384
384
384
385
385
385
386
386
387
388
388
388
389
389
390
390
390
390
391
391
391
391
391
391
391
391
391
391
391
391
391
390
390
390
390
390
390
390
390
390
390
389
389
389
389
389
389
389
389
388
388
388
388
388
388
388
388
388
387
387
387
387
387
387
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
386
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
385
384
384
384
384
383
383
383
383
382
382
382
382
382
382
382
381
381
381
381
381
380
380
380
380
379
379
378
378
378
378
377
377
377
377
376
376
375
375
375
374
374
374
373
373
373
372
372
371
370
370
369
369
369
369
369
368
368
367
367
366
366
366
366
366
365
365
365
365
365
364
364
364
364
364
364
364
364
364
364
364
364
363
363
363
363
363
363
363
363
363
363
362
362
362
362
362
362
362
362
362
362
362
363
363
363
364
364
364
364
364
365
365
365
365
366
366
366
367
367
368
368
368
368
369
369
369
369
369
370
370
370
371
371
371
371
372
372
372
372
372
371
371
370
370
369
369
368
368
368
368
368
368
367
367
367
367
366
366
366
365
365
365
365
365
365
364
364
364
363
363
363
362
362
362
362
361
361
361
361
361
360
360
360
359
359
359
358
358
357
357
357
356
355
355
354
354
353
353
351
350
349
348
348
348
347
346
344
342
340
340
338
337
336
335
335
335
334
334
334
334
333
333
333
333
332
332
332
332
332
332
332
331
331
331
331
330
330
330
329
329
329
329
329
328
328
328
327
327
327
327
327
327
326
326
326
326
326
326
326
325
325
325
325
324
324
322
322
322
322
320
320
319
318
318
318
317
317
317
317
316
316
315
313
312
312
312
312
311
311
311
311
310
310
310
310
309
309
309
309
309
308
308
307
307
307
307
307
306
305
305
304
303
303
303
303
303
301
301
301
301
301
301
301
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
300
301
301
301
301
301
301
302
302
302
302
303
303
304
304
304
304
304
305
305
305
305
305
302
302
301
300
298
296
296
295
294
292
292
292
292
291
290
288
288
287
286
285
285
283
283
282
281
281
281
280
276
275
274
272
272
271
270
270
270
270
267
266
266
265
265
265
263
261
259
257
257
253
253
252
250
248
248
247
245
245
244
243
242
240
240
239
237
236
235
235
235
235
235
235
235
235
234
234
234
234
234
234
234
234
233
233
233
233
233
233
233
233
232
232
232
232
232
232
232
232
231
231
231
230
229
229
227
227
226
225
225
224
224
223
223
223
221
221
220
219
218
218
218
216
215
215
215
214
214
213
211
211
210
210
209
208
208
208
207
206
205
205
204
204
202
201
199
199
199
197
196
193
191
190
190
189
188
188
186
183
182
182
182
180
179
178
176
175
174
173
173
172
170
170
170
169
168
167
167
166
165
165
164
164
162
161
161
162
163
163
163
163
163
164
164
164
164
165
165
165
165
166
166
166
166
167
167
168
169
169
169
170
170
170
171
171
171
170
170
169
168
167
167
166
166
165
164
163
163
161
161
161
161
161
160
160
160
160
160
162
164
165
166
168
169
172
174
177
180
182
184
186
188
189
191
192
192
194
196
198
199
201
202
205
207
209
210
212
215
217
219
221
223
225
227
229
230
231
233
234
235
236
237
239
240
242
243
245
247
249
249
251
253
255
256
258
260
261
263
264
265
265
266
267
268
269
270
272
274
275
277
278
280
281
285
287
288
285
283
280
273
265
259
259
259
259
259
259
259
259
259
260
261
261
262
262
263
264
264
265
266
266
266
266
266
266
266
266
266
265
265
264
263
263
263
262
262
261
261
261
262
262
264
266
267
269
270
272
274
277
279
282
285
290
296
299
304
305
307
312
315
318
322
323
323
323
322
321
320
319
318
317
316
315
315
314
314
314
314
314
314
314
313
313
313
313
313
313
313
313
311
309
305
302
298
296
294
292
291
288
284
283
279
278
276
274
273
272
270
268
267
266
265
264
263
261
259
258
258
259
261
263
265
267
269
271
273
275
277
278
279
280
281
282
283
284
284
285
286
287
287
289
289
290
291
292
293
294
295
296
297
298
298
299
300
302
303
304
304
305
306
307
307
308
308
309
311
312
312
314
314
315
315
316
317
318
319
319
320
321
322
323
324
325
325
325
325
325
326
326
326
326
327
327
327
328
328
328
328
330
333
336
340
342
343
346
349
351
353
355
357
359
360
362
363
365
365
367
368
370
371
372
373
375
376
376
379
380
380
381
383
384
385
386
386
388
389
391
392
393
393
394
395
396
397
398
399
399
400
402
403
406
409
413
420
426
432
434
434
434
434
433
433
433
433
433
433
431
430
429
429
428
427
426
425
424
426
430
435
437
442
446
450
454
457
460
461
463
463
463
463
463
464
464
464
464
464
464
462
459
455
451
447
443
437
434
431
429
427
425
424
420
418
417
415
414
412
410
408
406
403
402
401
399
398
398
398
399
400
401
402
402
403
404
405
405
406
406
405
404
404
403
402
401
400
400
399
399
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
398
399
400
401
403
405
406
408
409
410
411
412
413
414
416
417
418
420
423
426
429
431
433
435
436
437
439
442
444
447
448
450
452
455
456
460
463
464
466
469
471
473
475
478
479
481
483
484
486
487
488
489
491
491
490
489
488
487
486
485
484
482
475
468
461
455
448
444
439
436
434
433
432
430
427
425
423
421
419
418
415
411
411
410
410
411
412
413
413
415
416
417
418
418
420
422
423
424
425
426
427
428
428
427
426
425
425
424
424
423
422
422
421
420
420
419
419
418
418
417
416
416
416
415
414
412
412
411
410
409
408
407
407
405
404
403
402
400
399
397
395
394
393
392
390
388
387
385
384
382
379
375
372
369
367
366
365
364
363
362
362
361
361
360
359
359
358
357
356
355
353
352
350
348
346
345
345
343
341
340
338
337
335
333
332
331
330
329
328
326
326
325
325
325
324
324
324
323
323
323
322
322
322
322
321
321
321
321
320
320
320
320
320
320
320
320
320
320
320
321
321
321
321
322
322
323
323
323
323
323
323
323
323
323
323
323
322
322
322
321
321
321
321
321
324
325
327
328
330
331
332
333
335
337
337
339
341
342
343
343
345
345
346
347
348
349
350
350
352
352
353
353
352
351
349
347
346
345
344
343
342
341
339
339
338
337
336
335
334
332
332
332
331
331
330
330
330
329
329
328
328
328
329
330
330
331
331
332
333
333
334
336
337
338
339
340
341
341
342
343
343
344
345
346
347
347
348
349
350
351
352
353
354
355
356
357
358
359
361
363
364
365
366
366
367
368
368
373
378
382
386
391
397
401
406
410
414
417
420
423
425
427
428
430
431
433
436
438
440
442
445
450
454
457
463
468
475
476
476
476
476
476
476
476
476
476
473
471
469
468
467
464
460
457
456
455
455
453
452
451
450
450
450
450
450
451
451
451
451
452
452
453
453
454
454
454
455
456
456
456
456
455
455
454
454
453
453
453
452
452
451
450
450
449
448
447
446
446
447
449
453
456
459
461
468
470
471
472
473
476
477
480
481
481
481
482
482
482
482
483
483
483
483
485
487
488
489
490
491
493
494
496
497
498
499
501
502
505
506
508
510
511
512
513
514
515
515
516
517
518
519
521
523
524
526
528
529
531
533
535
538
541
543
546
548
549
550
551
553
556
559
559
559
560
560
561
561
561
562
562
564
568
571
574
577
579
582
583
584
586
587
589
589
586
582
579
575
574
572
570
568
565
564
564
564
564
565
565
565
565
566
566
566
566
564
562
560
559
558
556
555
553
552
552
550
548
547
544
543
541
539
537
535
533
530
528
526
523
520
517
515
512
509
506
504
501
496
491
487
487
487
486
486
485
484
484
484
483
483
483
482
482
482
482
482
481
481
481
481
480
480
480
480
479
479
478
478
477
477
477
479
482
483
487
490
491
494
496
498
501
503
505
508
511
514
516
517
518
520
522
524
525
527
529
530
531
533
535
537
539
542
544
547
550
553
555
557
560
562
565
567
571
576
579
585
589
592
594
597
599
600
602
604
606
608
609
610
610
610
610
610
610
610
610
610
610
610
610
609
608
608
606
604
602
600
600
598
596
596
595
594
593
592
591
590
590
587
583
581
579
575
570
566
563
561
560
555
552
550
548
546
544
541
537
534
532
529
528
523
518
514
510
506
505
503
500
498
495
494
493
491
489
488
485
484
482
479
477
475
474
472
470
468
466
464
462
461
459
457
455
454
452
452
450
449
448
446
445
444
442
442
441
440
439
438
438
437
436
434
433
432
432
431
430
429
427
426
425
424
423
422
421
421
420
419
418
417
417
418
420
422
424
424
425
427
430
432
434
436
440
442
446
449
450
453
454
455
456
459
462
466
467
469
470
470
472
474
477
481
485
488
490
494
497
500
502
501
500
499
497
494
492
490
488
487
485
484
483
482
482
483
484
484
485
486
487
487
488
489
490
491
492
493
493
493
493
493
493
492
492
492
492
491
491
491
490
490
490
490
489
489
489
491
494
498
502
507
511
513
516
518
518
517
517
516
516
516
515
515
515
514
514
514
513
510
507
506
504
502
501
500
499
497
495
494
493
491
490
488
487
485
482
480
478
477
476
475
473
472
470
469
468
467
465
465
465
465
466
466
466
466
466
467
467
467
467
467
467
466
466
466
465
464
463
463
462
462
461
459
457
455
453
452
450
449
448
445
443
442
440
437
435
433
431
429
426
424
422
420
418
416
412
412
414
415
417
419
421
423
425
427
428
431
432
434
435
436
438
438
440
441
442
443
445
447
449
451
453
454
456
457
459
460
461
463
464
466
467
469
470
471
472
473
476
477
478
479
482
486
489
493
497
500
504
509
512
513
515
516
516
517
517
518
518
517
516
515
515
514
513
512
512
511
510
509
509
508
508
507
506
506
505
504
504
503
503
502
501
500
500
498
497
496
495
493
491
487
483
478
474
471
466
461
458
455
451
448
447
447
447
446
446
445
445
445
444
444
443
442
442
441
440
440
439
439
438
438
436
434
432
429
427
425
423
421
419
419
419
419
420
420
421
421
421
422
422
423
423
423
423
423
424
424
424
424
424
425
425
425
426
427
429
430
431
432
434
435
436
436
436
436
436
436
436
436
436
436
436
436
436
437
437
437
438
438
439
440
440
441
442
444
447
450
452
454
456
459
461
463
466
471
475
480
485
489
494
499
503
507
508
508
507
507
507
506
505
504
504
500
495
491
487
484
483
480
481
482
484
485
486
490
498
504
508
512
519
522
525
528
537
538
537
536
532
530
527
524
520
517
515
514
512
510
508
505
502
500
498
496
493
490
488
487
486
484
483
478
474
469
466
462
459
455
451
447
443
439
435
430
426
421
417
414
413
411
409
408
405
403
401
399
397
395
393
392
390
388
385
385
386
387
388
389
389
390
391
392
393
393
394
395
397
397
397
396
395
394
392
391
390
389
388
388
388
389
394
399
402
407
411
413
416
420
426
426
426
426
426
427
427
427
427
427
427
427
427
426
423
420
416
414
412
409
407
405
404
400
396
392
390
389
389
389
389
390
391
392
393
395
396
397
399
400
401
403
405
405
405
405
406
406
406
406
406
406
407
407
407
407
408
408
408
408
408
409
410
410
410
411
411
412
412
412
413
413
414
414
414
415
415
416
417
418
420
421
422
423
424
425
426
428
429
431
433
435
437
439
442
444
446
447
449
451
453
454
456
458
460
460
458
456
455
455
454
452
452
450
449
448
448
448
449
449
449
449
450
450
450
450
450
451
451
451
451
451
451
451
450
450
449
449
448
448
448
447
447
447
447
448
449
449
450
450
451
452
452
453
453
454
454
453
452
451
449
448
447
446
445
445
444
443
443
443
445
446
447
449
452
455
457
460
462
463
463
461
460
459
459
458
457
456
455
454
454
454
454
454
454
454
454
454
454
454
454
454
454
455
455
456
456
457
457
458
459
460
461
461
461
461
462
462
462
462
462
462
463
464
465
466
468
469
469
470
471
473
475
476
476
476
476
475
475
475
474
474
473
473
474
475
476
476
477
478
480
481
482
483
484
485
486
487
488
490
492
494
495
496
498
499
500
502
504
508
510
514
520
525
531
538
545
551
551
558
558
557
556
555
554
553
553
552
551
551
551
550
550
550
550
550
550
550
550
549
549
549
549
549
549
549
549
547
544
541
539
535
533
530
528
526
524
524
521
519
518
516
515
513
512
511
510
509
508
507
506
504
504
504
505
505
505
505
506
506
506
507
507
507
508
508
508
508
509
509
511
512
514
516
517
519
521
523
525
526
528
530
531
533
533
536
538
541
542
545
548
551
554
557
559
561
562
564
566
568
569
572
573
574
576
577
579
580
582
583
577
574
570
565
560
557
555
553
551
546
540
534
529
521
512
508
508
508
508
508
507
505
504
501
500
498
497
495
494
493
491
490
489
487
485
484
485
486
486
487
488
488
490
490
491
492
492
493
491
488
486
482
478
474
472
469
467
465
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
462
465
469
471
474
475
477
479
482
486
490
499
507
513
519
527
530
533
538
542
544
545
547
549
552
554
555
556
558
560
562
564
567
570
573
574
577
578
580
583
585
588
590
593
595
598
600
604
606
606
607
607
607
607
608
608
608
608
608
608
608
607
607
606
606
606
606
605
605
605
604
603
603
603
603
603
603
603
603
603
603
602
599
597
594
592
590
588
586
583
581
578
576
573
569
567
565
564
563
562
561
560
558
557
555
554
552
551
550
548
547
546
545
544
542
540
539
538
537
535
532
529
527
525
524
522
521
519
516
516
515
514
514
513
513
513
513
512
512
512
511
511
509
507
506
503
501
499
497
495
493
491
489
486
485
485
484
483
482
481
480
479
478
477
477
476
475
474
473
471
471
470
470
469
469
469
468
467
466
465
465
464
463
462
461
460
458
457
456
454
454
452
449
447
444
440
437
435
432
432
432
431
431
430
430
430
429
429
428
428
427
427
426
426
426
425
424
424
423
422
422
421
420
418
417
416
414
412
410
409
406
404
402
400
397
397
399
400
402
403
405
407
408
409
411
411
413
415
418
420
421
423
424
428
431
435
437
441
444
446
448
450
451
453
455
457
460
462
462
462
463
463
464
464
465
465
466
466
466
466
466
466
466
466
466
467
469
470
471
472
472
473
475
476
477
479
481
482
482
483
484
485
486
486
487
488
489
489
490
490
491
493
496
498
501
504
506
508
510
513
515
518
519
523
525
528
530
532
536
540
544
545
546
550
553
556
557
561
564
568
570
573
576
580
582
584
586
589
592
596
599
601
604
604
604
603
603
601
600
599
598
597
598
600
601
602
603
604
605
606
608
610
612
613
614
615
617
618
619
620
621
621
622
623
623
624
625
625
626
627
628
629
630
630
631
633
635
638
641
644
645
647
650
653
655
658
660
663
664
668
672
675
678
681
682
686
687
688
689
690
690
692
693
695
697
697
696
696
695
694
693
691
689
688
685
683
682
682
681
679
676
674
672
669
668
667
666
666
665
665
664
664
663
662
661
660
658
660
664
669
673
677
681
683
683
683
683
684
684
684
684
685
685
686
686
686
686
687
687
687
687
686
686
685
684
683
682
681
678
673
672
669
667
664
660
658
656
652
647
644
639
635
627
620
612
610
609
607
604
602
598
596
602
607
611
607
602
593
586
581
576
570
565
562
560
558
557
555
554
552
550
549
547
546
544
542
540
538
536
536
535
534
534
533
533
532
531
532
533
534
537
538
540
542
544
544
544
544
544
544
544
544
544
545
547
548
549
550
548
548
548
547
555
558
570
570
575
579
580
585
587
589
590
593
595
596
599
599
601
602
605
607
609
609
610
611
611
612
616
619
621
621
623
628
630
638
645
645
648
651
662
672
676
676
678
681
681
687
685
681
681
679
679
679
679
679
679
674
670
670
665
660
656
656
652
650
648
642
638
638
633
631
631
629
624
620
620
617
612
605
601
596
588
588
584
578
570
566
562
559
559
556
553
547
541
542
544
544
547
549
551
554
555
555
555
556
557
558
558
561
564
567
567
570
573
576
576
578
578
578
578
578
578
579
579
579
579
581
582
582
583
585
587
588
590
591
593
593
593
594
596
597
598
599
599
600
605
607
610
610
615
621
626
626
629
632
634
640
640
645
649
650
655
655
663
674
674
693
706
706
707
700
699
699
697
695
696
697
704
711
711
713
716
718
720
720
721
721
725
725
755
755
751
754
754
756
756
758
759
758
758
758
763
763
764
767
789
791
791
791
791
791
792
793
796
796
804
807
807
808
808
808
808
808
808
808
808
808
808
807
801
801
798
798
794
784
778
775
771
765
749
749
745
731
730
726
688
688
687
687
686
685
679
679
678
664
664
664
663
662
658
648
617
617
612
606
608
609
609
611
611
611
611
610
605
602
602
599
588
578
570
570
566
557
550
546
546
543
541
537
531
522
512
512
509
506
508
510
511
513
514
515
515
517
518
519
521
521
522
522
524
523
523
520
520
518
517
513
513
512
512
513
513
518
521
517
517
509
507
498
493
466
466
457
457
457
457
457
457
457
455
455
455
453
452
446
444
444
444
446
447
447
450
454
454
456
459
460
462
463
463
466
470
475
475
485
490
490
502
506
511
511
514
514
516
518
518
517
515
511
508
508
507
506
499
497
497
496
496
496
495
495
495
495
494
494
494
494
493
493
500
500
505
507
508
510
514
514
517
519
519
520
521
521
521
521
521
520
519
521
522
522
523
534
540
540
551
562
562
568
565
565
564
561
560
558
558
553
551
548
546
546
546
545
545
544
543
542
542
541
547
548
552
554
554
556
560
542
542
542
542
541
541
541
541
540
540
540
548
556
556
557
557
558
558
558
556
551
549
547
546
546
544
536
536
535
533
532
532
530
528
525
524
522
522
522
523
523
524
525
525
526
527
527
527
528
529
529
530
531
533
536
539
541
544
546
550
553
555
558
561
565
566
569
571
574
576
577
582
586
587
591
597
601
609
624
641
646
657
671
675
684
692
694
700
702
706
711
716
718
718
718
718
718
718
718
718
717
711
706
700
695
691
684
677
672
667
662
657
652
649
647
646
645
644
643
641
640
638
637
635
633
631
630
629
628
627
626
625
625
624
623
622
621
619
617
616
614
612
610
609
608
606
605
604
603
601
599
597
595
593
592
590
588
587
586
586
586
586
586
586
587
587
587
587
587
587
585
583
581
578
576
575
571
567
565
565
564
563
562
561
560
559
558
557
556
555
553
553
554
555
557
558
558
560
560
559
557
555
554
552
550
547
545
542
538
528
520
509
503
497
495
493
492
490
490
488
487
486
485
484
483
482
481
480
478
477
476
475
474
472
471
469
469
469
469
469
468
468
468
467
467
467
467
466
466
466
466
465
465
464
462
460
459
458
457
456
455
454
453
451
450
449
449
451
453
457
459
460
463
464
468
473
476
480
484
488
494
498
503
508
512
512
512
512
511
511
518
528
540
550
556
564
568
572
575
576
578
579
581
582
583
585
587
593
595
596
599
601
604
605
607
608
610
612
610
605
600
596
594
592
589
587
584
581
579
573
568
565
564
562
559
553
547
537
526
520
514
507
503
501
499
497
494
491
490
487
482
479
473
463
456
450
445
441
434
432
427
420
413
413
413
413
413
413
413
412
412
412
411
411
411
411
412
415
418
421
424
428
433
438
441
444
447
450
454
457
460
462
463
467
470
473
477
480
485
488
491
496
501
506
510
515
520
522
526
528
530
533
536
542
551
559
563
569
573
579
586
588
591
595
597
598
602
608
609
609
611
611
612
612
613
613
614
615
616
617
618
620
621
622
623
625
626
627
628
630
630
631
632
633
636
639
640
640
642
643
644
645
645
647
648
649
650
651
652
654
654
654
654
654
654
654
654
654
654
655
655
655
655
655
655
655
655
656
656
656
656
656
655
653
652
651
650
650
648
647
644
644
643
642
640
638
637
635
634
633
630
629
629
626
624
622
621
621
620
617
617
616
616
615
615
614
614
613
613
613
612
612
612
615
617
619
620
621
623
626
626
628
629
630
630
628
627
626
623
621
620
618
616
615
613
611
610
608
607
605
605
602
601
600
600
599
598
598
597
596
595
595
594
593
591
589
587
585
584
582
581
579
579
577
575
573
571
571
569
568
566
563
562
561
558
558
557
556
556
555
554
553
552
551
551
550
548
548
547
546
546
545
545
545
545
545
545
545
545
545
545
543
540
539
537
533
530
526
523
522
518
516
516
515
515
513
512
510
508
505
504
503
503
503
502
502
501
501
500
500
500
499
497
493
491
486
485
484
484
484
484
484
485
485
485
486
486
486
486
487
487
487
487
487
487
486
484
481
479
477
473
472
470
468
466
466
465
464
463
463
462
461
460
459
458
457
456
455
454
454
453
452
451
450
449
449
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
448
447
446
445
444
443
441
440
439
438
437
435
434
433
432
432
432
432
432
432
432
432
432
432
432
432
432
432
431
430
430
429
428
428
427
427
426
426
425
424
423
422
421
419
418
418
417
418
422
423
425
428
430
431
433
435
436
438
437
435
432
428
427
424
419
417
417
419
419
421
422
423
424
425
426
427
427
429
430
431
431
431
431
431
431
431
431
431
432
432
432
432
432
432
432
432
432
431
430
429
427
426
425
423
421
420
418
417
416
415
414
413
410
409
407
404
402
399
396
394
392
391
392
393
394
395
396
397
398
400
400
401
402
402
403
404
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
405
404
402
400
398
395
394
392
390
389
387
387
386
386
387
388
389
389
390
390
391
391
392
392
393
394
395
395
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
395
394
394
393
392
391
390
390
388
387
386
385
384
383
381
381
381
381
382
382
382
382
383
383
383
384
384
384
384
384
386
387
388
390
392
393
395
397
400
402
404
407
410
412
414
415
415
415
415
415
415
414
414
414
414
414
414
413
413
413
413
413
412
409
407
405
403
400
397
395
390
387
384
380
378
376
374
373
372
371
371
370
370
369
369
368
367
366
365
365
364
363
363
362
362
362
362
362
362
361
361
361
361
361
361
361
361
361
360
360
360
360
359
359
359
359
358
358
358
358
357
357
357
357
357
357
357
357
357
357
357
358
358
358
358
358
358
358
358
359
359
361
361
363
364
366
369
371
373
374
375
377
378
380
380
379
378
377
375
374
373
372
371
370
370
369
368
367
367
366
364
361
358
355
352
350
349
347
345
343
342
339
336
334
332
330
327
325
325
327
329
331
333
335
337
338
341
342
345
346
347
349
357
362
367
370
375
381
384
389
393
404
413
421
427
430
434
436
438
440
441
443
446
450
453
456
460
463
465
466
462
458
453
450
446
445
443
441
439
432
429
424
422
419
416
413
410
407
405
403
401
396
393
387
385
382
380
376
372
369
368
367
365
364
363
363
363
362
361
361
360
360
359
358
357
355
354
353
352
351
351
351
351
351
351
351
352
352
352
352
352
352
352
352
352
353
355
356
357
357
358
360
361
362
364
365
366
367
368
368
369
369
371
368
366
365
362
359
356
355
353
352
350
349
347
344
342
341
339
341
343
345
348
350
352
356
360
364
367
369
371
374
374
373
372
372
371
371
371
370
370
369
369
369
365
361
357
353
350
346
340
337
333
330
326
322
318
312
309
306
305
303
301
299
298
297
295
294
293
291
289
288
286
284
282
281
279
278
277
275
274
272
270
267
265
264
262
260
260
260
260
261
261
261
262
262
262
263
263
263
264
264
265
267
272
274
280
283
288
291
294
299
302
305
306
308
309
311
313
316
319
323
327
329
330
332
333
336
338
339
340
341
343
344
346
347
348
350
352
354
356
357
358
360
360
361
362
362
363
364
364
366
367
369
370
373
375
381
385
389
393
397
398
400
402
406
409
411
412
415
418
421
424
422
419
415
414
410
407
403
400
396
394
393
390
387
383
379
377
376
374
369
364
359
352
347
341
336
330
323
318
315
315
316
318
320
322
324
326
327
329
330
331
332
334
335
336
338
339
341
343
344
345
345
346
347
348
350
352
354
356
358
360
363
365
367
369
371
373
375
377
377
381
384
387
390
392
394
397
400
402
404
407
409
412
415
418
418
419
419
420
421
421
422
423
424
424
424
425
425
425
426
425
423
420
419
418
416
414
412
410
408
407
404
403
400
397
395
394
393
393
391
390
389
388
387
387
386
385
385
384
383
382
381
380
380
380
379
379
379
379
378
378
378
378
377
377
377
377
376
376
376
375
375
375
374
374
374
374
374
374
374
373
373
373
373
373
373
373
373
372
367
365
363
361
358
354
353
352
349
346
343
341
338
337
336
336
335
335
335
334
334
334
334
334
333
333
332
332
332
326
317
310
306
303
297
294
293
290
288
287
284
283
277
275
272
269
267
263
260
258
258
256
254
253
251
249
247
244
243
241
239
237
234
236
239
241
243
246
249
254
258
260
263
266
269
271
272
276
276
276
277
277
278
278
279
279
280
280
281
282
282
283
284
286
289
291
293
295
297
300
304
307
309
313
314
318
321
322
324
325
328
329
331
333
335
337
339
340
342
343
345
345
346
346
347
348
349
350
350
351
352
353
353
354
354
354
355
355
355
355
356
356
356
356
357
357
357
356
355
352
349
345
344
340
339
337
335
332
327
322
317
316
313
309
305
302
298
295
293
292
292
292
292
292
292
293
293
293
293
293
294
294
295
295
296
296
297
297
298
299
299
300
301
302
304
305
306
307
309
311
313
313
315
315
315
316
317
317
318
318
319
319
321
324
326
328
330
333
337
340
343
344
345
344
343
342
340
339
338
338
336
336
334
334
333
334
336
338
339
341
343
346
348
350
353
356
359
363
367
371
374
378
382
384
386
389
393
398
402
404
409
411
414
414
414
414
414
413
413
413
413
412
412
411
407
404
402
400
397
394
391
389
387
386
384
381
380
380
382
384
386
388
389
390
391
392
393
393
392
391
390
389
388
386
385
384
383
383
382
378
375
371
368
364
360
357
353
349
344
340
335
329
323
315
313
315
317
321
325
330
333
337
337
340
343
347
348
351
353
356
358
361
364
369
374
381
385
393
398
402
407
408
409
409
410
412
412
413
414
415
416
418
419
422
424
427
429
432
436
440
440
439
437
436
434
432
431
426
421
417
413
410
404
402
401
400
398
398
397
397
396
395
395
394
393
392
389
387
385
384
383
381
379
377
376
375
375
375
376
377
378
378
379
380
381
382
383
386
389
391
394
395
398
401
404
407
410
414
416
416
416
416
416
415
415
415
415
414
414
413
413
412
412
415
418
421
425
428
429
429
429
429
429
429
429
429
429
431
437
441
446
448
451
453
453
453
453
452
452
452
452
452
452
452
452
452
452
452
449
446
445
443
442
440
437
435
435
433
431
429
428
426
425
425
426
427
428
429
431
432
432
435
437
440
442
441
440
438
437
436
434
433
431
429
428
427
427
426
426
425
424
421
418
417
415
410
404
402
399
396
393
390
388
386
385
385
384
383
382
380
378
377
376
376
376
375
375
374
374
374
374
374
374
374
374
374
374
373
373
372
371
371
370
369
367
364
361
358
356
353
349
344
343
341
338
336
333
331
329
326
326
325
324
324
323
323
322
321
320
320
319
318
316
315
313
311
308
306
304
303
301
300
299
299
298
297
296
295
295
294
294
293
292
292
292
292
292
291
291
291
291
290
289
288
286
285
284
283
282
281
279
277
275
273
271
269
268
266
265
263
262
261
262
263
264
264
265
265
266
267
268
269
269
269
270
270
270
271
271
272
273
274
275
275
275
276
277
277
278
279
280
281
283
284
285
287
289
289
289
289
290
290
290
290
290
290
291
291
291
291
294
297
301
306
309
311
312
315
316
320
323
326
329
329
329
329
329
329
329
329
328
328
328
328
328
328
328
328
329
329
330
330
331
332
333
333
334
337
340
342
344
346
349
351
353
356
359
360
362
366
368
370
371
372
373
375
377
379
382
385
386
385
383
382
380
379
378
375
373
372
371
369
365
363
362
360
358
356
352
349
345
340
337
334
332
327
324
320
316
314
311
308
308
305
303
302
301
300
299
299
298
297
296
296
295
294
294
293
292
291
290
290
290
290
291
291
292
292
292
293
293
293
293
293
293
294
294
294
294
294
294
294
295
298
301
304
307
311
314
316
319
323
327
331
336
338
340
341
344
346
349
350
352
354
356
358
358
360
360
357
355
353
350
347
346
343
341
339
337
336
334
331
328
327
326
325
323
322
320
320
320
321
321
322
322
322
322
322
322
322
322
322
322
322
322
322
321
320
319
318
317
316
315
314
313
313
316
318
321
324
328
331
334
337
341
344
344
344
344
344
344
344
344
344
344
348
351
354
357
359
362
365
365
365
365
364
364
364
363
363
363
363
360
357
354
351
349
347
344
344
348
353
355
358
362
363
364
367
369
370
370
370
371
371
372
372
372
372
373
373
374
375
375
376
377
378
379
380
381
382
382
383
382
380
378
376
373
371
369
369
367
365
363
360
357
353
350
348
347
346
345
345
344
342
341
339
335
333
332
332
332
332
331
331
331
330
330
330
329
329
328
328
334
334
339
339
339
339
340
340
342
342
342
344
344
344
344
345
345
345
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
346
347
347
348
348
349
350
351
352
352
352
353
353
353
354
355
356
356
357
357
357
357
357
358
358
358
358
358
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
360
361
361
362
362
362
362
363
363
364
364
364
365
365
365
365
366
366
367
367
367
368
368
368
368
368
368
367
367
367
366
366
366
365
364
365
365
365
366
367
368
369
369
369
370
371
372
372
373
373
373
374
374
374
375
375
377
377
377
377
378
379
381
383
383
385
386
387
389
391
392
395
395
397
398
400
402
404
404
405
405
406
408
409
410
410
410
411
411
413
414
413
411
411
410
409
408
407
405
404
403
400
398
396
396
394
393
392
392
390
389
388
386
385
383
383
385
385
387
391
393
395
397
398
401
405
407
407
409
411
412
414
418
421
423
425
426
428
428
428
428
428
428
429
429
429
429
429
429
430
430
430
430
430
430
430
430
430
430
430
429
429
429
429
429
429
429
428
428
427
426
418
416
413
413
409
408
404
400
400
400
399
399
398
398
398
398
397
397
396
396
396
396
395
395
393
393
393
393
394
394
395
395
395
396
396
396
397
398
399
399
400
401
401
402
402
402
402
402
403
403
403
404
404
404
404
404
404
404
404
405
406
408
410
410
412
413
414
415
417
418
418
418
418
421
422
423
425
426
426
427
428
428
428
429
431
431
433
433
434
436
436
436
437
437
439
439
442
445
445
445
447
449
449
449
450
451
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
452
451
451
450
449
449
448
446
446
446
446
445
444
439
435
435
435
434
431
430
430
428
425
425
425
422
421
421
419
418
417
417
416
416
414
413
408
408
405
399
398
398
397
396
396
395
395
395
393
393
392
392
392
392
392
392
391
390
390
390
389
389
388
388
388
388
387
387
385
382
382
379
378
377
376
376
375
374
374
373
373
372
369
368
368
367
365
365
363
361
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
359
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
361
361
362
362
362
362
362
364
368
368
371
373
375
376
378
379
379
380
381
382
385
388
389
389
390
392
393
394
396
396
396
397
397
400
401
401
399
399
398
397
397
397
397
398
398
398
398
398
398
398
398
398
398
398
398
398
398
397
397
397
397
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
396
395
395
394
394
393
391
391
398
402
404
404
418
419
419
430
430
430
431
435
441
442
442
443
443
447
451
455
458
461
463
464
468
472
477
479
482
484
484
484
483
483
483
483
483
483
481
478
476
474
472
469
466
464
463
462
460
458
457
455
453
452
450
449
448
447
447
448
448
449
450
453
456
459
461
462
464
466
468
470
469
468
467
466
466
467
468
469
471
473
472
470
467
466
467
471
474
476
480
482
482
482
482
482
482
482
482
483
484
484
485
486
485
483
482
481
479
479
479
479
479
478
476
475
474
472
469
466
462
459
456
454
452
451
450
448
448
446
443
442
441
439
438
435
433
432
430
429
427
425
422
421
417
413
410
408
404
400
399
398
397
396
396
395
395
394
393
392
392
392
393
394
394
395
395
396
396
396
397
397
394
393
391
389
385
382
379
376
374
370
368
368
368
368
367
367
367
366
366
366
365
364
362
361
360
359
356
355
353
353
351
350
350
350
350
350
350
350
350
350
350
350
350
350
351
352
353
353
354
355
355
355
356
356
357
358
359
359
359
359
360
360
360
360
361
361
361
361
361
360
359
359
358
358
357
357
356
356
356
357
358
360
362
365
367
370
372
373
375
376
374
370
367
365
359
356
354
349
345
341
338
336
333
328
326
324
320
316
311
307
302
297
293
292
290
286
282
279
276
272
268
265
262
260
257
255
255
254
254
253
253
253
253
252
252
252
251
251
250
248
246
245
243
241
238
236
235
234
235
236
237
237
238
239
240
241
242
242
243
244
243
241
240
238
236
234
233
231
232
235
237
239
241
243
245
248
251
253
256
256
255
254
254
253
253
252
252
252
255
258
259
262
264
269
274
278
281
282
283
285
287
290
290
291
291
292
294
297
300
304
306
310
311
313
320
326
330
331
332
334
336
339
341
342
343
346
347
349
350
352
353
355
357
359
360
361
362
362
363
364
365
366
367
368
370
372
374
376
378
380
383
384
385
386
386
386
386
386
387
387
387
390
393
396
399
401
399
395
391
389
384
379
373
366
362
358
355
351
348
344
339
334
328
323
318
312
306
300
296
292
287
285
285
284
283
282
281
279
278
277
276
275
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
273
272
272
272
271
271
271
270
270
270
269
267
265
262
260
257
255
253
251
249
249
252
254
256
258
261
263
265
267
271
274
277
281
285
288
291
294
296
299
301
305
309
313
317
321
324
329
334
337
343
346
349
351
352
355
358
361
362
365
366
369
372
374
375
377
378
379
380
381
382
383
384
384
386
387
388
390
390
391
392
392
393
394
395
396
399
402
405
408
411
414
417
419
423
427
432
435
438
442
445
451
454
455
454
453
451
450
448
446
446
447
449
450
451
452
452
453
453
454
455
455
456
457
459
460
461
462
463
463
463
463
463
463
463
463
461
460
459
457
455
454
453
450
447
443
442
439
434
429
428
428
426
426
424
422
420
418
416
415
414
414
413
413
413
412
411
411
410
410
409
407
406
405
404
403
402
402
401
400
399
398
397
397
396
395
394
394
394
395
395
396
398
399
400
400
401
403
407
410
413
415
417
420
422
424
426
428
429
430
434
435
434
434
433
432
431
429
428
427
425
423
420
417
414
411
408
406
403
400
396
393
391
389
388
386
384
383
380
377
373
370
367
364
363
362
361
360
359
358
357
356
354
355
358
362
365
370
374
379
383
385
388
392
397
402
406
408
411
413
414
415
416
417
419
419
420
421
422
423
424
425
426
427
428
429
430
430
429
428
427
426
425
424
423
423
423
423
423
423
421
417
414
410
406
402
397
389
383
378
374
375
377
380
382
385
386
390
392
395
397
400
400
399
397
395
393
392
393
395
396
398
399
399
400
401
401
401
402
403
403
404
404
404
404
403
403
402
401
401
400
400
399
398
397
395
389
383
376
369
363
358
354
353
351
346
343
340
338
337
337
335
332
330
328
327
326
325
324
320
317
315
311
308
306
302
298
294
290
286
285
285
285
285
285
285
285
285
285
285
285
282
280
277
274
270
267
264
260
255
254
252
250
248
246
244
244
241
237
232
229
226
224
220
215
213
213
214
214
214
215
215
216
216
216
217
217
217
217
218
218
218
218
218
218
218
218
217
217
216
216
215
215
214
214
213
213
213
214
216
218
221
224
227
229
232
235
236
237
238
239
240
241
241
242
242
243
243
244
245
246
248
250
251
252
252
253
255
256
257
257
257
257
257
257
257
257
257
257
257
257
257
257
257
256
256
255
254
254
254
253
253
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
252
253
254
255
256
257
257
258
258
259
259
260
261
262
262
262
262
262
262
262
262
262
262
262
262
262
263
264
265
267
268
270
271
273
275
277
278
281
282
282
282
282
281
281
281
281
280
280
280
280
282
283
284
286
288
290
292
294
295
296
300
303
305
306
307
307
308
309
310
311
312
312
313
314
315
315
316
318
319
320
320
321
324
324
326
328
331
332
334
335
337
339
340
342
342
343
344
344
345
346
346
346
347
347
346
341
339
338
336
334
332
330
329
327
325
323
321
317
314
311
308
305
303
301
298
295
294
294
295
296
296
297
297
297
298
298
298
298
298
298
298
298
297
297
297
297
297
296
296
296
296
295
295
295
295
295
296
296
297
297
297
298
298
299
299
300
301
302
303
304
305
306
307
308
309
310
311
311
312
313
313
314
314
315
315
316
317
318
318
318
319
319
319
319
320
320
320
320
321
322
322
322
323
324
324
325
326
327
328
329
331
332
332
333
334
334
334
335
335
336
336
337
337
338
338
339
339
340
341
342
343
343
344
345
346
347
347
349
349
349
349
349
349
349
349
348
348
348
348
348
348
348
349
349
350
350
351
351
352
352
354
355
356
358
359
361
363
364
367
370
371
373
374
375
376
378
380
381
382
385
387
389
391
393
397
399
400
401
403
405
406
407
408
409
410
411
413
415
417
419
422
424
426
428
428
431
433
436
437
438
438
438
437
437
436
436
435
435
434
434
433
432
432
432
432
433
434
435
436
438
439
441
443
445
448
451
454
458
461
462
465
467
470
472
473
475
476
476
476
477
477
477
477
478
478
478
477
476
475
474
473
472
471
471
472
472
473
474
475
476
477
477
477
477
477
477
477
477
477
477
477
477
474
471
468
466
460
456
452
449
445
443
441
440
438
436
433
429
425
422
419
417
416
414
413
412
411
411
411
411
411
411
411
411
411
411
412
412
412
412
412
412
412
412
412
412
410
409
408
408
407
406
404
402
399
397
396
393
391
390
389
389
388
387
387
386
386
385
385
384
384
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
383
384
384
384
385
385
386
386
386
386
387
387
387
388
389
391
392
394
394
395
397
397
398
400
401
403
405
407
409
411
413
414
414
416
418
421
423
424
426
428
429
430
432
434
430
428
426
423
419
415
412
407
404
404
402
401
400
399
398
396
395
394
392
390
386
384
382
377
374
371
367
366
363
361
358
352
350
348
347
346
345
344
342
340
339
337
334
331
329
327
325
323
322
320
319
317
316
313
314
318
321
325
330
333
337
340
344
347
348
351
351
351
351
351
351
351
352
352
352
352
352
352
352
352
352
351
351
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
350
351
351
351
351
352
352
352
352
352
352
352
353
353
354
355
357
357
358
359
360
362
363
365
367
367
368
369
370
371
372
373
373
374
374
376
377
378
380
381
383
384
385
387
389
390
391
393
393
394
394
395
396
397
397
398
399
400
401
401
402
402
403
404
407
409
412
415
418
420
420
420
420
420
420
420
420
420
418
417
416
415
414
413
412
410
409
408
408
407
407
406
406
406
403
400
397
394
392
390
387
383
381
381
382
382
382
382
382
382
383
383
383
384
384
384
386
387
389
390
392
394
395
397
398
397
395
393
391
389
388
387
385
384
383
382
381
379
377
375
372
369
367
365
363
361
359
358
355
353
352
350
348
347
346
345
343
342
340
337
335
333
332
330
329
328
326
325
325
325
326
326
327
328
329
329
330
331
331
332
333
334
334
334
333
332
332
332
331
330
329
328
328
328
327
327
327
327
327
327
327
327
327
327
327
327
327
327
327
328
329
331
332
333
335
336
337
338
339
339
340
342
343
345
346
349
349
350
350
350
351
351
351
351
352
352
352
348
346
343
341
338
335
332
330
329
327
324
323
321
319
317
315
313
312
312
311
311
310
310
308
308
307
307
306
306
304
304
303
302
300
295
291
285
280
273
269
267
263
256
251
250
251
251
252
252
252
253
253
254
254
255
255
256
256
257
257
258
258
259
259
260
260
261
261
262
262
263
263
263
259
255
253
249
246
242
239
233
228
224
224
224
224
224
224
224
224
224
224
224
224
224
224
224
226
227
229
229
230
232
233
234
236
236
237
238
238
236
234
232
229
227
225
224
222
220
218
216
215
215
215
215
215
215
215
215
215
215
215
215
215
215
215
214
214
213
213
212
211
210
210
209
209
208
208
207
207
207
207
207
207
207
207
207
208
208
208
208
208
208
208
208
208
207
207
206
205
205
205
204
204
204
203
203
203
204
205
206
207
208
209
211
212
212
211
208
206
203
201
200
198
197
195
194
192
191
190
190
189
188
187
187
186
185
184
183
183
184
185
186
187
188
189
190
192
192
193
194
195
194
193
192
191
190
189
188
187
186
186
186
186
186
186
186
187
187
187
187
187
187
187
187
186
185
185
184
183
182
182
181
180
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
179
178
177
176
175
173
172
171
170
168
167
166
166
165
165
165
164
164
163
163
162
162
162
161
159
157
156
155
154
153
152
150
148
146
145
143
143
143
143
144
144
144
145
145
145
146
146
146
146
146
146
146
146
146
146
146
145
145
145
145
145
145
146
150
153
156
159
162
165
166
169
171
173
178
184
188
191
193
200
202
203
206
210
213
218
223
226
229
234
238
242
244
248
250
256
261
263
268
270
272
278
279
283
286
286
289
292
294
299
302
303
306
306
306
306
305
305
305
304
304
303
303
303
302
302
302
302
302
302
302
302
302
302
302
302
302
301
301
301
301
301
301
301
301
301
301
301
301
302
303
304
305
305
306
307
308
309
310
312
313
314
314
315
316
317
318
320
322
323
323
324
324
323
322
321
320
319
319
319
318
317
316
313
310
306
303
299
296
295
292
288
284
280
277
275
271
268
266
265
263
261
263
264
266
267
268
269
271
273
274
273
272
272
271
270
269
268
268
268
268
268
268
268
268
266
263
260
257
253
250
248
247
243
240
237
236
235
234
233
232
231
230
229
229
228
228
227
226
225
225
225
225
224
224
224
224
223
223
223
219
214
207
202
196
190
183
175
169
165
162
158
155
152
148
145
143
139
135
131
126
122
117
113
111
106
103
102
103
103
104
104
105
105
106
106
107
108
108
109
109
110
113
116
121
123
125
128
131
135
139
143
147
150
153
156
161
165
170
173
176
182
187
192
196
199
202
205
209
209
209
208
208
207
207
207
206
206
206
205
205
204
204
204
203
198
193
188
180
175
173
166
158
151
146
141
134
127
124
124
124
125
125
125
126
126
126
126
127
127
128
128
128
129
129
129
130
130
131
131
131
132
132
132
133
133
134
135
137
138
139
140
140
141
142
143
143
144
145
146
146
148
149
150
151
151
152
152
153
154
155
156
157
158
159
160
161
162
162
163
164
165
165
165
163
162
161
160
158
157
155
154
154
152
151
149
150
150
152
153
154
155
156
157
158
159
160
161
163
164
165
166
167
168
168
169
170
171
172
172
172
173
174
174
176
178
181
182
183
184
186
187
189
189
191
193
195
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
196
197
197
197
197
198
198
198
198
199
199
199
199
200
200
200
201
201
202
202
202
203
203
203
204
204
204
206
207
210
212
214
215
216
217
218
219
220
221
222
223
225
228
228
230
232
233
233
234
234
235
236
236
237
238
239
240
241
241
241
240
240
239
239
238
237
237
236
236
236
234
232
229
227
225
223
222
220
218
216
215
214
212
211
212
213
214
215
216
217
218
219
220
221
221
222
222
222
222
222
222
221
221
221
221
221
221
221
222
225
227
230
232
236
239
242
244
246
248
249
252
253
257
261
263
266
267
269
270
272
274
276
277
280
281
283
287
288
289
291
292
293
295
295
297
299
301
303
304
305
306
309
310
312
313
315
316
317
318
318
320
320
322
322
323
324
326
326
327
327
328
330
330
331
332
332
333
335
336
336
336
336
336
336
336
336
336
336
337
337
337
337
337
337
337
337
337
337
337
337
337
337
336
336
335
335
334
334
334
334
334
334
334
334
335
335
335
335
335
335
335
335
334
334
333
332
330
328
328
326
325
324
323
320
319
319
319
317
316
316
315
314
314
313
312
311
310
310
310
310
310
310
310
309
309
309
309
309
309
309
309
309
309
310
310
310
310
310
311
311
312
312
312
312
312
311
311
311
310
310
309
309
308
307
306
305
304
304
304
304
304
304
305
305
305
305
305
305
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
306
303
301
299
296
295
292
289
285
281
277
273
269
265
261
259
259
258
258
258
257
257
256
256
256
255
255
254
254
253
253
253
252
252
251
251
250
250
249
248
248
247
246
244
242
240
237
235
234
232
231
229
227
226
226
229
233
236
240
242
244
247
251
253
255
257
260
264
271
275
280
284
289
292
296
299
302
305
307
309
310
312
313
314
315
316
318
319
320
321
322
322
321
320
319
318
317
317
316
315
314
313
312
311
311
312
313
314
315
315
316
317
317
318
318
320
320
321
321
322
323
324
325
325
325
326
326
327
327
328
329
330
331
331
332
332
333
333
334
335
336
337
338
339
340
341
342
346
349
350
352
354
357
359
361
363
365
366
367
369
370
371
372
374
376
378
380
382
383
385
386
388
389
390
391
392
394
395
396
397
399
400
400
400
401
401
401
404
408
411
414
417
419
421
422
425
429
430
433
435
436
438
441
443
446
449
451
453
454
454
454
453
453
453
452
452
452
451
451
450
450
448
445
442
439
436
434
430
427
424
421
417
414
410
407
404
401
400
398
396
395
394
393
392
390
390
388
387
386
385
383
382
380
378
376
373
371
368
366
364
362
361
356
354
350
347
341
338
333
327
323
318
315
314
314
315
316
317
318
318
319
319
320
320
321
322
323
323
324
325
326
326
327
327
328
329
330
330
331
332
332
333
334
335
337
338
340
341
343
345
347
348
350
352
354
358
361
365
367
371
373
376
379
380
381
382
383
384
385
386
387
389
389
389
389
388
388
387
387
386
386
385
384
384
383
382
382
381
380
379
378
377
375
374
374
372
371
370
369
367
365
364
362
362
361
358
355
351
348
345
342
340
338
336
332
330
327
325
323
321
320
319
318
317
315
314
313
312
311
309
308
306
305
303
301
300
297
296
295
293
291
289
288
286
285
284
282
280
279
278
277
277
276
275
274
273
272
270
269
270
272
272
273
274
274
275
276
277
278
279
280
281
282
282
281
277
272
268
263
259
253
248
242
237
233
227
222
216
206
196
190
184
179
174
167
160
151
145
143
139
131
123
117
113
110
108
105
101
97
94
91
88
85
84
81
80
76