321
321
321
321
321
320
320
320
320
320
320
321
321
321
320
319
319
318
319
319
319
319
318
318
318
318
318
318
319
319
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
317
318
317
317
317
316
318
317
317
317
317
317
316
316
316
316
316
314
314
313
314
314
314
314
314
314
315
314
314
313
313
313
313
313
314
313
313
312
312
312
312
312
312
312
314
315
315
315
315
317
317
318
320
321
321
321
317
316
316
316
315
314
314
315
320
321
323
323
323
323
324
326
327
328
330
331
332
334
338
339
343
344
347
345
345
347
348
347
345
340
339
339
338
338
337
337
337
336
336
345
346
347
350
352
352
352
352
350
349
349
348
347
345
343
341
337
336
336
336
336
336
336
337
339
340
341
341
341
342
342
344
344
345
346
346
346
345
344
343
343
343
343
343
344
345
348
348
348
348
348
348
349
353
354
354
354
354
354
355
357
358
360
360
360
361
362
362
362
365
367
368
370
372
372
372
372
372
372
372
372
373
374
374
373
376
377
379
381
379
375
375
375
376
376
377
377
377
377
377
376
376
376
376
377
377
378
378
378
379
379
379
379
380
382
382
382
382
381
380
378
378
379
379
379
380
381
382
382
386
388
388
388
386
385
384
389
391
393
395
405
404
402
400
399
399
396
395
390
386
384
381
381
380
379
379
378
376
376
377
377
378
378
379
380
380
379
377
378
381
382
384
388
388
387
387
385
385
385
385
385
386
386
385
383
381
380
380
380
380
380
383
383
384
384
385
390
392
395
396
396
396
397
397
395
392
392
390
389
389
394
396
398
402
403
403
403
402
401
400
399
398
395
394
394
394
394
394
394
393
393
393
394
395
395
396
397
397
398
398
399
399
400
400
399
398
394
393
388
386
385
383
378
378
378
378
378
378
377
377
377
377
377
377
377
379
383
383
384
384
384
384
381
381
381
381
383
384
384
387
388
390
390
390
390
389
386
383
379
375
374
372
372
372
371
370
374
377
379
380
382
384
384
383
381
378
377
375
375
375
376
377
379
379
379
379
378
377
377
377
376
376
376
376
376
376
376
376
377
379
380
380
380
380
381
382
382
383
383
382
381
381
381
381
380
378
376
375
374
375
374
374
374
374
375
375
375
375
375
375
375
375
374
374
374
374
374
374
372
372
373
374
374
374
374
372
372
373
373
374
373
372
371
371
372
369
371
371
371
371
370
368
368
368
368
369
369
373
374
375
377
377
380
390
393
396
398
401
403
403
403
403
405
406
408
409
411
413
415
416
420
424
425
428
429
430
431
433
437
439
439
439
438
438
438
441
444
447
456
461
461
462
462
463
464
467
471
478
480
481
483
484
486
489
489
490
495
496
497
497
499
499
499
499
498
497
498
502
500
500
501
506
507
508
510
511
511
511
511
512
512
512
512
512
512
512
512
512
511
511
510
510
510
509
511
515
514
513
512
511
511
512
516
515
513
511
515
521
523
524
524
524
524
524
521
521
520
520
519
519
518
518
520
521
521
522
522
521
520
519
519
518
517
517
517
516
516
515
515
515
515
515
515
515
517
521
522
522
522
521
520
520
519
519
517
517
517
517
518
522
518
515
514
513
511
510
509
506
505
504
504
504
505
505
507
508
508
507
506
505
504
501
499
501
503
504
505
506
507
508
508
506
505
501
501
501
501
502
503
506
507
508
508
508
507
507
506
505
505
505
505
505
505
506
506
506
506
506
506
505
504
503
502
501
500
499
497
495
494
493
490
490
490
489
489
489
488
488
488
488
488
488
488
488
488
488
488
488
488
487
484
483
482
480
478
476
475
475
474
472
472
471
471
471
471
471
472
472
473
473
473
472
472
472
471
471
471
470
470
470
470
470
470
471
472
473
473
473
474
474
474
474
474
474
475
477
479
482
485
485
485
485
485
485
485
485
484
483
489
490
494
497
501
504
507
511
513
514
515
516
516
516
521
530
532
532
532
531
531
531
531
531
531
531
531
531
531
531
531
531
531
530
530
530
529
529
531
534
539
541
542
542
542
542
542
542
543
544
545
546
547
548
550
552
553
555
558
563
564
568
569
570
573
574
576
577
579
581
586
588
589
589
589
588
588
588
587
588
588
588
588
588
588
588
592
592
592
592
593
595
596
596
597
597
597
599
602
605
607
606
605
608
608
612
620
622
623
624
626
626
627
628
630
634
637
639
639
639
640
640
640
640
640
641
641
642
642
644
646
648
651
651
652
653
654
654
654
658
657
656
655
656
657
658
663
672
673
673
675
676
679
679
679
679
679
679
679
679
679
680
681
681
682
682
683
684
686
686
687
688
689
693
696
698
701
706
708
711
712
713
714
715
717
723
727
732
734
737
737
737
737
737
738
738
738
738
738
738
738
738
739
741
742
742
742
742
744
744
744
746
746
746
748
750
751
751
752
752
752
752
753
755
758
764
764
764
764
764
764
764
764
764
763
765
765
767
768
768
768
770
770
771
774
775
775
776
777
778
779
780
780
781
781
781
781
780
780
782
783
786
786
785
785
785
785
785
786
787
786
785
784
783
782
781
780
780
780
780
780
779
779
778
778
777
775
774
774
774
773
773
772
772
771
769
766
766
758
758
760
762
762
764
766
769
770
771
771
771
770
768
766
762
762
760
759
757
755
753
753
754
754
755
743
741
734
732
729
728
727
724
723
721
719
719
720
723
721
709
709
709
709
708
707
706
705
702
701
700
699
697
695
694
694
694
694
694
694
694
692
691
689
689
690
691
692
694
695
693
692
690
687
685
684
683
680
678
677
676
675
674
674
672
672
672
672
672
673
675
676
676
676
675
674
674
673
673
673
673
673
673
673
674
674
674
674
674
675
675
675
675
675
673
672
670
669
668
667
665
660
660
660
660
660
660
659
659
659
658
658
656
654
649
646
643
640
635
634
633
633
631
627
624
624
622
621
621
619
618
618
617
617
616
615
614
611
611
607
605
603
601
601
600
597
595
595
594
592
592
590
589
588
588
587
586
585
584
583
582
581
581
580
579
578
575
575
575
575
574
574
573
572
571
570
570
571
572
573
576
579
581
582
585
587
586
581
577
575
574
571
568
566
561
559
552
552
552
552
551
547
545
544
540
531
523
524
527
529
532
531
529
529
529
524
521
518
514
509
506
492
486
482
481
480
477
472
465
462
460
458
454
445
439
438
438
438
438
438
437
436
432
430
427
418
417
417
416
415
414
414
414
412
411
409
409
408
407
407
407
408
407
406
407
410
412
411
407
403
400
400
400
400
388
393
395
397
398
398
398
399
403
403
402
402
402
402
388
390
390
389
387
382
379
373
370
370
367
369
378
380
381
381
381
383
384
387
390
390
390
389
388
387
386
384
375
371
367
352
351
350
349
345
345
345
345
346
348
351
351
350
350
348
343
343
344
340
339
341
343
343
343
341
339
338
337
337
337
339
342
346
347
345
343
337
337
338
340
338
335
337
339
340
338
337
334
333
333
334
334
333
333
333
332
331
331
334
336
337
336
334
333
346
344
347
349
356
358
360
361
361
359
357
356
355
354
352
351
348
348
347
347
347
345
344
343
344
346
345
344
344
339
335
335
335
332
328
329
332
336
341
345
349
353
358
363
363
372
375
377
379
380
379
377
376
375
375
379
383
387
388
389
391
403
406
407
408
411
413
413
414
415
435
431
426
421
415
408
405
403
407
411
417
416
415
412
410
406
396
395
395
395
395
395
393
392
391
388
380
375
373
372
371
370
366
363
357
347
343
342
340
340
335
333
330
329
328
327
326
325
325
325
326
327
327
326
324
323
324
328
332
338
341
340
340
339
334
333
333
333
333
336
330
320
320
323
326
330
327
324
321
322
326
329
334
335
332
327
326
325
325
324
323
315
309
308
307
307
305
304
303
302
300
299
294
293
292
296
298
310
312
314
315
309
304
299
297
289
280
274
276
275
275
276
277
276
275
273
273
269
267
264
262
261
261
262
262
262
263
264
264
262
262
263
263
263
263
263
263
263
263
263
262
262
262
263
263
265
265
262
260
259
259
260
260
260
260
259
259
258
257
256
255
255
255
255
255
255
255
255
256
256
256
257
257
257
257
256
255
255
253
253
254
256
257
259
259
255
254
255
256
256
256
256
257
257
259
256
255
255
255
256
256
257
257
260
262
263
264
265
265
265
265
264
264
264
264
264
264
264
265
265
265
270
271
271
271
271
272
272
271
265
262
257
258
258
259
260
261
261
261
261
261
261
262
262
262
272
277
280
280
280
280
280
281
283
286
293
296
300
303
304
306
305
302
300
298
295
288
287
286
285
286
288
291
293
298
301
300
298
296
293
292
293
293
292
291
289
288
287
287
291
293
292
288
281
277
277
278
278
277
277
277
278
278
278
280
280
280
280
279
279
277
274
273
272
272
272
272
273
275
275
274
274
274
274
274
274
274
274
273
273
272
272
275
278
279
279
279
278
278
276
276
276
276
276
276
277
279
281
283
282
280
279
279
279
279
278
278
277
277
277
277
277
278
278
278
275
273
273
273
273
272
271
270
268
267
267
267
267
266
263
262
266
266
266
266
266
266
266
266
267
267
267
267
271
272
273
274
275
276
277
277
278
279
280
280
281
281
283
283
286
287
288
287
287
287
288
289
289
290
289
289
288
287
286
286
287
287
287
286
284
284
284
284
295
295
295
296
296
294
292
290
290
289
287
285
289
290
289
289
293
295
296
297
297
293
289
288
287
285
283
281
281
280
277
277
279
281
279
278
278
277
276
276
276
276
276
275
271
268
264
263
262
262
262
262
262
263
263
264
264
265
267
269
271
271
269
266
266
265
263
262
261
258
257
257
257
257
257
258
259
259
261
261
260
259
257
254
252
250
240
236
234
232
224
225
226
229
231
232
233
232
231
229
227
225
222
217
214
212
209
205
205
204
203
201
201
200
200
199
199
197
196
199
200
201
202
203
204
205
207
208
210
212
214
213
211
209
208
207
206
204
207
210
219
224
228
233
234
232
231
230
229
228
227
221
223
225
233
235
236
236
236
237
238
239
240
240
241
241
242
242
243
243
243
243
246
246
251
251
251
249
248
248
248
248
246
244
241
239
238
239
241
241
243
248
250
251
251
250
250
249
249
249
249
249
249
249
248
247
246
245
244
245
249
250
250
249
248
248
248
248
247
246
246
241
239
239
240
241
242
242
242
242
241
241
238
236
233
233
234
234
235
236
237
237
237
237
237
237
237
236
236
236
235
234
233
231
232
232
233
232
229
227
228
229
230
231
232
234
234
234
235
235
234
233
232
229
228
227
226
226
226
226
226
226
226
226
226
226
226
226
226
226
226
227
228
228
229
230
231
232
233
236
237
238
239
239
240
241
241
241
242
242
243
245
246
247
249
251
252
254
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
255
254
254
254
254
254
254
254
254
255
255
255
255
255
253
253
252
252
252
252
253
253
254
257
261
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
263
266
267
268
269
269
269
269
268
266
264
262
262
262
264
265
265
265
265
265
265
265
265
264
264
264
264
263
260
259
257
256
255
255
257
262
262
262
262
262
262
261
260
259
258
257
258
259
261
262
262
261
260
257
254
249
243
243
244
245
246
247
248
248
248
248
248
248
246
245
241
241
241
241
241
241
240
240
240
239
237
236
235
233
238
241
242
243
244
244
243
243
242
242
242
242
243
245
247
251
254
257
261
265
265
265
266
267
267
268
268
269
269
269
269
269
269
269
269
270
270
270
270
271
271
271
272
272
273
276
276
277
277
280
280
279
279
280
285
287
287
287
287
285
286
293
293
293
293
293
296
295
295
298
308
309
310
306
306
306
306
306
308
309
313
321
321
320
315
316
315
314
314
315
315
314
313
313
313
313
313
313
313
313
313
313
314
314
314
315
315
314
315
317
316
319
315
314
315
315
315
316
316
316
314
313
312
312
312
312
313
314
314
314
314
314
314
313
312
312
313
314
315
315
314
314
314
314
313
313
312
314
314
316
316
316
316
316
317
317
317
318
318
317
317
316
316
316
317
317
317
317
317
319
316
316
316
317
317
318
318
318
318
318
319
319
319
319
319
319
319
319
319
319
319
319
319
319
320
320
320
320
320
320
319
319
319
319
320
320
321
321
321
321