137
136
136
136
136
136
136
136
136
136
136
136
136
136
135
134
134
134
133
132
132
132
132
132
132
132
132
133
134
135
136
136
134
132
132
132
131
131
131
131
131
131
131
131
132
132
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
133
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
134
135
136
136
136
136
136
136
136
136
136
136
137
137
137
137
137
138
138
138
138
138
138
138
138
138
140
140
141
141
142
142
142
142
142
143
143
144
144
145
145
146
146
146
146
147
147
147
148
148
149
149
149
149
150
150
151
152
153
154
155
156
158
159
161
164
165
167
167
168
169
170
172
174
176
178
179
182
183
186
186
189
190
190
190
190
191
194
198
204
210
212
214
217
220
223
229
234
238
242
245
247
252
255
258
258
258
266
272
277
282
286
286
283
280
276
273
272
272
268
264
263
261
259
255
251
247
243
239
238
237
235
235
235
236
237
238
239
242
248
252
254
258
258
259
261
261
262
262
263
263
263
264
270
271
277
283
290
298
306
312
314
315
315
315
315
314
314
313
313
313
314
315
315
314
314
321
329
331
334
335
335
335
335
335
335
333
332
331
333
334
335
336
336
335
335
334
333
332
331
328
326
324
322
321
319
316
313
311
311
313
313
314
314
315
316
316
317
319
321
322
325
329
332
333
333
334
335
336
337
338
340
342
342
346
347
348
349
350
351
351
354
357
361
361
358
355
353
350
347
345
343
341
341
341
341
340
339
337
336
333
330
328
326
325
324
323
323
323
322
322
323
324
325
325
325
326
326
326
326
326
326
327
328
328
328
328
327
326
325
325
324
324
324
323
323
322
321
320
320
318
316
311
306
304
303
301
299
298
298
298
297
297
297
296
294
292
291
290
290
290
289
288
288
287
291
295
301
306
311
318
325
331
334
338
339
339
339
337
337
336
335
332
328
323
319
315
311
307
303
299
297
297
298
299
300
299
298
297
293
289
287
282
281
280
280
279
277
276
275
273
270
269
263
257
253
251
250
249
246
239
239
236
231
227
226
225
225
221
220
219
220
220
221
221
222
222
223
224
232
240
251
264
275
276
281
285
288
291
291
289
288
287
290
293
298
302
304
307
307
307
307
308
308
309
312
315
318
320
322
324
326
327
328
329
329
330
331
334
338
339
339
339
338
338
338
338
340
343
346
349
352
353
356
356
357
358
358
358
359
359
359
359
359
359
359
359
361
362
363
363
364
366
367
368
368
369
370
371
372
374
374
375
376
377
377
378
378
378
378
378
378
376
374
373
372
371
370
368
367
369
372
374
374
375
377
379
380
380
380
383
384
386
387
388
390
391
391
392
392
393
393
394
395
397
399
399
400
400
401
401
402
403
405
405
406
407
408
410
412
413
413
414
414
414
414
414
418
421
423
428
431
433
435
434
433
433
434
436
438
440
443
445
447
448
449
449
449
449
449
449
449
449
450
450
451
451
451
451
452
453
455
457
460
464
467
467
468
469
470
471
471
471
470
469
468
467
467
467
467
466
463
462
460
460
460
459
456
454
453
452
451
449
447
444
443
441
439
439
438
436
434
434
433
432
431
430
429
428
428
427
427
427
428
430
431
433
435
436
438
436
435
433
431
428
424
420
416
413
413
413
413
412
411
408
405
405
403
403
402
402
399
392
385
379
377
374
370
369
366
364
359
359
354
349
347
344
342
339
339
336
336
334
333
332
330
327
323
322
321
320
320
320
320
320
321
323
325
330
335
337
339
342
356
361
364
374
376
379
383
384
385
386
386
388
392
397
400
403
406
410
415
415
416
416
416
416
417
417
417
416
415
414
418
419
422
421
418
416
414
413
413
415
416
418
419
420
422
423
425
427
431
438
443
447
454
462
465
467
468
471
474
480
482
487
495
502
506
510
512
514
515
515
516
518
519
520
520
519
517
516
515
514
514
514
514
513
512
510
509
507
507
507
507
507
502
497
489
487
481
478
474
472
467
466
466
466
466
466
465
465
465
465
465
466
468
466
463
461
461
461
464
466
468
471
474
479
481
483
484
485
485
486
488
490
491
493
495
497
499
501
502
503
505
506
508
509
511
511
511
512
512
512
512
510
508
508
508
510
511
513
518
523
529
531
532
537
541
541
541
545
550
553
555
556
556
553
549
544
540
537
537
536
533
530
529
527
527
520
511
504
500
496
493
490
484
480
478
476
473
470
469
467
465
461
458
455
452
450
449
448
447
446
443
441
441
441
441
441
442
443
443
444
444
445
446
446
446
446
446
447
447
447
447
447
447
447
448
448
449
450
450
450
451
455
458
462
466
471
474
478
481
484
488
490
492
493
494
495
495
496
497
497
497
497
497
497
497
497
497
497
500
503
506
511
516
521
526
531
538
544
546
549
550
550
550
550
552
556
559
564
566
570
572
572
575
581
583
585
587
588
594
601
606
605
602
600
597
595
594
591
588
584
582
580
578
573
569
568
566
564
561
561
559
552
547
547
547
547
547
547
545
544
542
539
536
535
530
528
527
526
525
525
524
523
522
524
525
526
527
530
532
533
534
533
532
529
528
527
525
524
523
522
520
518
514
512
511
509
507
507
508
509
511
511
510
509
509
509
509
510
512
514
513
510
508
506
504
504
503
502
501
499
494
490
486
485
483
480
480
481
482
484
485
487
489
491
494
498
501
504
505
505
505
505
504
504
504
506
507
508
509
510
513
518
520
520
521
524
526
527
530
532
534
536
539
540
542
543
541
539
537
537
535
534
534
533
534
536
537
537
537
537
537
539
542
544
544
543
543
543
543
545
547
548
551
552
554
556
560
564
567
569
572
574
577
580
586
591
597
599
600
601
602
607
611
615
619
620
620
621
622
622
622
622
622
622
623
624
625
626
627
627
628
631
634
636
638
640
642
644
645
645
645
645
645
646
647
648
649
651
653
655
656
658
659
660
661
662
662
665
667
670
674
678
681
682
684
684
685
686
686
686
686
686
686
686
687
688
689
689
689
689
690
691
692
693
694
694
695
695
696
696
696
697
698
697
696
694
692
691
690
690
690
690
690
689
687
686
684
683
682
682
682
683
683
682
679
674
678
685
687
691
692
693
695
695
695
695
695
695
695
695
694
694
694
694
694
694
694
695
695
695
695
692
689
688
686
685
685
684
682
680
678
677
675
674
673
672
671
669
668
666
665
664
663
663
663
664
670
674
677
678
680
680
682
683
683
683
683
684
684
684
684
684
684
683
682
681
680
680
680
680
682
683
684
684
684
686
688
687
685
684
682
681
678
674
674
673
673
672
672
671
670
669
668
667
666
665
665
666
666
666
665
664
664
668
670
670
668
666
664
662
660
657
654
651
648
645
642
642
642
642
642
642
642
640
638
635
634
632
630
628
625
623
623
623
623
622
619
616
612
610
607
603
598
593
588
584
580
578
576
573
571
568
566
566
566
567
567
567
567
564
561
559
557
555
552
551
549
548
547
546
544
542
540
538
537
533
529
526
522
518
517
516
516
515
515
515
515
515
515
515
515
511
507
504
502
501
499
498
498
497
496
495
495
494
493
492
490
487
484
482
483
485
488
490
486
484
481
477
472
472
472
472
472
472
471
468
463
457
455
456
457
456
451
447
444
440
438
438
438
439
439
439
440
440
440
439
438
437
436
435
434
432
431
431
430
430
429
429
427
426
425
424
424
423
422
419
416
414
411
408
406
406
406
406
406
406
406
406
402
401
401
400
400
398
397
397
396
396
395
393
393
393
393
392
391
390
389
388
388
387
387
386
386
383
380
378
376
374
371
370
369
366
366
366
366
366
366
366
366
366
366
366
366
365
365
365
365
364
364
363
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
362
363
363
363
366
368
369
369
369
369
369
369
369
370
372
373
374
376
377
378
379
381
384
387
392
393
396
399
399
399
399
400
400
401
403
403
403
403
403
403
403
404
405
405
405
405
404
403
402
402
402
403
403
404
405
407
409
411
411
411
412
414
416
416
415
414
413
413
413
413
413
417
421
422
425
426
427
429
431
431
433
435
436
436
436
435
434
434
434
435
436
436
437
439
440
440
441
442
443
445
446
450
453
456
457
459
460
460
462
463
464
464
465
466
470
473
475
475
475
475
475
475
476
477
477
477
477
477
480
483
484
485
487
490
492
494
495
496
497
497
498
498
499
499
499
499
500
500
501
503
503
504
506
507
507
505
504
502
499
501
502
505
506
507
508
510
514
517
520
522
524
525
526
527
528
529
530
531
532
533
534
535
536
536
537
538
540
540
540
541
542
542
542
542
542
542
542
542
542
542
542
544
547
550
552
554
555
555
555
556
556
557
558
558
558
559
559
559
559
559
559
559
559
559
559
558
557
557
557
556
556
556
556
557
557
557
558
558
558
558
559
559
560
561
562
563
564
565
566
568
568
570
573
574
575
576
577
579
582
583
584
585
586
587
589
591
592
594
595
598
602
605
607
609
609
610
610
611
611
612
612
612
613
613
615
618
621
623
624
626
626
628
630
632
633
632
631
630
630
628
627
626
626
625
624
622
619
618
616
614
611
606
603
598
593
593
591
590
587
585
584
582
583
585
586
587
587
588
588
589
590
591
592
593
593
593
594
595
596
597
598
598
598
598
598
599
600
601
603
603
602
602
601
601
600
600
600
600
600
601
601
601
601
601
601
601
602
602
603
604
605
606
607
607
608
608
609
609
609
609
609
611
612
613
615
617
618
619
622
625
626
628
629
631
631
633
634
635
636
636
636
637
638
638
638
637
637
637
637
637
636
635
634
632
631
631
631
631
631
631
631
631
632
633
635
635
636
636
637
637
637
638
639
640
641
643
644
645
646
646
646
646
646
646
646
647
648
649
650
651
651
653
654
656
661
663
665
667
670
673
677
681
686
689
693
696
697
700
706
710
713
718
723
728
732
738
742
743
744
746
748
749
749
751
753
754
757
761
768
774
780
787
795
799
803
805
809
813
818
822
822
826
831
838
846
855
861
866
868
870
872
874
878
883
885
890
894
898
900
902
904
906
909
910
910
911
912
912
912
912
914
915
916
918
918
918
917
916
914
913
910
908
906
904
901
898
893
891
889
884
879
878
873
869
870
871
873
874
876
875
872
870
869
868
866
864
863
862
862
862
863
864
865
867
868
870
871
871
871
871
870
869
868
867
867
867
868
869
870
871
871
873
873
873
873
873
872
870
869
867
865
863
862
861
858
856
855
853
851
848
846
844
842
840
839
838
836
836
834
834
833
833
832
831
831
830
830
829
829
829
829
829
829
829
828
827
826
825
824
824
825
825
826
827
827
828
829
829
831
834
837
840
845
848
851
853
853
853
853
852
851
850
850
848
847
845
845
845
845
841
835
832
830
827
825
824
824
823
823
822
821
820
820
820
819
819
819
819
819
821
823
824
825
826
827
828
829
829
831
832
833
832
831
829
826
823
820
818
817
816
815
814
814
813
811
810
808
807
806
805
803
801
799
797
796
796
794
793
792
791
789
787
784
781
777
774
771
768
765
762
760
759
759
759
759
759
759
759
759
760
760
759
757
755
754
753
752
752
752
752
751
749
749
749
748
746
745
743
742
742
741
740
739
738
737
735
734
734
734
734
735
736
736
735
734
733
733
733
734
734
734
730
729
728
725
723
720
720
720
720
720
720
719
718
717
716
715
715
713
712
712
711
710
710
709
709
708
707
706
706
705
705
705
704
704
703
702
701
699
697
692
686
681
675
667
660
656
654
648
644
642
641
639
637
637
636
634
634
633
633
633
633
631
628
625
618
612
607
600
592
590
588
585
583
580
577
572
569
569
567
566
565
565
564
564
563
563
563
563
563
563
563
564
564
565
567
569
573
573
572
571
571
570
567
566
562
562
561
559
558
557
553
550
549
548
548
548
548
547
547
547
547
546
545
544
544
543
542
542
541
539
536
533
527
523
519
516
512
509
504
500
498
496
492
488
483
479
476
473
472
471
470
470
470
470
469
465
460
457
453
448
447
446
445
444
443
443
442
442
441
440
439
437
436
436
435
434
433
433
432
432
432
431
431
430
429
428
428
427
427
427
427
427
428
429
431
433
433
433
433
433
433
433
433
433
433
433
433
433
433
434
434
434
434
434
434
435
435
434
434
433
432
432
435
436
437
438
439
439
441
442
443
444
444
444
446
446
448
449
450
453
454
456
459
459
460
460
462
462
463
466
467
471
471
472
473
475
476
476
477
477
478
480
480
480
481
485
487
489
493
494
495
503
510
514
514
514
515
515
515
515
516
518
519
520
521
523
525
527
530
533
535
537
542
546
547
550
550
551
552
555
559
563
565
567
569
571
573
574
575
577
578
580
582
585
589
592
596
599
598
597
596
594
593
592
592
592
593
594
595
596
596
596
596
596
596
596
596
596
595
594
592
591
589
588
587
587
587
587
588
588
588
589
589
587
586
586
586
586
586
586
583
582
581
579
575
574
574
572
570
567
565
562
560
559
559
558
556
555
553
553
552
552
551
550
549
547
545
544
543
541
541
541
542
544
546
547
549
552
552
554
556
558
559
561
562
564
564
564
564
565
565
564
564
562
561
561
561
561
561
560
557
553
550
547
546
546
545
547
548
551
554
556
557
557
557
556
556
556
556
556
556
554
553
552
551
551
550
550
549
548
547
546
546
545
545
545
545
544
544
544
544
544
544
544
546
547
548
549
550
551
553
555
556
556
559
562
564
566
566
565
562
557
554
553
553
552
551
551
551
551
550
550
550
550
549
546
544
540
540
540
540
540
540
540
543
547
547
550
556
563
571
577
582
586
588
590
592
594
597
601
603
605
609
613
613
613
613
613
613
614
615
616
618
619
620
623
626
629
632
634
633
630
630
630
630
630
630
631
634
636
639
642
645
647
649
649
649
651
652
654
654
654
653
653
653
654
655
657
657
658
659
660
660
660
660
661
662
663
664
664
665
667
669
670
673
676
678
680
683
684
686
687
688
689
690
691
691
693
693
695
695
696
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
697
698
698
698
699
699
699
699
700
701
702
702
704
708
713
716
716
716
718
719
719
718
717
717
715
715
714
714
714
714
714
714
713
711
710
707
707
706
705
703
703
701
697
695
693
692
690
689
688
688
687
687
687
688
689
689
689
690
692
695
696
696
696
696
696
696
696
695
695
695
694
694
693
693
692
691
691
692
693
693
693
693
693
695
697
698
698
695
693
691
691
690
690
689
686
685
685
683
682
682
680
678
674
671
670
668
666
663
661
659
659
659
660
661
661
661
660
660
660
659
659
657
658
658
660
661
661
662
663
665
667
670
671
672
672
670
668
668
669
671
670
668
666
665
663
662
661
660
658
657
657
657
657
658
658
659
659
659
659
659
658
656
654
652
649
646
643
642
642
642
642
642
642
643
644
645
647
649
652
656
657
660
663
665
667
670
670
671
671
671
671
672
673
675
677
678
680
681
681
681
683
686
689
695
700
706
707
708
709
710
711
712
712
712
712
712
711
711
711
711
711
711
711
710
709
708
707
706
704
702
701
701
701
702
702
702
699
695
689
685
683
682
682
679
675
670
668
666
665
664
663
662
661
661
661
661
661
661
660
660
660
660
661
661
661
660
657
655
653
649
645
639
637
636
632
630
630
629
627
626
625
624
623
622
622
622
622
622
622
622
622
622
622
622
622
622
619
618
616
613
611
610
609
606
603
601
598
597
597
595
592
590
589
586
584
582
580
575
574
573
571
570
568
563
558
556
554
551
549
547
545
543
540
540
537
535
534
531
529
525
521
518
516
515
514
513
512
511
511
511
510
508
507
507
507
507
505
503
502
500
499
497
497
497
497
495
490
487
483
482
481
479
477
476
475
475
476
477
477
479
478
478
476
476
475
474
472
470
470
469
469
469
470
470
469
469
470
471
473
477
482
485
486
487
487
487
487
487
489
490
490
490
490
490
493
496
497
497
497
497
495
494
492
488
483
480
478
475
474
474
474
474
473
471
470
468
466
466
466
466
466
465
464
463
462
461
461
459
456
455
455
455
454
451
447
445
444
443
442
441
440
440
438
438
437
435
434
433
432
431
431
430
428
426
423
421
419
419
419
419
419
419
420
420
415
414
413
412
408
408
408
408
407
407
406
406
406
406
406
405
404
403
402
402
401
400
399
400
402
403
403
403
403
403
403
403
404
404
404
404
404
403
403
403
403
403
402
402
402
401
401
400
399
398
397
396
395
393
393
392
392
391
391
391
391
391
391
390
390
390
389
389
388
387
386
385
383
383
382
382
381
381
378
375
374
372
369
368
366
365
364
363
361
361
359
358
358
358
357
356
355
353
352
351
351
350
347
344
344
343
343
343
343
343
342
340
338
334
332
330
326
325
322
319
319
319
319
319
319
320
321
322
322
323
323
323
323
321
320
319
319
319
318
318
318
317
317
317
316
315
314
314
313
313
314
316
317
318
319
319
320
320
320
321
321
322
324
327
329
332
334
337
340
343
344
345
347
349
350
350
350
348
346
344
343
342
341
341
341
340
339
338
338
338
336
334
333
332
331
331
331
331
332
332
332
332
332
331
331
331
331
332
332
332
331
329
328
325
321
319
318
317
317
317
317
317
318
318
318
317
317
316
314
313
312
313
313
313
314
315
315
315
316
316
317
317
317
317
317
317
316
315
314
315
317
317
319
319
319
319
319
319
319
318
316
315
315
315
315
315
315
316
316
317
318
318
317
316
316
316
316
315
313
311
310
310
310
309
307
306
303
301
297
294
292
292
291
291
290
289
288
286
285
284
283
282
282
282
282
282
282
282
282
282
282
282
282
282
281
281
279
278
277
275
274
272
271
271
271
270
270
270
270
271
272
273
274
276
279
284
288
291
294
295
301
304
304
304
304
304
304
304
304
303
302
302
301
300
300
299
298
297
295
295
295
296
296
297
297
297
294
291
291
292
293
293
293
294
294
294
295
295
295
295
295
295
295
295
297
298
299
299
299
299
299
298
298
297
296
296
296
296
296
296
296
296
296
295
294
294
293
292
291
290
288
285
282
277
271
267
265
263
260
258
257
257
257
256
256
254
253
252
251
248
247
244
244
244
244
244
245
245
246
247
247
249
251
253
253
253
251
250
250
249
248
247
247
246
245
244
243
243
242
242
241
240
239
236
235
235
236
236
236
237
239
240
242
244
244
244
245
245
245
246
246
246
248
248
248