321
320
320
320
318
318
318
318
318
318
319
319
319
319
319
319
319
319
319
319
319
320
321
321
319
319
319
321
321
324
325
322
323
324
322
321
321
321
320
318
318
318
318
318
318
319
319
319
319
319
319
321
325
328
333
335
337
337
335
332
329
325
325
325
326
325
323
322
323
323
322
322
322
324
325
326
328
330
333
334
334
337
338
338
339
340
340
340
341
342
342
344
344
343
342
339
342
354
356
358
357
353
349
349
349
348
348
348
347
347
347
347
347
350
347
343
341
340
335
333
333
333
334
334
338
339
339
339
341
343
343
343
344
345
346
347
350
352
357
358
364
366
369
373
375
378
380
381
381
382
383
385
387
390
392
395
396
397
397
398
396
394
395
396
397
398
399
399
399
401
403
403
401
397
394
392
392
392
392
394
394
388
384
382
384
386
388
390
387
383
381
379
378
377
377
377
377
378
378
378
378
378
378
378
378
379
380
384
386
387
387
388
388
389
389
390
391
391
391
391
391
391
388
384
382
382
384
386
373
378
389
396
397
399
401
403
405
406
408
409
410
413
413
412
412
412
414
420
422
423
423
424
424
424
422
421
420
421
424
425
425
425
425
424
423
420
419
417
412
417
420
420
420
420
421
423
425
427
427
424
421
418
418
420
423
426
427
427
428
428
430
431
433
432
430
426
423
422
422
422
422
422
422
421
420
420
420
420
420
419
418
418
418
419
420
420
419
417
414
412
412
412
412
412
412
412
412
415
420
427
430
434
435
437
439
440
450
454
457
460
463
465
467
468
469
469
469
469
473
479
481
483
485
487
489
491
496
500
505
510
509
508
506
505
504
502
501
500
498
496
495
494
490
489
486
484
482
480
478
474
472
472
472
472
472
468
465
463
463
463
462
455
454
457
464
465
466
466
466
466
466
465
464
463
463
463
463
463
465
468
470
479
484
485
486
487
488
488
488
488
482
478
476
474
472
470
469
467
467
465
464
463
463
463
462
460
459
454
451
451
451
451
451
450
450
448
447
443
443
443
447
449
450
451
451
452
453
455
457
460
459
459
456
453
450
446
440
437
435
431
430
429
429
427
426
425
425
425
425
424
421
414
412
408
404
401
398
394
394
394
394
390
388
387
393
395
397
397
398
400
402
403
405
411
416
419
423
424
426
426
428
429
431
432
434
435
436
441
444
447
449
451
453
455
455
455
455
455
456
456
457
458
460
461
461
462
463
470
477
479
483
484
486
495
499
502
503
503
503
503
503
509
519
526
532
532
533
533
533
534
534
535
535
536
537
542
543
546
547
549
552
552
553
554
557
558
558
557
556
556
561
564
568
575
577
577
580
586
594
597
600
603
605
608
611
614
616
619
621
625
627
629
630
631
633
635
635
635
639
642
643
645
647
650
657
661
666
668
669
670
671
673
674
675
676
678
681
681
682
682
682
682
687
691
694
696
698
697
697
700
701
702
704
706
707
708
711
712
713
716
719
723
727
731
733
742
752
756
755
754
753
752
748
751
759
765
769
769
768
767
767
766
766
766
767
768
768
765
762
760
756
751
743
736
737
729
723
717
717
717
717
716
715
714
714
715
715
717
718
719
716
713
711
715
720
724
724
724
725
730
732
745
747
747
746
744
743
743
743
743
744
744
744
746
748
752
755
757
759
760
762
764
763
761
758
757
754
748
738
733
727
727
728
728
735
740
745
755
757
758
765
768
768
769
770
770
768
768
767
766
772
776
779
782
788
791
794
797
798
804
806
808
810
813
815
816
817
817
817
817
817
817
821
822
823
823
825
829
830
831
833
841
842
843
843
844
844
845
846
846
849
850
850
850
850
850
850
850
849
848
845
841
839
837
834
833
833
832
831
830
830
829
829
830
831
830
829
828
827
826
825
821
820
819
808
806
802
802
800
795
795
793
792
794
791
790
789
788
788
787
787
787
787
787
788
787
786
786
786
786
786
786
784
784
781
780
780
780
784
786
788
794
795
796
794
792
790
788
788
788
788
788
787
784
783
783
784
784
784
786
789
791
793
796
798
800
802
803
804
804
802
796
795
801
786
785
784
784
783
783
783
783
783
783
783
782
782
782
781
781
780
780
778
775
773
771
771
770
770
770
772
778
780
781
783
783
784
784
784
784
784
784
783
783
783
783
783
784
784
785
786
787
793
794
795
794
791
791
789
788
787
787
786
782
780
780
780
780
788
792
798
804
809
808
806
811
813
814
814
814
814
814
815
817
819
824
825
826
826
826
825
823
822
822
822
822
817
814
815
817
815
813
812
816
819
822
822
821
831
834
836
836
834
832
833
835
837
839
842
846
837
825
820
823
828
831
827
826
826
824
822
821
823
826
825
817
808
803
803
803
802
798
795
791
789
786
807
797
791
781
778
775
772
760
750
747
745
743
756
761
767
763
748
741
738
738
738
737
736
732
730
727
724
718
717
717
718
718
719
720
721
721
721
718
716
716
717
717
717
728
732
732
731
730
730
731
732
733
737
740
745
745
746
742
742
740
739
738
741
742
739
736
732
729
728
727
726
720
718
716
714
711
711
710
710
711
714
715
716
716
715
709
713
716
717
717
713
708
707
708
710
710
710
706
706
706
710
711
711
713
720
725
728
731
728
724
719
720
722
730
733
734
735
741
741
742
742
747
753
755
757
757
757
757
764
769
764
762
761
760
762
768
772
776
777
773
761
751
751
751
746
740
733
731
728
727
725
724
722
720
722
727
731
733
736
733
732
740
739
739
738
735
733
730
729
728
727
726
728
731
731
730
728
727
726
726
725
725
725
724
724
723
723
723
724
724
725
725
725
725
725
724
724
724
724
724
725
725
725
725
724
724
723
723
723
723
723
723
723
723
723
724
724
724
724
724
724
724
724
724
724
724
724
725
726
727
728
728
729
729
730
731
733
736
738
737
737
737
737
739
742
745
748
751
753
757
759
760
761
762
765
772
776
777
776
774
785
793
796
797
789
787
787
786
790
791
794
795
794
791
791
788
787
785
781
782
783
786
786
786
789
790
794
797
799
817
821
829
832
835
842
846
846
844
844
843
842
842
841
841
842
842
843
843
842
840
839
837
836
836
837
840
841
834
829
830
833
837
841
850
857
858
857
856
856
856
857
857
858
858
858
857
855
854
846
844
842
836
834
832
830
828
826
821
820
820
821
826
827
828
828
829
831
830
827
824
822
822
822
823
824
824
824
824
824
824
832
830
826
825
817
813
810
808
806
804
788
782
778
776
773
773
772
772
780
780
779
778
781
790
793
798
803
810
812
811
810
807
805
804
808
813
818
819
819
819
819
819
819
822
826
831
831
831
838
864
871
872
872
861
861
864
867
868
870
877
881
886
888
893
901
906
906
905
905
905
905
913
914
917
921
930
930
929
925
919
917
916
914
912
910
908
905
903
902
901
899
898
895
894
890
887
882
879
879
879
879
878
878
874
872
869
868
870
876
877
877
876
872
871
867
864
863
859
856
854
849
858
859
860
860
860
855
856
858
859
860
863
866
870
881
884
884
884
884
884
884
883
882
871
868
865
868
879
887
881
883
884
884
885
884
882
880
877
875
862
861
860
858
857
848
845
843
841
839
837
829
827
825
824
823
823
823
823
823
821
820
814
812
811
809
806
802
796
794
794
795
795
794
793
792
781
764
760
758
758
756
755
753
743
740
738
738
735
735
735
735
727
721
709
697
690
692
685
681
675
670
668
667
664
655
646
642
641
638
636
627
623
623
624
624
623
615
612
611
610
605
602
601
601
600
599
598
596
588
586
586
586
586
584
585
586
587
587
586
584
582
582
583
585
585
583
576
573
574
574
575
575
568
567
565
560
549
541
529
523
516
513
512
510
508
505
504
502
502
500
499
497
497
491
489
486
484
482
472
465
450
450
450
451
452
452
451
445
417
415
414
410
405
401
381
377
379
383
384
379
377
375
373
370
368
367
366
364
361
357
354
350
350
351
353
353
353
349
341
337
333
330
330
328
328
328
325
324
322
320
314
314
311
311
310
309
307
306
305
305
295
293
292
291
291
291
290
290
290
289
289
289
288
288
288
288
288
288
288
288
288
288
288
288
288
287
285
284
284
284
284
284
283
282
281
280
281
281
280
280
280
280
280
280
280
281
281
280
280
281
282
283
284
284
284
283
280
278
277
275
274
274
274
274
274
275
275
276
276
276
277
278
278
278
277
275
273
272
272
272
272
272
271
268
265
261
260
258
256
254
252
251
251
250
250
249
249
250
253
255
260
262
264
265
262
261
260
258
255
253
250
247
248
249
250
251
252
256
261
266
270
274
274
273
273
274
275
278
286
291
297
304
310
313
316
317
317
317
317
317
316
315
315
314
313
313
313
314
314
315
315
315
317
318
319
319
319
319
320
321
321
321
322
321
318
317
317
316
315
315
310
308
306
304
304
304
303
303
303
303
303
304
304
305
305
306
308
309
313
314
314
313
306
306
305
304
303
300
297
299
301
302
305
308
311
311
311
312
312
312
312
313
320
325
327
328
332
329
329
328
327
327
333
335
340
341
343
345
348
348
349
350
351
355
355
360
363
364
365
366
369
369
369
364
361
358
355
357
358
359
360
362
363
364
365
366
367
368
378
380
381
381
380
386
389
389
388
388
388
388
388
387
386
385
381
379
377
376
372
373
377
378
380
381
382
382
383
383
384
384
385
385
386
386
381
378
375
375
375
375
373
373
373
372
367
365
361
361
361
360
360
360
360
360
360
360
360
360
360
360
360
360
360
360
359
358
357
356
355
352
351
349
348
346
345
344
342
342
343
344
344
345
345
346
347
349
351
353
355
356
354
352
351
349
348
346
345
343
341
340
340
340
340
340
340
340
338
337
337
336
335
335
334
334
333
331
329
327
325
323
321
321
320
320
318
318
317
317
317
316
314
305
301
302
303
306
306
303
302
301
301
300
299
299
298
297
294
294
293
292
292
291
291
290
290
290
291
294
294
295
296
296
296
295
294
293
292
290
289
288
287
286
285
284
281
279
280
282
285
287
290
292
293
295
295
296
298
300
301
303
304
305
306
306
306
307
307
307
307
306
306
306
306
307
307
307
307
307
308
308
309
310
312
313
314
315
315
315
315
315
315
315
315
315
315
315
315
319
319
320
320
321
322
322
322
323
323
334
335
336
335
334
330
323
320
317
315
313
313
310
309
308
307
304
302
299
298
297
296
295
289
285
283
281
279
279
280
280
277
275
270
269
268
263
258
252
242
241
240
237
236
234
233
230
227
226
224
221
214
213
213
213
211
205
204
199
198
195
194
190
190
190
190
189
189
189
188
185
185
184
184
185
186
187
188
189
190
191
192
193
193
195
195
195
195
195
197
198
200
200
200
200
200
200
200
200
200
199
199
199
199
199
199
199
200
200
200
202
210
211
212
213
224
225
229
233
234
235
237
237
237
237
238
238
238
238
239
239
239
239
239
241
241
242
242
243
244
245
248
249
249
249
249
250
250
250
250
251
251
257
260
265
267
269
273
276
279
283
283
283
283
283
283
283
283
284
284
284
284
285
285
285
284
282
281
276
275
274
274
272
266
265
264
262
260
264
272
274
276
280
290
309
310
310
315
317
318
320
321
323
324
324
327
331
332
334
335
341
342
343
343
343
343
342
341
341
341
341
341
340
339
339
339
339
339
338
338
337
337
337
338
339
341
341
343
343
343
342
341
341
341
341
344
346
353
361
366
367
368
369
369
370
370
370
370
373
378
380
380
381
381
381
382
383
383
383
382
382
381
380
380
379
378
376
376
377
378
382
395
403
413
418
421
423
425
426
427
431
431
430
429
428
428
426
426
429
431
432
433
435
437
439
440
441
444
446
447
448
449
450
452
454
458
461
461
462
464
466
466
466
465
464
464
463
463
463
464
464
468
468
468
468
467
466
466
465
471
472
473
475
476
477
478
479
481
481
481
482
482
484
493
494
495
497
498
499
504
505
506
507
509
505
505
505
507
509
516
519
520
521
522
522
521
521
519
520
526
528
529
530
535
535
534
534
535
542
542
542
542
542
541
541
540
540
540
539
539
539
539
538
538
538
538
538
539
542
544
553
556
559
561
562
563
564
565
565
565
565
564
564
564
563
563
563
563
563
564
566
601
601
601
601
601
601
601
601
612
615
618
625
640
641
645
650
650
648
646
645
644
643
646
649
653
656
658
661
663
668
670
671
676
684
682
681
679
678
677
677
679
688
694
696
698
701
707
707
707
708
708
709
709
710
710
712
713
721
723
725
728
729
732
733
734
735
742
744
745
749
750
752
754
755
762
765
767
768
769
772
773
775
777
782
783
784
785
786
787
789
791
791
792
793
793
797
798
799
799
799
800
801
801
802
802
802
803
803
811
818
820
825
829
832
838
841
841
842
843
845
846
846
850
850
850
851
851
851
852
853
854
854
854
855
856
856
865
872
876
877
880
881
881
881
888
888
890
891
893
893
897
899
899
900
900
900
900
900
900
900
900
900
900
900
928
928
928
929
929
929
929
931
932
935
936
936
936
937
937
937
937
937
937
936
936
936
939
941
943
945
949
951
952
958
961
963
963
964
965
966
966
966
964
963
962
962
961
960
962
965
966
967
968
965
964
964
963
963
959
959
959
958
957
957
956
956
950
948
935
933
928
928
927
926
925
923
922
920
919
918
918
917
915
914
914
913
913
911
910
910
909
884
882
881
880
874
872
865
865
864
863
859
858
858
858
857
856
856
856
855
855
852
851
849
847
847
846
846
845
842
839
838
837
836
836
835
828
826
825
820
800
798
795
792
791
792
792
792
792
792
791
790
788
784
782
781
780
780
778
774
772
765
734
733
732
732
730
730
729
729
728
722
721
721
720
720
719
713
712
711
710
709
707
707
707
707
707
705
698
696
694
688
687
685
684
683
681
681
678
678
678
678
675
663
662
659
657
655
654
652
650
644
644
644
644
644
645
645
645
645
643
642
640
640
639
636
627
625
619
618
611
610
609
608
608
607
606
604
604
604
603
600
599
599
598
575
573
571
568
563
561
558
557
556
551
549
549
548
543
541
538
536
526
523
520
516
512
498
496
494
493
488
486
484
482
474
468
455
448
440
436
430
429
429
423
421
419
414
411
404
394
356
348
348
335
334
334
330
322
322
322
322
322
322
321
320
320
321
322
325
322
325
336
337
347
350
353
353
355
355
355
356
357
357
356
356
355
354
354
353
352
353
353
353
354
354
355
355
357
358
359
359
360
362
358
352
351
348
348
349
350
354
355
355
355
355
355
355
355
355
354
354
353
353
353
353
353
353
355
355
356
356
356
356
357
358
359
359
359
361
364
365
365
365
365
363
360
357
355
354
353
353
351
351
350
351
352
354
355
355
356
357
357
357
358
358
359
348
346
344
344
344
344
343
342
341
341
340
341
342
344
345
346
346
349
342
342
342
341
336
317
314
310
305
291
289
287
286
286
286
286
288
289
290
290
291
293
293
293
292
292
292
292
292
292
292
292
292
292
292
292
289
286
285
284
283
283
282
281
281
281
282
282
283
283
284
285
286
290
293
297
303
305
305
306
308
309
310
311
311
312
313
314
315
320
327
330
336
343
349
355
361
363
364
364
365
367
367
369
373
374
375
369
359
355
357
361
363
365
374
376
377
381
386
388
389
390
392
392
391
386
382
380
379
378
376
375
375
372
371
364
358
357
357
356
355
353
351
351
350
350
350
350
350
350
350
351
351
351
352
353
353
354
355
359
361
364
369
373
376
379
382
381
381
380
380
380
379
379
379
379
377
376
375
374
373
373
377
379
381
381
380
380
380
380
379
377
373
371
367
365
365
365
364
364
363
363
363
364
366
366
367
371
372
375
376
377
378
379
377
373
373
372
372
371
370
369
364
364
363
359
358
358
357
355
353
348
348
343
340
339
338
337
336
336
342
344
345
347
351
350
350
350
349
349
348
347
345
342
342
341
338
337
335
332
331
330
329
328
324
320
318
315
307
304
304
305
305
305
306
306
306
309
310
311
312
312
313
314
314
314
315
315
315
314
313
311
306
302
302
302
302
302
302
301
301
301
301
301
301
302
303
303
303
303
303
303
303
303
302
300
300
300
299
299
299
300
300
300